Channels
Set up each platform to send messages to the gateway.
Slack
Tokens needed
| Token | Where to find it |
|---|---|
| signing_secret | App Settings → Basic Information → App Credentials |
| bot_token | OAuth & Permissions → Bot User OAuth Token (xoxb-…) |
Setup steps
- 1.Go to api.slack.com/apps → Create New App → From scratch
- 2.Under OAuth & Permissions add bot scopes: chat:write, channels:history, im:history
- 3.Under Event Subscriptions enable events, set Request URL to https://your-domain/webhook/slack
- 4.Subscribe to bot events: message.channels, message.im
- 5.Install app to workspace, copy Bot User OAuth Token
gateway.jsonjson
"slack": {
"enabled": true,
"signing_secret": "your-signing-secret",
"bot_token": "xoxb-your-bot-token"
}Discord
Tokens needed
| Token | Where to find it |
|---|---|
| public_key | App Settings → General Information |
| bot_token | Bot → Token |
| application_id | General Information → Application ID |
Setup steps
- 1.Go to discord.com/developers/applications → New Application
- 2.Copy Application ID and Public Key from General Information
- 3.Under Bot, create a bot and copy the token
- 4.Set "Interactions Endpoint URL" to https://your-domain/webhook/discord
- 5.Create a slash command (e.g. /ask) under Slash Commands
- 6.Invite the bot with applications.commands and bot scopes
Note: Discord requires your endpoint to respond within 3 seconds. The gateway sends a deferred response (
{"type":5}) immediately, then patches the message after the agent completes.gateway.jsonjson
"discord": {
"enabled": true,
"application_id": "123456789012345678",
"public_key": "your-64-char-hex-public-key",
"bot_token": "your-bot-token"
}Telegram
Tokens needed
| Token | Where to find it |
|---|---|
| bot_token | @BotFather on Telegram → /newbot |
| webhook_secret | Any random string you choose (recommended) |
Setup steps
- 1.Message @BotFather → /newbot → follow prompts → copy the token
- 2.Register your webhook:
bash
curl -X POST "https://api.telegram.org/bot{TOKEN}/setWebhook" \
-H "Content-Type: application/json" \
-d '{"url":"https://your-domain/webhook/telegram","secret_token":"your-secret"}'gateway.jsonjson
"telegram": {
"enabled": true,
"bot_token": "123456:ABC-your-token",
"webhook_secret": "your-random-secret"
}Tokens needed
| Token | Where to find it |
|---|---|
| phone_number_id | Meta Developer Console → WhatsApp → Getting Started |
| access_token | System User access token with whatsapp_business_messaging permission |
| verify_token | Any string you choose for hub verification |
Setup steps
- 1.Create a Meta Developer account at developers.facebook.com
- 2.Create a new app → Business → WhatsApp
- 3.Under WhatsApp → Getting Started, copy Phone Number ID
- 4.Generate a System User access token with whatsapp_business_messaging permission
- 5.Under Webhooks, add your URL: https://your-domain/webhook/whatsapp with your verify token
- 6.Subscribe to the messages webhook field
gateway.jsonjson
"whatsapp": {
"enabled": true,
"phone_number_id": "your-phone-number-id",
"access_token": "your-access-token",
"verify_token": "your-verify-token"
}