Skip to content

Integrations

DonutChat exposes three integration surfaces. Pick the one that matches the direction of traffic and whether you need a bot identity.

Incoming WebhookBot SendBot Receive
DirectionExternal → chatBot → chatChat → bot
AuthToken in URL pathAuthorization: BearerAuthorization: Bearer (or ?token=)
TransportHTTPS POSTHTTPS POSTWebSocket over HTTPS
IdentityNone (anonymous webhook)Bot name + avatar
Latency<200 ms<200 msReal-time push
Pick this whenYou need the simplest “post into chat X” path for alerts/CI/cronYou need a reusable bot identity across multiple chatsYour bot needs to read messages and react

Incoming Webhooks and Bot Send both post into a chat. Bot Receive is the only integration that streams events from chats.

Terminal window
curl -X POST \
"https://api.donutchat.com/webhooks/v1/1234/YOUR_WEBHOOK_TOKEN" \
-H "Content-Type: application/json" \
-d '{"content": "Hello from curl"}'

Full details: Incoming Webhooks.

Terminal window
curl -X POST \
"https://api.donutchat.com/bots/v1/messages" \
-H "Authorization: Bearer vifbot_YOUR_TOKEN_HERE" \
-H "Content-Type: application/json" \
-d '{"chat_id": 1234, "content": "Hello from the bot"}'

Full details: Bot Send.

Terminal window
websocat \
-H "Authorization: Bearer vifbot_YOUR_TOKEN_HERE" \
wss://api.donutchat.com/bots/v1/stream

Full details: Bot Receive.