Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.poly.ai/llms.txt

Use this file to discover all available pages before exploring further.

Flows guide callers through structured, multi-step processes – collecting a booking reference, routing by account type, or verifying identity before transferring. example-main Flows are found under Build > Flows in Agent Studio. Use Managed Topics for simple question-and-answer interactions. Use flows when the conversation requires a specific sequence of steps, input validation, or branching logic.
No code? You can build most flows visually using Default steps and entity extraction — no Python required. Start with the no-code flows guide.

How flows work

Each flow is made up of steps — self-contained conversation states that ask for something, validate input, and route the conversation forward. Steps are connected by labeled edges that describe when each path should be taken. There are two ways to build flow logic:

No-code (Default steps)

Write natural-language prompts, extract entities, and route by labeled conditions. Best for booking, verification, and data-collection flows.

Code-driven (Function / Advanced steps)

Use Python to call APIs, apply strict business rules, or perform numeric comparisons. Best when routing depends on custom logic.

How to trigger a flow

Three ways to start a flow:
  1. From a Managed Topic – type /Flow in the Actions field
  2. From another flow – use a transition step in the flow editor
  3. From code – call conv.goto_flow("Reservation flow") in a function
See triggering flows for detailed instructions and examples. APIs do not trigger flows directly. Flows orchestrate steps, and Function steps can call APIs.

Connecting steps

In the Flow Editor:
  • Use /Steps in the prompt to connect to the next step
  • Add labeled conditions on the edges between steps to describe when each path should be taken
  • Use the Flow Functions modal to see all transitions in one place
Always include an exit step in your flow. Un-exited flows can cause hallucinations.
Use descriptive step and condition names like check_reservation_match, not vague ones like step_two – this helps the LLM reason correctly.

Standard entity types

Define the kind of input your agent collects (Alphanumeric, Number, Date, Time, Phone number, Name, Address, Free text, Multiple choice). See entity types for configuration.

Developer details

The following sections cover the Python execution model and code-driven techniques. If you are building flows without code, you can skip these.

LLM interaction model

When the agent is inside a flow step, this is the input order:
  1. System prompt (includes Behavior and Agent agent configuration).
  2. Any relevant Knowledge topics (if applicable).
  3. The current step’s text prompt.
  4. A list of available functions with names, descriptions, and arguments.
What the LLM doesn’t see:
  • Previous step prompts.
  • Any system context, unless it’s surfaced in the prompt or state.
Previous steps are not visible to the LLM. Each prompt must be self-contained.

Knowledge function visibility in flows

To make global Knowledge functions available while a flow is running, enable this in your agent’s Voice configuration or Chat configuration settings (under the advanced LLM configuration section). Contact your PolyAI representative if you need help enabling this setting.

Code-driven techniques

These techniques require Python. See Code-driven flows in the sidebar.

Next steps

No-code flows

Build flows visually with prompts and entity extraction – no Python required.

No-code quickstart

Build your first no-code flow step by step.

Entities

Configure entity types, validation, and collection in your flows.

Advanced steps

ASR biasing, DTMF, and rich text references in advanced steps.

Example flow

A complete reservation confirmation flow with step-by-step walkthrough.

Transition functions

Write Python logic to control how your agent moves between steps.
Last modified on April 27, 2026