> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt. ### ElevenAgents - **WhatsApp branch and environment overrides**: [Outbound WhatsApp messages](/docs/api-reference/whats-app/outbound-message) and [outbound calls](/docs/api-reference/whats-app/outbound-call) now honor `branch_id` and `environment` passed in `conversation_initiation_client_data`. Overrides are validated before anything is sent — an unknown branch or environment is rejected with an error — and persist for the conversation, so a customer's reply resumes on the requested [branch](/docs/eleven-agents/operate/versioning) and [environment](/docs/eleven-agents/integrate/environment-variables). See the [WhatsApp guide](/docs/eleven-agents/whatsapp) for examples. - **Procedure APIs**: Added eight public, branch-scoped operations for managing [procedures](/docs/eleven-agents/customization/procedures). You can create, list, retrieve and remove procedures; create, retrieve or discard draft changes; and compile procedure drafts into an agent workflow. Procedure creation accepts `name`, `content`, `type` and `trigger`. An empty `trigger` creates a sub-procedure, while an omitted or `null` trigger is derived from the procedure content. - **Knowledge base crawl jobs**: Added APIs to create, list, inspect and cancel crawl jobs. Create requests require `url` (string) and support crawl depth, page limits, URL patterns, sitemap URLs, folder placement, automatic synchronization and removal of unavailable documents. - **Bulk knowledge base management**: Added [bulk dependency checks](/docs/api-reference/knowledge-base/dependent-agents-multiple) and [bulk deletion](/docs/api-reference/knowledge-base/bulk-delete) for 1–20 unique document or folder IDs. Dependency checks support pagination and `dependent_type`; deletion returns an independent success or failure for each ID. Setting `force: true` also removes dependencies and recursively deletes non-empty folders. - **Batch call result export**: Added [Export batch call results](/docs/api-reference/batch-calling/export) to download recipients and conversation results from a terminal batch as CSV. - **Conversation filters and analysis data**: [List conversations](/docs/api-reference/conversations/list) and [Text search conversation messages](/docs/api-reference/conversations/messages/text-search) add optional `visited_agent_ids` and `visited_agent_branch_ids` array filters, each limited to 50 values. List requests also accept `data_collection_ids` and `evaluation_criteria_ids` to include corresponding results in each conversation summary. Summaries add optional `data_collection_results`, `evaluation_criteria_results` and `tag_ids`. - **Referenced analysis configuration**: Agent platform settings add the optional, nullable `analysis_items` field, typed as `AgentAnalysisItems`, to attach evaluation and data-collection items by reference. A `null` value indicates that the agent still uses the legacy inline fields; an empty value indicates a migrated agent with no attached items. - **Procedure dependency metadata**: Procedure references add `trigger` (string) and arrays for `referenced_tool_ids`, `referenced_kb_ids`, `referenced_procedure_ids` and `referenced_dynamic_variables`. - **WebRTC token response**: [Get WebRTC token](/docs/api-reference/conversations/get-webrtc-token) responses now require `conversation_id` (string) in addition to `token`. This is a breaking schema change for clients that validate or deserialize the response shape. - **Knowledge base RAG results**: `KnowledgeBaseRagToolResultModel` adds `chunks` (`KnowledgeBaseRagChunkModel[]`) for RAG-result-in-tool-result mode. ### Studio - **Draft project status**: `ProjectCreationMetaResponseModel.status` adds `draft`. The project creation type now uses the shared `ProjectCreationMetaType` enum with the same existing values. ### Voices - **Voice accents**: Added `GET /v1/voices/accents` to list the accents available in the shared voice library. Results can be filtered by `language` and `model_id`, and each accent returns its `accent`, `language`, `code` and human-readable `name`. The `accent` value can be passed to the `accent` query parameter on [Get shared voices](/docs/api-reference/voices/voice-library/get-shared) to filter shared voices. ### Workspaces - **Webhook usage reporting**: `WebhookUsageType` adds `Flows`. ### SDK Releases #### JavaScript SDK - [v2.60.0](https://github.com/elevenlabs/elevenlabs-js/releases/tag/v2.60.0) - Added `voices.accents.get` to list voice accents in the shared voice library, along with the ElevenAgents procedure, knowledge base crawl job and bulk management APIs and the referenced analysis configuration from the latest schema. #### Python SDK - [v2.60.0](https://github.com/elevenlabs/elevenlabs-python/releases/tag/v2.60.0) - Added the voice accents, ElevenAgents procedure, knowledge base crawl job and bulk management APIs from the latest schema. Also fixed `AsyncConversation` startup so it no longer blocks, and corrected list-of-primitive multipart fields to be sent as repeated form fields. #### Packages - [@elevenlabs/client@1.15.2](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fclient%401.15.2) - Fixed `onAudioAlignment` on WebRTC transports by forwarding alignment metadata from audio messages while leaving audio playback on the LiveKit track. - [@elevenlabs/react@1.10.2](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Freact%401.10.2), [@elevenlabs/react-native@1.2.16](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Freact-native%401.2.16), [@elevenlabs/convai-widget-core@0.14.12](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fconvai-widget-core%400.14.12) and [@elevenlabs/convai-widget-embed@0.14.12](https://github.com/elevenlabs/packages/releases/tag/%40elevenlabs%2Fconvai-widget-embed%400.14.12) - Updated dependencies to include the WebRTC alignment fix from `@elevenlabs/client@1.15.2`. ### API ## New Endpoints ### ElevenAgents - `POST /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures` - Creates a procedure and returns its `procedure_id` (string) - Accepts optional `name` (string, maximum 200 characters), `content` (string), `type` (`ProcedureType`, default `free_form`) and `trigger` (nullable string) - `GET /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures` - Lists branch procedures with `procedure_id`, `version_id`, `name`, `type`, `trigger` and `has_draft` - Excludes procedure content; retrieve an individual procedure to read its content - `GET /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}` - Accepts optional `version_id` (string); otherwise returns the version at the branch head - Returns `name`, `content`, `type` and `trigger` - `DELETE /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}` - Removes the procedure from the branch's draft working set - `GET /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}/draft` - Returns the current procedure draft - `PATCH /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}/draft` - Creates or updates a draft - Requires `name` (string, maximum 200 characters), `content` (string, maximum 50,000 characters) and `type` (`ProcedureType`); accepts optional `trigger` (nullable string) - `DELETE /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/{procedure_id}/draft` - Discards draft changes and resets the procedure to its committed version - `POST /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/compile` - Compiles procedure drafts into an `AgentWorkflowResponseModel` - [Create crawl job](/docs/api-reference/knowledge-base/create-crawl-job) - `POST /v1/convai/knowledge-base/crawl` - Requires `url` (string) - Accepts optional `max_depth` (integer, 1–5, default `3`), `max_pages` (integer, 1–10,000, default `1000`), `pattern` (string), `sitemap_urls` (string array), `parent_folder_id` (string), `enable_auto_sync` (boolean, default `false`) and `auto_remove` (boolean, default `false`) - [List crawl jobs](/docs/api-reference/knowledge-base/list-crawl-jobs) - `GET /v1/convai/knowledge-base/crawl` - Accepts optional `include_job_ids` (string array), `page_size` (integer, 1–100, default `30`) and `cursor` (string) - [Get crawl job](/docs/api-reference/knowledge-base/get-crawl-job) - `GET /v1/convai/knowledge-base/crawl/{crawl_job_id}` - [Cancel crawl job](/docs/api-reference/knowledge-base/cancel-crawl-job) - `POST /v1/convai/knowledge-base/crawl/{crawl_job_id}/cancel` - [Get dependent agents for multiple documents](/docs/api-reference/knowledge-base/dependent-agents-multiple) - `POST /v1/convai/knowledge-base/dependent-agents` - Requires `document_ids` (array of 1–20 unique strings) - Accepts optional `dependent_type` (`KnowledgeBaseDependentType`, default `all`), `page_size` (integer, 1–100, default `30`) and `cursor` (string) - [Bulk delete knowledge base documents](/docs/api-reference/knowledge-base/bulk-delete) - `POST /v1/convai/knowledge-base/bulk-delete` - Requires `document_ids` (array of 1–20 unique strings) - Accepts optional `force` (boolean, default `false`) - Returns a success or failure result for each document ID - [Export batch call results](/docs/api-reference/batch-calling/export) - `GET /v1/convai/batch-calling/{batch_id}/export` - Returns terminal batch recipients and conversation results as CSV ### Voices - `GET /v1/voices/accents` - Lists the accents available in the shared voice library - Accepts optional `language` (string) and `model_id` (string) query parameters - Each accent returns `accent`, `language`, `code` and `name` ## Updated Endpoints ### ElevenAgents - [List conversations](/docs/api-reference/conversations/list) - `GET /v1/convai/conversations` - Added optional `visited_agent_ids` and `visited_agent_branch_ids` string array filters, each limited to 50 values - Added optional `data_collection_ids` and `evaluation_criteria_ids` string arrays to select analysis results for each summary - Response summaries add the optional object fields `data_collection_results` and `evaluation_criteria_results`, plus the string array `tag_ids` - [Text search conversation messages](/docs/api-reference/conversations/messages/text-search) - `GET /v1/convai/conversations/messages/text-search` - Added optional `visited_agent_ids` and `visited_agent_branch_ids` string array filters, each limited to 50 values - [Get WebRTC token](/docs/api-reference/conversations/get-webrtc-token) - `GET /v1/convai/conversation/token` - Responses now require `conversation_id` (string) - Breaking: strict response validators and deserializers must accept the new required field ## Schema Changes ### ElevenAgents - Agent platform request and response settings add the optional, nullable `analysis_items` field, typed as `AgentAnalysisItems`, for referenced evaluation and data-collection configuration - Procedure references add `trigger` (string), `referenced_tool_ids` (string array), `referenced_kb_ids` (string array), `referenced_procedure_ids` (string array) and `referenced_dynamic_variables` (string array) - `KnowledgeBaseRagToolResultModel` adds `chunks` (`KnowledgeBaseRagChunkModel[]`) ### Studio - `ProjectCreationMetaResponseModel.status` adds `draft` - `ProjectCreationMetaResponseModel.type` now references the shared `ProjectCreationMetaType` enum ### Workspaces - `WebhookUsageType` adds `Flows` > ElevenLabs provides APIs and SDKs for text to speech, voice cloning, speech to text, sound effects, voice isolator, voice changer, and conversational AI agents. Build voice-enabled applications with lifelike audio generation.