Skip to content

Build flows

Flows decide what the bot says and when. On the “Flows” page you line up a conversation with triggers and steps, try it in “Test”, then publish it to your customers.

A flow is a trigger followed by steps. The trigger decides when the flow starts, such as “On follow”; each step is one action, such as sending text, offering choices, asking the customer for details or handing off to a person. Each step’s “Next” decides where it leads. The flow ends where there is no next step, or at “Let AI answer”, where AI takes over and answers the customer from your knowledge base.

Your changes save automatically to the draft and the toolbar shows “Saved”; there is no save button. Customers see the last published version until you publish again.

The switch at the left of the toolbar changes between “Story” and “Canvas”, two views of the same flow:

  • Story: on the left, every flow, grouped by trigger: “When someone adds you”, “When a customer mentions…”, “From a menu or template” and “Tools”. Steps that no trigger reaches are collected under “Unconnected steps”. In the middle, the chosen flow’s steps in the order customers see them; where it splits, each path gets a tab. Flows with unpublished edits are marked “Has unpublished changes”.
  • Canvas: a free layout. The step library is on the left, steps are joined by connections and you can drag them around. The bottom-right corner has “Zoom out”, “Zoom in”, “Zoom to 100%”, “Fit to screen”, “Auto-arrange” and “Minimap”.

New users start in Story, and the view you pick is saved to your account. On a phone you can only view flows; to change one, select “Ask Copilot to change it” or open it on a computer. Members without edit access can only view as well.

The toolbar also has “Search steps or content”, “Undo” and “Redo”, the save status, the check result and “Version history”. When other members have the flow open, their avatars show at the right of the toolbar.

The step library is grouped by what you want to do: “Frequently used” comes first, then “Send a message”, “Ask the customer”, “Decide what’s next”, “Work with data”, “Hand off” and “Triggers”; “Advanced” starts collapsed. Every step comes with a one-line “when to use it”.

  • Search: type what you want to do, such as “ask party size” or “send an image”. In the Canvas steps panel, matching steps already in your flow are listed under “Existing steps”; click one to open it.
  • Click or drag: in the “Steps” panel on the left of the canvas, click a step to add and open it, or drag it to a spot on the canvas. You can collapse the panel or drag its edge to resize it.
  • From a connection’s end: on the canvas, drag a connection out of a step and drop it on an empty spot. “Add a step here” opens, and the step you choose is connected right away. Drag “+ Add button”, “+ Add option” or “+ Add path” onto a step to add one and connect it to that step.
  • In Story: select “+” between two steps, or “Add step” at the end of a path, to insert a step there.
  • Under “Next”: the “Next” picker in step settings has “Add a step”, which adds a step and connects it.
  • From the command palette: press ⌘K (Ctrl+K on Windows) and choose “Add a step”.
  • Ask Copilot: describe the flow you want in the “Copilot” panel. Steps Copilot proposes are marked “Suggested by Copilot” and change the draft only after you tick them and apply them in the Copilot panel. See Copilot.

The “?” next to each step in the library and in step settings shows how to use it in the “Help” panel and links to its section of the step reference, for example Ask for input.

