All integrations

Retell AI

AI · AI

Voice and chat agents, phone numbers, and calls with their transcripts.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

retellai_delete_delete_agent_by_agent_idWRITE

Delete an existing agent via DELETE /delete-agent/{agent_id}

api
retellai_delete_delete_agent_version_by_agent_idWRITE

Delete a specific agent version. via DELETE /delete-agent-version/{agent_id}

api
retellai_delete_delete_app_by_app_idWRITE

Delete an App. Fails when agents or knowledge bases still reference it, unless force_delete is set. If a CRM config is linked to this App, the link is cleared. via DELETE /delete-app/{app_id}

api
retellai_delete_delete_chat_agent_by_agent_idWRITE

Delete an existing chat agent via DELETE /delete-chat-agent/{agent_id}

api
retellai_delete_delete_chat_by_chat_idWRITE

Delete an existing chat via DELETE /delete-chat/{chat_id}

api
retellai_delete_delete_contact_by_contact_idWRITE

Delete a contact. A contact linked to a record in a connected CRM cannot be deleted while two-way sync is active — unlink the CRM app first, otherwise the next sync would recreate it. via DELETE /delete-contact/{contact_id}

api
retellai_delete_delete_conversation_flow_by_conversation_flow_idWRITE

Delete a conversation flow and all its versions via DELETE /delete-conversation-flow/{conversation_flow_id}

api
retellai_delete_delete_conversation_flow_component_by_conversation_flow_component_idWRITE

Delete a shared conversation flow component. When deleting a shared component, creates local copies for all linked conversation flows. via DELETE /delete-conversation-flow-component/{conversation_flow_component_id}

api
retellai_delete_delete_knowledge_base_by_knowledge_base_idWRITE

Delete an existing knowledge base via DELETE /delete-knowledge-base/{knowledge_base_id}

api
retellai_delete_delete_knowledge_base_source_by_knowledge_base_id_source_by_source_idWRITE

Delete an existing source from knowledge base via DELETE /delete-knowledge-base-source/{knowledge_base_id}/source/{source_id}

api
retellai_delete_delete_phone_number_by_phone_numberWRITE

Delete an existing phone number via DELETE /delete-phone-number/{phone_number}

api
retellai_delete_delete_retell_llm_by_llm_idWRITE

Delete an existing Retell LLM Response Engine via DELETE /delete-retell-llm/{llm_id}

api
retellai_delete_delete_test_case_definition_by_test_case_definition_idWRITE

Delete a test case definition via DELETE /delete-test-case-definition/{test_case_definition_id}

api
retellai_delete_v2_delete_call_by_call_idWRITE

Delete a specific call and its associated data via DELETE /v2/delete-call/{call_id}

api
retellai_get_get_agent_by_agent_idREAD

Retrieve details of a specific agent via GET /get-agent/{agent_id}

api
retellai_get_get_agent_versions_by_agent_idREAD

Get agent versions. Large version histories may be truncated. via GET /get-agent-versions/{agent_id}. Retell's contract marks this operation deprecated (its description also warns that large version histories may be truncated); prefer retellai_get_list_agent_versions_by_agent_id (GET /list-agent-versions/{agent_id}), which lists stored versions of a voice or chat agent with pagination

api
retellai_get_get_api_key_infoREAD

Get info about the API key used to authenticate, and the org that owns it. via GET /get-api-key-info

api
retellai_get_get_app_by_app_idREAD

Get an App by id. via GET /get-app/{app_id}

api
retellai_get_get_backfill_contact_job_statusREAD

Get the status of the contact analysis data backfill job. via GET /get-backfill-contact-job-status

api
retellai_get_get_batch_test_by_test_case_batch_job_idREAD

Get a batch test job by ID via GET /get-batch-test/{test_case_batch_job_id}

api
retellai_get_get_chat_agent_by_agent_idREAD

Retrieve details of a specific chat agent via GET /get-chat-agent/{agent_id}

api
retellai_get_get_chat_agent_versions_by_agent_idREAD

Get chat agent versions. Large version histories may be truncated. via GET /get-chat-agent-versions/{agent_id}. Retell's contract marks this operation deprecated (its description also warns that large version histories may be truncated); prefer retellai_get_list_agent_versions_by_agent_id (GET /list-agent-versions/{agent_id}), which lists stored versions of a voice or chat agent with pagination

api
retellai_get_get_chat_by_chat_idREAD

Retrieve details of a specific chat via GET /get-chat/{chat_id}

