Send form submissions to Telegram
Get a Telegram message the moment someone submits your contact form — in addition to email. Telegram needs three things: a bot, a chat id, and one URL. Here's each step.
1. Create a bot with @BotFather
- In Telegram, search for @BotFather (the verified one) and start a chat.
- Send
/newbot, then follow the prompts: a display name, then a username ending inbot. - BotFather replies with an HTTP API token like
110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw. Copy the whole thing, colon included, and treat it as a password.
2. Find your chat id
For direct messages to you:
- Open a chat with your new bot and send it any message (bots can't message you first).
- Visit this URL in your browser, with your token substituted in:
https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
- In the JSON response, find
"chat":{"id": 123456789, ...}— that number is your chat id.
For a group: add the bot to the group, send any message in the group, then check getUpdates again — group ids are negative numbers (e.g. -1001234567890).
For a public channel: add the bot as a channel admin; you can use @yourchannelname as the chat id directly.
3. Build the webhook URL
Combine the token and chat id into one sendMessage URL:
https://api.telegram.org/bot<YOUR_TOKEN>/sendMessage?chat_id=<YOUR_CHAT_ID>
4. Connect it to your form
- In Static Contact, open your Form and go to the Webhooks tab.
- Click Add webhook, set the type to Telegram, and paste the full URL from step 3.
- Optionally name it and Save.
Webhooks are available on paid plans, and a form can deliver to several destinations at once.
5. Test it
Submit your form once — the bot sends the submission as a message to your chat, group or channel.
Troubleshooting
- 400 "chat not found" — wrong chat id, or you never messaged the bot first (for DMs), or the bot isn't in the group.
- 403 "bot was blocked" / "bot was kicked" — unblock the bot or re-add it to the group.
- 401 "unauthorized" — the token is wrong or truncated. Copy it whole — it contains a colon.
- getUpdates is empty — send the bot (or group) a fresh message and reload; updates only stay available for 24 hours.
- Treat the URL as a secret — it contains your bot token; anyone who has it can message your chat.
- Still stuck? Check the delivery log on the Webhooks tab (on plans with logs) for Telegram's exact error response.
Prefer a different destination?
We also have guides for Slack, Discord and your own endpoint (signed JSON).