Skip to content

Chapter 6 · Build

Workflows

A workflow is the call, drawn as steps on a canvas: what the agent says, what it asks, where it branches and what it does afterwards. Build one by describing it, shape it in the designer, and test it from the browser.

What a workflow is

Every call in HelloCall follows a workflow. It starts at Start call, and from there each step does one thing — speak a line, ask a question and listen, look something up, call your system, branch on an answer, book a callback — and passes the call to the next step along a line. The agent never improvises its way around the flow: it walks the steps you drew, and you can watch which one it is on.

  • One workflow answers or places many calls. Set it as a number’s incoming workflow to answer calls, choose it in the Call dialog or a campaign to call out.
  • Language and voice belong to the workflow. Every call on it is spoken and heard in that language.
  • Steps can gather information into variables — the caller’s name, a date, an order number — and later steps use them.
  • Work can continue after the caller hangs up. Steps wired below the End call step run once the call is over: a summary, an email to your team, a record in your CRM.

The Workflows page

Open Workflows from the rail. Each row shows the workflow’s Name and description, what it is Used for (a locked workflow also shows a locked badge), its Language, how many Steps it has and when it was Updated. Click a name to open it in the designer.

The row menu (⋯) has:

  • Design — open it in the designer.
  • Edit — change its name, description, direction, language and voice.
  • Duplicate — make a copy.
  • Translate & duplicate — make a copy in another language. Every step’s words are translated; {variables} are kept exactly as written; the original is left alone. Read the copy before it answers real callers.
  • Lock / Unlock — a locked workflow refuses every edit until it is unlocked, which protects a flow that is live.
  • Delete — numbers using it fall back to their agent, or stop answering if they have none.

Create a workflow

  1. On Workflows, press New workflow.
  2. Type a Workflow name, for example “Appointment booking”.
  3. Write a Description of what the call should do — the more concrete, the better the first draft.
  4. Choose what it is Used for: Incoming calls, Outgoing calls or Both directions.
  5. Choose its Language, Speech provider and Voice. Press the speaker button beside the voice to hear it.
  6. Press Create workflow. The designer opens.

A new workflow that has a description is drafted for you the first time it opens: a greeting, a question, a short FAQ, a confirmation and a goodbye, already wired together. It is an unsaved draft — read it, change what you want, and press Save.

A tour of the designer

  • The header — the workflow’s name (a dot beside it means unsaved changes), its step count, version, direction and language, a badge naming the first problem if the workflow is not valid yet, the pencil to edit its details, Test call, Discard and Save.
  • The palette (left) — every step you can add, with a search box and a ? beside each that explains it.
  • The variables panel (under the palette) — every value the workflow can read, grouped and searchable.
  • The canvas (middle) — the steps and the lines between them, with a minimap and zoom controls, and a toolbar for undo, redo, duplicate and delete.
  • The AI prompt box (under the canvas) — describe a change in words and it is drawn for you.
  • The properties panel (right) — the settings of the selected step, or of the workflow itself when nothing is selected.

Adding steps and connecting them

There are three ways to add a step from the palette:

  • Press the + beside it — it is added to the canvas, or under the selected step.
  • Double-click it — it is attached under the selected step.
  • Drag it onto the canvas, or onto a step to attach it there.

On the canvas, every step has a + underneath it that adds a step below it. A step that branches has one + per outgoing line, so the + under “false” adds to the false branch. Steps below End call show “after the call ends”.

To connect two steps, drag from the bottom handle of one to the next. To choose which answer a line stands for, click the line: the Connection panel lets you pick a Branch, or leave it as the default line that is taken when nothing else matches.

Branching steps have labelled lines: Condition has true and false; Match has one line per value plus “no match”; FAQ has answered and no match; an HelloCall Agent has Answer, one line per action, and END.

Build and change a workflow with AI

The prompt box under the canvas turns a sentence into steps. On an empty workflow, describe the call — “greet the caller, ask what they need, hand anything urgent to a person”. On one that has steps, describe the change — “ask for a booking date after the greeting, and read it back”. Press Enter (Shift+Enter for a new line).

The result lands on the canvas as an unsaved draft, with notes on what was done and an Undo link. Nothing is live until you press Save.

