For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Connect
BlogHelp CenterAPI PricingSign up
OverviewElevenCreativeElevenAgentsElevenAPIReception AIAPI referenceChangelog
OverviewElevenCreativeElevenAgentsElevenAPIReception AIAPI referenceChangelog
LogoLogo
Login
Login
Connect
BlogHelp CenterAPI PricingSign up

Changelog

April 20, 2026
April 20, 2026
Was this page helpful?
Previous

April 13, 2026

Next
Built with

Developer Resources

  • ElevenLabs Devs YouTube channel: A new developer-focused YouTube channel is now live, featuring tutorials, API walkthroughs, and technical deep dives to help you get the most out of the ElevenLabs platform.

ElevenAgents

  • Workflow starting node override: Conversations can now be started at a specific workflow node by passing starting_workflow_node_id in the conversation initiation client data. This is gated by an opt-in enable_starting_workflow_node_id_from_client field in the agent’s platform override settings. When enabled, clients can specify which node to begin a conversation at, which is useful for agent memory and longer-term WebSocket use cases. If the specified node does not exist, the conversation falls back to the default entry point.

  • Post-call analysis LLM configuration: Agent platform settings now include an analysis_llm field (default: gemini-2.5-flash) that sets the default LLM for post-call analysis, including evaluation criteria and data collection. Individual data collection properties can override this default with a per-item llm field via the new AnalysisProperty schema, giving fine-grained control over which model processes each analysis item.

  • New LLM options: Added gpt-5.4 to the list of available LLM providers for agent configuration. Added xhigh to the LLMReasoningEffort enum for extended reasoning on supported models.

  • Null literal in workflow expressions: Workflow conditional expressions now support null comparisons via the new ASTNullNode type, enabling branches like “if variable is null” in workflow logic.

  • Get secret by ID: A new get secret endpoint (GET /v1/convai/secrets/{secret_id}) retrieves a single workspace secret by its ID. The list secrets endpoint also now accepts a search query parameter to filter secrets by name prefix.

  • Searchable phone numbers in batch calling: The batch calling form in the dashboard now includes a searchable phone number selector, making it easier to find the right outbound number when configuring batch calls.

Speech to Text

  • Speaker role detection: The convert speech to text endpoint now accepts a detect_speaker_roles parameter (boolean, default false). When enabled alongside diarize=true, speaker labels are returned as agent and customer instead of speaker_0, speaker_1. This cannot be used with use_multi_channel=true. Usage incurs an additional 10% surcharge on the base transcription cost.

Text to Dialogue

  • Input character limit guidance: The text to dialogue endpoints now document a recommended limit of 2,000 characters across all inputs[].text values per request. Longer requests may terminate early in streaming responses or return a validation error.

Workspaces

  • Usage analytics endpoint: A new usage by product over time endpoint (POST /v1/workspace/analytics/query/usage-by-product-over-time) returns credit usage broken down by product type over time. Results are returned in a tabular structure with configurable interval_seconds, group_by dimensions, and filters. The previous GET /v1/usage/character-stats endpoint has been deprecated in favor of this new endpoint.

SDK Releases

Packages

  • @elevenlabs/client@1.2.1 - Fixed conversation startup readiness so onConnect runs after the session is marked connected and React has synchronized conversationRef. Also exposed and forwarded onConversationCreated for consumers that need the created Conversation instance before onConnect.

  • @elevenlabs/react@1.1.1 - Fixed conversation startup readiness and exposed onConversationCreated callback, matching the @elevenlabs/client@1.2.1 changes.

  • @elevenlabs/react-native@1.1.1, @elevenlabs/convai-widget-core@0.11.4, @elevenlabs/convai-widget-embed@0.11.4 - Updated to @elevenlabs/client@1.2.1 with conversation startup fixes.

API

View API changes

New Endpoints

  • Get secret - GET /v1/convai/secrets/{secret_id}
  • POST /v1/workspace/analytics/query/usage-by-product-over-time - Get workspace credit usage by product over time

Deprecated Endpoints

  • GET /v1/usage/character-stats - Deprecated in favor of POST /v1/workspace/analytics/query/usage-by-product-over-time
  • All dubbing resource editing endpoints (POST /v1/dubbing/resource/{dubbing_id}/language, POST /v1/dubbing/resource/{dubbing_id}/speaker/{speaker_id}/segment, PATCH /v1/dubbing/resource/{dubbing_id}/segment/{segment_id}/{language}, and others) are now deprecated

Updated Endpoints

ElevenAgents

  • Create agent, Get agent, Update agent

    • Added analysis_llm field (LLM enum, default: gemini-2.5-flash) to AgentPlatformSettings for configuring the default post-call analysis model
    • Data collection properties now use the AnalysisProperty schema with an optional per-item llm override field
  • Simulate conversation

    • Added starting_workflow_node_id field (string, nullable) to conversation initiation client data
    • Added enable_starting_workflow_node_id_from_client field (boolean, default false) to ConversationInitiationClientDataConfig
  • Submit batch calling

    • Added external_link field (string, nullable) to batch call records
  • List secrets

    • Added optional search query parameter (string) for filtering secrets by name prefix
  • LLM enum

    • Added gpt-5.4, gpt-5.4-2026-03-05
  • LLMReasoningEffort enum

    • Added xhigh
  • Workflow expressions (ASTNode)

    • Added null_literal discriminator value and ASTNullNode schema for null comparisons
  • Array tool parameters (ArrayJsonSchemaProperty)

    • Added dynamic_variable field (string, optional) for populating arrays from dynamic variables at runtime
    • Added constant_value field (array, nullable) for setting constant array values
    • items field is no longer required (has a default schema)
  • MCP tool config overrides

    • Response now uses MCPToolConfigOverride-Output schema (input/output split)

Speech to Text

  • Convert speech to text

    • Added detect_speaker_roles field (boolean, default false) for agent/customer speaker role detection

Text to Dialogue

  • Convert text to dialogue, Stream text to dialogue

    • Updated inputs description with 2,000 character per-request recommendation
    • Removed avatar_context field from request body

Text to Speech

  • Quality preset fields on TTS and dialogue endpoints now reference the QualityPresetType enum schema. The highest value has been removed from dialogue quality presets; use ultra instead.

Other

  • AudioNativeResponse - Removed transcription field from response
  • UserResponseModel - Backward compatible schema update