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.

Flow
  1. Form submission
  2. Make receives the response
  3. 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

  1. Bot created with @BotFather (opens in a new tab), Start in the chat, chat_id noted.
  2. Test form with minimum fields: name, email or phone, message.
  3. New Make scenario (steps below).
  4. Test submit → message visible in Telegram.
  5. (Optional) Email module in the same scenario and a second test.
  6. The token and passwords stay inside Make — never in screenshots or anywhere shared.

Build it in Make

1. Trigger: new form response

  1. In Make: Create a new scenario.
  2. Add your form module (e.g. Tally → Watch New Responses or Typeform → Watch Responses).
  3. Connect the account and pick the test form.
  4. 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

  1. Add Telegram Bot → Send a Text Message (or Send a Message).

  2. Create/choose the connection with the BotFather token.

  3. Set the chat_id (a number; groups are often negative).

  4. In the text, map fields from the trigger. Example:

    Language: text

    New lead
    Name: {{name}}
    Contact: {{email}}
    Message: {{message}}
  5. Save and Run once again + submit a test. You should see the message in Telegram.

3. Optional: email

  1. 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.
  2. To: your ops inbox.
  3. Subject: e.g. New lead — {{name}}.
  4. Body: the same fields as Telegram.
  5. Test again.

Scenario notes (reference)

StepRoleWhat to check
1The module watching the formThat it is the right form and the fields are mapped
2The one sending to TelegramToken, chat_id, and the text with fields inserted
3The 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.

PieceOrder of magnitude
MakeThe free plan includes plenty of operations to start: it is only a few per lead
FormThe free plan on Tally or Typeform is enough to test
TelegramFree

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 seeLikely causeWhat to do
The field panel comes up emptyMake has not seen a response yetRun once and actually fill in the form; then map again
{{name}} arrives instead of the nameYou typed the braces by handDelete it and pick the field from the side panel
Telegram UnauthorizedBad or revoked tokenNew token from BotFather
chat not foundThe chat_id is wrong, or nobody has talked to the botOpen the bot chat, tap Start, and get the chat_id again as the Telegram guide explains
Silent scenario “OK”Wrong chatConfirm the bot chat
Form never firesDifferent form connectedPick 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.

Resources