Background Speech Denoising, Cartesia Transcriber, Workflow Enhancements, and Call Error Handling
- Background Speech Denoising Plan: You can now enhance call quality by configuring advanced background speech denoising options using the new
assistant.backgroundSpeechDenoisingPlan.smartDenoisingPlan
(default:false
), which replaces the previousbackgroundDenoisingEnabled
setting.
Use the SmartDenoisingPlan
to filter out background speech and noise using Krisp technology.
Fine-tune noise reduction with the new FourierDenoisingPlan
for more control over audio clarity.
Smart and Fourier denoising can be combined for optimal results. Order of precedence: Smart denoising, then Fourier denoising.
-
Workflow Server Property: Workflows now support a
server
property, allowing you to specify a server URL to receive webhook callbacks for workflow events directly. -
New Workflow Models: You can now integrate Google’s LLMs or custom models into your workflows by specifying
Google
orCustom LLM
in your workflow model settings. Select your model under Model Settings

-
Enhanced Error Reporting for Cartesia Services: A new
endedReason
valuepipeline-error-cartesia-502-server-error
has been added to help you identify and handle specific errors related to Cartesia server issues. -
Enhanced Error Handling and Status Enums: We’ve added new error enums and status codes to help you better handle and debug call-related issues:
-
VAPI Fault Errors: Detect specific VAPI-related errors during call start using
call.start.error-vapifault-get-org
andcall.start.error-vapifault-get-subscription
-
Subscription Status Errors: Identify subscription-related issues with new enums:
call.start.error-subscription-frozen
(replacesunknown-error
)call.start.error-subscription-insufficient-credits
-
Call Completion Statuses: Track how calls are completed with new enums:
call.in-progress.twilio-completed-call
call.in-progress.sip-completed-call
-
In-Call Error Detection: Handle specific errors during active calls using enums like
call.in-progress.error-vapifault-chat-pipeline-failed-to-start
-
Assembly AI Transcriber Improvements, chat cost tracking, and API tool enhancements
- Chat Cost Tracking: You can now access detailed cost information per Chat and Call, including total and per-component breakdowns. Use
Call.cost
andChat.cost
to get the total cost, andCall.costs
andChat.costs
to get the breakdown.`
- Enhanced AssemblyAI Transcriber Configuration: You can now fine-tune the AssemblyAI transcriber with:
maxTurnSilence
: The maximum amount of silence in milliseconds before a turn is considered complete.endOfTurnConfidenceThreshold
: The confidence threshold for determining the end of a turn.minEndOfTurnSilenceWhenConfident
: The minimum amount of silence in milliseconds before a turn is considered complete when the confidence is high.wordFinalizationMaxWaitTime
: The maximum amount of time in milliseconds to wait for word finalization.
- New Cartesia Transcriber Option: You can now use the Cartesia “Ink Whisper” transcriber for your for assistants and workflow nodes using
Assistant.transcriber
andConversationNode.transcriber
. Set this in your Vapi Assistant dashboard today.

- API Request Tool Variable Extraction: You can now use
assistant.model.tools[type=apiRequest].variableExtractionPlan
to extract and validate variables from API responses by defining a variable schema.
New Call End Reason pipeline-error-eleven-labs-vapi-voice-disabled-by-owner
Calls can now end with the reason pipeline-error-eleven-labs-vapi-voice-disabled-by-owner
, indicating the Eleven Labs voice service is disabled by the owner.
This call ended reason are available to handle in Call
, ServerMessageStatusUpdate
, and ServerMessageEndOfCallReport
. You can update your application to handle this new end reason, ensuring proper notification and handling when this occurs.
New Ended Reasons for SIP Inbound Calls
You can now handle SIP inbound call failures with two new endedReason
values:
call.ringing.sip-inbound-caller-hungup-before-call-connect
: Use this when a caller hangs up before the call connectscall.ringing.error-sip-inbound-call-failed-to-connect
: Use this when there’s a connection error
These values are available in all call event schemas, including Call
, ServerMessageStatusUpdate
, and ServerMessageEndOfCallReport
. Implement precise error handling for your SIP inbound calls by checking for these specific failure scenarios.
Workflows Out of Beta and Gladia Transcriptions
-
Workflows Are Out of Beta: You can now use workflows in production as we’ve removed all
[BETA]
labels from workflow-related properties and API endpoints. See Workflow API Documentation for complete details. -
Per-Call Workflow Customization with Overrides: You can now customize workflows on a per-call basis using the new
Call.workflowOverrides
property. Override workflow settings and template variables using LiquidJS syntax. See Workflow Documentation for details. -
Enhanced Gladia Transcriptions: You can now transcribe audio in multiple languages using the new
languages
property inGladiaTranscriber
andFallbackGladiaTranscriber
(whenlanguageBehaviour
ismanual
). You can also use the newsolaria-1
transcription model for potentially improved results. Learn more in our Transcription Documentation.
Assistant Configuration Updates
-
Set Minimum Messages for Analysis: Skip analysis for very short conversations by setting
Assistant.analysisPlan.minMessagesThreshold
(default: 2). -
Configure Transfer Timeout: You can now set the timeout for warm transfer modes with
Assistant.hooks.do[type=transfer].destination.transferPlan.timeout
(default: 60). Warm transfer modes allow for a smooth handoff between agents by maintaining context and conversation history during the transfer process.This timeout setting determines how long the system will wait for the transfer to complete before timing out.
-
Enable AssemblyAI Universal Streaming API: You can now enable the new Universal Streaming API for AssemblyAI transcribers with
Assistant.transcriber.enableUniversalStreamingApi
andAssistant.transcriber.fallbackPlan.transcribers.enableUniversalStreamingApi
.Set this to
true
to use AssemblyAI’s new Universal Streaming API for improved transcription.
Removal of regex in JsonSchema: You can no longer use regular expressions in your JSON schema validations.
Dot paths affected:
assistant.analysisPlan.structuredDataPlan.schema.regex
assistant.hooks.do[type=function].function.parameters.properties.regex
assistant.model.tools[type=apiRequest].body.regex
assistant.model.tools[type=apiRequest].headers.regex
Azure OpenAI Compatibility Mode and JSON Schema Updates
toolStrictCompatibilityMode
for Azure OpenAI Models: Added a new option to handle Azure OpenAI’s validation limitations. SettoolStrictCompatibilityMode
in yourOpenAIModel
config to either:strip-parameters-with-unsupported-validation
: Removes entire parameters that have unsupported validationsstrip-unsupported-validation
: Keeps parameters but removes unsupported validation aspects Default isstrip-unsupported-validation
.
SIP Call Error Handling Updates
The following specific SIP error codes have been added to help identify call failures:
The generic error code call.in-progress.error-sip-telephony-provider-failed-to-connect-call
has been removed. Update your error handling to use the new specific error codes instead.
Session and Workflow Enhancements
-
Addition of
expirationSeconds
to Session Schemas: You can now set custom session expiration times using theexpirationSeconds
property when creating or updating sessions. This allows sessions to expire anywhere between 1 minute and 30 days, providing greater control over session lifecycles. -
Introduction of
globalPrompt
in Workflow Schemas: A newglobalPrompt
property allows you to define a default prompt for entire workflows. By setting aglobalPrompt
up to 5,000 characters, you can streamline your workflow configurations without setting prompts for each individual node.
-
Removal of
language
Property in Voice Settings: Thelanguage
property has been removed from theVapiVoice
andFallbackVapiVoice
configurations. You no longer need to setlanguage
when configuring voice settings; voice language may now be handled automatically or through a different configuration. -
Introduction of Detailed Node Artifacts: A new
NodeArtifact
schema has been added, accessible viacall.artifact.nodes
, providing detailed information about each node in a call’s workflow. You can now access messages, node names, and variables for each node to gain deeper insights into call executions. -
Addition of
nodes
andvariables
to Call Artifacts: TheArtifact
schema now includesnodes
andvariables
properties, enhancing the data available incall.artifact
. This allows you to retrieve the history of executed workflow nodes and the final state of variables after a call. -
Removal of
Metrics
Schema: TheMetrics
schema has been completely removed. If your application relies onMetrics
, you will need to update your code to accommodate this change and explore alternative solutions. -
Update Voice Configuration Paths: With the changes to voice configurations, paths like
assistant.voice
andcall.squad.members.assistant.voice
may require updates. Ensure your configurations align with the new schema definitions and remove any references to the deprecatedlanguage
property. -
Enable Recording in Artifacts: To access call recordings in your artifacts, set
assistant.artifactPlan.recordingEnabled
in your configuration. This enables therecording
property incall.artifact
, allowing you to review call recordings for analysis or debugging.