Inspectors
The right panel of the Flow Designer changes based on what you select on the canvas (or which toolbar button you press). All edits stay in the current draft; they are not live until you publish.
Node Inspector
Opens when you click any conversation node on the canvas. The inspector has a header (icon, node type, label, delete / duplicate actions), a body split into tabs that depend on the node type, and a transitions section at the bottom.
Inspector specialisations:
| Node type | Headline tabs |
|---|---|
| Voice agent | Instructions, Tools, Provider override, Action capabilities, Variables used, Transitions. |
| STT transcribe | Source, Chunking, Translations, Transitions. |
| Interpretation transform | Prompt, Target language, Cache, Transitions. |
| LLM query | Prompt, Result variable, Transitions. |
| TTS playback | Text, Voice override, Transitions. |
| DTMF collect | Settings (max digits, terminator, timeout), Result variable, Transitions. |
| Action request | Action, Wait for result, Result variable, Transitions. |
| Webhook | Request (method, URL, headers, body), Response (parsing into variables), Transitions. |
| Condition | Decision rows (variable, operator, value → target), Default transition. |
| Transfer | Target, Method, Transitions. |
| End | Reason. |
| Managed LLM | Provider, Channel Data Forwarding, Managed actions, Transitions. |
| Managed action | Enabled state, Action settings, Outcome transitions. |
Transitions are the bottom section on every conversation node and reuse the same UI: a list of outbound edges with label, condition, and target dropdown.
Endpoint Inspector
Opens when you click an Entry Point chip. One inspector per endpoint type:
- Phone — base number, extension code, egress base number.
- Web Voice — slug, allowed origins, allowed IPs, egress base number. Feature
webrtc - Web Chat — slug, allowed origins, allowed IPs.
Audio codecs are not selected here — the Asterisk ↔ TelPhi link picks them automatically from the voice agent's provider configuration (STT-first for modular pipelines; output-native for unified realtime). Advanced users can pin audio.linkFormat from the source view.
Removing an endpoint here also removes its entry-point chip from the canvas; the flow itself is unaffected.
Flow Settings
Opens when you click the Start node or any Default Provider chip. It's a drawer with the cross-cutting configuration that doesn't belong to a single node.
| Section | What it does |
|---|---|
| Endpoints | The same list of endpoints that renders as Entry Point chips. Add, remove, reorder; clicking an entry opens the Endpoint Inspector. |
| App settings | App-level toggles such as recording (controls audio capture and transcript retention — see Conversations), language detection mode, default voice. |
| Language | Default flow language used by STT / TTS providers that ship language defaults. |
| Default provider | The STT / LLM / TTS (or Realtime) configuration used by every voice agent that doesn't override. See Provider config below. |
| Managed LLM | Adapter-specific settings for the managed LLM integration (when in use), including Channel Data Forwarding / SIP header context rules. FeatureadditionalProviders See SIP header context rules. |
| Error handling | Flow-level bot-delay comfort messages, provider exhaustion behavior, and call-level failover actions. |
The Flow Settings drawer is the only place where endpoints can be created or edited.
Managed LLM inspector
The Managed LLM inspector is different from a normal voice-agent inspector: it edits the adapter-owned conversation block rather than a prompt-only node. Use it to review the provider identity, callback behavior, Channel Data Forwarding, and the managed actions the provider is allowed to trigger.
Typical sections:
- Provider configuration — the managed provider, bot name or endpoint identifier, and adapter-specific options.
- Channel Data Forwarding — rules for inbound SIP headers and outbound bot/channel data. Open Manage to edit presets or switch to JSON mode for advanced rules.
- Managed actions — transfer and hangup capabilities exposed by this provider integration. Each action can be enabled or disabled per flow.
- Transitions — the handles that decide where the flow continues after the managed provider returns control or a managed action completes.
Managed action inspector
Managed action child nodes open a smaller inspector focused on the one action. The inspector shows whether the action is enabled, which action settings apply, and which outcome transition will run after the action finishes.
For transfer, check the transfer method, destination source, caller ID, announcement message, confirmation behavior, ring timeout, and outbound header rules. For hangup, check whether the call should wait for silence, which farewell message is used, and whether the provider may override that message. These settings are still constrained by platform and team policy; if a transfer restriction blocks a destination, enabling the action here does not bypass that restriction.
Transfer managed action
The Transfer action inspector controls how a provider-requested handoff becomes a SIP/PSTN transfer:
| Field | What to check |
|---|---|
| Enabled | Whether this flow permits provider-triggered transfer. |
| Method | SIP transfer style, such as sip_refer, sip_refer_replace, or sip_invite. |
| Target | Fixed destination or a destination selected from call/flow context. |
| Message / play message | Optional announcement before starting the transfer. |
| Confirmation | Whether the provider may ask for confirmation before transfer. |
| Max ring time | How long the outbound leg may ring before the action fails or follows fallback behavior. |
| Caller ID | Optional caller ID for the outbound leg when the trunk supports it. |
| Header rules | Outbound Channel Data Forwarding rules for transfer-specific SIP headers. |
Transfer actions are validated again at runtime. Platform or team transfer restrictions, missing egress trunks, blocked destinations, and TelPro routing failures can still stop the action after the provider requests it.
If the flow's default provider is a modular pipeline, attended transfer methods that need a live AI mini-session, plus transfer announcements that play a provider-generated message, require a dedicated realtime attended-transfer provider. The Flow Builder readiness panel warns before publish when that provider is missing.
Hangup managed action
The Hangup action inspector controls how a provider-requested call end is executed:
| Field | What to check |
|---|---|
| Enabled | Whether this flow permits provider-triggered hangup. |
| Wait for silence | Whether Delphi waits for active TTS playback to finish before disconnecting. |
| Delay bot disconnect | Extra milliseconds after silence wait before hangup (0–30000). |
| Farewell message | Optional fallback message to play before the call ends. |
| Allow message override | Whether the provider may replace the configured farewell message. |
Use hangup when the managed provider decides the conversation is complete. Use an End node when the flow graph itself reaches a terminal branch.
Playback queueing and hangup order: Speech playback and hangup.
For the underlying JSON fields, see Source view → Managed gateway settings. For callback fields a bot/provider may send during the call, see Managed callback actions.
Failover and readiness settings
Managed LLM flows can also define failure handling outside the individual action child nodes:
| Setting | Where to use it |
|---|---|
| Failover | Runtime failure handling after the managed interaction has started, for example transfer on bot_timeout or hangup on tts_error. |
| Inbound readiness | Pre-answer behavior for inbound calls, for example wait for provider setup before SIP 200 OK, then reject, hang up, or transfer if setup times out. |
| Bot delay handling | Intermediate comfort message behavior while the flow waits for a managed bot/LLM response, plus the final give-up timeout. |
These settings inherit from platform and team resilience defaults unless the flow overrides them. Failover and readiness reuse the same managed transfer and hangup action shapes. See Managed callback actions → Failover activities and Managed callback actions → Bot readiness.
Provider config editor
Embedded inside Flow Settings (default provider) and inside voice-agent inspectors (per-node override). The saved-provider picker has been removed; the editor writes the selected provider configuration inline into the flow. The editor adapts to the chosen mode:
- Realtime — single provider running STT, LLM, and TTS in one connection (OpenAI Realtime, Azure Realtime, …). Pick the model, voice, transcription model, VAD, tools, audio noise reduction.
- Pipeline — separate STT + LLM + TTS providers wired into a pipeline. Independent vendor + model choices per stage.
Common subsections:
- STT — provider, language, recognition mode; Advanced STT includes Endpoint URL (custom hostname or IP). See Custom STT/TTS endpoints.
- LLM — provider, model, tool-choice policy, temperature; advanced Base URL on OpenAI Chat and TOBi.
- TTS — provider, voice, model; Advanced includes Endpoint URL on Azure and Inworld.
- Realtime — unified provider; Advanced Settings includes custom URL on OpenAI/Grok, Realtime URL on Gemini, required URL on Pythia, URL mode on Azure Realtime.
- Resilience — timeout, retry, retry delay, backoff, and retry conditions for the selected provider role.
Some providers and audio features are gated:
Variable Catalogue panel
Opens from the toolbar. Lists every flow variable derived from the current definition, plus team variables and secrets.
- Catalogue — auto-discovered variables from node outputs (e.g. DTMF result variables, webhook response parses).
- Custom variables — define your own with a key, type, label, description and optional default.
- References — quick links into the nodes that read / write each variable, useful for renames.
- Team variables and secrets — pull-in from Team admin → Variables so the flow editor can drop them into prompts and headers.
Version History drawer
Opens from the toolbar. Lists every saved version of the flow definition with status (DRAFT, PUBLISHED, ARCHIVED), version number, creator and timestamp.
- Load a previous version into the editor as a new draft.
- Revert the current draft to a previous version (re-runs validation).
- Restore an older published version as the next draft so you can test and publish it as a controlled rollback.
- Delete draft when the current draft should be discarded.
- Compare by loading + flipping the source view.
The current PUBLISHED version is the one served to the live endpoint.
Tool editor
Opened from the Voice agent's Tools tab. It edits a single tool — name, description, parameters schema (JSON-schema-style fields), and the JavaScript handler. Tools can also be attached from the team / platform catalogue instead of edited locally.
See Tools (team admin) and Managed tools (platform admin) for the upstream definitions.