api
retellai_get_get_concurrencyREAD

Get the current concurrency and concurrency limit of the org via GET /get-concurrency

api
retellai_get_get_contact_by_contact_idREAD

Retrieve a contact by ID. via GET /get-contact/{contact_id}

api
retellai_get_get_contact_by_phone_by_phone_numberREAD

Retrieve a contact by phone number. At most one contact exists per phone number in an organization. via GET /get-contact-by-phone/{phone_number}

api
retellai_get_get_contact_importREAD

Status and counts for the org's current or latest contact import. via GET /get-contact-import

api
retellai_get_get_conversation_flow_by_conversation_flow_idREAD

Retrieve details of a specific Conversation Flow via GET /get-conversation-flow/{conversation_flow_id}

api
retellai_get_get_conversation_flow_component_by_conversation_flow_component_idREAD

Get a shared conversation flow component via GET /get-conversation-flow-component/{conversation_flow_component_id}

api
retellai_get_get_crm_configREAD

Get the organization's CRM configuration: which CRM app is linked, the custom contact fields defined for it, and how post-call analysis data is written back to contacts. Returns an empty configuration when nothing has been set up yet. via GET /get-crm-config

api
retellai_get_get_crm_schemaREAD

Get the contact schema of the connected CRM: the fields available on its contact object, which are the values that sync mappings can reference. via GET /get-crm-schema

api
retellai_get_get_knowledge_base_by_knowledge_base_idREAD

Retrieve details of a specific knowledge base via GET /get-knowledge-base/{knowledge_base_id}

api
retellai_get_get_mcp_tools_by_agent_idREAD

Get MCP tools for a specific agent via GET /get-mcp-tools/{agent_id}

api
retellai_get_get_phone_number_by_phone_numberREAD

Retrieve details of a specific phone number via GET /get-phone-number/{phone_number}

api
retellai_get_get_retell_llm_by_llm_idREAD

Retrieve details of a specific Retell LLM Response Engine via GET /get-retell-llm/{llm_id}

api
retellai_get_get_sync_job_statusREAD

Get the status of the organization's contact sync, whether it was started manually or by the schedule. Returns status `idle` when no sync is running. via GET /get-sync-job-status

api
retellai_get_get_test_case_definition_by_test_case_definition_idREAD

Get a test case definition by ID via GET /get-test-case-definition/{test_case_definition_id}

api
retellai_get_get_test_run_by_test_case_job_idREAD

Get a test case job (test run) by ID via GET /get-test-run/{test_case_job_id}

api
retellai_get_get_voice_by_voice_idREAD

Retrieve details of a specific voice via GET /get-voice/{voice_id}

api
retellai_get_list_agent_versions_by_agent_idREAD

List stored versions of a voice or chat agent with pagination. via GET /list-agent-versions/{agent_id}

api
retellai_get_list_app_usages_by_app_idREAD

List the agents and knowledge bases referencing an App, most recently configured first by default. via GET /list-app-usages/{app_id}

api
retellai_get_list_appsREAD

List Apps in the organization (paginated). via GET /list-apps

api
retellai_get_list_contact_conversations_by_contact_idREAD

List a contact's conversations (inbound calls, outbound calls, and chats) merged into a single timeline, most recent first. Results are matched by the contact's phone number. Use the returned `pagination_key` to fetch the next page. via GET /list-contact-conversations/{contact_id}

api
retellai_get_list_knowledge_basesREAD

List all knowledge bases via GET /list-knowledge-bases

api
retellai_get_list_voicesREAD

List all voices available to the user via GET /list-voices

api
retellai_get_v2_get_call_by_call_idREAD

Retrieve details of a specific call via GET /v2/get-call/{call_id}

api
retellai_get_v2_list_batch_testsREAD

List batch test jobs with pagination via GET /v2/list-batch-tests

api
retellai_get_v2_list_conversation_flow_componentsREAD

List shared conversation flow components with pagination via GET /v2/list-conversation-flow-components

api
retellai_get_v2_list_conversation_flowsREAD

List conversation flows with pagination via GET /v2/list-conversation-flows

api
retellai_get_v2_list_export_requestsREAD

List export requests with pagination via GET /v2/list-export-requests

api
retellai_get_v2_list_phone_numbersREAD

List phone numbers with pagination via GET /v2/list-phone-numbers

api
retellai_get_v2_list_retell_llmsREAD

List Retell LLM Response Engines with pagination via GET /v2/list-retell-llms

