Docs / Telegram Bot API
Telegram Bot API
Use connected NabatDesk Telegram bots programmatically. Bot tokens stay inside NabatDesk — customers only use API keys and connection IDs.
Requires paid plan entitlement
telegram_bot_api and scope telegram:bot:read / telegram:bot:write (or bots:read / messaging scopes).List & inspect bots
- GET /telegram/bots
- GET /telegram/bots/:botId
- GET /bots (legacy CRM list, read-only)
Responses never include the bot token or webhook secret.
Send messages
Messaging is contact-centric. The contact must already belong to the bot connection (same stack as the inbox).
- POST /telegram/bots/:botId/messages
- POST /contacts/:contactId/messages
- POST /contacts/:contactId/messages/media
curl -sS -X POST "/api/v1/telegram/bots/BOT_UUID/messages" \
-H "Authorization: Bearer YOUR_NABATDESK_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contactId":"CONTACT_UUID","text":"Hello from NabatDesk"}'Response shape
{
"success": true,
"data": { ... },
"meta": { "request_id": "…", "provider": "telegram-bot" }
}Not currently supported
- Changing Telegram’s inbound webhook URL (NabatDesk owns it)
- Connecting / disconnecting bots via API key (dashboard only)
- Group ban / kick / promote admin APIs
- Sending by raw Telegram chat id without a CRM contact
Events
Subscribe via Core outbound webhooks (source: Telegram Bot) — e.g. MESSAGE_INBOUND, MESSAGE_OUTBOUND, CONTACT_CREATED.