Help›Message chains
Starting a chain after a bot
The “reached the goal” and “did not reach it within a day” outcomes, starting on a label or a message — and why a chain never blocks your bots.
The most common pairing: the bot has done its job, the user walks away — and the chain picks them up. Here is exactly how that works and when the user lands inside.
The “Finished the bot” trigger
The list of bots here holds only Telegram bots: a chain writes only to Telegram, and after an Instagram bot, a broadcast or another chain it would have nobody to write to.
One such trigger is one of your bots. Its page asks How it went, with three answers.
“No matter how it went”
The chain takes anyone who reached the end of the conversation with that bot — both the user who got the gift and the user who changed their mind. Good for a gentle follow-up.
“Reached the goal”
The goal is what the bot was built for: the user left a phone number, took the gift, confirmed a subscription. It is the same count the bot card shows as conversion.
We learn about this outcome immediately, at the moment the user reaches the goal — and the chain picks them up right there (the first message then goes out on its own pause).
This is how you build a continuation: the user took the gift, a day later you ask how they liked it, two days after that you offer the next step.
“Did not reach the goal within a day”
This is not an event but silence. The user talked to the bot and never reached the goal: they dropped it halfway, got distracted, changed their mind. There is no way to know this “right now” — you have to wait and make sure they are not coming back.
So we count it like this: a day has passed since their last step with the bot and the goal is still not reached — they did not make it. After that the chain takes them.
Two consequences follow:
- the first message of such a chain reaches the user no sooner than a day after the conversation, even if the pause says “Right after the start”;
- if they come back to the bot and reach the goal later, they still do not enter the chain a second time (see How a chain behaves).
This is how you build a win-back: “you never picked up your gift”, “one step left”.
The “Got the label” trigger
This trigger waits for a NEW label on the user: “wants red ones”, “got the checklist”. The chain starts the moment any of the ones you ticked appears on the user, wherever it came from:
- you put it on yourself, on the user’s card;
- a button under a message with the action “Add a label”;
- your bot — with the “Save to the card” step.
A label is one and the same across the account: the one you see on the card is the one filters, folders, the “Who gets it” conditions and this trigger work on. A label the user already carries does not start the chain — it has to be a new one. Finishing a bot is not a label: that is what the “Finished the bot” trigger is for.
A chain has no separate “exit on a label”, and it does not need one. “Take the user off when the label «bought» appears” is written the other way round: the next message gets the condition No label: bought. The label appears, the user drops out on that message.
Message triggers
The remaining five are about the user writing to your bot, and they are exactly the five a normal Telegram bot has: “The /start command”, “Opening a link”, “Exact message”, “Message that contains a word”, “Any message”. They are set up the same way (see What starts a chain).
Such a chain stands in the same queue as your bots: one message goes to exactly one bot or one chain, by the shared rules — Launch rules.
A chain never holds a user
While a bot is running a conversation, everything the user writes goes to that bot and no other bot can take it. Chains are outside that rule: a chain does not hold anyone — it does not run a conversation, it sends messages by the day.
Two handy consequences:
- while a chain is running, your bots start as usual. The user is getting follow-up messages and can still comment “want it” under a new post — the bot answers as normal;
- while a user is inside a bot, a chain still starts on “finished the bot” or on a label. It does not have to wait for the conversation to end.
The one subtlety is a chain with a message trigger (“/start”, a link, a word). While a bot is running the conversation, the message itself goes to the bot, but the chain does not lose it: it takes the user and waits for the conversation to end (the bot reached its last step, the user stayed silent longer than the bot’s setting, or the bot was turned off). After that the chain’s messages go out on their own pauses. The user’s card shows it as “Waiting for the conversation with the bot «…» to end”.
Common questions
The user finished two of my bots — do they enter the chain twice? No. A chain takes a user once, for good.
I have just turned the chain on — will it write to users who finished the bot yesterday? No. A chain picks up users who match after it is on. The launch step says exactly that: “Nothing goes out to users who already match right now.”
Can one chain have both “reached the goal” and “did not reach it” for the same bot? No: one bot means one trigger, and it will not show up in the picker a second time. If you need both outcomes, choose “No matter how it went”. Two different chains may use the same bot with different outcomes, though: one follows up with those who made it, the other wins back those who did not.