api
retellai_get_v2_list_test_case_definitionsREAD

List test case definitions with pagination via GET /v2/list-test-case-definitions

api
retellai_get_v2_list_test_runs_by_test_case_batch_job_idREAD

List test case jobs (test runs) for a batch test job with pagination via GET /v2/list-test-runs/{test_case_batch_job_id}

api
retellai_patch_end_chat_by_chat_idWRITE

End an ongoing chat via PATCH /end-chat/{chat_id}

api
retellai_patch_update_agent_by_agent_idWRITE

Update an existing agent's latest draft version via PATCH /update-agent/{agent_id}

api
retellai_patch_update_app_by_app_idWRITE

Partially update an App. Omitted fields remain unchanged. Updating auth_config or tenant metadata invalidates the cached provider token immediately. Providers using the OAuth callback reject auth_config and must be reauthorized through connect-app. via PATCH /update-app/{app_id}

api
retellai_patch_update_chat_agent_by_agent_idWRITE

Update an existing chat agent via PATCH /update-chat-agent/{agent_id}

api
retellai_patch_update_chat_by_chat_idWRITE

Update metadata and sensitive data storage settings for an existing chat. via PATCH /update-chat/{chat_id}

api
retellai_patch_update_contact_by_contact_idWRITE

Update an existing contact. via PATCH /update-contact/{contact_id}

api
retellai_patch_update_conversation_flow_by_conversation_flow_idWRITE

Update an existing conversation flow via PATCH /update-conversation-flow/{conversation_flow_id}

api
retellai_patch_update_conversation_flow_component_by_conversation_flow_component_idWRITE

Update an existing shared conversation flow component via PATCH /update-conversation-flow-component/{conversation_flow_component_id}

api
retellai_patch_update_phone_number_by_phone_numberWRITE

Update agent bound to a purchased phone number via PATCH /update-phone-number/{phone_number}

api
retellai_patch_update_retell_llm_by_llm_idWRITE

Update an existing Retell LLM Response Engine via PATCH /update-retell-llm/{llm_id}

api
retellai_patch_v2_update_call_by_call_idWRITE

Update metadata and sensitive data storage settings for an existing call. via PATCH /v2/update-call/{call_id}

api
retellai_patch_v2_update_live_call_by_call_idWRITE

Update an ongoing call at runtime. Supports overriding dynamic variables, metadata, and the data storage setting on the running call, and controlling the live agent (inject context, trigger a response). These overrides take effect immediately on the live call; metadata and data storage setting changes are also persisted to the call record. To update a call that is no longer ongoing, use /v2/update-call/{call_id}. via PATCH /v2/update-live-call/{call_id}

api
retellai_post_add_community_voiceWRITE

Add a community voice to the voice library via POST /add-community-voice

api
retellai_post_agent_playground_completion_by_agent_idWRITE

Stateless playground completion. Send the full conversation history (same shape as chat completion messages) and receive only the newly generated messages. Nothing is persisted server-side — the caller manages conversation state. via POST /agent-playground-completion/{agent_id}

api
retellai_post_backfill_contact_analysis_dataWRITE

Trigger a backfill job that re-applies analysis data mappings to contacts using historical call data. Only one backfill job can run per organization at a time. via POST /backfill-contact-analysis-data

api
retellai_post_create_agentWRITE

Create a new agent via POST /create-agent

api
retellai_post_create_agent_version_by_agent_idWRITE

Create a new draft agent version from a base version. via POST /create-agent-version/{agent_id}

api
retellai_post_create_appWRITE

Create an App: the connection to one external system (a CRM, calendar, support desk, and so on), holding its credentials and settings. Providers with caller-managed credentials accept auth_config. Providers using the OAuth callback must omit auth_config and be authorized through connect-app. Credentials are stored encrypted and never returned. Up to 20 apps per provider. via POST /create-app

api
retellai_post_create_batch_callWRITE

Create a batch call via POST /create-batch-call

api
retellai_post_create_batch_testWRITE

Create a batch test to run multiple test cases via POST /create-batch-test

api
retellai_post_create_chatWRITE

Create a chat session via POST /create-chat

api
retellai_post_create_chat_agentWRITE

Create a new chat agent via POST /create-chat-agent

api
retellai_post_create_chat_completionWRITE

Create a chat completion message via POST /create-chat-completion

api
retellai_post_create_contactWRITE

Create a new contact. via POST /create-contact

api
retellai_post_create_contact_importWRITE

