Skip to main content
Entities are structured values the agent can collect and reuse during a flow. Each entity has a type that determines what validation is applied. Entity names must be unique across all entities in your project. Mark an entity as required on a condition if the LLM should not consider that condition satisfied without a valid value. In Function steps, you must enforce this yourself in code.

Entity types and configuration

Open-ended responses with no validation. Use when you need to capture unstructured input like comments or descriptions.
Numeric values. Configure:
  • Decimal — toggle to accept decimal values (float) or restrict to integers
  • Range — optionally set a minimum and maximum value (up to 1,000,000)
Any mix of letters and numbers. Useful for booking references, confirmation codes, or postal codes. Configure:
  • Validation type — choose a built-in preset or custom regex:
    • Zip code — US zip code format (e.g. 12345 or 12345-6789)
    • Postal code — UK postal code format
    • Custom — your own regular expression
Telephone numbers. Configure:
  • Country codes — restrict to specific countries (26 supported, including US, CA, GB, AU, DE, FR, and others)
Calendar dates. Configure:
  • Day first — toggle whether day or month comes first in ambiguous formats
  • Date range — optionally set a start and end date
Clock times. Configure:
  • Time range — set a start and end time to restrict valid values
Selection from a predefined list. Configure:
  • Options — the accepted values the caller can choose from
Personal names (first name, last name, or both). No additional configuration.
Street addresses or locations. No additional configuration.
Email addresses. Validated using a standard email pattern.

Validation and retries

Depending on the entity type:
  • Valid values allow the flow to continue.
  • Invalid values trigger re-asking or fallback routing.
Because there is no automatic cap on retries, always design your flow with a fallback condition (e.g. “caller unable to provide”) so the conversation can exit the step gracefully if collection stalls.
If a branch depends on an entity being present, always include a clear fallback path for when it is not collected or fails validation.

Accessing entities in code

Entities collected earlier in a flow are available in Function steps as:
conv.entities.entity_name.value
Entity values are always strings. Cast to int() or float() before numeric comparisons.

No-code flows overview

Step types, routing logic, and canvas controls.

Quickstart

Build your first no-code flow step by step.

Advanced steps

ASR biasing, DTMF, and rich text references.
Last modified on March 26, 2026