-
Minimax Voice Provider Integration and Error Handling: You can now use MinimaxVoice as a voice provider in your assistants and workflows, with support for Minimax credentials for seamless authentication and integration. Additionally, calls can now terminate with Minimax-specific error reasons such as
pipeline-error-minimax-voice-failed
andcall.in-progress.error-vapifault-minimax-voice-failed
. This gives you access to customizable voice characteristics like pitch, speed, and emotion for more natural-sounding conversations. -
AssemblyAI Transcriber Updates: The AssemblyAITranscriber configuration has been simplified:
- The
enableUniversalStreamingApi
property has been removed. - The
formatTurns
property now defaults totrue
and no longer depends on the universal streaming API setting. - Several properties have updated descriptions and defaults, with references to the deprecated universal streaming API removed.
- The
-
Enhanced Chat and Session Events: New message types have been added for handling chat and session events:
chat.created
,chat.deleted
,session.created
,session.updated
, andsession.deleted
. These events are available in both ClientMessage and ServerMessage objects, giving you better control over interactive conversations. -
Expanded API Request Tool Capabilities: The ApiRequestTool now supports
PUT
,PATCH
, andDELETE
HTTP methods alongside the existingGET
andPOST
methods. This enables your tools to perform full CRUD operations on external APIs. -
Targeted Call Analysis: You can now specify
outcomeIds
in your AnalysisPlan to calculate specific outcomes during call analysis. This allows for more focused analytics based on your defined metrics and KPIs.
- Custom headers for custom LLM models: You can now add custom
headers
to bothCustom LLM Models
andWorkflow Custom Models
(including in assistants, squads, and workflows). This lets you send custom HTTP headers—such as for authentication or extra metadata—when Vapi calls your custom LLM API. Theheaders
property overrides default headers (exceptAuthorization
, which should be set via your custom-llm credential).
Use Transient Tools in Conversation Nodes
-
Add Transient Tools to Conversation Nodes with
tools
: You can now define transient tools directly within aConversation Node
usingCall.workflow.nodes[type=conversation].tools
. This allows for the customization of tools specific to a conversation without altering global tool configurations. -
Incorporate Existing Tools into Conversation Nodes with
toolIds
: You can now reference existing tools in aConversation Node
by listing their IDs using thetoolIds
property. This enables the reuse of predefined tools across different nodes and workflows for consistency and easier maintenance.
This allows you to mix transient, node-specific tools with existing tools within a ConversationNode
. Learn more about how to use this in the Conversation Node documentation.
-
Addition of
model
property to Workflows: You can now set a default language model for your workflows usingWorkflow.model
. This simplifies configuration by allowing you to specify the model once for the entire workflow instead of at each node. -
Removal of
westus2
region from Azure credentials: Thewestus2
region is no longer supported in Azure credential configurations. Update your Azure credentials to use a different region to maintain access to Azure services.
The following OpenAI models have been removed and are no longer available: gpt-4.5-preview
, o1-preview
, and o1-preview-2024-09-12
.
Update your workflows to use supported models to avoid interruptions.
-
Standardized ‘Provider Resources’ API Summaries and Tags: The API endpoints for provider resources now have clearer summaries and are grouped under the Provider Resources tag, making them easier to find and understand.
-
Added
'westus2'
Azure Region Support: You can now specify'westus2'
as a region when configuring Azure credentials, allowing access to services in this new region. -
Removed
'trial'
Subscription Type: The'trial'
option has been removed from subscription types; ensure your application no longer uses'trial'
and updates to valid subscription types.
-
Define Hooks at Workflow Level: You can now define call-level hooks using
Workflow.hooks
to trigger actions on call events. -
New Actions Available in Hooks: Hooks support new actions like
say
,tool
,transfer
, andfunction
, providing more options to define what happens when a hook is triggered. -
Hooks Triggered by Additional Events: Hooks can now be set to trigger on new events such as
Call.ending
,Customer.speech.timeout
,Customer.speech.interrupted
, andAssistant.speech.interrupted
, giving you more flexibility in handling different call scenarios. -
Conditional Hook Execution with Filters: You can use the
CallHookFilter
to specify conditions under which a hook should trigger, allowing for precise control over hook activation based on call data. -
Enhanced Prompt Configuration in Actions: With
SayHookAction
, you can configure prompts as a string or an array of messages, providing flexibility in how messages are delivered to callers.
Addition of keypadInputPlan for Workflow Calls**
You can now configure keypad input handling during workflow calls by specifying workflow.keypadInputPlan
. This enables interactive features like menu selections or data entry using user keypad inputs.
Create web-based chat sessions with your assistants using the new Web Chat
integration with OpenAI Web Chat Requests
. Accept user input as strings or message arrays and manage conversations with session and customer information.
- Inworld TTS Voice Provider Integration: You can now customize which language
Inworld Voices
use likeEnglish
,Chinese
, andKorean
. You can also set the TTSmodel
and toggle voice caching withcachingEnabled
.

