Skip to main content
Flows are the visual blueprints that define exactly how your AI phone agent behaves, from the greeting, to data collection, to decisions, actions, and the final call outcome.
They describe what the agent says, what it asks, what it stores, what APIs it calls, and how the conversation moves forward.

What Are Flows?

Flows are made of several core elements:

1. Blocks

Each block represents a single action or behavior, such as:
  • Speaking to the caller
  • Asking a question and capturing input
  • Calling an API
  • Making a decision based on conditions
  • Transferring the call
  • Ending the call.

2. Connections (Edges)

Edges determine which path the call takes next.
They can include:
  • Simple transitions (always go to the next step)
  • Conditional transitions (go to the next block only if a variable meets a condition)
  • Confirmation requirements

3. Call Memory (Variables)

Variables store information during the call, such as:
  • Caller-provided inputs.
  • API responses.
  • System-generated data (timestamp, outcomes, etc.)
They act as the agent’s short-term working memory for the duration of the call.

Canvas Controls

Phonely includes several canvas tools to help you navigate and organize large workflows. You’ll find tools for:
  • Switching between Hand Mode (drag canvas) and Pointer Mode (select/move nodes)
  • Exporting the flow as a PNG
  • Organizing nodes into a cleaner layout
  • Undo/Redo actions
  • Viewing your change history
See the dedicated Navigation & Editing Tools in the Flow Builder guide for more details.

Core Concepts

How to Create a Flow

  1. Go to the agent design page.
  2. Click the + to create a new workflow or select an existing workflow and click the Edit button.
  3. Add blocks. Click the + button between existing blocks or at the end of a chain to insert a new block.
Adding A New Block Phonely Pn 3. Configure a Block Click any block in your Flow to open its configuration panel.
Each block contains different settings, and the options you see will depend on the type of block you’re setting up.
Blocks have different setup and configuration requirements. For example, a Talk block includes questions and answers, Collect blocks include questions and variables, while API Request blocks include payload, headers, and response mapping.
How To Configure A Block Pn 4. Connect blocks
When a new block is added, Phonely automatically creates a connection. You can change connections between blocks by hovering over an edge, clicking the X button, and then placing your cursor over the output node of one block and dragging the edge to connect to the input node of another block.
5. Edit an edge Hover over an edge and click the edit button to open the edit slide-in panel. Here you can: How To Edit An Edge Pn
  • Specify the variables that must exist before allowing passage through this edge. The workflow will only proceed if all specified variables are present.
  • Specify the variables that should be confirmed before allowing passage through this edge. The workflow will only proceed if all specified variables are confirmed.
6. Save your changes
Every save creates a new version you can review or revert.
7. Publish when ready
Publishing makes the version live for real callers.

Call variables

Variables are dynamic containers that persist for the duration of the call - like the agent’s working memory.
Use Collect blocks for caller input, API Request blocks for external data, or add custom variables via the Variable modal.
Reference by name with @variable_name or select from the Variable modal. Use them in prompts, conditions, and API payloads.

Variable types

Variables in Phonely can store different types of data. Choose the appropriate type when collecting information from callers or storing data from API responses.
TypeData TypeDescription
textstringGeneral text
numbernumberNumeric values
dateISO dateDates in ISO format
timeHH:mmTimes in 24-hour format
namestringCaller names
emailstringEmail addresses
phonestringPhone numbers
urlstringWeb addresses
addressobjectStreet, city, region, postal code, country
currencynumberMonetary values
percentagenumberPercent values
durationstringTime spans
customanyUser-defined schema

Call outcome tagging

Outcome tags enable analytics, reporting, and automations after the call ends.

Automatic

System applies defaults like completed, failed, lead_qualified, appointment_schedule, or transferred.

Custom

Set custom tags in End Call blocks for downstream workflows.

Conditional

Apply tags only when conditions on variables are met.
Some examples of tags that you can use include: appointment_scheduled, lead_qualified, customer_satisfied, escalation_needed, no_show_followup, etc.

Testing & best practices

Test your Flows

1

Upload a recording

Validate recognition and branch logic with real audio.
2

Simulate variables

Seed test values for @name, @phone, etc.
3

Path testing

Walk each branch and confirm expected prompts.
4

Error testing

Force empty/malformed inputs to validate fallbacks.

Design guidelines

Keep prompts natural and concise, offer clear next steps, plan for interruptions, and confirm critical data before proceeding.
Test all branches, add fallback edges, watch performance metrics, and keep external dependencies resilient.
Use descriptive names, validate inputs, handle missing data gracefully, and scrub sensitive data when not needed.

Common patterns & workflows

1

Start & welcome

2

Collect issue details

3

Filter by issue type

4

API request for account/order

5

Provide resolution

6

Confirm satisfaction

7

Route to human if needed

8

End with summary


Troubleshooting guide

Verify block connections, confirm required variables are set, test blocks individually, and check API auth/endpoints.
Review Talk block voice settings, try alternate voices, adjust rate and pauses, and check variable interpolation.
Confirm destination numbers/agents, test fallbacks, and verify timing and availability windows.
Check spelling/case, ensure values are set before use, validate data types, and test prompts using variables.
Test endpoints in isolation, verify credentials and headers, confirm request/response schemas, and watch rate limits/timeouts.

Conclusion

You now have the essentials to design reliable, natural AI phone experiences:
  • Start simple, iterate quickly.
  • Integrate systems as needed.
  • Test rigorously and monitor outcomes.
1

Start simple

Build with Start Call, Talk, and End Call
2

Add interaction

Use Collect and Question blocks.
3

Integrate systems

Add API Request and conditional edges.
4

Optimize

Use Filter and Time Filter to route intelligently.
5

Test thoroughly

Apply simulation and live testing practices above.