Create step-by-step procedures your chatbot follows during conversations. The chatbot executes one step at a time and waits for the visitor's reply before moving on.
How to get there: Go to Setup → AI agent in the top menu, click your chatbot, then Behavior > Workflows in the sidebar.
Workflows need Run AI Actions (agent mode) to be switched on for the chatbot. While it is off, the Workflows tab shows a notice, existing workflows stay paused, and you cannot add or edit them. Turn it on in the chatbot's AI Actions settings.
Workflows let you define a numbered sequence of steps. When a workflow is active, the chatbot:
Every step is an Ask step (gather information from the visitor, in chat or through a lead form), a Do step (reply, look something up in the knowledge base, run an AI action, write an internal note, show quick reply buttons, start live chat, or end the chat), or a Decide step (Boei reads the conversation and picks one of the outcomes you defined). Steps run in order unless you tell a step where to go next. When the last step is done the workflow closes by itself.
Write an internal note leaves a note on the conversation for your team, for example "summarise what the visitor asked for and which product they mean". The visitor never sees it. Your team finds it in the Inbox like any other internal note, and the workflow continues with the next step right away, in the same turn. Use it when a person picks up the conversation later, or before an AI action, so the team knows what happened.
Show quick reply buttons sends Boei's message with a few buttons under it that the visitor can tap, for example "Book a call" and "Send a quote". You type the button labels in the step. In the website chat they appear as buttons; on other channels Boei lists them as text.
End the chat sends a short wrap-up and closes the conversation. Use it as the last step.
Start live chat hands the visitor to your team the same way as when a visitor asks for a person: the chatbot checks whether an agent is available, asks for an email address if your live chat settings require one, and otherwise shows your offline message. Use it as the last step, for example "collect the order number, then start live chat". If live chat is set to AI only for the chatbot, the step shows a warning in the editor and the visitor gets the offline message.
This is useful whenever you need the chatbot to follow a specific order rather than answering freely.
You are a technical support agent. Respond in the visitor's language.
1. Ask the customer for their product brand and model. Wait for answer.
2. Ask them to describe the problem. Wait.
3. Look up the solution in the knowledge base based on brand and problem.
4. If the problem is not resolved, offer to schedule a callback.
Step 3 (Activation): Choose when the workflow starts:
Click Save workflow.
Click Create steps on step 2 and Boei turns your text into a list of steps. Sentences such as "if they still need help, hand over to a colleague" or "if it is an existing customer, go to step 5" become routing on the question that collects the answer, so the chatbot skips steps that do not apply. You can check or change this under After this step on the card. Each step is a card in a numbered timeline: click a card to open it, use the three-dots menu to duplicate, move, or delete it, and Add next step to append one.
Each step card shows an Ask or Do label, a short title taken from the instruction, and one line describing what happens (which form opens, what is asked for, which action runs). Open the card to change:
Steps that run an AI action show Runs automatically or Needs approval on the card, so you can see at a glance which steps your team checks first.
An Ask step can collect more than one thing, for example the material, the goal, the size and the layer thickness of a project. Boei treats this as a conversation, not a questionnaire: it reuses anything the visitor already said, skips an item that is evident or does not apply (and says so briefly), and asks for one missing item per message in a natural order. The step is done once every required item is known.
For each item you can add 3 to 5 quick reply options. Use them for choices with a fixed set of answers (a material, a yes or no); leave them out for values that depend on the project, such as sizes or thicknesses, so the visitor types the real value. The chatbot repeats an implausible or unclear answer back and asks the visitor to confirm before moving on, and when a side answer shows an earlier value does not fit, it asks for a new one. Boei shows them as tap-able chips under its question, with an extra "Something else" chip in your chatbot's language ("Anders" for Dutch), and the visitor can always type another answer instead.
An answer is only ever stored under the question Boei actually asked. If the chatbot asks something else than the item it is on, the reply is not filed under that item and the question is asked again, so a "yes" can never end up as the answer to a question nobody asked. Anything the visitor volunteers on top of their answer is stored with it.
Set an item to Photo or file when you want the visitor to upload something, such as photos of a repair. Boei asks for it once; the visitor uploads it in the chat or says they want to skip it. The upload lands on the conversation in your Inbox for your team. Boei never claims to have looked at it.
What reaches the visitor follows from the step type, so you always know from the step list what will be said:
An AI action that waits for approval in the background keeps its card in the Inbox after the chat has ended; the conversation shows an Action required badge in the list until someone approves or rejects it, and approving then runs the action once.
When a workflow finishes on such a step, Boei sends nothing at all: no closing sentence in the website chat, no email or text message on other channels. That is what you want for a workflow that only prepares something for your team, such as drafting a reply as an internal note. The editor warns you when a workflow can finish without replying, so you can add a Reply step if the visitor should hear something.
Besides answers and action results, a condition can look at two things about live chat, so a hand-over never depends on the AI guessing:
Every route the workflow takes leaves a short note in the conversation for your team, only visible to you: which condition matched and where it led ("Condition "live chat availability is available" → step 3"), which outcome a decision picked, and what an AI action did (ran, or waits for approval).
Open an Ask or Do step and look at After this step. The default is "Continue to next step". You can also choose:
IF [an answer the visitor gave, or the result of an AI action] [is / is not / was given] [value] THEN [where to go]. You must also fill in OTHERWISE, which is used when no rule matches. Conditions only look at things that exist by that step: answers from earlier Ask steps, results of earlier AI actions, and the result of the step's own AI action ("success" or "failure"). They never interpret what the visitor said; that is what a Let Boei decide step is for.Collapsed steps show a small Has conditions badge when they route with conditions, so you can see the branching points at a glance.
When the route depends on something the visitor said rather than on one exact answer, add a Decide step. Write what Boei should decide, for example "Decide whether the visitor reported a safety hazard", and list two or more outcomes with a destination each:
Safe → Go to step 4: Power check
Dangerous → Go to step 3: Safety warning
Unclear → Go to step 5: Clarify safety (fallback)
Boei reads the conversation and picks exactly one outcome without saying anything to the visitor. Mark one outcome as the fallback: it is used when Boei cannot tell. Every decision is written as an internal note on the conversation ("Decision ...: Dangerous → step 3"), so your team can see why a route was taken.
Boei checks your routing when you save: every destination must exist, conditions need an OTHERWISE, a Decide step needs at least two outcomes with destinations and a fallback, and every step must be reachable. If something is off, the editor tells you which step to fix.
Let the AI decide: The chatbot knows the workflow exists and starts it when the visitor's message fits the description you wrote on the Activation step. The description is only used for this choice, so a workflow that starts on a match does not need one.
Start on a match: The workflow starts automatically when a message matches your conditions (channel, sender, subject, or words in the message). This does not depend on AI judgment.
Both modes get the same step-by-step enforcement once the workflow is active, and both need Run AI Actions to be on.
Each conversation shows internal notes when a workflow starts, finishes, or is stopped early: Workflow "Name" activated., Workflow "Name" completed. and Workflow "Name" stopped: reason. (for example when the visitor says they no longer want to continue, when you stop a paused run from the Inbox, or when the workflow was switched off while a run was going). A visitor who clearly wants to stop ("never mind", "I no longer want this") ends the workflow; the chatbot then simply answers as usual, and that workflow does not start again by itself in the same conversation. A plain "no" to a question, or declining one item such as a photo, is an answer, not a stop. While a workflow step is running, the chatbot's general "end with a follow-up question" setting is paused, so a Reply or closing line ends where the step says. These notes are only visible to your team, not to the visitor, and they appear in the order things happened: the visitor message first, then what it triggered. One note of each kind appears per run, so if the same workflow runs twice in one conversation you will see two of each.
If Boei cannot make a decision or write an internal note, for example because the AI credits are used up or the AI service does not respond, the workflow does not guess and does not skip the step. It pauses on that step, an internal note in the conversation says why, and the visitor is offered a team member. The step is tried again on the visitor's next message, and the workflow continues as soon as it succeeds.
Two more things pause a step in the same way, and both were built so a workflow never continues on something that was not really said.
In both cases the visitor's next message tries the step again.
Each workflow step that runs an AI action has its own Require human approval toggle. It starts out the same as the action's own setting, and you can change it per step, so one action can ask for approval in one workflow and run on its own in another. When the toggle is on, you choose how the visitor experiences the wait. There are two modes:
Wait for approval (blocking)
The visitor sees a "still being reviewed" message and waits. You can set how long (in minutes) before a timeout message appears. After the timeout, the visitor is told they can leave and will be notified later. Your team still needs to approve the action, even after timeout.
Continue in background
The action waits for your team in the Inbox, but the workflow does not: it continues right away with its next step, and the visitor can keep chatting or leave. Nothing runs until someone approves the action, and the approval card stays available even after the workflow or the conversation has ended. Use this for an e-mail your team wants to read and send themselves, or any action the visitor does not need to wait for.
To set this, open the step, switch on approval in the green or amber approval row, and pick what happens while the team reviews it. Every time an action runs inside a workflow, your team sees an internal note in the conversation saying which action ran and what it returned.
In the Inbox, threads waiting for approval show a badge:
You can also create and edit workflows through the Copilot tab. Ask things like:
The Copilot turns your description into steps that run in order. Say what each step should do in plain words: ask for something, look it up in the knowledge base, offer a choice, write a note for the team, hand over to a colleague, or end the chat. You can then ask for changes, including branching such as "if the customer says X, go to step Y". Existing steps keep their place, so any routing you set up earlier stays intact.
The Copilot saves a workflow only when it passes the same checks as the step editor. If something is missing, such as a destination or an OTHERWISE route, it tells you what to fix. Open the Workflows tab to review the result or fine-tune a step.