Add HubSpot, Salesforce, Zendesk, or Cal.com tools to a Retell AI prompt agent: connect once, configure inputs and outputs, and test with live data.
Integration tools let a single- or multi-prompt agent act on a connected provider during the conversation, or before or after it. Examples: look up the caller in a CRM, book an appointment, create a support ticket.Retell handles the provider’s API and authentication for you. Unlike a custom function, there’s no endpoint to host and no request to verify.See the integrations overview for the list of supported providers, what each provider’s tools do, and how to connect them.
Connect it once on the dashboard’s Integrations page — a workspace-level step covered in the integrations overview. Every agent can then use the connection.
2
Add the tool to the agent
In your agent’s Functions section, click + Add. Connected providers and their tools appear in the menu, and Add integration lets you connect a new provider without leaving the agent.
Adding a HubSpot tool from the agent's Functions section.
3
Configure it
Pick the tool and set up its pieces:
Connection: which account the tool acts on, if you’ve connected several.
Inputs: each input is either a fixed value you set now (a Cal.com event type ID, a GoHighLevel pipeline) or a description the agent uses to fill the value from the conversation (the caller’s preferred time).
Response variables: map fields from the tool’s result to dynamic variables, so the prompt and later tools can use them (for example, save the contact ID from Search Contact and pass it to Create Task).
Presentation: like other tools, you can have the agent speak while the tool executes, and override the description that tells the LLM when to call it.
Configuring Salesforce's Update Custom Object tool: the custom object is a fixed value picked at configuration time.
4
Test it before the first call
Test requests are sent to the connected provider for real. A lookup reads live data, and testing a create or update tool writes a real record. Use values you don’t mind touching.
In the tool’s config, enter real input values and click Run a test. Retell calls the provider and shows the actual response. Tick the response fields worth keeping and click Add selected outputs to save them as dynamic variables, instead of typing field paths by hand.
The test panel for a Search Contact tool, with three response fields selected as outputs.
To store whether the tool call succeeded, enter a dynamic-variable name in Function fields → Output → Success status. Retell sets it to success or failure separately from response fields. See configure execution status.
Chain tools through response variables: a support agent calls Zendesk’s Search User with {{user_number}}, saves the returned user ID to a dynamic variable, then passes it to List User Requested Tickets when the caller asks for a status update.
Each tool call times out after 3 to 14 seconds, depending on the provider and tool (as of August 2026). On timeout or error, the agent continues the conversation — prompt it on what to say when a lookup or booking doesn’t go through.
{"docsConfig":{"theme":"almond","$schema":"https://mintlify.com/docs.json","name":"Retell AI","description":"Explore Retell AI docs to learn how to build, test, deploy, and optimize AI voice agents with APIs, integrations, conversation flows, and production-ready tools.","colors":{"primary":"#606A78","light":"#F5F5FA","dark":"#172131"},"logo":{"light":"https://mintcdn.com/retellai/-E9UettTBfBiCBBS/images/docs-light.png?fit=max\u0026auto=format\u0026n=-E9UettTBfBiCBBS\u0026q=85\u0026s=64eb26a2d3cc9a67ee3ea0bfe086dd14","dark":"https://mintcdn.com/retellai/-E9UettTBfBiCBBS/images/docs-dark.png?fit=max\u0026auto=format\u0026n=-E9UettTBfBiCBBS\u0026q=85\u0026s=08472a0c78599498b85d23348d7826f6"},"favicon":"https://mintcdn.com/retellai/TsBk7Stx4694-7p1/logo/favicon-light.ico?fit=max\u0026auto=format\u0026n=TsBk7Stx4694-7p1\u0026q=85\u0026s=4e90f4db5e89b5ec7fe249a4844c2d97","api":{"openapi":["openapi-final.yaml"],"playground":{"display":"interactive"},"mdx":{"auth":{"method":"bearer"},"server":"https://api.retellai.com"}},"navbar":{"links":[{"icon":"message-circle-question-mark","href":"https://docs.retellai.com/general/support","label":"Support"},{"icon":"chart-line","href":"https://status.retellai.com/","label":"Status"},{"icon":"book","href":"https://www.retellai.com/changelog","label":"Changelog"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.retellai.com"}},"footer":{"socials":{"x":"https://x.com/retellai","linkedin":"https://www.linkedin.com/company/98828489","github":"https://github.com/RetellAI","instagram":"https://www.instagram.com/retell_ai","youtube":"https://www.youtube.com/@retellai"}},"fonts":{"family":"Inter"},"icons":{"library":"lucide"},"styling":{"codeblocks":"dark","latex":true},"integrations":{"mixpanel":{"projectToken":"c8676d3561adb5eefc366aa2a66725bc"}},"contextual":{"options":["copy","view","chatgpt","claude","cursor"],"display":"header"},"interaction":{"drilldown":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"retellai","hasAudioNarration":false,"actualSubdomain":"retellai","customDomains":["docs.retellai.com"],"gitSource":{"type":"github","owner":"retellai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":false,"issues":false,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af3bfe4ef445dad29d6ee6c","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"Guides","count":214},{"language":"default","tag":"API Reference","count":107},{"language":"default","tag":"Build","count":68},{"language":"default","tag":"Deploy","count":35},{"language":"default","tag":"Integrations","count":30},{"language":"default","tag":"Conversation flow agents","count":24},{"language":"default","tag":"Deprecations","count":24},{"language":"default","tag":"Detailed Deprecation Guide","count":23},{"language":"default","tag":"CRM","count":21},{"language":"default","tag":"Monitor","count":17}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instinct-self-updating-docs","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@media (min-width: 1024px){#navbar .flex-1:has(>[data-slot=\"context-menu-trigger\"]),#navbar .flex-1:has(>a>.nav-logo){flex:none!important;width:15rem}#navbar .ustify-end:has(.nav-tabs),#navbar .justify-end:has(.nav-tabs){justify-content:space-between!important;margin-left:0!important}#navbar .flex:has(>.ustify-end),#navbar .flex:has(>.justify-end){flex:1!important}#navbar .nav-tabs{white-space:nowrap}}article{max-width:48rem!important}.max-w-prose{max-width:48rem!important}.max-w-xl{max-width:48rem!important}video.scroll-play{cursor:zoom-in}.video-zoom-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:4vmin;background:rgba(0, 0, 0, 0.8);backdrop-filter:blur(2px);cursor:zoom-out}.video-zoom-media{max-width:92vw;max-height:92vh;width:auto;height:auto;border-radius:12px;box-shadow:0 10px 40px rgba(0, 0, 0, 0.5);cursor:default}.video-zoom-close{position:fixed;top:16px;right:20px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:999px;background:rgba(255, 255, 255, 0.15);color:#fff;font-size:24px;line-height:1;cursor:pointer}.video-zoom-close:hover{background:rgba(255, 255, 255, 0.3)}.ui-btn{background-color:#f4f5f7!important;color:#1f2328!important;border:1px solid #d0d5dd!important;border-bottom-width:2px!important;border-radius:6px!important;padding:0.1em 0.42em!important}html.dark .ui-btn,[data-theme=\"dark\"] .ui-btn{background-color:#21252d!important;color:#e6e8eb!important;border-color:#3a4048!important}img[src$=\"/images/icons/wss-badge.svg\"]{width:auto!important;height:15px!important}a[aria-current=\"page\"] img[src$=\"/images/icons/wss-badge.svg\"]{content:url(\"data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2227%22 height=%2215%22 viewBox=%220 0 27 15%22 role=%22img%22 aria-label=%22WSS%22%3E %3Crect width=%2227%22 height=%2215%22 rx=%224%22 fill=%22%23F54A00%22/%3E %3Ctext x=%2213.5%22 y=%2210.7%22 text-anchor=%22middle%22 font-family=%22ui-sans-serif, system-ui, -apple-system, Segoe UI, Inter, Helvetica, Arial, sans-serif%22 font-size=%228.8%22 font-weight=%22700%22 fill=%22%23FFFFFF%22%3EWSS%3C/text%3E %3C/svg%3E\")}"}],"page":{"pagePath":"build/single-multi-prompt/integration-tools","slug":"/build/single-multi-prompt/integration-tools","pageMetadata":{"title":"Integration tools","description":"Add HubSpot, Salesforce, Zendesk, or Cal.com tools to a Retell AI prompt agent: connect once, configure inputs and outputs, and test with live data.","keywords":["integration tools","CRM tools","AI agent integrations","voicebot CRM lookup","AI assistant tools","single-prompt agent","multi-prompt agent"],"og:title":"Give a Retell prompt agent tools from your CRM, helpdesk, or calendar","og:description":"Add integration tools to a prompt agent: connect once, pick which inputs the agent fills from the conversation, and map responses to dynamic variables.","href":"/build/single-multi-prompt/integration-tools"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Add HubSpot, Salesforce, Zendesk, or Cal.com tools to a Retell AI prompt agent: connect once, configure inputs and outputs, and test with live data.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Frame,Heading,OptimizedImage,Step,Steps,Tip,Warning}=_components;if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Integration tools let a single- or multi-prompt agent act on a connected provider during the conversation, or `,_jsx(_components.a,{href:`/agent/agent-workflow`,children:`before or after it`}),`. Examples: look up the caller in a CRM, book an appointment, create a support ticket.`]}),`\n`,_jsxs(_components.p,{children:[`Retell handles the provider’s API and authentication for you. Unlike a `,_jsx(_components.a,{href:`/build/single-multi-prompt/custom-function`,children:`custom function`}),`, there’s no endpoint to host and no request to verify.`]}),`\n`,_jsxs(_components.p,{children:[`See the `,_jsx(_components.a,{href:`/integrations/overview`,children:`integrations overview`}),` for the list of supported providers, what each provider’s tools do, and how to connect them.`]}),`\n`,_jsx(Heading,{level:`2`,id:`when-to-use-an-integration-tool`,children:`When to use an integration tool`}),`\n`,_jsx(_components.p,{children:`Retell offers three ways to give an agent a tool. Pick based on where the action needs to run:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Integration tool`}),` — the action runs against a supported provider (CRM record, helpdesk ticket, calendar booking). No code, no server to run.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.a,{href:`/build/single-multi-prompt/custom-function`,children:`Custom function`})}),` — the action runs on your own systems, or on a provider Retell doesn’t support. You host the endpoint.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.a,{href:`/build/single-multi-prompt/code-tool`,children:`Code tool`})}),` — self-contained logic or a simple API call that runs inside Retell’s sandbox.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`add-a-tool`,children:`Add a tool`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Connect the provider`,children:_jsxs(_components.p,{children:[`Connect it once on the dashboard’s `,_jsx(_components.strong,{children:`Integrations`}),` page — a workspace-level step covered in the `,_jsx(_components.a,{href:`/integrations/overview#connect-a-provider`,children:`integrations overview`}),`. Every agent can then use the connection.`]})}),_jsxs(Step,{title:`Add the tool to the agent`,children:[_jsxs(_components.p,{children:[`In your agent’s `,_jsx(_components.strong,{children:`Functions`}),` section, click `,_jsx(_components.strong,{children:`+ Add`}),`. Connected providers and their tools appear in the menu, and `,_jsx(_components.strong,{children:`Add integration`}),` lets you connect a new provider without leaving the agent.`]}),_jsx(Frame,{caption:`Adding a HubSpot tool from the agent's Functions section.`,children:_jsx(`div`,{style:{aspectRatio:`16 / 9`,width:`100%`,background:`rgba(128,128,128,0.15)`,display:`flex`,alignItems:`center`,justifyContent:`center`,borderRadius:`8px`,overflow:`hidden`},children:_jsx(OptimizedImage,{src:`https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/agent-functions-add-integration.png?fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=bd69e74c3a9aacb25f4add169593fc2e`,alt:`A single prompt agent's editor with the Functions section and its + Add button ringed in blue. The add menu is open on a connection named HubSpot - API key, listing HubSpot tools such as List Contact Deals, Get Deal, Create Contact, and Log Call Activity. Update Contact is hovered, showing its description: update properties on a HubSpot Contact by id when the caller confirms new or corrected details. The agent's prompt is redacted.`,style:{maxWidth:`100%`,maxHeight:`100%`,objectFit:`contain`},\"data-og-width\":`1792`,width:`1792`,\"data-og-height\":`948`,height:`948`,\"data-path\":`images/integration/agent-functions-add-integration.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/agent-functions-add-integration.png?w=280\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=d2100b3a40c16ea2d30cf2e76686beba 280w, https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/agent-functions-add-integration.png?w=560\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=eb120d313318b94de525e908b17119ab 560w, https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/agent-functions-add-integration.png?w=840\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=1a3bb25301867a4492cc3b1b4f8a4434 840w, https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/agent-functions-add-integration.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=a210f616cbc5b14b7a27f02ffdd2c5bc 1100w, https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/agent-functions-add-integration.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=1d89f29a6b40a2b131c76f6b58370e87 1650w, https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/agent-functions-add-integration.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=2b5129c1672ae3a7ff9cd71b113faa99 2500w`})})})]}),_jsxs(Step,{title:`Configure it`,children:[_jsx(_components.p,{children:`Pick the tool and set up its pieces:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Connection`}),`: which account the tool acts on, if you’ve connected several.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Inputs`}),`: each input is either a fixed value you set now (a Cal.com event type ID, a GoHighLevel pipeline) or a description the agent uses to fill the value from the conversation (the caller’s preferred time).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Response variables`}),`: map fields from the tool’s result to `,_jsx(_components.a,{href:`/build/dynamic-variables`,children:`dynamic variables`}),`, so the prompt and later tools can use them (for example, save the contact ID from `,_jsx(_components.strong,{children:`Search Contact`}),` and pass it to `,_jsx(_components.strong,{children:`Create Task`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Presentation`}),`: like other tools, you can have the agent speak while the tool executes, and override the description that tells the LLM when to call it.`]}),`\n`]}),_jsx(Frame,{caption:`Configuring Salesforce's Update Custom Object tool: the custom object is a fixed value picked at configuration time.`,children:_jsx(`div`,{style:{aspectRatio:`16 / 9`,width:`100%`,background:`rgba(128,128,128,0.15)`,display:`flex`,alignItems:`center`,justifyContent:`center`,borderRadius:`8px`,overflow:`hidden`},children:_jsx(OptimizedImage,{src:`https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/integration-tool-config.png?fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=03c3f525bcd2806d6c678c6b6dd9e60e`,alt:`The configuration dialog for Salesforce's Update Custom Object integration tool, with editable Name and Description fields. Under Data mapping, the required custom_object input's dropdown is open, listing the org's custom objects such as Retell_Call_Log__c and Retell_Integration_Settings__c, with Retell_Integration_Event__c selected. An Add input button and Cancel and Save buttons complete the dialog.`,style:{maxWidth:`100%`,maxHeight:`100%`,objectFit:`contain`},\"data-og-width\":`780`,width:`780`,\"data-og-height\":`1008`,height:`1008`,\"data-path\":`images/integration/integration-tool-config.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/integration-tool-config.png?w=280\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=9c52d97bdde5d99438b28d07e7dd9559 280w, https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/integration-tool-config.png?w=560\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=cc509b0d4a3a695a4d2cd51157ac4378 560w, https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/integration-tool-config.png?w=840\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=c11e7c2859aedd16013f8b2fc706cc1b 840w, https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/integration-tool-config.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=500a409332f9e099f43c367d7e3dda91 1100w, https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/integration-tool-config.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=1d8b31b30759fa4ba0d1d8321946dbfb 1650w, https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/integration-tool-config.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=a80a7988fc4f1f2d0a5765d841100da3 2500w`})})})]}),_jsxs(Step,{title:`Test it before the first call`,children:[_jsx(Warning,{children:_jsx(_components.p,{children:`Test requests are sent to the connected provider for real. A lookup reads live data, and testing a create or update tool writes a real record. Use values you don’t mind touching.`})}),_jsxs(_components.p,{children:[`In the tool’s config, enter real input values and click `,_jsx(_components.strong,{children:`Run a test`}),`. Retell calls the provider and shows the actual response. Tick the response fields worth keeping and click `,_jsx(_components.strong,{children:`Add selected outputs`}),` to save them as dynamic variables, instead of typing field paths by hand.`]}),_jsx(Frame,{caption:`The test panel for a Search Contact tool, with three response fields selected as outputs.`,children:_jsx(`div`,{style:{aspectRatio:`16 / 9`,width:`100%`,background:`rgba(128,128,128,0.15)`,display:`flex`,alignItems:`center`,justifyContent:`center`,borderRadius:`8px`,overflow:`hidden`},children:_jsx(OptimizedImage,{src:`https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/integration-tool-test.png?fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=5a867c06819863b83a19d09aa2fd26bc`,alt:`The Test : Search Contact dialog for an integration tool. The left pane has a Test input section with a phone_number field and a Run a test button. The right pane shows the Test output with Fields and JSON tabs and the real response's fields as checkboxes, with LastName, FirstName, and Name checked and their values redacted. At the bottom, the selected fields appear as chips next to an Add selected outputs button.`,style:{maxWidth:`100%`,maxHeight:`100%`,objectFit:`contain`},\"data-og-width\":`1684`,width:`1684`,\"data-og-height\":`1554`,height:`1554`,\"data-path\":`images/integration/integration-tool-test.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/integration-tool-test.png?w=280\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=2afd2bdd2c2dc4fffc6c2a1c0430313d 280w, https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/integration-tool-test.png?w=560\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=9e7c8d2561a1a55b49a95741827181cb 560w, https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/integration-tool-test.png?w=840\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=c67c33c4dcfe38ab7b95a35f9d93f6dd 840w, https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/integration-tool-test.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=80987903f85031622ecd3c5ff8bb7a74 1100w, https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/integration-tool-test.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=233ae741fbb95b30d067402f05e61cfe 1650w, https://mintcdn.com/retellai/eQ17pyeTZnmNJIsQ/images/integration/integration-tool-test.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eQ17pyeTZnmNJIsQ\u0026q=85\u0026s=b5cfb34a9c4c532a3bcb71ef073f6ab8 2500w`})})})]})]}),`\n`,_jsxs(_components.p,{children:[`To store whether the tool call succeeded, enter a dynamic-variable name in `,_jsx(_components.strong,{children:`Function fields → Output → Success status`}),`. Retell sets it to `,_jsx(_components.code,{children:`success`}),` or `,_jsx(_components.code,{children:`failure`}),` separately from response fields. See `,_jsx(_components.a,{href:`/integrations/overview#track-execution-status`,children:`configure execution status`}),`.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Chain tools through response variables: a support agent calls Zendesk’s `,_jsx(_components.strong,{children:`Search User`}),` with `,_jsx(_components.code,{children:`{{user_number}}`}),`, saves the returned user ID to a dynamic variable, then passes it to `,_jsx(_components.strong,{children:`List User Requested Tickets`}),` when the caller asks for a status update.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`notes`,children:`Notes`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Each tool call times out after 3 to 14 seconds, depending on the provider and tool (as of August 2026). On timeout or error, the agent continues the conversation — prompt it on what to say when a lookup or booking doesn’t go through.`}),`\n`,_jsxs(_components.li,{children:[`Conversation flow agents add these tools through a function node instead; see `,_jsx(_components.a,{href:`/build/conversation-flow/integration-tools`,children:`integration tools in conversation flow`}),`.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Integration tools","description":"Add HubSpot, Salesforce, Zendesk, or Cal.com tools to a Retell AI prompt agent: connect once, configure inputs and outputs, and test with live data.","keywords":["integration tools","CRM tools","AI agent integrations","voicebot CRM lookup","AI assistant tools","single-prompt agent","multi-prompt agent"],"og:title":"Give a Retell prompt agent tools from your CRM, helpdesk, or calendar","og:description":"Add integration tools to a prompt agent: connect once, pick which inputs the agent fills from the conversation, and map responses to dynamic variables.","href":"/build/single-multi-prompt/integration-tools"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"When to use an integration tool","slug":"when-to-use-an-integration-tool","depth":2,"children":[]},{"title":"Add a tool","slug":"add-a-tool","depth":2,"children":[]},{"title":"Notes","slug":"notes","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/retellai/e3fe5c9b64f9e274/scroll-play-videos.js"],"subdomain":"retellai","siteName":"Retell AI","title":"Give a Retell prompt agent tools from your CRM, helpdesk, or calendar","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T04:47:52.499Z","originalFileLocation":"build/single-multi-prompt/integration-tools.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Add HubSpot, Salesforce, Zendesk, or Cal.com tools to a Retell AI prompt agent: connect once, configure inputs and outputs, and test with live data.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Retell AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Give a Retell prompt agent tools from your CRM, helpdesk, or calendar\">\u003cmeta data-mint-head property=\"og:description\" content=\"Add integration tools to a prompt agent: connect once, pick which inputs the agent fills from the conversation, and map responses to dynamic variables.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Retell AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.retellai.com/build/single-multi-prompt/integration-tools\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://retellai.mintlify.site/_mintlify/api/og/v2?division=Functions\u0026amp;title=Integration+tools\u0026amp;description=Add+HubSpot%2C+Salesforce%2C+Zendesk%2C+or+Cal.com+tools+to+a+Retell+AI+prompt+agent%3A+connect+once%2C+configure+inputs+and+outputs%2C+and+test+with+live+data.\u0026amp;theme=2259d4172d4ae0cc61d9b63d\u0026amp;signature=d71f78295df0de4eabf77c32622b66d0d01e623f6f6e1b19c3ef1a83691a619a\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Give a Retell prompt agent tools from your CRM, helpdesk, or calendar\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Add integration tools to a prompt agent: connect once, pick which inputs the agent fills from the conversation, and map responses to dynamic variables.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://retellai.mintlify.site/_mintlify/api/og/v2?division=Functions\u0026amp;title=Integration+tools\u0026amp;description=Add+HubSpot%2C+Salesforce%2C+Zendesk%2C+or+Cal.com+tools+to+a+Retell+AI+prompt+agent%3A+connect+once%2C+configure+inputs+and+outputs%2C+and+test+with+live+data.\u0026amp;theme=2259d4172d4ae0cc61d9b63d\u0026amp;signature=d71f78295df0de4eabf77c32622b66d0d01e623f6f6e1b19c3ef1a83691a619a\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Retell AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#606A78\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.retellai.com/build/single-multi-prompt/integration-tools\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/build/single-multi-prompt/integration-tools.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.retellai.com/#organization\",\"name\":\"Retell AI\",\"url\":\"https://docs.retellai.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/retellai/-E9UettTBfBiCBBS/images/docs-light.png?fit=max\u0026auto=format\u0026n=-E9UettTBfBiCBBS\u0026q=85\u0026s=64eb26a2d3cc9a67ee3ea0bfe086dd14\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.retellai.com#website\",\"name\":\"Retell AI\",\"url\":\"https://docs.retellai.com\",\"publisher\":{\"@id\":\"https://docs.retellai.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.retellai.com/build/single-multi-prompt/integration-tools#webpage\",\"url\":\"https://docs.retellai.com/build/single-multi-prompt/integration-tools\",\"name\":\"Integration tools\",\"description\":\"Add HubSpot, Salesforce, Zendesk, or Cal.com tools to a Retell AI prompt agent: connect once, configure inputs and outputs, and test with live data.\",\"dateModified\":\"2026-11-09T04:47:52.499Z\",\"isPartOf\":{\"@id\":\"https://docs.retellai.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.retellai.com/build/single-multi-prompt/integration-tools#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.retellai.com/build/single-multi-prompt/integration-tools#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Build\",\"item\":\"https://docs.retellai.com/build/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Single prompt agents\",\"item\":\"https://docs.retellai.com/build/single-multi-prompt/write-single-prompt\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Functions\",\"item\":\"https://docs.retellai.com/build/single-multi-prompt/function-calling\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Integration tools\",\"item\":\"https://docs.retellai.com/build/single-multi-prompt/integration-tools\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.retellai.com/build/single-multi-prompt/integration-tools#article\",\"headline\":\"Integration tools\",\"name\":\"Integration tools\",\"description\":\"Add HubSpot, Salesforce, Zendesk, or Cal.com tools to a Retell AI prompt agent: connect once, configure inputs and outputs, and test with live data.\",\"url\":\"https://docs.retellai.com/build/single-multi-prompt/integration-tools\",\"mainEntityOfPage\":{\"@id\":\"https://docs.retellai.com/build/single-multi-prompt/integration-tools#webpage\"},\"dateModified\":\"2026-11-09T04:47:52.499Z\",\"keywords\":\"integration tools, CRM tools, AI agent integrations, voicebot CRM lookup, AI assistant tools, single-prompt agent, multi-prompt agent\",\"publisher\":{\"@id\":\"https://docs.retellai.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.retellai.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Retell AI\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Retell AI\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/build/single-multi-prompt/integration-tools.md","siteName":"Retell AI","nav":{"global":null,"tabs":[{"tab":"Guides","icon":"book","groups":[{"group":" ","pages":[{"title":"Introduction to Retell","href":"/general/introduction"},{"title":"Build your first phone agent in 15 minutes","href":"/get-started/quick-start"}]},{"group":"Conductor (AI Assistant)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/retellai/images/conductor/conductor-icon.svg","pages":[{"title":"Retell AI Conductor overview","sidebarTitle":"Overview","href":"/conductor/overview"},{"group":"Functionality","pages":[{"title":"Build and refine agents","href":"/conductor/build-and-refine"},{"title":"Test and improve agents","href":"/conductor/test-and-improve"},{"title":"Inspect knowledge bases","href":"/conductor/knowledge-base"},{"title":"Review calls and chats","href":"/conductor/call-and-chat-history"},{"title":"Build analytics dashboards","href":"/conductor/analytics-dashboards"},{"title":"Review QA results","href":"/conductor/ai-qa"},{"title":"Review contacts","href":"/conductor/contacts"}]},{"title":"Pricing","href":"/conductor/usage-and-billing"}]},{"group":"Build","icon":"bot","pages":[{"title":"Build a Retell agent: configuration overview","href":"/build/overview"},{"title":"Single prompt vs. conversation flow","href":"/build/choose-agent-type"},{"title":"General prompting principles","href":"/build/prompt-engineering-guide"},{"group":"Single prompt agents","pages":[{"title":"Single prompt best practices","href":"/build/single-multi-prompt/write-single-prompt"},{"title":"Configure basic settings","href":"/build/single-multi-prompt/configure-basic-settings"},{"group":"Functions","pages":[{"title":"Function calling for single and multi-prompt agents","href":"/build/single-multi-prompt/function-calling"},{"title":"End call","href":"/build/single-multi-prompt/end-call"},{"title":"Transfer call tool (single \u0026 multi-prompt agents)","href":"/build/single-multi-prompt/transfer-call"},{"title":"Send SMS","href":"/build/single-multi-prompt/send-sms"},{"title":"Press digit (IVR navigation)","href":"/build/single-multi-prompt/press-digit"},{"title":"Integrate any system with custom function","description":"Add a custom function to a Retell single- or multi-prompt agent to call your API mid-call. Configure URL, method, headers, parameters, and responses.","href":"/build/single-multi-prompt/custom-function"},{"title":"Integration tools","href":"/build/single-multi-prompt/integration-tools"},{"title":"Code tool: run JavaScript in a Retell agent","description":"Add a Code tool to a single- or multi-prompt Retell agent to run JavaScript, read dynamic variables and metadata, call HTTP APIs, and store results.","href":"/build/single-multi-prompt/code-tool"},{"title":"Extract Dynamic Variables","href":"/build/single-multi-prompt/extract-dv"},{"title":"Agent Transfer tool: hand a call to another AI agent","href":"/build/single-multi-prompt/transfer-agent"},{"title":"MCP tools for single and multi-prompt agents","href":"/build/single-multi-prompt/mcp"}]}]},{"group":"Conversation flow agents","pages":[{"title":"Conversation flow agents: structured voice AI call control","href":"/build/conversation-flow/overview"},{"title":"Conversation flow best practices","href":"/build/conversation-flow/best-practices"},{"title":"Configure global settings","href":"/build/conversation-flow/global-setting"},{"group":"Nodes","pages":[{"title":"Nodes and edges","href":"/build/conversation-flow/node"},{"title":"Subagent node","href":"/build/conversation-flow/subagent-node"},{"title":"Conversation node","href":"/build/conversation-flow/conversation-node"},{"group":"Function Node","pages":[{"title":"Call a function from a conversation flow node","href":"/build/conversation-flow/function-node"},{"title":"Custom function in conversation flow","href":"/build/conversation-flow/custom-function"},{"title":"Integration tools in conversation flow","href":"/build/conversation-flow/integration-tools"}]},{"title":"Code node: run JavaScript in a conversation flow","href":"/build/conversation-flow/code-node"},{"title":"Call transfer node in conversation flow","href":"/build/conversation-flow/call-transfer-node"},{"title":"Press Digit Node","href":"/build/conversation-flow/press-digit-node"},{"title":"End node","href":"/build/conversation-flow/end-node"},{"title":"Logic Split Node","href":"/build/conversation-flow/logic-split-node"},{"title":"SMS Node","href":"/build/conversation-flow/sms-node"},{"title":"Extract Dynamic Variable Node","href":"/build/conversation-flow/extract-dv-node"},{"title":"Agent Transfer Node","href":"/build/conversation-flow/transfer-agent-node"},{"title":"MCP node in conversation flow","href":"/build/conversation-flow/mcp-node"}]},{"title":"Transition conditions","href":"/build/conversation-flow/transition-condition"},{"title":"Reusable subflows for conversation flow agents","href":"/build/conversation-flow/components"},{"title":"Flex Mode: dynamic conversation flow execution","href":"/build/conversation-flow/flex-mode"},{"group":"Advanced features","pages":[{"title":"Global Node","href":"/build/conversation-flow/global-node"},{"title":"Finetune Examples","href":"/build/conversation-flow/finetune-examples"}]},{"title":"Debug guide","href":"/build/conversation-flow/debug-guide"}]},{"group":"Multi-prompt agents (legacy)","pages":[{"title":"Multi-prompt agents","href":"/build/single-multi-prompt/write-multi-prompt"}]},{"title":"Create chat agent","href":"/build/create-chat-agent"},{"title":"Agent workflow","href":"/agent/agent-workflow"},{"title":"Set language for your agent","href":"/agent/language"},{"title":"Configure a multilingual agent","href":"/agent/multilingual"},{"title":"Supported languages by provider","href":"/build/language-support"},{"group":"Understand user speech better","pages":[{"title":"Speech recognition providers","href":"/build/asr-providers"},{"title":"Transcription modes","href":"/build/transcription-mode"},{"title":"Handle background speech \u0026 noise","href":"/build/handle-background-noise"}]},{"group":"Generate better responses from LLM","pages":[{"title":"Agent Handbook","href":"/build/agent-handbook"},{"title":"Conversational Mode","href":"/build/conversational-mode"},{"title":"Pronunciation examples","href":"/build/prompt-situation-guide"},{"title":"LLM settings","href":"/build/llm-options"},{"title":"GPT Live voice model","href":"/build/gpt-live"}]},{"group":"Customize the synthesized speech","pages":[{"title":"Platform voices","href":"/build/platform-voices"},{"title":"Choose a custom provider","href":"/build/voice"},{"title":"Expressive Mode: add emotion and emphasis to agent speech","href":"/build/expressive-mode"},{"title":"Add custom pronunciation","href":"/build/add-pronunciation"},{"title":"Make the agent stay silent","href":"/build/no-response"},{"title":"Speech controls","href":"/build/speech-controls"},{"title":"Set up TTS fallback","href":"/build/tts-fallback"}]},{"group":"Integrate telephony features","pages":[{"title":"Handle voicemail and IVR","href":"/build/handle-voicemail"},{"title":"Capture DTMF input from user","href":"/build/user-dtmf"},{"title":"Set \u0026 parse custom SIP headers","href":"/build/telephony/sip-headers"}]},{"group":"Provide context to the agent","pages":[{"title":"Knowledge base setup and retrieval tuning","href":"/build/knowledge-base"},{"title":"Dynamic variables","href":"/build/dynamic-variables"}]},{"title":"Guardrails","href":"/build/guardrails"},{"title":"Do-not-call requests","href":"/build/do-not-call"}]},{"group":"Test","icon":"flask-conical","pages":[{"title":"Testing overview","href":"/test/test-overview"},{"group":"LLM Playground","pages":[{"title":"Manually test your agent","href":"/test/llm-playground"},{"title":"Debug your agent response","href":"/test/llm-playground-debug"}]},{"group":"LLM Simulation Testing","pages":[{"title":"Automatically test your agent","href":"/test/llm-simulation-testing"},{"title":"Batch test your agent","href":"/test/batch-test-simulation"}]},{"group":"Audio Testing","pages":[{"title":"Web call testing","href":"/test/test-web"},{"title":"Phone call testing","href":"/test/test-phone"}]},{"title":"Testing with Conductor","icon":"https://mintlify.s3.us-west-1.amazonaws.com/retellai/images/conductor/conductor-icon.svg","href":"/test/testing-with-conductor"},{"title":"Testing pricing","href":"/test/testing-pricing"}]},{"group":"Deploy","icon":"phone","pages":[{"title":"Purchase phone number","href":"/deploy/purchase-number"},{"title":"A/B Testing","href":"/deploy/ab-testing"},{"group":"Connect to custom telephony providers via SIP","pages":[{"title":"Connect Retell voice agents to custom telephony","href":"/deploy/custom-telephony"},{"group":"Connect via SIP trunking","pages":[{"title":"Connect a Twilio number to Retell with elastic SIP trunking","sidebarTitle":"Twilio","href":"/deploy/twilio"},{"title":"Telnyx","href":"/deploy/telnyx"},{"title":"Vonage","href":"/deploy/vonage"}]},{"group":"Connect to CCaaS","pages":[{"title":"Avaya","href":"/deploy/avaya"},{"title":"Connect Genesys Cloud to Retell","href":"/deploy/genesys"},{"title":"Connect Five9 to Retell","href":"/deploy/five9"},{"title":"Amazon Connect","href":"/deploy/amazon-connect"}]}]},{"group":"Make \u0026 receive phone calls","pages":[{"title":"Make outbound calls","href":"/deploy/outbound-call"},{"group":"Inbound calls","pages":[{"title":"Receive calls","href":"/deploy/inbound-call"},{"title":"Inbound call \u0026 SMS webhook","href":"/features/inbound-call-webhook"}]},{"title":"International calling","href":"/deploy/international-call"}]},{"title":"Implement chat with create chat completion","href":"/deploy/create-chat-completion"},{"title":"Website widget","href":"/deploy/chat-widget"},{"group":"Send \u0026 receive SMS","pages":[{"title":"Enable SMS","href":"/deploy/enable-sms"},{"title":"SMS campaign application (A2P 10DLC)","href":"/deploy/sms-campaign-application"}]},{"title":"Agent versions and tags","href":"/agent/version"},{"title":"Compare agent versions","href":"/agent/version-comparison"},{"title":"Create and schedule batch calls","href":"/deploy/make-batch-call"},{"group":"Dialer","pages":[{"title":"Outbound call campaigns","sidebarTitle":"Overview","href":"/dialer/overview"},{"title":"Choose contacts","href":"/dialer/contacts"},{"title":"Compliance checks","href":"/dialer/compliance-checks"},{"title":"Build a sequence","href":"/dialer/sequences"},{"title":"Caller ID and pacing","href":"/dialer/phone-numbers"}]},{"group":"Increase call pickup rate","pages":[{"title":"Spam likely overview","href":"/build/telephony/call_efficiency_overview"},{"title":"Add a business profile","href":"/build/telephony/business-profile"},{"title":"Apply for verified phone number","href":"/build/telephony/verified-phone"},{"title":"Apply for branded call","href":"/build/telephony/branded-call"},{"title":"Handle application rejection","href":"/build/telephony/branded-call-rejection"},{"title":"Stop caller ID service","href":"/build/telephony/delete-service"}]},{"title":"Make a web call","href":"/deploy/web-call"},{"title":"Web calls in native apps","href":"/deploy/native-web-call"},{"title":"Understand concurrency \u0026 limits","href":"/deploy/concurrency"}]},{"group":"Data","icon":"database","pages":[{"title":"Call \u0026 chat history","href":"/features/session-history"},{"title":"Contacts","href":"/features/contacts"},{"title":"Contact memory","href":"/features/contact-memory"}]},{"group":"Monitor","icon":"square-activity","pages":[{"title":"Monitor live calls","href":"/features/live-monitoring"},{"title":"Analytics dashboard","href":"/features/analytics-dashboard"},{"title":"Alert rules for call and chat metrics","href":"/features/alerting-overview"},{"group":"Register \u0026 handle webhooks","pages":[{"group":"Call Event Webhook","pages":[{"title":"Retell webhooks overview","href":"/features/webhook-overview"},{"title":"Register and set up a Retell webhook","href":"/features/register-webhook"}]},{"title":"Secure the webhook","href":"/features/secure-webhook"}]},{"group":"Post Call Extraction","pages":[{"title":"Post Call Extraction overview and categories","href":"/features/post-call-analysis-overview"},{"title":"Define the information you want to extract","href":"/features/post-call-analysis-create"},{"title":"Consume the analysis data","href":"/features/post-call-analysis-consumption"},{"title":"Rerun Post Call/Chat Extraction","href":"/features/rerun-call-analysis"}]},{"group":"AI Quality Assurance","pages":[{"title":"Automatically evaluate call quality with AI QA","sidebarTitle":"AI Quality Assurance","href":"/ai-qa/overview"},{"group":"Create QA","pages":[{"title":"Access AI QA","href":"/ai-qa/get-started"},{"title":"Define a QA cohort","href":"/ai-qa/create-cohort"},{"title":"Define resolution criteria","href":"/ai-qa/define-resolution-criteria"}]},{"title":"View QA results","href":"/ai-qa/view-qa-results"},{"title":"AI QA metrics","href":"/ai-qa/terminologies"},{"title":"Address metric issues","href":"/ai-qa/address-metric-issues"}]}]},{"group":"Reliability \u0026 Debugging","icon":"bug","pages":[{"title":"Reliability Overview","href":"/reliability/reliability-overview"},{"group":"Latency","pages":[{"title":"Check estimated latency","href":"/reliability/check-estimated-latency"},{"title":"Check actual latency","href":"/reliability/check-actual-latency"},{"title":"Troubleshoot high latency","href":"/reliability/troubleshoot-latency"}]},{"group":"Fix agent behaviors","pages":[{"title":"Transcription accuracy","href":"/reliability/wrong-transcript"},{"title":"Debug wrong response","href":"/reliability/wrong-response"}]},{"group":"Debug phone call issues","pages":[{"title":"Debug call transfer failure","href":"/reliability/call-performance"},{"title":"Debug call disconnection","href":"/reliability/debug-call-disconnect"},{"title":"Debug outbound connection issues","href":"/reliability/debug-outbound-call"},{"title":"Debug SIP calls using PCAP file","href":"/reliability/debug-calls-pcap"}]},{"title":"Agent paused or banned","href":"/reliability/agent-paused"},{"title":"Prevent abuse","href":"/reliability/prevent-abuse"},{"title":"Fraud Protection","href":"/reliability/fraud-protection"}]},{"group":"Accounts and Workspace","icon":"circle-user-round","pages":[{"title":"Create and manage Retell workspaces","href":"/accounts/workspace"},{"title":"Manage your Retell AI account","href":"/accounts/account"},{"title":"Use your business email","href":"/accounts/business-email"},{"title":"Access Control","href":"/accounts/access-control"},{"title":"KYC Verification","href":"/accounts/kyc"},{"group":"Billing","pages":[{"title":"Retell AI billing: credits, auto recharge, and invoices","href":"/accounts/billing"},{"title":"Exceptions to Our Per-Minute Pricing","href":"/accounts/billing-exceptions"},{"title":"Add payment methods","href":"/accounts/add-payment"},{"title":"Handle failed payments","href":"/accounts/fail-payment"}]},{"group":"Keys","pages":[{"title":"API Key Overview","href":"/accounts/api-keys-overview"},{"title":"Manage API keys and permission scopes","href":"/accounts/manage-api-keys"},{"title":"Public keys","href":"/accounts/public-keys"}]},{"group":"Privacy and Compliance","pages":[{"title":"Data Storage Settings","href":"/accounts/privacy-disable"},{"title":"Data Retention Policy","href":"/accounts/data-retention"},{"title":"Opt in to secure URL","href":"/accounts/signed-secure-url"},{"title":"Security and compliance","href":"/general/compliance"}]}]},{"group":"Integrations","icon":"unplug","pages":[{"title":"Connect CRMs, calendars, and knowledge sources to Retell","sidebarTitle":"Integrations overview","href":"/integrations/overview"},{"group":"CRM","pages":[{"title":"CRM integrations","href":"/integrations/crm-overview"},{"title":"CRM data mappings","href":"/integrations/crm-mappings"},{"group":"HubSpot","pages":[{"title":"Connect HubSpot","sidebarTitle":"Connect","href":"/integrations/hubspot"},{"title":"HubSpot contact sync","sidebarTitle":"Contact sync","href":"/integrations/hubspot-contact-sync"},{"title":"HubSpot agent functions","sidebarTitle":"Agent functions","href":"/integrations/hubspot-functions"}]},{"group":"Salesforce","pages":[{"title":"Connect Salesforce","sidebarTitle":"Connect","href":"/integrations/salesforce"},{"title":"Salesforce contact sync","sidebarTitle":"Contact sync","href":"/integrations/salesforce-contact-sync"},{"title":"Salesforce agent functions","sidebarTitle":"Agent functions","href":"/integrations/salesforce-functions"}]},{"group":"Microsoft Dynamics 365","pages":[{"title":"Connect Dynamics 365","sidebarTitle":"Connect","href":"/integrations/microsoft-dynamics"},{"title":"Dynamics 365 contact sync","sidebarTitle":"Contact sync","href":"/integrations/microsoft-dynamics-contact-sync"},{"title":"Dynamics 365 agent functions","sidebarTitle":"Agent functions","href":"/integrations/microsoft-dynamics-functions"}]},{"group":"GoHighLevel","pages":[{"title":"Connect GoHighLevel","sidebarTitle":"Connect","href":"/integrations/gohighlevel"},{"title":"GoHighLevel contact sync","sidebarTitle":"Contact sync","href":"/integrations/gohighlevel-contact-sync"},{"title":"GoHighLevel agent functions","sidebarTitle":"Agent functions","href":"/integrations/gohighlevel-functions"}]},{"group":"Zoho CRM","pages":[{"title":"Connect Zoho CRM","sidebarTitle":"Connect","href":"/integrations/zoho"},{"title":"Zoho contact sync","sidebarTitle":"Contact sync","href":"/integrations/zoho-contact-sync"},{"title":"Zoho agent functions","sidebarTitle":"Agent functions","href":"/integrations/zoho-functions"}]}]},{"group":"Helpdesk","pages":[{"group":"Zendesk","pages":[{"title":"Connect Zendesk","sidebarTitle":"Connect","href":"/integrations/zendesk"},{"title":"Zendesk agent functions","sidebarTitle":"Agent functions","href":"/integrations/zendesk-functions"}]}]},{"group":"Knowledge Base","pages":[{"group":"Google Drive","pages":[{"title":"Connect Google Drive","sidebarTitle":"Connect","href":"/integrations/google-drive"},{"title":"Google Drive knowledge base sync","sidebarTitle":"Knowledge base sync","href":"/integrations/google-drive-knowledge-base"}]},{"group":"Microsoft OneDrive","pages":[{"title":"Connect OneDrive","sidebarTitle":"Connect","href":"/integrations/microsoft-onedrive"},{"title":"OneDrive knowledge base sync","sidebarTitle":"Knowledge base sync","href":"/integrations/microsoft-onedrive-knowledge-base"}]},{"group":"Notion","pages":[{"title":"Connect Notion","sidebarTitle":"Connect","href":"/integrations/notion"},{"title":"Notion knowledge base sync","sidebarTitle":"Knowledge base sync","href":"/integrations/notion-knowledge-base"}]}]},{"group":"Calendar","pages":[{"group":"GoHighLevel","pages":[{"title":"GoHighLevel agent functions","sidebarTitle":"Agent functions","href":"/integrations/gohighlevel-functions"}]},{"group":"Calendly","pages":[{"title":"Connect Calendly","sidebarTitle":"Connect","href":"/integrations/calendly"},{"title":"Calendly agent functions","sidebarTitle":"Agent functions","href":"/integrations/calendly-functions"}]},{"group":"Cal.com","pages":[{"title":"Connect Cal.com","sidebarTitle":"Connect","href":"/integrations/cal-com"},{"title":"Cal.com agent functions","sidebarTitle":"Agent functions","href":"/integrations/cal-com-functions"}]}]}]},{"group":"Marketplace","icon":"store","pages":[{"title":"Trigger Retell calls from HubSpot workflows","href":"/integrations/hubspot-marketplace"},{"title":"Trigger Retell calls from Zoho CRM workflows","href":"/integrations/zoho-marketplace"},{"title":"Trigger Retell calls from Slack","href":"/integrations/slack-marketplace"},{"title":"Trigger Retell calls from Notion","href":"/integrations/notion-marketplace"},{"title":"Trigger Retell calls from Google Sheets","href":"/integrations/google-sheets-marketplace"}]},{"group":"Other Topics","pages":[{"group":"Custom LLM","pages":[{"title":"Custom LLM overview","href":"/integrate-llm/overview"},{"title":"Set up a custom LLM WebSocket server for your Retell agent","href":"/integrate-llm/setup-websocket-server"},{"title":"Connect your LLM","href":"/integrate-llm/integrate-llm"},{"title":"Add function calling","href":"/integrate-llm/integrate-function-calling"},{"title":"Troubleshooting","href":"/integrate-llm/troubleshooting"},{"title":"Best practices","href":"/integrate-llm/llm-best-practice"}]},{"title":"Audio Basics","href":"/knowledge/audio-basics"}]}]},{"tab":"API Reference","icon":"code-xml","pages":[{"title":"API Reference","href":"/api-references/overview"}]},{"tab":"SDK","icon":"package","pages":[{"title":"SDK","href":"/get-started/sdk"}]},{"tab":"MCP","icon":"plug-zap","pages":[{"title":"MCP","href":"/get-started/mcp-server"}]},{"tab":"CLI","icon":"terminal","pages":[{"title":"CLI","href":"/get-started/cli"}]},{"tab":"Deprecations","icon":"book-alert","pages":[{"title":"Deprecations","href":"/deprecation-notice/overview"}]}]},"basePath":"","title":"Give a Retell prompt agent tools from your CRM, helpdesk, or calendar","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-BXrZabKK.js","DynamicMarkdown-CtasenyM.js","zoom-image-lightbox-C5F0mVLH.js","lightbox-handle-r17bVUz3.js"]}