Skip to main content

Flows

A Flow is a call script that runs on Telebroad's phone system: a list of steps that speak to the caller, collect keypad presses, call your own server and decide where the call goes next. You build it in the admin center; your code can feed it values, receive its answers and start calls into it.

┌──────── step ────────┐ ┌──────── step ────────┐
call ──▶ │ speak text / a sound │ ──▶ │ call your URL │ ──▶ transfer,
│ collect a keypress │ │ route on its reply │ voicemail,
└──────────────────────┘ └──────────────────────┘ hang up…

Two ways a call reaches a Flow​

InboundOutbound (API)
Who starts itSomeone dials one of your numbersYour code, with an API key
HowRoute the number (or an IVR Menu option, or any other destination picker) to the destination type FlowPOST /api/v1/flows/{flowId}/calls — see Calling into a Flow
Per-call valuesCaller's number and name, the number dialled, and what your step URLs returnThe params you send in the request, and what your step URLs return (caller-number values describe the phone system's leg, not the person called)
When it startsWhen the call reaches the Flow destinationWhen the person you called answers

The flow itself is the same in both cases. A flow written for outbound calls usually speaks {placeholders} you fill per call; one written for inbound calls usually looks the caller up with a step URL.

Where it is built​

Voice Features → Flows in the admin center. You need the Flows permission on your role to see it.

  • Add Flow opens a blank flow. Examples opens a gallery of working example flows; picking one opens it as a new, unsaved flow you can change and save.
  • In the flow editor, the Flow Name, Description and Default Voice sit at the top; Steps Configuration lists the steps (Add Step), with a List View and a Flow Chart View. Click a step to open its editor on the right. The Variables card holds values you reuse in any step (see Placeholders & values).
  • The header has Test call (rings a phone of your choice and runs this flow, with values you type), Call Logs (a record of every run — see Results) and a Documentation button.
  • Save stores the flow. The flow's id — the flowId the API takes — is the number at the end of the editor's address: …/flows/742.
  • From the flows list, the row menu offers Edit, View Logs, Copy and Test call.

How a call moves through a flow​

The call starts at the first step in the list. Each step, in order:

  1. Gets its data — calls the step's URL, or reads a spreadsheet row, if it has one. This happens before anything is spoken.
  2. Plays its audio — a sound, text-to-speech, or text your URL returned.
  3. Collects input — if Capture input (DTMF) is on, waits for keypresses, re-asking as configured.
  4. Routes — to another step, or out of the flow to a destination (an extension, a queue, voicemail, hang up…).

A call that leaves the flow is handed to that destination like any other call on your account. The step reference describes every setting.

What you can do from code​

You want toUse
Ring someone and run a flowPOST /flows/{flowId}/calls with a flows:call API key
Speak per-call values (a name, a date, an amount)params in that request, as {placeholders}
Decide in real time what the caller hears or where they goA step URL on your server
Be told what the caller pressed, during the callA step URL on the step after the choice
Get answers after the callFlow Data in Call History alerts (email, SMS, webhook, SFTP)

Building and editing flows is done in the admin center only — there is no API to create or change a flow. See Known limitations for the rest of what the API does not do today.