Nodes and Scenarios

What is a node?

A node represents a single step (or command) in your bot's workflow. Each node contains a set of blocks that the bot executes sequentially from top to bottom: sending a message, displaying buttons, waiting for input, navigating to another node, etc.

All nodes appear as cards on the canvas. The lines connecting them represent transitions that occur when buttons are pressed or specific conditions are met.

Node types

Start node

There is only one start node per scenario. It serves as the entry point: the scenario begins here when a user sends the /start command to the bot.

The start node cannot be deleted. You can specify the next command in its settings or by dragging its connector to the input of another command.

Command nodes

Standard nodes linked to by buttons and transitions. Each node has:

  • Name — displayed on the canvas and in transition selection dropdowns.
  • Command (in advanced settings) — a string in the format /name that allows users to trigger the node directly in the chat.
  • Block list — the content the bot executes upon navigating to this node.

To create a new node, click the + button on the canvas or click the output connector of an existing node to create an immediate link between them.

Trigger node

A special type of node activated not by a user command, but by an event in a channel or group—such as a member joining, a new message, a reaction, etc. Learn more in the Trigger node section.

Node settings

Open the node's advanced settings to configure the following:

Setting Description
Content protection Prevents messages from this node from being forwarded or saved
Delete previous message The bot deletes its last message before executing the node
Silent All messages from this node are sent without a notification
Background command Launches another node in the background alongside the current one (details below)

Connections between nodes

Transitions (edges) between nodes are created automatically when you select a target node within a button. They appear as lines on the canvas.

You can also define a transition explicitly using the "Go to node" block—an unconditional transition that does not require a button.

Edge colors

Each transition type is displayed in a specific color, helping you quickly understand the scenario structure:

Color Transition Type
🟢 Green Start → first scenario command
🟣 Purple Transition triggered by pressing a button (inline or reply)
Gray dashed line Default transition — if no button is pressed ("Any message")
🩵 Light Blue Trigger activation or transition via inline menu (via-bot)
🟩 Emerald Condition met ("Condition" block), payment completed ("Invoice" block)
🟠 Amber No condition met or payment error / timeout
🔵 Indigo Poll completed ("Poll series" block)
🟡 Yellow dashed line Background command — launching a node in the background

Clicking on a connector displays connection details in the right-hand panel: the transition's start and end points, and the label (button text or condition tag). Click the command name to automatically scroll the canvas to that node.

Visit Counter

Activated by clicking the chart icon in the top-left corner of the canvas. Each node displays a badge with a number indicating how many times the node has been executed since publication, the percentage of executions relative to all nodes, and the average time users spend on that step (provided it is not the final node in the flow). This helps identify the most popular scenario branches.

Copying and Pasting Nodes

The builder supports copying nodes via the system clipboard, allowing you to transfer blocks between different flows and even between different bots across browser tabs.

Keyboard Shortcuts

Action Windows / Linux macOS
Copy selected nodes Ctrl + C Cmd + C
Paste nodes Ctrl + V Cmd + V

Keyboard shortcuts work only when the focus is not inside a text field (e.g., when editing a block's text).

Context menu (right-click)

Right-click a node on the canvas to open a menu with the following actions:

  • Copy — copy the node to the clipboard.
  • Paste — paste nodes from the clipboard at the click location.
  • Duplicate — create a copy of the node within the current diagram (without using the clipboard).
  • Delete — delete the node.

Right-clicking on an empty area of ​​the canvas opens a menu containing only the Paste option.

What is transferred upon pasting

Data Behavior
Text, settings, template variables Copied unchanged
Connections between copied nodes (buttons, transitions) Preserved — nodes within the group still reference each other
Connections to nodes outside the copied group Cleared (corresponding buttons/transitions reset to "not selected")
Media files (file_id) Reset: the bot will re-upload the file to Telegram upon the first send

When inserting another bot into the flow, you will see a notification stating that media files will be reloaded upon the first send. File URLs are preserved.

Multiple Selection

To copy multiple nodes at once:

  • Hold Ctrl and click on the nodes.
  • Or drag-select an area on the empty canvas.

Then press Ctrl + C — all selected nodes will be copied to the clipboard as a single group.

Deleting a Node

Click on the node on the canvas and then click the delete icon in the command settings. All incoming transitions to the deleted node are severed, but the buttons that linked to it remain; the transition simply becomes empty.

Background Command

A background command is a mechanism for launching another node in parallel with the current one, without interrupting the user's main scenario. It executes in the background via a task queue: the user sees the main response immediately, while the background node executes slightly later, independently.

It is configured in the node's advanced settings (the "Background Command" section):

Parameter Description
Node The node to launch in the background
Pass variables Pass current user variables to the background node
Send messages Allow the background node to send messages to the user

On the canvas, the connection to the background node is displayed as a yellow dashed line labeled "Background Command."

Typical Use Cases

  • Logging / Analytics — writing data to a database or notifying an administrator without delaying the response to the user.
  • Updating user data — modifying a user field immediately after the command.
  • Delayed notifications — sending a message to another chat or channel. ### Usage with an input form

⚠️ Important: The background command specified in the node settings runs at the moment the node execution begins—that is, before the user answers the form question. If the background node requires variables populated by the form (e.g., {{name}}), those variables will not yet contain the new values ​​at that stage.

Correct setup when using an input form:

  1. A node with an "Input Form" block — asks a question and waits for a response. Do not specify a background command here.
  2. The user responds → their answer is saved to a variable.
  3. The next node (the one following the form) — this is where you specify the background command. By this point, the variable already holds the value entered by the user and will be correctly passed to the background node.

If the form consists of multiple consecutive fields, the background command should be assigned only to the node that executes after the final field in the sequence is completed.

Block execution order

Blocks within a node are executed strictly in order — from top to bottom. The bot will send the text, then the image, and finally display the buttons — exactly in the order they appear in the properties panel.

You can change the order of blocks within a node by clicking the ↑↓ arrows on the blocks.