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.

NabatDesk Core APITelegram Account APIInstagram Data API