Start an incremental contact import from an uploaded CSV: creates new contacts and updates existing ones matched by phone number. Mapped columns overwrite the matched contact's fields; unmapped columns are ignored. Runs asynchronously — poll get-contact-import for progress. via POST /create-contact-import

api
retellai_post_create_conversation_flowWRITE

Create a new Conversation Flow that can be attached to an agent. This is used to generate response output for the agent. via POST /create-conversation-flow

api
retellai_post_create_conversation_flow_componentWRITE

Create a new shared conversation flow component via POST /create-conversation-flow-component

api
retellai_post_create_phone_numberWRITE

Buy a new phone number & Bind agents via POST /create-phone-number

api
retellai_post_create_retell_llmWRITE

Create a new Retell LLM Response Engine that can be attached to an agent. This is used to generate response output for the agent. via POST /create-retell-llm

api
retellai_post_create_sms_chatWRITE

Start an outbound SMS chat conversation with a phone number using the specified agent. The agent must be configured for chat mode. The initial SMS message will be automatically generated and sent based on the agent's configuration. via POST /create-sms-chat

api
retellai_post_create_test_case_definitionWRITE

Create a new test case definition via POST /create-test-case-definition

api
retellai_post_import_phone_numberWRITE

Import a phone number from custom telephony & Bind agents via POST /import-phone-number

api
retellai_post_list_contactsWRITE

List contacts, newest conversation first by default, with the total count of matches alongside the page. Page through results with `pagination_key`; `skip` is available for offset-style paging but is slower on large contact sets and can repeat or miss rows as contacts are updated. via POST /list-contacts

api
retellai_post_publish_agent_version_by_agent_idWRITE

Publish an existing draft version in place. via POST /publish-agent-version/{agent_id}

api
retellai_post_repair_agent_by_agent_idWRITE

Remove references to resources that no longer exist in your workspace from an agent draft version and its response engine — tools whose app connection has been deleted, unknown knowledge bases, and deleted shared components — and remap voices that are no longer accessible to a default voice. If the agent's response engine version has been published, the engine is left untouched and only agent-level references are repaired. Repairing an agent with nothing to fix is a no-op. via POST /repair-agent/{agent_id}

api
retellai_post_run_sync_jobWRITE

Start a contact sync with the linked CRM app immediately, instead of waiting for the scheduled sync. One sync runs per organization at a time: starting another while one is in flight is rejected. Poll get-sync-job-status for progress. via POST /run-sync-job

api
retellai_post_search_community_voiceWRITE

Search for community voices from voice providers via POST /search-community-voice

api
retellai_post_test_app_auth_by_app_idWRITE

Probe the App's stored credentials by making a minimal authenticated call to the provider. Returns success=true on a successful round-trip, and records the outcome on the App's connection_status either way. via POST /test-app-auth/{app_id}

api
retellai_post_update_crm_configWRITE

Update the organization's CRM configuration. Omitted fields stay as they are; a field that is sent replaces its stored value in full. via POST /update-crm-config

api
retellai_post_v2_create_phone_callWRITE

Create a new outbound phone call via POST /v2/create-phone-call

api
retellai_post_v2_create_web_callWRITE

Create a new web call via POST /v2/create-web-call

api
retellai_post_v2_list_agentsWRITE

List unique agents with pagination. via POST /v2/list-agents

api
retellai_post_v2_register_phone_callWRITE

Register a new phone call for custom telephony via POST /v2/register-phone-call

api
retellai_post_v2_stop_call_by_call_idWRITE

Stop an ongoing call. via POST /v2/stop-call/{call_id}

api
retellai_post_v3_create_web_callWRITE

Create a new web call and return browser connection details. via POST /v3/create-web-call

api
retellai_post_v3_list_callsWRITE

List calls with unified cursor pagination response. via POST /v3/list-calls

api
retellai_post_v3_list_chatsWRITE

List chats with unified cursor pagination response. via POST /v3/list-chats

api
retellai_put_rerun_call_analysis_by_call_idWRITE

Rerun post-call analysis for a specific call. This operation incurs charges. via PUT /rerun-call-analysis/{call_id}

api
retellai_put_rerun_chat_analysis_by_chat_idWRITE

Rerun post-chat analysis for a specific chat. This operation incurs charges. via PUT /rerun-chat-analysis/{chat_id}

api
retellai_put_update_test_case_definition_by_test_case_definition_idWRITE

Update a test case definition via PUT /update-test-case-definition/{test_case_definition_id}

api

Put Retell AI behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.