What you get
A Telegram alert (private chat or group) every time someone submits your web form. Optionally, the same alert also goes out by email.
Something has to sit in the middle and connect one to the other, and here that something is Make (opens in a new tab): a web tool where you chain services together without writing code, by dragging blocks around. Each chain is called a scenario and each block a module. The one in this piece has two: one that watches the form and one that sends the message.
- Form submission
- Make receives the response
- Telegram (and email) show the alert
If you do not have a bot yet: Alerts with a Telegram bot.
Requirements
- A Make account — the free plan is enough to build and test this
- A web form Make can read: Tally and Typeform are the usual picks and both have free plans
- A Telegram bot with its token and your chat_id — if you do not have one, the guide linked below sets it up in 10 minutes
- Optional, only if you also want the alert by email: an email account you can connect to Make
Launch checklist
- Bot created with @BotFather (opens in a new tab), Start in the chat,
chat_idnoted. - Test form with minimum fields: name, email or phone, message.
- New Make scenario (steps below).
- Test submit → message visible in Telegram.
- (Optional) Email module in the same scenario and a second test.
- The token and passwords stay inside Make — never in screenshots or anywhere shared.
Build it in Make
1. Trigger: new form response
- In Make: Create a new scenario.
- Add your form module (e.g. Tally → Watch New Responses or Typeform → Watch Responses).
- Connect the account and pick the test form.
- Hit Run once and, with that running, fill in the form yourself and submit it.
That last step is not optional even though it looks like it: Make does not know which fields your form has until it sees a real response. Until then you cannot map anything in the next step, because the field list will be empty.
2. Destination: Telegram
-
Add Telegram Bot → Send a Text Message (or Send a Message).
-
Create/choose the connection with the BotFather token.
-
Set the
chat_id(a number; groups are often negative). -
In the text, map fields from the trigger. Example:
New lead Name: {{name}} Contact: {{email}} Message: {{message}} -
Save and Run once again + submit a test. You should see the message in Telegram.
3. Optional: email
- Add one more email module, Gmail → Send an Email or another provider. You can hang it after the Telegram one, or on a separate branch off the same trigger: for two independent alerts either works.
- To: your ops inbox.
- Subject: e.g.
New lead — {{name}}. - Body: the same fields as Telegram.
- Test again.
Scenario notes (reference)
| Step | Role | What to check |
|---|---|---|
| 1 | The module watching the form | That it is the right form and the fields are mapped |
| 2 | The one sending to Telegram | Token, chat_id, and the text with fields inserted |
| 3 | The email one (optional) | That the recipient is you, not the lead — unless you want to send them a receipt |
Do not go looking for a scenario file to import: these steps build it by hand, and that way you understand what each block does.
Cost ballpark
Make charges by operations: every time a module runs, that counts as one. This scenario spends two per lead (watching the form and sending the message), or three if you add the email.
| Piece | Order of magnitude |
|---|---|
| Make | The free plan includes plenty of operations to start: it is only a few per lead |
| Form | The free plan on Tally or Typeform is enough to test |
| Telegram | Free |
If you expect high volume, check how many operations your plan includes before relying on this.
Security
- An alerts-only bot for leads limits blast radius.
- Do not post sensitive lead data into public chats without consent.
- If the form collects GDPR consent, honour it in your process (outside this how-to).
Common mistakes
| What you see | Likely cause | What to do |
|---|---|---|
| The field panel comes up empty | Make has not seen a response yet | Run once and actually fill in the form; then map again |
{{name}} arrives instead of the name | You typed the braces by hand | Delete it and pick the field from the side panel |
Telegram Unauthorized | Bad or revoked token | New token from BotFather |
chat not found | The chat_id is wrong, or nobody has talked to the bot | Open the bot chat, tap Start, and get the chat_id again as the Telegram guide explains |
| Silent scenario “OK” | Wrong chat | Confirm the bot chat |
| Form never fires | Different form connected | Pick the correct form in the module |
Alternatives
- Email only
- Skip Telegram; use the mail module in Make.
- Zapier / n8n
- Same idea, different platform.
- Discord alert
- Incoming Webhook instead of a Telegram bot.