Click a step to open “Step settings” on the right. It works the same in Story and Canvas:

  • Step name: the step type and its name are at the top. A new step gets a numbered name; change it to something clear, such as “Ask party size”. A step without a name can’t be published.
  • “?”: opens help for this step.
  • More actions: “Duplicate” makes a copy and opens it; “Copy link” copies a link that opens this step, handy for sending to a teammate; “Delete” deletes the step.
  • Preview: steps that send something to customers have “Preview”, with LINE, Messenger, Instagram and Website, to show what customers get. If a step has more buttons than Messenger or Instagram show, the preview says so.
  • The step’s own settings: every step type has its own settings, explained in the step reference. Problems found by the check are listed at the top.
  • Next: where each way out of the step leads, such as each button, or “When it matches” and “Otherwise”. Pick an existing step or add a new one. A step that ends the flow says “The flow ends here; there is no next step.”
  • Advanced: less common settings and the “Step ID”. Your website can start the flow at this step with Chatbotta.triggerFlow and this ID; see the website chat JavaScript API. When the step has a problem, “Advanced” opens by itself.
  • Duplicate: “Duplicate” in step settings, or select steps on the canvas and press ⌘/Ctrl+C and V to copy and paste, or ⌘/Ctrl+D to duplicate.
  • Delete: “Delete” or the Delete key. Connections into the step are removed with it, and you see “Deleted step “…”” with “Undo”. If a reply rule uses the step, you’re asked to confirm first: deleting from the draft doesn’t affect customers right away; the related rules change when you next publish.
  • Undo and redo: “Undo” and “Redo” in the toolbar, or ⌘/Ctrl+Z and ⌘/Ctrl+Shift+Z. If Copilot or someone else has changed those steps since, the change can’t be undone and you’re told why.

Anywhere in a project, press ⌘K (Ctrl+K on Windows) to open the “Command palette” and search pages, steps, knowledge, chats or actions, such as “Publish”, “Add a step” or “Open Test”. “Search steps or content” in the toolbar opens the palette for steps only; choose a step to open it. Press “?” to see “Keyboard shortcuts”.

Canvas shortcuts (while you’re typing in a text field, only the command palette shortcut works):

Keys What it does
Arrow keys Select the nearest step that way
Shift+arrow keys Move the selected steps
Enter / Esc Open / close the step settings
Delete or Backspace Delete the selected steps (you can undo)
⌘/Ctrl+C, V, D Copy, paste, duplicate
⌘/Ctrl+Z Undo
⌘/Ctrl+Shift+Z (Ctrl+Y also works on Windows) Redo
Shift+Space Add the focused step to the selection or remove it
⌘/Ctrl+A Select all steps
Shift+click or drag Select several steps

In Story, Esc closes the step settings, Delete on a step deletes it, and undo and redo work. To connect steps from the keyboard, open a step and choose under “Next”.

Every flow starts with a trigger. In Story, select “Add flow” and answer “When does the flow start?” to create one; on the canvas, add it from the “Triggers” group of the step library. A trigger always comes first and can’t follow another step.

  • On follow: starts when a customer adds you or starts chatting for the first time. A project has one starting point; checking “Start here when a customer adds you” replaces the current one. Set “Remind after no reply for” under “Advanced”, then choose the reminder step under “Next” → “Reminder if the customer doesn’t reply”.
  • When a customer mentions…: starts when AI sees the customer asking about this topic. Write a sentence under “When to start here”, such as “When customers want to book, ask about tables or change a booking.” Once the first step is chosen, “Write it with AI” can draft it for you.
  • Started from a menu or template: lets this flow start from a menu, a template or website chat. Under “Advanced” you can also let AI use it; see Flows as AI tools.
  • Rich menu: the picture menu at the bottom of a LINE chat; each area can start a flow. “Make this the default rich menu” replaces the current default.
  • Persistent menu: the always-on menu in Messenger and Instagram chats, which can also be made the default.
  • Tool: runs when AI uses this tool in a conversation; see Flows as AI tools.

Steps that aren’t connected to any trigger never reach customers. To change menus partway through a flow, use Switch rich menu under “Advanced”.

Fields store customer or flow data, such as party size. “Fields” at the top of the page opens the fields panel, which has three kinds:

  • System fields: built in and read-only: “Customer name”, “Customer ID”, “Current time”, “Customer platform” and “Previous step’s result”.
  • Fixed fields: values shared by the whole project, such as your shop name or opening hours. A flow can’t change a fixed field or store a customer’s answer in one.
  • Fields: values the flow can save and change. Each customer has their own value, and you can set an “Initial value”.

“Add fixed field” and “Add field” ask for the data type: “Text”, “Number”, “Date and time”, “List” or “Object”. Click a name or value to edit it. Each row’s menu has “Duplicate field”, “Let your website set it” and “Delete field”. Renaming a field updates the steps that use it. If steps use a field you delete, they’re listed first, and they show an error until you undo the delete or pick another field.

