Workflows

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.

Overview

Workflows let you define a numbered sequence of steps. When a workflow is active, the chatbot:

  • Sees only the current step (it cannot skip ahead)
  • Asks one question per step, then waits for the visitor to reply
  • Advances to the next step only after the visitor answers
  • Cannot end the workflow early until all steps are done

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.

When to use workflows

  • Troubleshooting -- Guide visitors through a diagnostic sequence (check A, then B, then C)
  • Lead qualification -- Ask qualifying questions in a specific order before routing
  • Onboarding -- Walk new users through setup step by step
  • Intake forms -- Collect required information before helping (name, email, company)

Creating a workflow

  1. Click New Workflow.
  2. Step 1 (Basics): Give it a title. Enabled, priority and the maximum number of turns sit here too, behind Advanced.
  3. Step 2 (Instructions): Write your procedure as numbered steps. For example:

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.

  1. Step 3 (Activation): Choose when the workflow starts:

    • Let the AI decide -- The AI starts the workflow when a visitor's message fits the description you write here. Say when it applies and when it does not ("product advice for a project; NOT for opening hours or shipping questions"), because this text is all the AI reads to make that choice.
    • Start on a match -- The workflow starts as soon as a message arrives on a channel, from a sender, or with the words you choose.
  2. 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.

What a step looks like

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:

  • Instructions -- What the chatbot should do at this step, in your own words.
  • This step will -- Ask the visitor for information, or do something.
  • For Ask steps: whether to ask in the chat or show a form, and which details to collect. Give each item a one-line description ("the brand and the exact model together, for example Freepoint Chrome 5") so Boei knows what a real answer to it looks like. That is what keeps a short reply like "yes" in the right place. The chatbot moves on once every required answer is in.
  • For Do steps: reply with a message, look it up in the knowledge base, run an AI action, write an internal note for your team, show quick reply buttons, start live chat, or end the chat.
    Three switches on a step card are off unless you turn them on: an Ask step can let the visitor book an appointment in the chat (it shows your calendar and waits for the chosen slot), an AI action can look things up in your knowledge base before it runs (for example the link an email needs) without showing what it found in the chat, and a knowledge base step can be limited to the sources you pick.
    When a form is a workflow step and the workflow is certain to speak next (a Reply or Ask step, possibly after an internal note or a background action), the form's own success message is not shown, so the visitor sees one confirmation. When the form is the last step, or only internal steps or a decision follow, the form's own success message is shown as usual.
    While an Ask step is waiting for an answer, the visitor may ask something else first ("do you ship to Belgium?"). The chatbot answers that from your knowledge base and then repeats its question; the step stays open.
    A knowledge base step may search as often as it needs and can work out quantities (surface, volume, weight) from the numbers the visitor gave and the numbers on your pages. It never guesses a missing number: it tells the visitor what is still needed. When a search only finds an overview page, it searches again for the figure itself (for example the product type plus "consumption per square metre") so it reads the product page before it says a number is missing.
    Only let this step read the sources I pick. A knowledge base step normally searches everything your chatbot has learned. Switch this on and choose the pages, files or question sets that step is allowed to use, and it reads only those, whatever the visitor asks. Use it when a step has to answer from one manual or one set of questions and nothing else, for example a step that works out which product family a customer has before the troubleshooting starts. When the answer is not in the sources you picked, Boei says the information is not available for that case instead of taking it from somewhere else. Pick at least one source: with the switch on and nothing chosen, the step finds nothing.
  • For Decide steps: what Boei should decide, the outcomes it can pick, where each outcome goes, and which one is the fallback.
  • For Ask and Do steps: After this step, when the workflow should not simply continue to the next step.

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.

Asking for several things in one step

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 the visitor sees

What reaches the visitor follows from the step type, so you always know from the step list what will be said:

  • Ask, Reply, Look it up in the knowledge base, Show quick reply buttons, End the chat and Start live chat talk to the visitor.
  • Run an AI action and Write an internal note never do. The action runs, the note is written, and whatever the AI wrote while doing that stays internal. To tell the visitor something afterwards, add a Reply step right after it, for example "confirm the ticket number".
  • Let Boei decide says nothing either.

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.

Sending the visitor down different paths

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:

  • Live chat availability: Available or Unavailable, checked the moment the step finishes and before any hand-over starts, using the same rule the live chat itself uses (who is online right now).
  • Live chat result: what a Start live chat step actually produced: Connected to a colleague, No colleague available, or Hand-over failed. Use it on the Start live chat step itself, for example "connected: end the workflow, otherwise: offer a support ticket".

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:

  • Go to another step: jump to any step, also an earlier one. Jumping back repeats that step, which is how you make a check loop until it passes. The workflow's maximum number of turns makes sure a loop never runs forever.
  • Add conditions: rules that are checked from top to bottom, and the first one that matches wins. A rule reads 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.
  • Start another workflow: this workflow finishes and the other one starts at its first step. Use it to hand a visitor from a general intake to a specialised workflow.
  • End workflow: the workflow finishes here, even if there are more steps below.

Collapsed steps show a small Has conditions badge when they route with conditions, so you can see the branching points at a glance.

Let Boei decide

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.

Tips for writing good workflows

  • Use numbered steps (1. 2. 3.) so the system can parse them clearly.
  • For a branch, say what the chatbot should do depending on the answer and give the other path its own step, for example "4. If they still need help, hand over to a colleague." Keep the question that decides it as its own step.
  • Add "Wait for answer." after each question step to make the intent clear.
  • Put general context (persona, language rules) before the numbered steps. This becomes the "preamble" that applies to every step.
  • Keep each step focused on one thing: one question, or one action.
  • Exit conditions work best when they are lenient. "User provides any product information" is better than "User provides exact brand AND model number."

Activation: lazy vs auto-trigger

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.

Following a workflow in the Inbox

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.

  1. A step that gives information asked a question. A reply or a knowledge base step is not allowed to ask the visitor anything, because the workflow moves on the moment it has replied and the answer would land nowhere. If it writes a question anyway, Boei asks it for a proper reply once. If that one still ends in a question, the reply is not sent at all and the step pauses, so the visitor never gets two questions at once. The note names the step, so you know which instruction to rewrite.
  2. Boei could not read the answer. If it cannot tell what the visitor answered, it tries once more and then leaves the question open rather than filling in something that was never said.

In both cases the visitor's next message tries the step again.

Approval settings

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.

  • Wait time: How many minutes before the timeout message (default: 2 minutes)
  • Timeout message: What the visitor sees after waiting (customizable)

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.

  • Acknowledgement message: Optional. A short line the visitor sees right away, in addition to the next step's own text.

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:

  • Approval needed -- your team needs to review and approve
  • Running -- the action is currently executing
  • Action failed -- the action did not complete (you can retry)
  • Needs checking -- the result is uncertain and should be verified manually

Managing workflows with the Copilot

You can also create and edit workflows through the Copilot tab. Ask things like:

  • "Create a workflow for return requests: ask for the order number, explain our return policy, then let them pick a refund or an exchange"
  • "Show me my workflows"
  • "In the returns workflow, add a step after the order number that asks for the email address"
  • "When the customer picks exchange, hand the conversation over to a colleague instead of ending the chat"

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.