Prefer to talk? The microphone beside the prompt box opens Build this workflow by talking:

  1. Instruction — press the big microphone and say what the call should do (up to ten minutes), or type it. The words appear in a box you can correct. Attach files (a price list, a menu photo, a brochure, a recording) or Add a link to a page of your website — the page and the pages it links to about prices, services, hours, contact and FAQs are read, and their facts go into the plan word for word. Press Plan it.
  2. Planning — read the numbered plan and correct anything, then press Create workflow (or Change workflow).
  3. Generate workflow — the steps are built on the canvas, usually in ten to thirty seconds.
  4. Finish — read the draft on the canvas, then Save.

Variables

A variable is a named value written in curly braces, like {caller_name} or {current_date}. Steps fill them in — an Ask Question step stores the answer, an API call stores a field of the response — and later steps read them in what they say, in conditions and in requests.

The Variables panel lists everything the workflow can read, in groups: Collected (what your steps store), From your steps, Caller (the {party.…} details, once the workflow has a Get party info step), Call, Workflow, Campaign, Date & time, Working hours and Secrets. Its search covers names and descriptions, so “open” finds {is_working_hours}. Click a row to insert it at the cursor of the field you are typing in, or to copy it.

Every call starts knowing {phone_number} (the other end), {call_direction} (in or out), {language}, {call_id}, the clock ({current_date}, {current_time}, {current_day} and more, in your timezone), whether you are open ({is_working_hours}, {next_working_day} …) and, on a campaign call, {campaign_id}. See Variables every call knows.

Some names belong to the call and cannot be written by a step — {current_time}, {call_id} and the other built-in ones. The designer refuses a step that tries, and asks you to choose another name.

Language and voice

Each workflow speaks and listens in one Language. There are 251 to choose from: 144 have natural synthesised voices, including every major Indian language and Indian English, and 107 more can be used with your own recordings. A new workflow starts in English (India).

The Speech provider and Voice follow from the language. Google Gemini Flash is the default and speaks every synthesised language; others include Google Standard (low cost), Inworld, MiniMax and OpenAI voices, xAI Grok for some languages, and Deepgram for English and Spanish. Press the speaker button to hear a voice before you choose it.

A {variable} is spoken in the same voice as the rest of the line. Put it at the end of the whole text: everything before it is recorded when you save and starts playing at once, and the value is spoken live while it plays, so the caller hears no pause. Fix spelling and grammar with AI rewrites a line this way.

With your own Inworld account connected (see Integrations), Speak values in my Inworld voice reads every {variable} in your own — even cloned — Inworld voice, billed by Inworld to you.

Tools on every spoken line

Every line a caller hears — in a Speak, an Ask Question, an End, a Transfer message, or an FAQ answer — has a row of small tools:

  • Fix spelling and grammar with AI — tidies the words without changing the meaning.
  • Translate this line into another language.
  • Hear it — plays exactly the audio the call will use.
  • Generate speech again — renders the line afresh after you edit it.
  • Record or upload a voice instead — see below.
  • Choose the voice for {variables} — appears when the line has a variable, to give that one value its own voice.

Your own recordings

Any spoken step can play a real recording instead of synthesised speech — a greeting in the owner’s voice, or a language nothing can speak. Choose Record or upload a voice instead on the line.

  1. Press Record with the microphone and read the line shown under This step says, or Upload an audio file.
  2. Drag across the waveform to select a part. Delete cuts it; Trim to the selection keeps only it; Undo steps back.
  3. Tune (the sliders icon) makes the take sound better in one click, in your browser: Clean lowers the room noise and sets the level, Clear lifts the consonants, Warm, Broadcast, Loud and Soft colour the voice. Press play to compare; Original brings the take back. The preset you pick is applied to your next recording too, until you pick Original.
  4. Give the clip a Clip name and press Save clip.

Saved clips go into a library (Use a voice you saved earlier) to reuse on other steps. The step’s text stays as the transcript line and as the fallback if the clip is ever deleted.

Saving, audio and undo

Save (or Ctrl/⌘+S) first polishes the spoken lines with AI — it tells you how many, and you can undo it — then saves. If the workflow still has a problem, it is saved anyway as a draft and the toast names the problem; a call will not run an invalid workflow.

Saving records every fixed line in the workflow’s voice, so no caller waits for speech to be generated. When lines have new words, the designer asks Generate audio for this workflow? — Generate now does it immediately, Later leaves it to happen as calls need it.

With nothing selected, the properties panel shows Workflow settings with Regenerate all audio: use it after changing the language or voice, so every line is rendered again in the new voice. Your recordings are kept.

  • Undo / Redo — Ctrl/⌘+Z and Ctrl/⌘+Shift+Z, one change at a time.
  • Discard — throws away every unsaved change and reloads the last saved version. It cannot be undone.
  • Leaving with unsaved changes asks: save, discard, or keep editing.

