Drive measurable agent improvements with objective, repeatable scoring by evaluating conversations against predefined outcome options instead of subjective criteria.

  1. Define a set of options and the true/expected state for each
  2. Choose which LLM audits the transcript against these options
  3. Color-code options for fast visual scanning
  4. Control which options are included in reporting

How do I use this feature?

  1. Navigate to the evaluations tab under transcripts
  2. Create new evaluation (top right)
  3. From the metric dropdown, select "Options"
  4. Define a list of pre-determined options
    1. Provide a general description and true description for each option
    2. Select a color for each option
    3. Test on last transcript to see how it works (button at bottom of modal)
  5. Create evaluation

Tip
If you want to retroactively run evaluations on old transcripts, you can do so by using the 'Bulk run evaluations' feature found in the transcripts tab.

You can now run Function and API tool steps asynchronously.

Async execution allows the conversation to continue immediately without waiting for the tools to complete. No outputs or variables from the step will be returned or updated.

This is ideal for non-blocking tasks such as logging, analytics, telemetry, or background reporting that don’t affect the conversation.

Note: This setting applies to the reference of the Function or API tool — either where the tool is attached to an agent or where it’s used as a step on the canvas. It is not part of the underlying API or function definition, which allows the same tool to be reused with different async behaviour throughout your project.

Tool messages

by Michael Hood

Tool messages let you define static messages that are surfaced to the user as a tool progresses through its lifecycle:

  1. Start — Message delivered when the tool is initiated
  2. Complete — Message delivered when the tool finishes successfully
  3. Failed — Message delivered if the tool encounters an error
  4. Delayed — Message delivered if the tool takes longer than a specified duration (default: 3000ms, configurable)

This provides clear, predictable feedback during tool execution, improving transparency and user trust—especially for long-running or failure-prone tools.


GPT 5.2

by Michael Hood

Added global support for GPT 5.2

Your web widget now supports hands-free, real-time voice conversations. Enable it from the Widget tab for existing projects — it’s on by default for new ones.

Users can talk naturally, see transcripts stream in instantly, and get a frictionless voice-first experience. It also doubles as the perfect in-browser way to test your phone conversations—no dialing in, just open the widget and run the full voice flow instantly.


Native web search tool

by Michael Hood

We’ve shipped a native Web Search tool so your agents can look up real-time information on the web mid-conversation—no custom integrations required.

  • Toggle on the web search tool in any agent to answer questions that need live data (news, prices, schedules, etc.).
  • Configure search prompts and guardrails so the agent only pulls what you want it to.
  • Results are summarized and grounded back into the conversation for more accurate, up-to-date answers.

You can now connect your Telnyx account to import and manage phone numbers directly in Voiceflow, enabling Telnyx as your telephony provider for both inbound and outbound calls..


Added native support for DTMF keypad input in phone conversations. Users can now enter digits via their phone keypad, sending a DTMF trace to the runtime. Configure timeout and delimiters (#, *) to control when input is processed. See documentation here.

  • Keypad input is off by default and can be turned on from Settings/Behaviour/Voice.
  • When on in project settings, keypad input can be turned off at the step level via the "Listen for other triggers" toggle.
  • View full documentation here

Add metadata to your Knowledge Base sources to deliver more relevant, localized, and precise answers, helping customers find what they need faster and improving overall resolution speed.

1. Adding metadata on knowledge import

When uploading files, URLs, or tabular data to the Knowledge Base, you can attach metadata at import time. This metadata is stored with each document or data chunk, enabling structured filtering and contextual retrieval later. For example, when importing car rental policies, you might tag each file with metadata like "locale": "US, CA, EU", or "serviceType": "car_rental, equipment_rental". This ensures that when the agent queries using metadata filters (static or dynamic), it only retrieves content relevant to the user’s local region or service context.

2. Dynamically, or statically apply metadata at runtime

From the Knowledge Base tool in your agent, define the metadata your agent should use when querying the tool. You can specify a static value (or variable) to consistently filter results, or let the agent dynamically assign metadata at runtime — allowing it to query the Knowledge Base contextually based on each unique conversation.

Example – Car Booking Service

If your Knowledge Base includes information for multiple locales (e.g., US, CA, EU), you can set a metadata field like locale. Instead of hardcoding a single locale, the agent can dynamically apply the user’s locale at runtime — for example:

If a user says “I want to book a car in New York,” the agent automatically filters Knowledge Base results with locale: US, ensuring responses only reference policies, pricing, and availability relevant to that locale.


We’ve added a set of built-in time variables that make it easier to access and use time within your agents—no external API calls or workarounds required. Perfect for agents that depend on current or relative time inputs.

Variable nameDescriptionExample
vf_nowThe current date and time formatted in a human-readable way. You can modify the timezone in project settings.Jan 1, 2025, 16:37
vf_dateThe current date formatted in a human-readable way.Jan 1, 2025
vf_timeThe current time formatted in a human-readable way.16:37
vf_monthThe current month.January
vf_dayThe current day of the month.1
vf_yearThe current year.2025
vf_user_timezoneThe user's timezone in the format. If unavailable, defaults to the project's timezone.America/Toronto

Project timezone can be set in project/behaviour settings: