Skip to content

Telegram funnels ​

A funnel is a step-by-step scenario your Telegram bot runs on its own. A link from an ad or a post brings people in, buttons capture their choice, reminders count down to your event, an offer goes out afterwards, and the AI sales assistant takes over the moment someone has a question. People stop getting the selling messages the instant they buy.

Funnels live on the Automations page as the Telegram funnels automation. Each funnel belongs to one assistant and runs on one of that assistant's connected Telegram bots. Everything a funnel sends and does shows up in the person's chat, next to the assistant's own replies.

In the app

Open Automations at app.mychatbot.app/automations, pick the assistant, then choose Telegram funnels in the list. The pane lists the assistant's funnels; Use a template or New funnel opens the builder in the same place, with the automations list still on the left. The arrow at the top of the builder brings you back to the pane.

At a glance ​

You needWhere in the appResult
A Telegram bot connected to the assistantChannels → assistant → Telegram tab (how to connect)The bot the funnel will speak through; the builder shows it by its @handle
A funnelAutomations → Telegram funnels → Use a template or New funnelA draft opens in the builder
The bot and the way inBuilder → Settings tabThe bot, the link key or "every new chat", the event, the exit rules
A working scenarioBuilder → Builder tab → CheckEvery block connected and filled in
A live funnelBuilder → ActivateYour link appears; people who open it enter the funnel
A menu for the botAutomations → Telegram funnels → Bot menuKeys under the input field that start a funnel or send a reply, from anywhere

The first template, Countdown funnel, is the classic launch sequence: register with one tap, remind before the event, make the offer after. It fits a live session, a product launch, a sale or a course start. Set the event date in Settings before activating it. Templates come in the language your app is set to (English, Ukrainian, Russian, Polish, Italian); every message, button and block name is yours to edit.

How people enter ​

Choose in Settings → How people enter:

ModeWho entersNotes
Through a linkAnyone who opens https://t.me/<your_bot>?start=<key>Put the link in an ad, a post, a story, a QR code. The link key is yours to choose: lowercase letters, digits and underscores, 2–32 characters, unique among the bot's active funnels
Everyone who writes to the bot for the first timeEvery brand-new chat with the bot, whatever the first message saysOne such funnel per bot. Existing chats are not affected
BothEither of the above

Track where people came from. Add -source-campaign after the key: ?start=launch-fb-sept enters the launch funnel and records fb as the source and sept as the campaign. On the lead you get:

  • Lead source — "Telegram link" (telegram_deeplink) when the lead had no source yet.
  • Custom fields tg_start (the whole start value), funnel_key, funnel_source, funnel_campaign — refreshed on every visit, so the latest ad wins.

A person can be in one funnel at a time. Opening a second link, or the same link again, restarts them from the beginning; the timeline records the previous run as cancelled (superseded).

Blocks ​

The builder is a canvas: add a block from the palette, fill it in on the right, drag from a block's bottom port to the next block to connect them. Every exit has to lead somewhere — Check tells you which one does not.

BlockWhat it doesLimits
StartWhere the funnel begins. One per funnel
MessageThe bot sends a text, files, or both. Attach photos, videos, PDF and other documents; each goes out as a file right after the text, so a photo arrives as a photo and a PDF as a documentUp to 4096 characters, up to 10 files
Message with buttonsA text with inline buttons under it. A tap continues along that button's line; a link button opens a page and the funnel keeps waiting. An optional timeout continues on its own line when nobody tapsUp to 10 buttons, labels up to 40 characters
MenuA text with the bot's menu — the keyboard under the input field. The block shows the bot's current keys; they are the bot's, not the funnel's, and are edited in the pane: see The bot menuThe bot must have a menu
If / elseGoes the «yes» way when the person writes anything, taps a specific button, or stays silent for a while; otherwise «no». Optional "wait up to"
PauseWaits before the next block: for a fixed time, or until a time of day — the next 10:00 in the funnel's time zone, optionally not before some time has passed, so «1 day, then at 10:00» is one block1 minute to 30 days; the time of day needs a valid time zone
Wait for the event dateWaits until a moment relative to the funnel's event: 1 day before, 1 hour before, at the start, 90 minutes after. People who join after that moment skip itWithin 30 days of the event either way
ActionAdds or removes a label, moves the lead to a status, or sends the lead to a webhookLabels and statuses must already exist; webhooks need a public https:// address
AI checkAsks the AI a yes/no question about the conversation so far ("wants to buy?") and branches on the answerOne short AI call per check
Hand to agentEnds the funnel; the assistant answers from now on, with your note added to its instructions for this chatNote up to 4096 characters
Hand to operatorEnds the funnel and switches the chat to a person, with your note
Final messageSends a last text (files too) and ends the funnel, optionally adding a labelUp to 10 files

Free text while the funnel waits. When a person writes instead of tapping a button, the assistant answers as it normally would and the funnel keeps waiting for the tap. A tap on the bot's menu is the exception: it is handled first, whatever the funnel is waiting for (see The bot menu). Only an If / else block set to "the person writes anything" consumes a reply. A tap on a button from an earlier step, after the funnel has moved on, gets a short "this choice is no longer active" note and changes nothing.

Follow-ups pause. While a person is inside a funnel, the assistant's silence follow-ups leave that chat alone. They resume when the funnel hands over or ends.

Pauses ​