Test a workflow from the browser

Press Test call in the designer’s header and Start call to talk to the workflow through your microphone. It runs on the same engine as a phone call — the same listening, the same model, the same voice — so a test really proves the call.

  • Starting a call saves the workflow first, so you test what is on the canvas. Steps light up as the agent reaches them.
  • The Transcript shows every line with the step it came from; Copy copies it.
  • The Log shows every event of the call — what was heard, what matched, what an API returned — and is kept across calls until you press Clear. Drag the bar above it to resize it.
  • Keypad opens a dial pad for keypad questions.
  • After the call, Open in call history shows the full record.

Work after the call ends

The End call step says its goodbye and hangs up. Steps wired below it run after the caller has gone — the right place for work that should not keep a caller waiting: Summarize call, Extract variables, Call an API to file the call in your CRM, Save to party, Notify on email or Notify on WhatsApp. What they collect is still saved with the call.

Nothing that needs a caller can run down there: a Speak, an Ask Question or a Transfer below End is dimmed, marked, and skipped.

Reuse a workflow inside another

The Workflow step runs another workflow at that point and then carries on. Keep a greeting, a menu or an identity check in one workflow and use it everywhere; change it once and every workflow that includes it changes too.

Double-click a Workflow step to open the included workflow in the same designer; the trail at the top leads back. The included workflow stops at its own End step — its after-the-call steps belong to its own calls.

When the designer reports a problem

A badge in the header names the first thing that stops the workflow running. The usual ones:

  • “The workflow needs a Start node” / “needs at least one End node”.
  • “A Workflow step has no workflow chosen”, or it points at itself.
  • “A step uses {party.…} but nothing looks the party up” — add a Get party info step above it.
  • A step writes to a variable the call fills in for you — choose another name.
  • A {variable} is not at the end of its line.
  • A step is wired into Start, or a live step (Speak, Ask Question …) sits below End call.

Keyboard shortcuts

  • Ctrl/⌘+S — save.
  • Ctrl/⌘+Z / Ctrl/⌘+Shift+Z — undo / redo.
  • Delete or Backspace — delete the selected steps.
  • Ctrl/⌘+C, Ctrl/⌘+V, Ctrl/⌘+D — copy, paste, duplicate.
  • Shift-click — select several steps.

Agents

Before workflows, a number could be answered by an agent — a free-talking AI with a system message. Agents still exist for anyone who uses them (New agent on the console home, or the Agents page), and a number with no workflow can still answer with one. For new work, use a workflow: it does what you drew, every time.

Questions about workflows

Every question from every chapter is also on the FAQ page.

Do I have to draw the whole workflow by hand?

No. Give a new workflow a description and the first draft is built when you open it; after that, describe changes in the prompt box or by voice. Drawing by hand is for fine-tuning.

I changed the workflow. Why do callers still hear the old version?

Changes go live when you press Save. Until then the canvas is a draft — look for the dot beside the workflow’s name.

I changed the voice. Why do some lines still sound like the old one?

Lines are recorded when you save. After changing the language or voice, select nothing on the canvas and press Regenerate all audio in Workflow settings.

Why is there a pause before the value in “Your total is {amount} rupees”?

A {variable} is spoken live and joined to the recorded words around it. Put it at the end — “Your total, in rupees, is {amount}” — so there is only one join, at a natural pause.

Can one workflow speak two languages?

A workflow has one language. Make a copy per language with Translate & duplicate, and route each number (or campaign) to the right one — or use an Ask Question step to choose, then a Workflow step to run the chosen language’s flow.

Do test calls cost money?

Browser test calls do not draw on your wallet, and end after five minutes. AI work in the designer itself — drafting, polishing, translating — uses tokens at your plan’s AI rates.

Can two people edit the same workflow?

Yes, but the last Save wins. Agree who is editing, and use Lock on a workflow that is live so nobody changes it by accident.

How do I undo a save?

There is no version history to roll back to. Before a big change, Duplicate the workflow and edit the copy; switch the number’s routing to it when it is ready.

Can I use my own recorded voice?

Yes, on any spoken step: Record or upload a voice instead. Record in the browser or upload a file, trim it, and save. The text remains the transcript and the fallback.

What happens to steps after End call?

They run after the caller hangs up — summaries, emails, API calls, saving to a party. Steps that need a caller (Speak, Ask Question, Transfer) cannot run there and are skipped.