Skip to main content
By default, an actor is free-form — it reads its system prompt and decides what to say turn by turn. That’s the right choice 80% of the time. When you need exact control — a specific sequence of questions, a deterministic branch on a condition, a guaranteed handoff after data collection — switch to the step builder. The step builder is the Steps section of an actor’s panel: double-click the actor, then click Steps in the rail on the left of the panel. A fresh actor shows only the Start marker and a + to add the first step.

How steps and Instructions combine

  • No steps: the actor follows its Instructions freely, turn by turn.
  • Any step: the actor runs its steps top to bottom and is done after the last one. Its Context and Instructions still guide every AI step (Act, AI Condition), so keep the persona and the rules there.
The Steps section says which of the two applies, and so does a note above the actor’s Instructions.

Free-form vs scripted

Free-form (default)

The actor talks naturally. The LLM picks what to ask, how to phrase replies, when to use tools. You give it instructions and trust it to act on them.Best for: open-ended conversations, support, qualifying questions.

Scripted (step builder)

The actor follows a strict sequence of steps you define. Each step has a specific behaviour and an explicit next step.Best for: data intake forms, payment flows, identity verification, anything that must complete the same way every time.

The step types

A scripted actor is built from these step types: The step picker lists each type with a one-line description.
An actor built earlier may also hold Switch or Perform Action steps. You can still open and edit them, but the picker doesn’t offer them.

Add, reorder and delete steps

  • Add a step at the end: click the round + under the last card and pick a type.
  • Insert between two cards: hover the gap between them (or above the first card) and click the small + that appears.
  • Add to a branch: under an AI Condition, click Choose Step on its True or False branch.
  • Reorder: drag a card by its grip on the left, or hover it and use the up and down arrows. From the keyboard, press Space or Enter on the grip, move with the arrow keys, and press Space or Enter again to drop it (Escape cancels).
  • Delete: hover a card and click the trash icon.
The order you see is the order the actor runs. An AI Condition moves together with the steps on its True and False branches. A step stays in its own group: a branch step moves within its branch, and a main-line step within the main line. Each change saves straight away, to the agent’s draft. Deleting a step doesn’t ask first: a toast offers Undo for 10 seconds. Deleting an AI Condition also deletes the steps on its branches, and Undo brings all of them back.

Edit a step

Click a card (or its pencil) to open the step’s editor. It opens inside the panel, in place of the list. Clicking an issue about a step in Issues opens the same editor.
  • Save saves the step and goes back to the list. Cancel goes back without saving.
  • Back to steps (the arrow at the top) keeps your edits: it saves them, then goes back.
  • Opening another actor, clicking the canvas or closing the panel saves your edits too.
  • If a required field is empty, the editor stays open, says what’s missing, and moves to the first field to fix.

Slots — the data backbone

Ask Question steps save their answer to a slot, a value kept for the whole conversation. You name it in the step’s Slot name field, for example user_email, and use it later as @slot.user_email: type @ in a step’s text and pick it from the list. Slots are:
  • Visible to every later step in this actor’s flow, wherever you mention @slot.<name>. Steps written earlier with {{name}} still work.
  • Visible to the actor’s system prompt (when Slots collected so far is checked).
  • Visible to other actors that the conversation hands off to. Slots survive transfers.
Two Ask Question steps with the same Slot name share the same slot. By default, if a slot is already filled, the second step is a silent no-op — useful for actors that pick up where another left off.

A worked example — collect details, then send email

The Act step has access to all three slots as @slot.user_name, @slot.user_email and @slot.user_request. Its instruction:
Send a confirmation email to @slot.user_email using the send-email tool. Set the subject to “We received your request” and the body to a short note thanking @slot.user_name and echoing back: @slot.user_request. After the tool call returns, reply to the user in chat saying the email is on its way.
The actor’s Capabilities must include the Gmail send-email action for this to work.

Branching with AI Condition

AI Condition evaluates the current conversation state and routes to a true or false branch. The AI Condition step’s prompt is plain language — “Is the user’s issue urgent? Look at the wording, urgency signals, business impact.” — and the LLM returns true or false. In the Steps section, the AI Condition card shows its True and False branches underneath it, and each card shows a short summary of what the step does.

Free-form vs scripted — when to pick which

  • The order in which information comes up is fluid.
  • Users typically wander or change their minds.
  • Most of the value is in the actor responding to what the user says.
  • You’re not sure yet — start with free-form, switch to scripted only when free-form misbehaves.
  • You need every conversation to collect the same fields in roughly the same order.
  • Specific actions (send a calendar invite, charge a card, log a ticket) must happen at specific points.
  • Compliance or audit requires a deterministic trail.
  • You’ve tried free-form and it’s missing fields half the time.

Anti-patterns

Building a 20-step script. If your scripted flow is more than ~8 steps, you’re probably modelling something that’s better as multiple actors with routing between them. Smaller actors = easier to debug and edit.
Scripting open-ended conversations. “Help the user figure out which plan they want” is not a script. Use free-form with good instructions instead.

Next

Configure an actor

The Instructions section covers free-form actors.

Capabilities

Wire tools that your steps can call.