-
Additional Customer Information Fields: You can now include
email
andexternalId
fields when creating customers. You can also disable the E164 number format check withnumberE164CheckEnabled
– setting it tofalse
lets you use non-E164 numbers like1234
orabc
, useful for dialing non-standard numbers on SIP trunks. This lets you store extra contact information and link customers to external systems. -
schedulePlan
No Longer Required in Campaigns: You can now create campaigns without specifying aschedulePlan
.
Behavior Change: The Chat.assistantOverrides
property now only supports variable substitution in chat contexts, limiting its functionality compared to previous versions.
Custom Models, Enhanced Campaigns, and MCP Tool Improvements
Bring your own hosted LLMs and Google Gemini models to workflows with new WorkflowCustomModel
and WorkflowGoogleModel
objects. Control payload structure for advanced integrations and expand your model choices beyond OpenAI.

Gain deeper insight into campaign performance with new call counters including callsCounterQueued
, callsCounterScheduled
, callsCounterInProgress
, and callsCounterEndedVoicemail
for comprehensive campaign tracking.
Flexible tool integrations with new McpToolMetadata
field. Select between Server-Sent Events (sse
) or Streamable HTTP (shttp
) protocols for tool communication.
**Create support tickets directly through Vapi ** using the new /support/ticket
endpoint, simplifying how you request assistance.
-
Multilingual LMNT Voice Support: The
LMNTVoice
andFallbackLMNTVoice
objects now support alanguage
property (ISO 639-1 orauto
) for selecting or auto-detecting spoken language in synthesized voices. -
Assistant Overrides in Chats: The
assistantOverrides
property is now available inChat
,CreateChatDTO
, andOpenAIResponsesRequest
, allowing you to dynamically override assistant settings and template variables per chat session. -
New API Endpoints and Objects: Added
POST /workflow/generate
endpoint for workflow generation with tool IDs, plus new objects includingGenerateWorkflowDTO
and enhancedCreateMcpToolDTO
/UpdateMcpToolDTO
with metadata support. -
Include Messages in Server Response from Transfer Requests: When transferring calls, you can now include a
message
to communicate with users during the process withServerMessageResponse.message.message
.
Breaking Change: The 'aws-sts'
type is no longer supported in OAuth2AuthenticationPlan
. If you’re currently using this type in your OAuth2 authentication configurations, you’ll need to update it to avoid errors.
You can now use Inworld as a voice provider by selecting Inworld
in your configuration. You can also route your InWorld credentials under Settings > Integrations. Finally, there are new Call.endedReason
codes to help you better understand why calls ended due to Inworld voice issues.

-
HMAC Authentication for Webhook Credentials: Secure your webhooks with HMAC authentication by configuring
Assistant.credentials.authenticationPlan
withHMACAuthenticationPlan
, providing an alternative to OAuth2. -
Detailed Call End Reasons for Inworld Voice: New
endedReason
codes provide more insight when calls end due to Inworld voice issues.
Breaking Change: The codeSwitchingEnabled
property has been removed from Deepgram transcribers. If you’re currently using this property in your Deepgram transcriber configurations, you’ll need to remove it to avoid errors.
Org Concurrency Limit Deprecated: The concurrencyLimit
field in Org
, CreateOrgDTO
, and UpdateOrgDTO
is now marked as deprecated.