[{"data":1,"prerenderedAt":9},["ShallowReactive",2],{"docs-scenarios-en":3},{"title":4,"excerpt":5,"body":6,"seo_title":7,"seo_description":8},"Scenarios and messages","How a scenario works, the full anatomy of a single message's settings, and the catalogue of actions, buttons and sending conditions.","\u003Cp>A scenario is a chain of messages triggered by a condition (e.g. \"Bot start\" or a visit through a specific landing-page link). Every scenario has three tabs: Settings, Messages, Analytics.\u003C\u002Fp>\u003Ch2>Scenario \"Settings\" tab\u003C\u002Fh2>\u003Cul>\u003Cli>Scenario name\u003C\u002Fli>\u003Cli>Toggles: \"Allow the scenario to restart\" and \"Start the scenario automatically\"\u003C\u002Fli>\u003Cli>\"Start conditions\" block — you can add several conditions (e.g. \"Bot start\" + a visit via a specific landing page), and for each one enable \"Jump to a specific message\"\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>\"Messages\" tab and the scenario map\u003C\u002Fh2>\u003Cp>A list of the scenario's messages plus a \"Scenario map\" button — a visual, drag-and-drop canvas showing the connections between blocks: entry points (\"Bot start\", a specific landing page) are connected by lines to message cards, and each card can be dragged and rewired right on the canvas.\u003C\u002Fp>\u003Cp>Clicking the gear icon next to a message opens a context menu: Analytics (open rate, replies), Edit, Duplicate, Direct link (to the message), and Delete.\u003C\u002Fp>\u003Cdiv class=\"table-wrap\">\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Type\u003C\u002Fth>\u003Cth>Description\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>Regular message\u003C\u002Ftd>\u003Ctd>Text\u002Fmedia, sent along the \"next step\" chain\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Scenario start + AI agent\u003C\u002Ftd>\u003Ctd>The first message drives the conversation through an AI agent instead of fixed text\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Booking reminder\u003C\u002Ftd>\u003Ctd>Sent automatically a set amount of time before a booked appointment\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003Ch2>Full anatomy of a single message's settings\u003C\u002Fh2>\u003Cp>Opening a message via \"Edit\" expands a long form — it's identical for scenario messages and for broadcasts.\u003C\u002Fp>\u003Ch3>Name, agent, and text\u003C\u002Fh3>\u003Cp>The message name (for your own navigation — the subscriber never sees it), the choice of AI agent if the message drives a conversation, and the text itself in a mini text editor with formatting (bold, italic, strikethrough, underline, code, quote, plain text, link), plus emoji insertion and a \u003Cstrong>@field\u003C\u002Fstrong> mention.\u003C\u002Fp>\u003Ch3>Additional instruction for the agent\u003C\u002Fh3>\u003Cp>A text field the agent sees but the subscriber doesn't. The platform explains its purpose like this: \"You can pass the agent extra information about the subscriber, such as their profile fields. The subscriber won't see this text.\" It's used to inject context on the fly (a name, a purchase history) into the system prompt of a specific conversation.\u003C\u002Fp>\u003Ch3>Attachments and data to save\u003C\u002Fh3>\u003Cp>\u003Cstrong>Attachments\u003C\u002Fstrong> — files\u002Fphotos attached to the message. \u003Cstrong>Data to save\u003C\u002Fstrong> — which profile fields the agent should fill in based on the conversation (e.g. saving a phone number the subscriber mentioned into the phone_number field).\u003C\u002Fp>\u003Ch3>Conditions for ending the AI agent's conversation\u003C\u002Fh3>\u003Cp>The platform explains it like this: \"Specify the conditions under which the agent should end the conversation. For example: 'The user agreed to pay' or 'The user is off-topic'. Once the condition fires, you can specify further actions — for example, move to another scenario or send another message.\" There's a ready-made condition type \"Number of replies\" (a numeric value — how many subscriber replies the agent will handle before ending) — it comes with its own set of actions from the same catalogue described below.\u003C\u002Fp>\u003Ch3>Delivery toggles (available on any message, including broadcasts)\u003C\u002Fh3>\u003Cul>\u003Cli>\u003Cstrong>Track link clicks\u003C\u002Fstrong> — click statistics for links in the text\u003C\u002Fli>\u003Cli>\u003Cstrong>Enable link preview\u003C\u002Fstrong> — show a preview card for a link in the message\u003C\u002Fli>\u003Cli>\u003Cstrong>Send text line by line with a delay\u003C\u002Fstrong> — the text arrives in chunks, with a pause, mimicking \"is typing…\"\u003C\u002Fli>\u003Cli>\u003Cstrong>Wait for the subscriber's reply\u003C\u002Fstrong> — the message is \"paused\" until the recipient reacts, before it's counted as delivered\u002Fprocessed\u003C\u002Fli>\u003C\u002Ful>\u003Ch3>Conditions for sending the message\u003C\u002Fh3>\u003Cp>Filters and modifiers applied before sending:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>Send only if the subscriber is in a segment\u003C\u002Fstrong> — show it only to the chosen audience\u003C\u002Fli>\u003Cli>\u003Cstrong>Send to a group or channel\u003C\u002Fstrong> — instead of a private chat\u003C\u002Fli>\u003Cli>\u003Cstrong>Send to the subscriber's email\u003C\u002Fstrong> — duplicate it by email\u003C\u002Fli>\u003Cli>\u003Cstrong>Replace another message\u003C\u002Fstrong> — the new message overwrites a previously sent one instead of being sent as a separate item\u003C\u002Fli>\u003Cli>\u003Cstrong>Disable forwarding\u003C\u002Fstrong> — the subscriber won't be able to forward the message to others\u003C\u002Fli>\u003Cli>\u003Cstrong>Add to lists\u003C\u002Fstrong>\u003C\u002Fli>\u003Cli>\u003Cstrong>Scheduled sending\u003C\u002Fstrong> — a specific date\u002Ftime\u003C\u002Fli>\u003C\u002Ful>\u003Ch3>Actions after receiving the message — the platform's universal automation builder\u003C\u002Fh3>\u003Cp>This is the platform's most powerful piece: a set of actions that run once the subscriber has received (or replied to) the message. Sets can be tied to different segments — the platform explains: \"If the subscriber falls into a segment, that set of actions runs; otherwise the bot checks the next segment.\" The same action builder is used in triggers, in AI-dialogue completion conditions, and in post-booking \u002F booking-cancellation actions. The full catalogue of action types:\u003C\u002Fp>\u003Cdiv class=\"table-wrap\">\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Group\u003C\u002Fth>\u003Cth>Actions\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>Subscriber\u003C\u002Ftd>\u003Ctd>Change subscriber field · Save subscriber count · Add tag · Remove tag · Add manager · Remove manager · Block in bot · Unblock in bot\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Message\u003C\u002Ftd>\u003Ctd>Add to scenario · Remove from scenario · Send message · Delete message · Pin message · Unpin message\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>API\u003C\u002Ftd>\u003Ctd>API request (starts with a \"Request type\" field — an HTTP method like GET\u002FPOST — followed by the URL and parameters) · Activate trigger\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Button\u003C\u002Ftd>\u003Ctd>Remove active button · Remove active keyboard\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Group\u003C\u002Ftd>\u003Ctd>Block in group\u002Fchannel · Unblock in group\u002Fchannel · Refresh status from group\u002Fchannel\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Google Sheets\u003C\u002Ftd>\u003Ctd>Get value · Add row · Edit row · Delete row · Add sheet · Delete sheet\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>AmoCRM\u003C\u002Ftd>\u003Ctd>Add deal · Edit deal\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Yandex Metrica\u003C\u002Ftd>\u003Ctd>Send conversion\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Yclients\u003C\u002Ftd>\u003Ctd>Add client by phone number · Remove client by phone number · Send client SMS\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003Cp>\u003Cstrong>The combination\u003C\u002Fstrong> of \"Add tag\" + \"Send only if the subscriber is in a segment\" (a segment based on that tag) is exactly how most sales funnels are built here — without a single line of code.\u003C\u002Fp>\u003Cp>At the bottom of the form there are three buttons: Save, Send now, Send to tester (check it on yourself before publishing).\u003C\u002Fp>\u003Ch2>Buttons in messages\u003C\u002Fh2>\u003Cp>A button is a separate settings block, added via \"Add button\" on any message. The full list of 12 types:\u003C\u002Fp>\u003Cdiv class=\"table-wrap\">\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Button type\u003C\u002Fth>\u003Cth>What happens on click\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>Link button\u003C\u002Ftd>\u003Ctd>Opens an external link\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Action button\u003C\u002Ftd>\u003Ctd>Runs an action set on the subscriber (the same catalogue as above)\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Article button\u003C\u002Ftd>\u003Ctd>Opens a specified article from the \"Content\" section\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Booking button\u003C\u002Ftd>\u003Ctd>Opens the booking calendar\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Buy product\u003C\u002Ftd>\u003Ctd>Opens the product payment page\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Buy subscription\u003C\u002Ftd>\u003Ctd>Opens the subscription payment page\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Subscriber's account\u003C\u002Ftd>\u003Ctd>The subscriber sees information about their active subscription and can cancel it\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Comments\u003C\u002Ftd>\u003Ctd>Opens the comments page\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Keyboard button\u003C\u002Ftd>\u003Ctd>Replaces the subscriber's keyboard (a set of quick replies)\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Share phone number\u003C\u002Ftd>\u003Ctd>The subscriber sends their phone number to the bot\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>List button\u003C\u002Ftd>\u003Ctd>Opens a list with dialogue messages via send conditions; requires Inline Mode enabled through @BotFather\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Copy text\u003C\u002Ftd>\u003Ctd>The specified text is copied to the clipboard\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Forward text\u003C\u002Ftd>\u003Ctd>The subscriber picks a chat and forwards the specified text there\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>","Scenarios and messages in TvoyBot: a full breakdown","How scenarios work in TvoyBot: the scenario map, message settings, the action catalogue, and the 12 button types.",1783936925295]