Telegram Bot API enables messaging through bots, offering powerful automation capabilities and rich message formatting.Documentation Index
Fetch the complete documentation index at: https://docs.zavu.dev/llms.txt
Use this file to discover all available pages before exploring further.
When to Use Telegram
- Customer support bots: Automated responses and human handoff
- Notifications: Real-time alerts and updates
- Communities: Group messaging and channel broadcasts
- Automation: Bot commands and workflows
Basic Telegram Message
Key Differences from Other Channels
| Feature | Telegram | SMS | |
|---|---|---|---|
| Recipient ID | Chat ID (numeric) | Phone number | Phone number |
| Media support | Yes | Limited (MMS) | Yes |
| Cost per message | Free* | Per message | Per conversation |
| Bots required | Yes | No | No |
*Telegram messaging is free, but you’ll be charged for MAU (Monthly Active Users) as with other channels.
Chat IDs vs Phone Numbers
Unlike SMS and WhatsApp, Telegram uses numeric chat IDs rather than phone numbers:Getting Chat IDs
Chat IDs are obtained when users interact with your bot:- User sends a message to your bot
- Zavu receives the message via webhook
- The
fromfield contains the user’s chat ID - Store and use this ID for future messages
Message Types
Telegram supports various message types:| Type | Use Case |
|---|---|
| Text | Simple messages with markdown support |
| Photo | Images and graphics |
| Document | Files and attachments |
| Location | Share locations |
| Contact | Share contact information |
Sending Templates on Telegram
You can send pre-defined templates on Telegram by specifyingchannel: "telegram" and messageType: "template":
telegramBody, it will be used instead of the default body. Contact variables like {{contact.first_name}} are automatically resolved from the recipient’s contact metadata.
Telegram templates do not require external approval like WhatsApp. You can create and use them immediately.
Delivery Status
Telegram provides delivery tracking:| Status | Description |
|---|---|
queued | Message accepted by Zavu |
sending | Being sent to Telegram |
delivered | Delivered to Telegram servers |
failed | Delivery failed |
Telegram doesn’t provide read receipts like WhatsApp. You’ll know the message was delivered, but not if it was read.
Bot Setup Requirements
Before sending Telegram messages, you need to:- Create a bot via @BotFather
- Get your bot token
- Configure the bot in your Zavu sender settings
Common Errors
| Error | Cause | Solution |
|---|---|---|
Bot token invalid | Wrong or expired token | Regenerate token via BotFather |
Chat not found | Invalid chat ID | Verify the chat ID |
Bot blocked by user | User blocked your bot | Cannot message this user |
Forbidden: bot was kicked | Bot removed from group | Bot must be re-added |
Limitations
Before choosing Telegram as your messaging channel, consider these limitations:User Initiation Required
This is a fundamental Telegram restriction. Unlike SMS or Email, you cannot “cold message” Telegram users. Build your flow so users initiate contact (e.g., via a “Message us on Telegram” button on your website).No Phone Number Messaging
You cannot reach users by phone number. Telegram uses internal chat IDs:- SMS/WhatsApp: Send to
+14155551234 - Telegram: Send to
123456789(chat ID)
No Read Receipts
Telegram does not provide read receipts. You’ll know:- Message was delivered to Telegram servers
- Message failed to deliver
- If the user read the message
- When the user read the message
Rate Limits
Telegram enforces rate limits on bot messages:| Scope | Limit |
|---|---|
| Same chat | ~1 message per second |
| Different chats | ~30 messages per second |
| Broadcast to many users | May require delays |
Zavu handles rate limiting automatically, but large broadcasts may take longer to complete on Telegram compared to other channels.
No Pre-Approved Templates
Unlike WhatsApp, Telegram has no template approval system. This means:- Pro: Send any message content without approval
- Con: No way to message users outside of an active conversation
Media Limitations
| Media Type | Max Size |
|---|---|
| Photos | 10 MB |
| Documents | 50 MB |
| Video | 50 MB |
| Audio | 50 MB |
Group Limitations
- Bot must be added to the group by an admin
- Bot can be kicked or restricted by group admins
- In supergroups (>200 members), bot may need admin privileges to see all messages
Bot Blocking
Users can block your bot at any time. When blocked:- You cannot send messages to that user
- You receive a
bot_blocked_by_usererror - There’s no way to “unblock” programmatically
No Fallback to Other Channels
Unlike SMS/WhatsApp where numbers are portable, Telegram chat IDs are specific to Telegram. You cannot automatically fall back to SMS if Telegram fails, unless you have the user’s phone number stored separately.Geographic Availability
Telegram may be blocked or restricted in some countries (e.g., China, Iran at times). Consider your user base’s location when choosing Telegram as a primary channel.Next Steps
- Telegram Setup - Configure your Telegram bot