Steps that save to fields are “Ask for input” (“Save the answer to”), “Set field”, “Extract data”, “Repeat for each item”, “Random” (“Also save a random value”) and “Write to Google Sheets” with “Read content”. To pick a spreadsheet, connect Google Sheets under Apps first.

Insert a field into a message: type “@” in a text that supports fields to list matching fields, use the arrow keys to choose and press Enter. The field shows as a tag and is replaced with its value when the message is sent; spaces around it are handled for you. If the field doesn’t exist yet, select “+ New field”, enter the “Field name”, choose the “Data type” and select “Add and insert”. An “@” inside an email address doesn’t open the list.

Field name rules:

  • A name can’t be empty.
  • A name can’t contain spaces or “@”. When you insert a field into a step with “@name”, a space ends the name.
  • A name can’t be a system field’s name, or a system field’s former name.
  • A name can’t match another field’s name.

Let your website set a field: choose “Let your website set it” in the field’s menu, and your website can write this visitor’s value with Chatbotta.setVariables; a globe icon shows next to the field name. Only regular text and number fields can be opened up this way. See the website chat JavaScript API.

“Test” at the top of the page opens “Test draft”, marked “Includes unpublished changes”. Chat with the bot right there: it runs your current draft, so you don’t have to publish first. Flows and knowledge share one test conversation, so you can try knowledge answers in the same chat.

  • If you change the flow mid-test, “The flow was updated” appears; select “Start over” to test the latest draft.
  • After a “Hand off to a person” step, the bot is paused; restart the conversation to keep testing.
  • To check an earlier published version, select “Preview” in Version history and chat with that version in Test.

The draft holds changes that aren’t published yet, and only Test sees them. Customers see your changes once you publish.

  1. Check the result of the flow check

    The flow is checked automatically after every change, and the toolbar shows “No problems”, “3 problems” or “2 warnings”. Click it to open “Checks”, which lists every problem, warning and note; click one to open that step.

  2. Select “Publish”

    It’s at the top right of the page and shows the number of changes, such as “Publish 3”; on a phone it’s under “More”. You can also publish when nothing is new, which re-applies the current content to every channel.

  3. Review what goes live

    The top of the review says which channels’ customers see the new version as soon as you publish; with no channel connected, you’ll see it only in Test. “3 problems to fix first” must be fixed before you can publish, and each has “Go to step”. Heads-ups don’t block publishing; customers on those platforms just see less. “Changes to publish” lists added, changed and removed steps by flow, with “Show changes” for before and after; knowledge and settings changes are listed and published with them.

  4. Select “Publish”

    You see “Published · version 12” (with your version number), and the version is saved in Version history.

Publishing also applies your rich menu to LINE and your persistent menu to Messenger and Instagram, so you don’t set them up on each platform. If LINE isn’t connected yet, the rich menu is applied once it is; the Messenger and Instagram menu appears after you connect and publish again. If no channel is connected yet, start with Channels.

“Version history”, in the toolbar and in the publish review, lists the version every publish leaves behind: who published it (for example “Published by Copilot”) and what changed. The version customers see now is marked “Current version”.

  • Preview: chat with that version in Test; you see “Previewing version 4” (with its number) until you select “Back to the draft”. While previewing, AI still answers from your current knowledge.
  • Compare: lists what changed from that version to the current draft.
  • Restore: replaces the draft’s steps, fields and default starting point and menus with that version’s. Restoring doesn’t publish: check the draft, then publish so customers see it. Right after restoring, “Undo” in the notice puts your earlier draft back.

Older versions that weren’t saved completely say “This version wasn’t saved completely, so it can’t be previewed, compared or restored.” Restoring needs edit access.

