Skip to main content
Steps are the building blocks inside each script block. Most steps are something the agent says; others do something: book a meeting, call an API, wait for a result, transfer the call, or end it. This page covers every step type and its settings.

Add a step

Open a block on the Script tab, then either:
  • click a button at the bottom of the step list, or
  • click + between two steps to insert one there (offers Step, Schedule a Meeting, Action, and Widget).
Email agents use email steps instead (see Channel-specific steps). A block that ends with Call Transfer, End Call, or Wait for results can’t take more steps after it.

Say / question step

The default step. Type what the agent should say or ask. The agent speaks it naturally and adapts the wording to the conversation.
  • Up to 1,500 characters.
  • Insert variables, instructions, and emotions with the buttons under the text. See inline tags.
  • Click Play to hear it in the agent’s voice, or Rephrase to get an AI rewrite.

Key question

Turn a step into a key question to capture its answer in the post-call summary. Hover the step number and click the star (Make a key question: “Key questions will appear in a call summary”). In Post-call Analysis you can set how the answer is recorded (open question, single or multiple choice, yes/no, number, date, or time). Key questions appear in Post-call Analysis and in the webhook summary object. See Post-call analysis.

Schedule a Meeting

Books a meeting in Cal.com during the conversation. The agent offers available slots, confirms one with the contact, and creates the booking. Before you start: connect Cal.com in the App Center. See Cal.com.
Side panel for a block titled If they want to book a meeting with us, containing a Schedule Meeting step with the Cal.com meeting Book a Demo (30 min), Future Days Window set to 14 days, If no slots are available set to Use Fallback Phrase, and the fallback phrase text

A Schedule a Meeting step with its Cal.com event type, Future Days Window, and fallback phrase.

  • Slots are offered in the contact’s time zone: the one set on the contact, otherwise inferred from the phone number, otherwise the agent’s time zone.
  • Invitations go to the contact’s email, so adding a meeting step adds an email variable. Contacts without an email can’t receive the invite.
  • A script can have up to 10 meeting steps in total, including scenarios.
  • The booking URL is sent in webhooks as booking.meetingUrl.

Action

Runs an action during the conversation: an App Center integration (CRM lookup, create a ticket, send an SMS), a custom HTTP request, or custom code. The agent says the Action Phrase (default: “Let me pull that up for you real quick.”) while the action runs, then uses the result.
Side panel with an Action step whose Action Phrase reads Let me pull that up for you real quick, an attached HTTP (Send HTTP request) action named look_up_customer, and the Action button highlighted in the row of add-step buttons

An Action step: the Action Phrase on top, the selected HTTP action underneath.

Click Choose action to pick or create one. The step menu offers: On Action steps the no-interruption setting reads Speak action response with no interruptions. See Actions for setup, custom code, testing, and logs.

Wait for results

Pauses the script until one or more actions or connected agents (A2A) return, then continues on a Ready or Fallback path. Use it when the next part of the conversation depends on the result, for example a credit check or an availability lookup that takes a few seconds. Wait for results must be the only step in its block. Add it to a new, empty block. Fallback is also taken if the caller doesn’t want to wait. To wait for a connected agent, first enable an A2A connection for this agent.

Call Transfer

Transfers a live call to a phone number, SIP URI, or human operator queue. The agent says the Call Transfer Phrase first.
Call Transfer step showing an empty Call Transfer Phrase, a destination field for an international phone number or SIP URL with a Phone / SIP and Human operator switch, Caller ID for Forwarded Call set to Agent's number, Warm Transfer turned on, Play warm transfer message to set to Receiver only, and a prompt field for the handoff message

A Call Transfer step with the destination, Caller ID, and Warm Transfer settings.

See Call transfers for cold vs. warm transfers, SIP REFER, operator queues, and the warm-transfer API.

Widget

Shows an interactive form inside the web widget during a call (for example, to collect an address or a choice from a list). The contact fills it in while talking to the agent, and the agent receives the answers. Available on Voice agents with web calls enabled. Choose Form (all fields at once) or Stepped (one at a time), and add inputs such as Short Text, Dropdown, or Single Choice. See In-call forms.

End Call

Ends the conversation after the agent says the goodbye phrase (Type your goodbye phrase here). Text and Email agents show End Chat and End Email. No steps can follow it in the same block.

Channel-specific steps

Email agents use email steps instead of spoken ones. Each step has a Template tab (subject and body you write) and a Prompt tab (instructions; the AI writes the email). Write My Email drafts content for you, with a tone of Default, Direct, Formal, Casual, Creative, or Based on Contact. You can Attach File, Add Photo, connect a knowledge base, and insert the mailbox signature. See Write the emails.

Per-step voice settings

Click the sliders icon on a step to override agent-level behavior for just that step. These settings apply to voice conversations. Speak with no interruptions and Keypad Input aren’t available on End Call and Call Transfer steps. Background sound (Background Soundscape) is set for the whole agent, not per step. See Conversation dynamics and Keypad input.

FAQ

Callbacks are handled by outcomes, not by a step. When a contact asks to be called later, the call is classified as Call me later and the contact is retried according to your retry settings (with Continue Dialing Attempts after “Call Later”). See Scheduling and retries.
Custom code is a type of Action. Other AI agents connect through A2A connections and are called from a Wait for results step.
Your script already has 10 meeting steps (the tooltip reads “Max is 10 meeting available”). Remove one, or reuse a single meeting block with Go to Block.
Connect Cal.com in the App Center, then select an event type. If you see “Please reconnect your cal.com account”, reconnect it to refresh the credentials.

Script editor

Blocks, subflows, and inline tags.

Actions

Connect the agent to your systems.

Call transfers

Cold, warm, and operator transfers.

Post-call analysis

What key questions capture.

Prompting voice agents

Write steps that sound natural when spoken.