Steps
Pick the right step for each moment in a conversation, and know what each one can do.
A step (the canvas calls it a node) is one part of a conversation. You add steps by right-clicking the canvas and picking a type from the Add node menu. The list of types is fixed: you create new steps, never new types.
| Group in the menu | Types |
|---|---|
| Agent Nodes | Agent, Global step, End, Collect Digits, Menu |
| Persona | Persona |
| Integrations | Webhook, After-call action |
Every agent also has exactly one Start step. It comes with the agent and is not in the menu.
Conversation steps
Start
The one entry point. It cannot be deleted, and no arrow can point into it. A Start step with no arrow out is valid, so a brand-new agent can be tested right away.
- Greeting: Greeting Type chooses Spoken text (the Greeting Text, read in the agent's voice) or Recording (an audio file you uploaded). Leave the text empty to skip the greeting. Delayed Start keeps the agent quiet for Delay Duration (seconds) after the call connects, for lines where the audio opens before the person has the phone to their ear.
- Behaviour: the Prompt says what the agent does right after the greeting. Allow Interruption is off by default here.
- Contact lookup: Look up the contact first runs one or more of your tools before the call
is picked up, with the contact's phone number. Their replies can be used in the greeting and
every step, for example
{{gathered_context.tool_outputs.find_customer.first_name | there}}. Run on picks incoming calls, outgoing calls or both. Wait up to (seconds) (1 to 10, default 3) caps the wait, and incoming calls never wait more than 5 seconds. Retries is 0 to 2, default 1. If a lookup fails, the call goes ahead.
It also has the same Variables, Tools & documents and Chat sections as an Agent step.
Agent
The workhorse. Each Agent step has one focused Prompt for one part of the conversation.
- Tools lets the agent act during the conversation, such as checking a calendar. See Tools.
- Knowledge Base Documents lets it answer from your documents. See Knowledge.
- Variables to Extract turns what the person said into data. Give each variable a Variable Name, a Type and an Extraction Hint. A step with variables extracts them; a step without any does not. Extraction model picks the model that does it, with Default using the agent's extraction model.
- Allow Interruption (on by default) lets the person talk over the agent. Turn it off only for something that must be heard in full, such as a legal notice.
- Can book a call back lets the agent book a call back at the day and time the person agrees, inside your calling hours. Chat and browser calls have no number to call back, so nothing is booked there.
Keep steps small. A prompt that covers four goals gives an agent that drifts between them.
Global step
A step the conversation can jump to from any other step, when the person says what its When line describes. Use it for things that can come up at any time: asking for a person, asking to be called back, an emergency, asking who is calling.
- When: one specific sentence about what the person says, at most 300 characters. For example, The caller asks to speak to a person, and nobody is hurt or in danger. A loose line fires on ordinary questions.
- After this step:
- Go back to where the call was returns to the step the conversation was on, keeping what was collected. Suits a transfer to a person: attach your transfer tool, and if the transfer does not go through, the call carries on where it was.
- Follow this step's arrows carries on from here. It needs at least one arrow out.
- End the call lets the agent end the call once this step's job is done. It must have no arrows out. A call me back later step uses this with Can book a call back on.
No arrow can point into a Global step. An agent can have at most 4 of them, because each one adds a choice to every step. Keypad steps never jump to one. A Global step works in chat as well as on calls.
End
Closes the conversation and, on a call, hangs up. It takes a Prompt for the closing line and can extract variables, which is the place to capture the outcome.
Disposition is the outcome this ending records, such as booked or not_interested. Give
each End step its own value: reports, filters and success counts read it. An agent may have
several End steps.
Persona
Not a step the conversation visits, and no arrow touches it. Its Global Prompt holds tone, persona and standing rules, and is added to every Agent and Global step. Put facts any step may need here too, such as opening hours, fees or the address. See Prompts.
How a conversation ends
A call ends in one of these ways:
- It reaches an End step.
- A Global step set to End the call finishes its job.
- The agent hangs up on its own, if you allow it. Open the agent's settings (the Workflow settings button on its card on the Workflow page), go to Call Handling > Ending the call and turn on Let the agent hang up on its own. It covers endings no path reaches, such as a goodbye three steps deep, and its reason becomes the call's disposition.
- The person hangs up, or a chat goes quiet past its idle timeout (see Chat).
On the same card, Questions the agent may still answer after saying goodbye (0 to 3) keeps the call open when the closing line asks something, and Stay on topic (on by default) keeps the agent to your business.
Keypad steps
Speech recognition is unreliable on long digit strings, so use the keypad for account numbers. Keypad steps work on phone calls only, not in chat or browser calls. Some carriers do not pass key presses through; the builder warns you when a number or campaign this agent uses is on one.
Collect Digits
Collects digits and saves them under Store As, the name later steps and webhooks read.
- Expected Length completes the capture without waiting, when the length is fixed.
- Termination Key (typically
#) lets the person say they are done when the length varies. - Inter-digit Timeout (seconds) is how long to wait between presses.
- Max Retries caps how often it asks again.
Menu
The classic press 1 for sales. Menu Prompt reads the options, and each option is an arrow with a Keypad digit set on it, so a key press routes straight to that arrow. Draw at least two. Invalid / No-input Reprompt is what the person hears after a wrong key or silence, No-input Timeout (seconds) sets how long silence lasts first, and Max Retries caps the re-asks.
After-the-conversation steps
These run once the conversation is over, never during it, so the person never waits for them. For something the agent needs mid-conversation, attach a tool to a step.
Webhook
Sends the call details to your endpoint as a POST with JSON. The Basics tab holds the
Endpoint URL and Enabled. Payload holds the Payload Template, which can use values
such as {{workflow_run_id}}, {{initial_context.first_name}}, {{gathered_context.rsvp}},
{{recording_url}} and {{transcript_url}}. Sign-in and headers holds Authentication (a
saved credential) and Custom Headers.
After-call action
Runs one action on a connected app after the conversation, such as adding a row to a sheet. Pick the tool and map its fields from the conversation. It runs once, with retries. Prefer it over a Webhook when the app is in the integrations catalogue.
Post-call analysis is no longer a step: set it in the agent's settings under After the call.
Arrows between steps
Steps are joined by arrows, which the editor calls pathways. Open one to set its Pathway name and its Condition, a sentence describing when the agent should take it, for example The contact asks about billing or an invoice. Optional Transition speech is a short line the agent says while it moves on. A Keypad digit binds the pathway to one key on a Menu step instead. When a step shows choices as buttons in chat, each pathway also gets Button text (see Chat).
The steps and arrows you see on the canvas are the conversation that runs.
Next steps
Common questions
What is Woise?
Woise lets you build AI agents that answer and make phone calls and chat on your website. You lay out the conversation on a visual canvas, try it in your browser, then connect it to a phone number.
Do I need a phone number to start?
No. You can build and test an agent in the browser without one. When you are ready, connect a phone number and choose which agent answers it.
How does billing work?
You pay for the minutes your agents use, from your credit balance. There are no seat fees and no per-agent fees, so an agent that is not taking calls costs nothing.
Which languages can an agent speak?
Agents can listen and speak in more than 40 languages, including English, Spanish, Hindi, Tamil and Arabic. You pick the language and the voice for each agent.
Can an agent connect to my CRM or calendar?
Yes. An agent can look things up and make changes in 26 apps, such as Salesforce, HubSpot, Google Calendar, Slack and WhatsApp, during the call. You connect each app once.
Do I need engineers to build an agent?
No. Everything is built in a visual editor, so you can create and change an agent without writing code. If your team prefers code, there is also a REST API and an MCP server.
What happens to call recordings and transcripts?
Every call keeps a transcript and its outcome, and audio is only recorded if you turn it on. Only people in your account can see your calls, and your account lives in the region you chose when you signed up.
What do I have to set up or run?
None. We run the speech, the language models, the recordings and the phone connections, and scale them with your call volume. There is nothing for you to set up or keep running.
How do I reach the team?
Email contact@woise.ai, call or WhatsApp +91 83412 34080, or use the form on our contact page. A person reads every message.
Still stuck? Talk to our team.