Skip to main content
A flow defines what your agent does before, during, and after a call. On the canvas, you connect blocks to create the conversation path, collect information, make decisions, call other systems, and handle the result of the call.

How a flow is structured

Every flow starts with a trigger and can contain three execution stages. The block picker only shows blocks that are supported for the selected stage and the flow’s direction. Some blocks can run in more than one stage; their configuration and available variables can differ by stage.
Flow Editor showing a Greeting trigger, connected blocks during the call, an End Call block, and a post-call notification

Triggers

The trigger is the entry point of a flow:
  • Greeting starts the agent’s First Flow, the default entry point for inbound calls.
  • Start Flow is the entry point for another inbound flow. The agent enters that flow when its Global Flow trigger condition matches or another flow routes to it with Transfer Flow.
  • Make Call starts an outbound flow.
Transfer Flow keeps the call active, but flow-specific variables do not carry from the source flow to the target flow. Design the target flow to collect or retrieve the data it needs.
Pre-call blocks connect before the trigger. The path during the call continues from the trigger, and post-call blocks attach to a block’s post-call output.

Blocks and connections

Each block handles one step, such as speaking, collecting information, making a decision, exchanging data with an external system, or transforming data. Connections determine how the flow moves between blocks:
  • Pre-call: Run preparation blocks before the flow trigger.
  • Continuation: Move to the next block during the call.
  • Named route: Follow an exit condition, branch, or action result.
  • Post-call: A post-call block runs after the call if the call reached the live call block it is connected to.

Create and manage flows

Your agent’s flows appear in the left sidebar of the editor. Select + beside the flow list, then choose how to create the flow:
  • Start from Scratch creates a new flow for you to build in the editor.
  • Create with AI creates a new flow, opens it in the editor, and opens Ask AI so you can describe what you want to build.
  • Use Template creates a flow from a pre-built template that you can customize.
Use a flow’s menu to turn it on or off, rename, duplicate, or delete it. The First Flow cannot be turned off or deleted while it is the agent’s active entry point for inbound calls.

Flow availability and published versions

Turning a flow on or off controls whether the agent can use it during normal calls:
  • When a flow is on, the agent can enter it through a connected route or a matching Global Flow trigger condition.
  • When a flow is off, it is excluded from normal calls and cannot be entered by a matching Global Flow trigger condition.
Turning a flow off does not delete its draft or version history. Publishing a version is separate from turning a flow on or off:
  • Publish in the editor’s top bar creates a version from the current draft, makes that version live, and turns the flow on.
  • Turning a flow on or off from its menu changes only whether the flow is available. It does not create a version.
A flow can be on while it has unpublished draft changes. If the top-bar Publish button is enabled, the current draft differs from the live version.

Add and configure blocks

Choose how to add a block based on whether you already know where it belongs:
  1. Hover over an available connection point and select + to add a compatible block and connect it in one step. The connection determines its stage and route.
  2. Select Add block in the canvas toolbar to place an unconnected block from the Live Call or Post Call category, then connect it where it belongs.
Pre-call blocks are added from the connection above the flow trigger where pre-call actions are supported, not from the canvas toolbar. After you add a block, the block configuration panel opens. Available fields, outputs, variables, and test options depend on the block and its execution stage. Changes are auto-saved to the current draft. Use the Block Reference to choose a capability and review its supported stages, required settings, outputs, and routing behavior.

Work with variables

Variables carry information into and through a flow, including call information, flow-defined values, and outputs from earlier blocks. A block can use a variable only if the value is available before that block runs on the path that reaches it. Type @ in a supported field to open Available Variables. Select a value from the picker so Phonely adds it to the field. If a referenced value is removed or is no longer available on that path, Phonely marks the reference as invalid so you can replace it. See Variables for variable sources, scope, availability, and invalid-reference handling.

Draft, validate, and publish

Edits are auto-saved to the current draft. Auto-save does not create a version or make the draft live. Before publishing, open the Flow Checklist to find blocks with missing or invalid settings. A missing published version is a warning; a block validation error must be resolved before you can publish. Select the main Publish button to create a version from the current draft and make it live. For version-related actions, open the adjacent menu:
  • Save as Version creates a numbered checkpoint without changing the live version.
  • Version History lets you inspect saved and published versions. Restoring a version replaces the current draft but does not change the live version until you publish it.
See Test and Publish for the complete release process and which version each test uses. See Flow Versions before restoring a snapshot and Resolve Remote Flow Updates when newer remote changes need to be resolved.

Test changes safely

The recommended release loop is:
  1. Edit the draft and wait for auto-save to finish.
  2. If the changed block provides its own test, run it with safe sample data.
  3. Resolve every block error in the Flow Checklist.
  4. Publish the reviewed draft.
  5. Test the published agent from its normal entry point with Web Call or Web Chat. Use Web Call when the change affects spoken behavior.
Web Call and Web Chat use the latest published version. They fall back to the current draft only when the flow has never been published. Some blocks provide a test in their configuration panel. A block-level test checks that block in isolation with sample inputs and lets you inspect its result. It does not verify the block’s connections or the complete conversation. For focused troubleshooting in a long or complex flow, Test from here starts the current draft at a selected block that runs during the call. It checks part of the draft without changing the published version, but it is not a required release step and does not replace a complete test of the published agent.
Tests can run connected actions, including messages and external requests. Use test recipients, safe endpoints, and non-production records when a tested route has side effects.
See Test and Publish for Web Call, Web Chat, Test from here, and the recommended release loop.

Keep flows maintainable

  • Give each flow and block a name that describes its purpose.
  • Use each block for one clear step and give its exit conditions descriptive names.
  • Use sticky notes to explain non-obvious design decisions, not runtime instructions.
  • Use Organize blocks after structural changes to make paths easier to review.
  • Publish small, reviewed changes and save versions at meaningful checkpoints.
  • Test each route that can end a call, transfer it, handle a failure, or trigger a post-call action.

Flow Canvas Controls

Navigate, organize, annotate, and inspect a flow.

Connections and Routing

Design branches, flow transfers, call transfers, and fallbacks.

Variables

Capture data and use it safely across stages and blocks.

Flow Settings

Configure flow-level context, Guidelines, and knowledge sources.

Flow Checklist

Find validation errors before you publish.

Test and Publish

Check draft changes and release a reviewed version safely.
Last modified on July 17, 2026