A Pause block continues either after a fixed time (from one minute to 30 days) or at a time of day: the next moment the clock shows that time in the block's time zone. The two combine: a pause set to «not before 1 day, then at 10:00» continues tomorrow morning, whatever hour the person reached it. A pause set to 10:00 when it is already 10:01 waits until the next day. Fixed dates — a launch, a live session — are the funnel's event, not a pause.

The event ​

Settings → Event date this funnel counts down to (optional): a date, a time and a time zone, with an optional Repeats every week at the same time switch for a recurring session. Wait for the event date blocks count from it. Saving a new date or time re-times everyone currently waiting on the old one.

A one-off event that is already past is skipped: people who enter late continue straight to the block after the wait. A weekly event always counts to its next occurrence.

The bot menu ​

The menu is the keyboard Telegram shows under the input field once the bot has sent it. It belongs to the bot, not to a funnel: set it up once in Automations → Telegram funnels → Bot menu (pick the bot when the agent has several), as rows of keys — one wide key, or two or three side by side. Each key does one thing when tapped:

KeyWhat happens
Start a funnelThe person enters the chosen funnel from its start, whatever they were doing. A funnel they were in ends as superseded, exactly as when they open a second link
Send a messageThe bot sends the key's reply. A funnel the person is in stays where it was

Taps work at any step of any funnel, and when the person is in no funnel at all; the assistant never sees them. That is what makes «Main menu», «Events» or «Materials» keys possible: each is a funnel of its own, and the menu is the way back.

Showing the menu. Telegram shows the keyboard from the moment a message carries it, so a funnel sends it with the Menu block — a text plus the keyboard. A funnel with a Menu block cannot be activated on a bot that has no menu. When you change the menu, people see the new keys the next time the bot sends the menu; the old keyboard on their screen keeps working as long as its labels still exist.

A key that starts a draft funnel is saved with a warning: activate the funnel so the key does something. A key naming a funnel that is not on this bot is refused.

Labels have to be unique within the menu: a tap is recognised by the label's text.

Exit rules: stop selling the moment they buy ​

Settings → Stop the funnel for a person when: one or more statuses and one or more labels. The moment the lead lands on one of them, the funnel ends for that person (cancelled — exit rule in the timeline) and normal follow-ups take over. It does not matter who made the change: a manager in Leads, the assistant itself, or a webhook from your payment system.

Purchase webhook recipe ​

  1. In Automations → Trigger Outreach, create a trigger (for example "Payment") and copy its webhook URL.
  2. Make sure the paid status exists in the assistant's pipeline and is listed in the funnel's exit rules.
  3. When a payment lands, have your system POST to that URL:
json
{ "client_id": "<the lead's id>", "action": "set_status", "status": "Paid" }

client_id is the lead's id from Leads (the Telegram user id of the chat works too). The reply is 200 with "Status updated…", 400 when the status is not in the pipeline (the message lists the ones that are), 404 when no such lead exists. The status change goes the same road as the assistant's own: it lands in the chat timeline, re-arms follow-ups for the new status, and fires the funnel's exit rule.

Check and activate ​

Check validates the draft and lists what to fix, each line clickable to the block. Activate runs the same checks plus the live ones: the bot is still connected and belongs to this assistant, the link key is free on that bot, the statuses and labels the funnel names exist, an event is set when a wait block needs one. When the only thing missing is a status or a label (every template names a few), the builder lists them and offers Create and activate: they are created in Leads for this assistant and the funnel goes live in one step. On success the pane and Settings show Your link.

A funnel is either Draft or Active. Edits to an active funnel are saved as you go; people already inside continue on the graph they were on until their next step, so keep edits to a live funnel small. Pause funnel stops it and takes everyone out (cancelled — deactivated).

Rehearsal ​

The Rehearsal tab plays the funnel with nothing sent to anyone. Pauses and waits are skipped and marked, you tap the buttons and type the replies, and you pick the AI check's answer yourself. Save first: the rehearsal replays the saved version.

People ​

The People tab shows who is inside right now: counts per block, and for each person the step they are on, the next moment the funnel will act (or "waiting on them"), when they entered, and a link to the chat. Stop takes one person out (cancelled — stopped).

The history of a person is in their chat: the messages the bot sent, the buttons they tapped, and a timeline entry for every step — funnel started, button, action, wait, hand-over, completed, cancelled, error.

When things go wrong ​

SituationWhat happens
The bot is switched off in ChannelsThe funnel waits. Timers are pushed back 5 minutes at a time until the bot is on; taps are ignored meanwhile
The bot is disconnectedThe funnel ends for everyone on it (channel missing)
A person blocks the botThe funnel ends for them (bot blocked); the chat is marked accordingly
A message cannot be sentThree retries a minute apart, then the funnel ends for that person (send failed)
A webhook action failsRecorded in the timeline; the funnel continues
An operator takes the chatThe funnel ends for that person (operator takeover)
A funnel loopsA single run stops after 200 steps

Limits ​

Message length4096 characters
Files per message10
Buttons per block10, labels up to 40 characters
Bot menu12 rows, 3 keys per row, labels up to 40 characters
Pause1 minute – 30 days
Wait for the event dateWithin 30 days before or after the event
Link key2–32 characters: a-z, 0-9, _; the prefixes ses_, conv_ and assistant_ are reserved
First-message funnelsOne active per bot
Funnels per personOne at a time
Steps per run200

See also ​