Design the conversation.
Build your call routes on a visual canvas, bring data into the flow and publish changes with a clear fallback.
A map of the whole call
Drag nodes onto the canvas and connect each exit to the next step. Flows are stored as JSON and executed by the API’s ARI engine. A draft is separate from the published version used by live calls.
17 node types, clear exits
| Node | Use |
|---|---|
| Start | Entry point, with caller, did and time variables. |
| Announce / TTS | Play a WAV prompt or speak templated text. |
| Menu / Get key | Collect DTMF digits; handle timeout and invalid input. |
| API request | Make an HTTP request and map JSON response values. |
| If / Set variable | Branch on data or update flow variables. |
| Pause / Language | Wait, optionally with hold music; change prompt language. |
| Schedule / Directory | Select by business hours or dial by name. |
| Subflow | Run another flow and return. |
| Transfer / Queue | Connect an extension or destination, or join a queue. |
| Voicemail / Hangup | Leave a message or finish the call. |
Connect a live API
The API request node supports GET, POST, PUT, PATCH and DELETE, templated URLs/headers/bodies, and response mapping via JSON paths. Authentication can use Bearer, Basic or a custom header. Store credentials in Settings → Secrets instead of the flow JSON.
The default timeout is 3 seconds, up to 10 seconds, with an optional single retry. Timeouts, non-success responses and unparseable data follow the error exit. A flow cannot publish with that exit left unconnected.
# Conceptual mapping inside an API request node
# Response: {"customer": true, "agent": "201"}
$.customer -> known_customer
$.agent -> agent
# Next: condition -> transfer to the mapped agent
# Error: route to the general support queue
Put the right words on the line
Use $name or {{name}} in speech and API templates. Filters format values, including digits, round, amount, province and ascii. Prompts are synthesized sentence by sentence and cached.
| Engine | Language / connectivity |
|---|---|
| Edge Neural | English and Turkish voices; internet access needed during generation. |
| EMA Lightning | Offline Turkish neural speech; weights are baked into the image. Uses the PBX CPU. |
Offline English synthesis is not provided. Edge speech sends synthesis requests to an external service. Choose engines and prompt content according to your own privacy requirements.
Test, publish and roll back
- Validate missing destinations, unconnected exits, unreachable nodes and cycles, including subflows.
- Simulate caller, DID, date/time and keypad inputs. Inspect variables and visited steps. Use mock API JSON or a real test endpoint deliberately.
- Publish the reviewed draft. Existing calls finish on the version they started with.
- Keep version history for rollback, and export JSON for your own records.
Simulation helps inspect logic. Test real media, timings and provider routes on your PBX before directing business calls to a new flow.