openclaw/docs/channels/kakao.md
Hanish Keloth ca7ab9a3c7 docs: add Korean localization and KakaoWork channel docs
- Add KakaoWork channel documentation (docs/channels/kakao.md)
- Add Korean getting started guide (docs/ko/start/getting-started.md)
- Add Korean documentation index (docs/ko/index.md)

This is the first step toward i18n support for Korean users.
Addresses #2926 and #2794.

Contributed-by: Hanish Keloth <hanishkeloth@users.noreply.github.com>
2026-01-28 15:53:58 +09:00

188 lines
4.5 KiB
Markdown

---
title: KakaoWork
description: Connect Moltbot to KakaoWork for Korea-focused enterprise messaging
---
# KakaoWork
Connect Moltbot to [KakaoWork](https://www.kakaowork.com/), Korea's leading enterprise messaging platform.
<Note>
KakaoWork is available as a third-party plugin. Install with:
```bash
moltbot plugins install @hanishkeloth/moltbot-kakao
```
</Note>
## Features
- Direct message conversations via KakaoWork Bot API
- Reactive callback handling for button interactions
- Multi-account configuration support
- Pairing-based DM access control
- Rate limit aware (200 req/min workspace limit)
## Prerequisites
1. KakaoWork workspace admin access
2. Bot created in [KakaoWork Admin Console](https://admin.kakaowork.com)
3. Bot App Key
## Getting Your App Key
1. Go to [KakaoWork Admin Console](https://admin.kakaowork.com)
2. Navigate to **봇 관리** (Bot Management)
3. Click **봇 추가** (Add Bot) or select existing bot
4. Copy the **App Key** from bot settings
## Installation
```bash
moltbot plugins install @hanishkeloth/moltbot-kakao
```
## Configuration
### Using Environment Variable
```bash
export KAKAOWORK_APP_KEY="your-app-key-here"
```
### Using Config File
Add to `~/.config/moltbot/config.jsonc`:
```jsonc
{
"channels": {
"kakao": {
"enabled": true,
"appKey": "your-app-key-here",
"dmPolicy": "pairing"
}
}
}
```
## Configuration Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `appKey` | string | - | Bot App Key from KakaoWork admin |
| `keyFile` | string | - | Path to file containing app key |
| `callbackUrl` | string | - | HTTPS URL for reactive events |
| `callbackPath` | string | - | Gateway HTTP path for callbacks |
| `dmPolicy` | string | `"pairing"` | Access policy (see below) |
| `allowFrom` | array | `[]` | User IDs allowed to DM the bot |
| `proxy` | string | - | Proxy URL for API requests |
## DM Policies
| Policy | Description |
|--------|-------------|
| `pairing` | Users must pair with a code before chatting (default) |
| `allowlist` | Only users in `allowFrom` list can chat |
| `open` | Anyone in workspace can chat |
| `disabled` | DMs are disabled |
## Multi-Account Setup
For multiple KakaoWork bots:
```jsonc
{
"channels": {
"kakao": {
"enabled": true,
"accounts": {
"support": {
"appKey": "SUPPORT_BOT_APP_KEY",
"dmPolicy": "open"
},
"internal": {
"appKey": "INTERNAL_BOT_APP_KEY",
"dmPolicy": "allowlist",
"allowFrom": ["12345", "67890"]
}
},
"defaultAccount": "support"
}
}
}
```
## Callback URL (Reactive Events)
To receive button interactions and modal submissions:
1. Set up HTTPS endpoint (use ngrok for testing)
2. Configure callback URL:
```jsonc
{
"channels": {
"kakao": {
"callbackUrl": "https://your-domain.com/kakao/callback",
"callbackPath": "/kakao/callback"
}
}
}
```
3. Register the callback URL in KakaoWork Admin Console
## Sending Messages
```bash
# Send to conversation ID
moltbot message send --channel kakao --to 123456789 --message "Hello!"
# Using the agent
moltbot agent --message "Say hello" --channel kakao
```
## Pairing Flow
When `dmPolicy: "pairing"` (default):
1. User sends message to bot
2. Bot replies with pairing code
3. Admin approves: `moltbot pairing approve kakao <user-id>`
4. User can now chat freely
## Rate Limits
KakaoWork enforces **200 requests per minute** at the workspace level. The plugin handles rate limiting automatically, but be aware when sending bulk messages.
## Troubleshooting
### "Invalid authentication" error
- Check your App Key is correct
- Verify bot is activated in KakaoWork Admin
### Messages not sending
- Ensure bot has permission to message the user
- Check if rate limit (200/min) is exceeded
- Verify conversation exists (use `conversations.open` first)
### Callback not receiving events
- Callback URL must be HTTPS
- Check firewall allows incoming connections
- Verify callback URL registered in KakaoWork Admin
## API Reference
This plugin uses the [KakaoWork Web API](https://docs.kakaoi.ai/kakao_work/webapireference/):
- `bots.info` - Get bot information
- `conversations.open` - Create/open DM conversations
- `conversations.list` - List bot conversations
- `messages.send` - Send messages
## Links
- [KakaoWork Developer Docs](https://docs.kakaoi.ai/kakao_work/)
- [Plugin Repository](https://github.com/hanishkeloth/moltbot-kakao)
- [npm Package](https://www.npmjs.com/package/@hanishkeloth/moltbot-kakao)