Get the (almost) daily changelog
Web Chat Support for Assistants

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.

  1. Inworld TTS Voice Provider Integration: You can now customize which language Inworld Voices use like English, Chinese, and Korean. You can also set the TTS model and toggle voice caching with cachingEnabled.
Inworld Voice Configuration
  1. Additional Customer Information Fields: You can now include email and externalId fields when creating customers. You can also disable the E164 number format check with numberE164CheckEnabled – setting it to false lets you use non-E164 numbers like 1234 or abc, useful for dialing non-standard numbers on SIP trunks. This lets you store extra contact information and link customers to external systems.

  2. schedulePlan No Longer Required in Campaigns: You can now create campaigns without specifying a schedulePlan.

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

Custom Model Support in Workflows

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.

Google Model Configuration
Enhanced Campaign Analytics

Gain deeper insight into campaign performance with new call counters including callsCounterQueued, callsCounterScheduled, callsCounterInProgress, and callsCounterEndedVoicemail for comprehensive campaign tracking.

MCP Tool Protocols and Metadata

Flexible tool integrations with new McpToolMetadata field. Select between Server-Sent Events (sse) or Streamable HTTP (shttp) protocols for tool communication.

  1. Multilingual LMNT Voice Support: The LMNTVoice and FallbackLMNTVoice objects now support a language property (ISO 639-1 or auto) for selecting or auto-detecting spoken language in synthesized voices.

  2. Assistant Overrides in Chats: The assistantOverrides property is now available in Chat, CreateChatDTO, and OpenAIResponsesRequest, allowing you to dynamically override assistant settings and template variables per chat session.

  3. New API Endpoints and Objects: Added POST /workflow/generate endpoint for workflow generation with tool IDs, plus new objects including GenerateWorkflowDTO and enhanced CreateMcpToolDTO/UpdateMcpToolDTO with metadata support.

  4. Include Messages in Server Response from Transfer Requests: When transferring calls, you can now include a message to communicate with users during the process with ServerMessageResponse.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.

Support for 'Inworld' Voice Provider

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.

Inworld Voice Configuration
  1. HMAC Authentication for Webhook Credentials: Secure your webhooks with HMAC authentication by configuring Assistant.credentials.authenticationPlan with HMACAuthenticationPlan, providing an alternative to OAuth2.

  2. 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.

New Campaigns APIs and Assistant Improvements

Campaign API Endpoints

Create, retrieve, and manage campaigns using the new /campaign endpoints. Build automated call campaigns with specified customers and schedules.

General Availability: Assistant.modelOutputInMessagesEnabled is now generally available without beta limitations. You can decide whether to use the model’s output in conversation history instead of the assistant’s speech transcription.

  1. Simplified Assistant Property Structure: Properties like serverMessages, clientMessages, and serverUrl have been moved under Assistant.monitorPlan. This reorganization simplifies how you configure monitoring for your assistants.

  2. Node-Level Overrides for Model and Voice: In Conversation Node, properties like model, voice, and transcriber now explicitly override the workflow’s settings. This allows you to customize these settings for individual nodes within a workflow for greater control.

  3. Enhanced Credential Configuration in Assistants: Assistants now support credentials and credentialIds, similar to workflows. This allows you to specify dynamic credentials specifically for assistant calls, enhancing security and flexibility.

  4. New Models Available in ConversationNode: You can now use Google Models and Custom Models in conversation nodes. This expands the range of language models that can be integrated into conversation nodes.

New Workflow Models

Workflow Configuration Enhancements and Assistant Updates

  1. Workflow-Level Configuration of Voice and Plans: Developers can now configure voice, transcriber, and various plans like monitorPlan and artifactPlan at the workflow level. These configurations can still be overridden at the node level if needed.

  2. Use of Dynamic Credentials in Workflows: Workflows now support credentials and credentialIds, allowing you to specify dynamic credentials for workflow calls. This offers more flexibility in credential management, enabling credentials to be tied directly to specific workflows.

  3. backgroundDenoisingEnabled Deprecated in Assistants: The backgroundDenoisingEnabled property in Assistant is now deprecated. You should use the new Assistant.backgroundSpeechDenoisingPlan to configure advanced background noise and speech denoising features.

Overview

  1. API Request Tool: You can now create API request tools that allow the assistant to make REST API calls during conversations
Make GET or POST requests to any API in your workflows
  1. Specify GCP Region: You can now specify the region for your GCP Credentials, This gives you control over where your call artifacts are stored.
Specify the region for your GCP Credentials
  1. Transcriber Formatting Option: A new formatTurns option in your Assembly AI Transcriber that lets you enable or disable formatting of transcripts when using AssemblyAI’s Universal Streaming API. This helps you format transcript outputs to show speaker turns.

New Model Selection, Enhanced Edge Conditions, Simplified Credentials, and More

  1. New Model Selection in Workflows: You can now specify the AI model used in workflows by setting the model property in workflow schemas. This allows choosing between OpenAI, Anthropic, Google, or custom models to better suit application requirements.

  2. Enhanced Workflow Edge Conditions: Workflows now support Logic Edge Conditions and Failed Edge Conditions for edges. Specify logic edge conditions with Liquid JS templates to enable more complex logic and error handling within workflows, allowing for dynamic and responsive workflow designs.

  3. Simplified Credential Configuration: Your uploaded credentials are now automatically configured with the correct fallback index, simplifying the setup process with cloud providers.

  4. Updated End Reasons for ElevenLabs: The following endedReason values been removed from Call:

    • pipeline-error-eleven-labs-503-server-error
    • call.in-progress.error-providerfault-eleven-labs-503-server-error

    You should update your error handling code to reflect the current set of possible end reasons.

Prompt Length Limitations: The globalPrompt in workflows now has a maximum length of 5000 characters, and the liquid property in LogicEdgeCondition now has a maximum length of 1000 characters. Ensure prompts and conditions stay within these limits to prevent errors.

Background Speech Denoising, Cartesia Transcriber, Workflow Enhancements, and Call Error Handling

  1. 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 previous backgroundDenoisingEnabled setting.
Enable Smart Denoising (Krisp)

Use the SmartDenoisingPlan to filter out background speech and noise using Krisp technology.

Customize Fourier Denoising

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.

  1. Workflow Server Property: Workflows now support a server property, allowing you to specify a server URL to receive webhook callbacks for workflow events directly.

  2. New Workflow Models: You can now integrate Google’s LLMs or custom models into your workflows by specifying Google or Custom LLM in your workflow model settings. Select your model under Model Settings

Workflow Google Custom LLM
Workflow Google Custom LLM
  1. Enhanced Error Reporting for Cartesia Services: A new endedReason value pipeline-error-cartesia-502-server-error has been added to help you identify and handle specific errors related to Cartesia server issues.

  2. 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 and call.start.error-vapifault-get-subscription

    • Subscription Status Errors: Identify subscription-related issues with new enums:

      • call.start.error-subscription-frozen (replaces unknown-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