The rules you draw can be used by AI during a conversation: AI does the talking, and the flow works out a reliable answer. There are two ways:

  • Tool: AI calls the flow and gets a result, such as a discount check, a price estimate or a time-slot lookup. A tool flow only works with data and never sends messages to customers, and every path must end at a Return value, which hands the result back to the AI.
  • Started from a menu or template: once you let AI use this trigger under “Advanced”, AI can start the flow when it fits and send the flow’s messages to the customer, such as “When a customer asks about this week’s deals, send the deals card.”

Both have the same settings:

  • Let AI use this flow when answering: AI can use the flow only when this is checked.
  • When to use it: describe the situation; AI goes by this description.
  • Fields AI can fill in: tick the fields AI may fill in from the conversation, such as party size or a date.
  • Only on these platforms: leave all unchecked to allow every platform. Test is never limited.

A tool flow must pass these checks; otherwise they’re listed as problems and block publishing:

  • “Tool” must lead to a first step.
  • Only data steps are allowed: “Set field”, “Condition”, “Branch by field”, “Random”, “Extract data”, “Write to Google Sheets”, “Repeat for each item”, “Switch rich menu” and “Switch persistent menu”. Steps that send messages to customers can’t be used.
  • Every path must reach a “Return value”, for example: “This path in the tool “Discount check” doesn’t reach a “Return value”, so AI won’t get a result. Connect this step’s “Next” to a “Return value” step.”
  • The steps can’t go round in a loop, or AI never gets a result.
  • Every result needs a “Name” and a “Value”; the name tells AI what the value is.

The messages in “Checks” and in the publish review say what’s wrong and which setting fixes it; click one to open that step. There are three kinds:

  • Problem: must be fixed before you can publish.
  • Warning: doesn’t block publishing, for example a “Condition” step with no conditions, cards with different numbers of buttons, or more options than Messenger and Instagram show.
  • Note: just so you know, for example a step that isn’t connected to any trigger.

“This step has no name yet. Enter one at the top of the step settings, such as “Welcome message”.” or “This step has no text to send yet. Enter it under “Text to send”, such as “Hi! What would you like to know?”.” Fill in the setting the message names and it goes away. Images, video and audio work the same way, for example “This step has no image yet. Upload one or paste an image URL.”

“Option 2 isn’t connected to a next step yet. Under “Next”, choose the step that follows when a customer taps it.” Open the step and choose a step for each way out under “Next”, or add one.

“There’s no first step to send after a customer adds you. Choose one under “Next”, or select “Add step” in the story.” “When a customer mentions…” also needs a description: “AI doesn’t know when to start here yet. Write a sentence under “When to start here”, such as “When customers ask about bookings or opening hours”.”

The flow repeats or leads to a deleted step

Section titled “The flow repeats or leads to a deleted step”

“The steps after this one lead back to it, so the flow repeats forever. Change one “Next” in this path so the flow can end.” and “The step this one led to was deleted. Choose the next step again under “Next”.” Both must be fixed before you can publish.

“Ask for input” must save the answer to a regular field of a matching type, for example: “The answer type is “Number”, but “party_size” is a text field. Change “Answer type” to “Text”, or choose a number field under “Save the answer to”.” Fixed fields can’t store answers or be changed by the flow. When a field is deleted, the steps that used it say so; choose another field.

“This step isn’t connected to any trigger, so customers never see it. To use it, connect it from another step’s “Next”.” This is only a note and doesn’t block publishing. Delete steps you don’t need; in Story they’re listed under “Unconnected steps”.

If the toolbar shows “Flow not checked · Retry” or “Not saved · Retry”, the connection has usually dropped; click it to try again. Unsaved changes exist only on this screen, so don’t leave the page until the retry works.

“You don’t have permission to edit flows. Ask the project’s owner or an admin to give you access.” or “The project’s plan has expired. Renew it in Settings › Plan to keep editing.” You can’t publish while the plan has ended either. If customers aren’t getting replies, go through Bot not replying? step by step.

What each step does, its settings, where it leads and what to watch for are in the step reference, grouped as in the step library.