Steps
API step
Makes an HTTP request from inside a workflow, at a fixed point in the path rather than when a model decides to. It runs an API tool with its input variables mapped explicitly.
Also asked as:
- call our backend at a set point in the flow
- run a saved request without letting the model choose when
- fetch data from our API in the middle of a flow
- make an HTTP request from the canvas
Documented in: API step › Using the API step · API step › Configuration
Buttons step
Presents a fixed set of choices instead of open input, so the next turn is one of a known few. Each button can carry a URL, and a no-match path handles a reply that matches no label.
Also asked as:
- give the visitor a fixed set of choices to click
- present options as clickable buttons in a flow
- a menu of choices instead of free typing
- show a disclaimer with buttons before continuing
Related: Buttons tool · Card step
Documented in: Buttons › Using the Buttons step · Buttons › Configuration
Call forward step
Transfers a live voice call to another number, in international format, with optional extensions.
Also asked as:
- send the caller on to a different number
- transfer a phone call from the flow
- forward the call to our reception line
Related: Call forward tool · Live agent handoff step
Documented in: Call forward › Configuration
Card step
One rich message: an image, a title, a description and optional buttons.
Also asked as:
- one image with a heading, some text and buttons
- show a single rich message with a photo in it
- a product tile with a call to action
Related: Carousel step · Cards tool
Documented in: Card › Using the Card step · Card › Configuration
Carousel step
Several cards the user can browse through in one turn.
Also asked as:
- a row of items to swipe through
- show many products side by side
- scrollable set of cards
Related: Card step · Carousels tool
Documented in: Carousel › Using the Carousel step · Carousel › Configuration
Code step
Runs JavaScript inline at one point in a workflow. A function is the reusable form of the same idea. It cannot call external servers; use the API step or a function for that.
Also asked as:
- run a bit of JavaScript in the middle of a flow
- inline script without creating a whole function
- do some math or string formatting on a variable
Documented in: Code › Using the Code step · Code › Limitations
Condition step
Branches a workflow on a rule you write: a variable, a comparison operator and a value per path. The Operator step is the model-driven alternative.
Also asked as:
- branch on a variable’s value
- if this then that inside a flow
- send people down different paths based on their data
- go down a different path depending on what the user typed
- split the flow based on the reply
- route people to different branches
Related: Operator step · Variable
Documented in: Condition › Using the Condition step · Condition › Configuration
End step
Ends the conversation, optionally with a final message, static or generated from a prompt.
Also asked as:
- finish the chat with a closing message
- close the session at a certain point in the flow
- hang up or end the chat when the flow is done
- the last step of a workflow
Related: End tool
Documented in: End › Using the End step · End › Configuration
Function step
Runs a function tool at a fixed point in a workflow: inputs are mapped from variables, outputs are written back to variables, and the returned path decides where the flow goes next.
Also asked as:
- run my custom code at one point in the flow
- map a function’s result into variables
- use my custom function at a point in the workflow
- branch on what my code returns
Related: Function · Function path
Documented in: Function › Using the Function step · Function › Configuration
Integration step
Calls a third-party service such as Salesforce, Shopify or Zendesk from a fixed point in a workflow, with the tool’s required inputs filled from variables.
Also asked as:
- create a ticket in our helpdesk from the flow
- run a connector action at a set point
- log a Salesforce case from a workflow
- send a Gmail message at a fixed point in the flow
Related: Integration
Documented in: Integration › Using the Integration step
Listen step
Waits for the user to say or type something before continuing, and saves the reply to a variable.
Also asked as:
- wait for an answer and store what they said
- capture the visitor’s reply into a variable
- pause the flow until the user responds
Related: Variable · Buttons step
Documented in: Listen › Using the Listen step · Listen › Configuration
Live agent handoff step
Hands the conversation to a human in a contact center such as Zendesk, Kustomer, Genesys or Ujet, with file exchange in both directions and provider-specific settings in a JSON metadata field.
Also asked as:
- hand the chat to a person
- escalate to a support rep
- transfer the conversation into our helpdesk
- let a person take over from the bot
- route angry or frustrated customers to a human
- hand off to Zendesk or another contact center
Related: Call forward step · Transaction safety
Documented in: Live agent handoff › Core functionality · Live agent handoff › Configuration · Live agent handoff › Handing off to Zendesk
Handoff metadata
The optional JSON settings on the Live agent handoff step — noteBodyText (an internal note for the
human agent), disableFileUpload (hide the file control), waitTimeMessage (how the expected wait
is communicated) and other provider-specific fields — with variables allowed in any value.
Also asked as:
- pass an escalation reason to the human agent
- stop customers sending files during a handoff
- tell the user how long they will wait for an agent
Related: Live agent handoff step · File uploads
Documented in: Live agent handoff › Configuration · Live agent handoff › disableFileUpload · Live agent handoff › waitTimeMessage · Live agent handoff › noteBodyText · Live agent handoff › Provider-specific capabilities
MCP step
Runs one tool from a connected MCP server from inside a workflow, where the flow reaches it, with inputs mapped explicitly rather than chosen by the agent.
Also asked as:
- use a tool from an MCP server inside a flow instead of letting the model decide
- always run one MCP tool at the same place in the process
- run an MCP tool as part of a fixed process
- call a specific MCP tool from the canvas
Documented in: MCP › Using the MCP step · MCP tool › In a workflow
Message step
Says something to the user, either scripted (with optional variants) or generated from a prompt.
Also asked as:
- send text to the visitor
- have the bot say something at this point
- a generated reply inside a fixed flow
Related: Start message
Documented in: Message › Using the Message step · Message › Configuration
Operator step
A silent, model-driven branch. Evaluates conditions in natural language and routes accordingly, producing no output the user sees.
Also asked as:
- let the model decide which branch to take
- AI routing without writing comparison rules
- classify the situation and pick a path
Related: Condition step · Playbook step
Documented in: Operator › Using the Operator step · Operator › Configuration
Playbook step
Runs a playbook inside a workflow. Exit conditions decide when control returns to the flow, and Listen for other triggers lets events, keypad input and a switch to the agent interrupt it.
Also asked as:
- put an AI skill in the middle of a fixed flow
- embed a playbook between two scripted steps
- go from a drawn flow into the agentic part and back
- a scripted flow that then hands over to an AI playbook
- show a disclaimer and buttons first, then let the agent take over
Related: Playbook · Exit conditions · Crew
Documented in: Playbook step › Using the Playbook step · Playbook step › Configuration · Playbook step › Exit conditions
Set step
Assigns a value to a variable: a literal, a prompt-generated value, or an expression.
Also asked as:
- store something in a variable at this point
- update a value during the flow
- set a variable to a value in a workflow
- save a computed value for later steps
Documented in: Set › Using the Set step · Set › Configuration
Workflow step
Calls another workflow from the current one.
Also asked as:
- jump into another flow and come back
- reuse a common sequence
- call one flow from inside another
- chain workflows together
Related: Nesting workflows
Documented in: Workflow › Using the Workflow step
Handoff step
Transfers a conversation from a workflow to a configured live support connection.
Documented in: Handoff step