Connect Microsoft OneDrive to Retell AI with a read-only Microsoft sign-in, then sync OneDrive files into knowledge bases your agent answers from.
Connecting Microsoft OneDrive lets you add OneDrive files to knowledge bases, so your agent answers from the Word documents, Excel workbooks, and PDFs your team already maintains. Personal OneDrive and OneDrive for Business (work or school) both work, and the access Retell asks for is read-only. This page covers the connection itself.OneDrive adds no integration tools. Like Google Drive and Notion, its job is feeding knowledge bases.
Connect OneDrive when the content your agent should know already lives in Microsoft 365. It’s the right choice when you want to:
Keep the knowledge base in step with the file. A price sheet or policy document added from OneDrive re-syncs when the file changes, so the knowledge base follows the document instead of snapshotting it.
Let non-developers own the content. The team edits the same Word or Excel file they always have; nobody exports a PDF or opens the dashboard to keep the agent current.
Stay inside your existing Microsoft tenant. Sign-in, consent, and revocation all run through Microsoft Entra ID, so the connection is governed like every other app your organization has approved.
For example, an HVAC company keeps its service-plan pricing in an Excel workbook on the operations lead’s OneDrive, updated whenever a supplier raises a rate. The workbook is a knowledge base source, so the booking agent quotes current plan pricing without anyone touching the dashboard.
A Microsoft account with a OneDrive, either personal or work/school. Retell keeps acting as this account, so prefer a shared team account over an individual’s: if the account loses access to a file or gets deactivated, those sources stop refreshing.
Permission to approve the app. The permissions Retell requests are delegated and read-only, which a user can normally grant themselves. If your tenant turns off user consent for apps, Microsoft shows a Need admin approval screen instead, and an Entra ID admin has to approve Retell first.
In the Retell Dashboard, open Integrations, select the Available tab, find Microsoft OneDrive, and click Connect (Add Account if a connection already exists). You can also start from a knowledge base: the Add menu shows Connect Microsoft OneDrive when no account is connected yet.
2
Sign in with Microsoft
The dialog only asks for a connection name (prefilled with Microsoft OneDrive - OAuth). Click Connect (Add Account if a connection already exists), and the browser goes to Microsoft’s sign-in page, returning to the dashboard once consent completes.Expect up to two approval prompts. The first sign-in tells Retell whether the account has a personal or a work/school OneDrive, and the second grants the file picker read access to that specific OneDrive. Both are read-only, and Microsoft skips the second prompt if the account has already approved it. Retell stores a refresh token, so nobody has to sign in again.
The Microsoft OneDrive connection dialog, with only a connection name to fill in.
Once connected, the account appears in every knowledge base’s Add menu. See OneDrive knowledge base sync for picking files and how refresh works.
A connection reaches the signed-in account’s own OneDrive and nothing else:
Your OneDrive files. The picker opens on the connected account’s own OneDrive, personal or business.
SharePoint is out of scope. Only the picker’s My files view is available; its Recent, Shared, Quick access, My organization, and site views are turned off because they reach into SharePoint. If a file still resolves to a SharePoint document library, the knowledge base rejects it while saving with Selected file is in SharePoint, not OneDrive. To use such a file, copy it into the connected account’s OneDrive first.
Folders and OneNote notebooks can’t be synced. Neither is a downloadable file: folders are for browsing only, and a notebook that gets picked is rejected with OneDrive item is not a downloadable file.
Retell requests two read-only Microsoft permissions, delegated to the account that signs in:
Permission
What it covers
Files.Read.All (Microsoft Graph)
Reads file metadata and content on behalf of the signed-in account. Retell uses it to check a file’s name, size, and last-modified time, and to download the files you added to a knowledge base.
Picker access to your OneDrive — OneDrive.ReadOnly for a personal account, <tenant>-my.sharepoint.com/MyFiles.Read for work or school
Runs Microsoft’s own file picker against your OneDrive so you can browse and select files from inside Retell.
Neither permission grants write access, so Retell can’t create, change, or delete anything in OneDrive. Both are delegated permissions, capped at what the signed-in account can already access. They are account-wide rather than per-file, because Microsoft’s file picker offers no per-file grant like Google’s drive.file scope; what Retell actually fetches is still limited to the files you added to a knowledge base. It never lists, searches, or downloads anything else.Deleting the connection on the Connected tab discards the stored refresh token, so Retell’s access ends immediately. To revoke from Microsoft’s side as well: for a personal account, remove Retell in your Microsoft account’s privacy settings under Apps and services that can access your data; for work or school, remove it in the My Apps portal, or have an admin revoke it in Microsoft Entra ID under Enterprise applications.
The Graph permission is account-wide, so the token technically covers files the account can read. Retell only ever downloads the files you picked and added to a knowledge base. It doesn’t list, search, or index the rest, and it never writes.
Why was I asked to approve twice?
Personal and work OneDrive run on different Microsoft endpoints, and the file picker needs a permission scoped to whichever one you have. The first sign-in identifies your account type, and the second grants picker access to that OneDrive. Microsoft skips the second prompt when the account has already approved it.
Does connecting need an admin?
Usually no: the permissions are delegated and read-only, which a user can normally grant. If your tenant turns off user consent for apps, Microsoft shows its Need admin approval screen instead, and an Entra ID admin has to approve Retell before the connection completes.
Can I connect a personal and a work account?
Yes. Each connection is separate and is pinned at connect time to the account’s OneDrive type, so a personal Microsoft account and a work account are two connections. The knowledge base Add menu lists them all.
What happens if I delete the connection?
Content already synced stays in your knowledge bases and keeps answering; it just stops refreshing, and its source rows show Sync not available. Reconnecting and re-picking the files resumes updates.
Connecting fails with 'Microsoft account type or tenant changed'
Retell verifies at the end of the flow that the account it authorized is still the one it started with. Signing into a different account mid-flow, or an account that moved between a personal and a work OneDrive, trips this check. Start the connection again and sign in with a single account.
Pick the files your agent answers from, and keep them re-syncing as they change.
Integrations overview
See every provider Retell connects to and how integration tools work.
Was this page helpful?
⌘I
{"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":""},"chroma":{"liveDeploymentHistoryId":"6ae52c364dc623ac1751f1b5","collectionId":"2475b9a8-10e5-42d7-95d5-17867509ffb2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae52c364dc623ac1751f1b5"},"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":"6ae52da1ce86744b0f9bcea5","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"Guides","count":213},{"language":"default","tag":"API Reference","count":107},{"language":"default","tag":"Build","count":67},{"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":22},{"language":"default","tag":"CRM","count":21},{"language":"default","tag":"Detailed Deprecation Guide","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":"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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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}],"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 .justify-end:has(.nav-tabs),#navbar .ustify-end:has(.nav-tabs){justify-content:space-between!important;margin-left:0!important}#navbar .flex:has(>.justify-end),#navbar .flex:has(>.ustify-end){flex:1!important}#navbar .nav-tabs{white-space:nowrap}}.max-w-prose,.max-w-xl,article{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,.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,.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:0;border-radius:999px;background:rgba(255,255,255,.15);color:#fff;font-size:24px;line-height:1;cursor:pointer}.video-zoom-close:hover{background:rgba(255,255,255,.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:.1em .42em!important}[data-theme=dark] .ui-btn,html.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":"integrations/microsoft-onedrive","slug":"/integrations/microsoft-onedrive","pageMetadata":{"title":"Connect OneDrive","sidebarTitle":"Connect","description":"Connect Microsoft OneDrive to Retell AI with a read-only Microsoft sign-in, then sync OneDrive files into knowledge bases your agent answers from.","keywords":["Microsoft OneDrive integration","connect OneDrive","OneDrive for Business","OneDrive OAuth","Microsoft 365 knowledge base","voicebot knowledge base","AI assistant OneDrive"],"og:title":"Connect Microsoft OneDrive to Retell — read-only file access","og:description":"Sign in with Microsoft once to connect a personal or work OneDrive to Retell AI. Access is read-only, and Retell downloads only the files you add to a knowledge base.","href":"/integrations/microsoft-onedrive"},"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: \"Connect Microsoft OneDrive to Retell AI with a read-only Microsoft sign-in, then sync OneDrive files into knowledge bases your agent answers from.\"\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`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,Frame,Heading,OptimizedImage,Step,Steps,Table}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);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(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Connecting Microsoft OneDrive lets you `,_jsx(_components.a,{href:`/integrations/microsoft-onedrive-knowledge-base`,children:`add OneDrive files to knowledge bases`}),`, so your agent answers from the Word documents, Excel workbooks, and PDFs your team already maintains. Personal OneDrive and OneDrive for Business (work or school) both work, and the access Retell asks for is read-only. This page covers the connection itself.`]}),`\n`,_jsxs(_components.p,{children:[`OneDrive adds no integration tools. Like `,_jsx(_components.a,{href:`/integrations/google-drive`,children:`Google Drive`}),` and `,_jsx(_components.a,{href:`/integrations/notion`,children:`Notion`}),`, its job is feeding knowledge bases.`]}),`\n`,_jsx(Heading,{level:`2`,id:`when-to-use-it`,children:`When to use it`}),`\n`,_jsx(_components.p,{children:`Connect OneDrive when the content your agent should know already lives in Microsoft 365. It’s the right choice when you want to:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Keep the knowledge base in step with the file.`}),` A price sheet or policy document added from OneDrive re-syncs when the file changes, so the knowledge base follows the document instead of snapshotting it.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Let non-developers own the content.`}),` The team edits the same Word or Excel file they always have; nobody exports a PDF or opens the dashboard to keep the agent current.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Stay inside your existing Microsoft tenant.`}),` Sign-in, consent, and revocation all run through Microsoft Entra ID, so the connection is governed like every other app your organization has approved.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`For example, an HVAC company keeps its service-plan pricing in an Excel workbook on the operations lead’s OneDrive, updated whenever a supplier raises a rate. The workbook is a knowledge base source, so the booking agent quotes current plan pricing without anyone touching the dashboard.`}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`A Microsoft account with a OneDrive`}),`, either personal or work/school. Retell keeps acting as this account, so prefer a shared team account over an individual’s: if the account loses access to a file or gets deactivated, those sources stop refreshing.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Permission to approve the app.`}),` The permissions Retell requests are delegated and read-only, which a user can normally grant themselves. If your tenant turns off user consent for apps, Microsoft shows a `,_jsx(_components.strong,{children:`Need admin approval`}),` screen instead, and an Entra ID admin has to approve Retell first.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`connect-onedrive`,children:`Connect OneDrive`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Add the connection`,children:_jsxs(_components.p,{children:[`In the Retell Dashboard, open `,_jsx(_components.strong,{children:`Integrations`}),`, select the `,_jsx(_components.strong,{children:`Available`}),` tab, find `,_jsx(_components.strong,{children:`Microsoft OneDrive`}),`, and click `,_jsx(_components.strong,{children:`Connect`}),` (`,_jsx(_components.strong,{children:`Add Account`}),` if a connection already exists). You can also start from a knowledge base: the `,_jsx(_components.strong,{children:`Add`}),` menu shows `,_jsx(_components.strong,{children:`Connect Microsoft OneDrive`}),` when no account is connected yet.`]})}),_jsxs(Step,{title:`Sign in with Microsoft`,children:[_jsxs(_components.p,{children:[`The dialog only asks for a connection name (prefilled with `,_jsx(_components.code,{children:`Microsoft OneDrive - OAuth`}),`). Click `,_jsx(_components.strong,{children:`Connect`}),` (`,_jsx(_components.strong,{children:`Add Account`}),` if a connection already exists), and the browser goes to Microsoft’s sign-in page, returning to the dashboard once consent completes.`]}),_jsx(_components.p,{children:`Expect up to two approval prompts. The first sign-in tells Retell whether the account has a personal or a work/school OneDrive, and the second grants the file picker read access to that specific OneDrive. Both are read-only, and Microsoft skips the second prompt if the account has already approved it. Retell stores a refresh token, so nobody has to sign in again.`}),_jsx(Frame,{caption:`The Microsoft OneDrive connection dialog, with only a connection name to fill in.`,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/1tHVSSAFz8J09UUc/images/integration/microsoft-onedrive-connect-dialog.png?fit=max\u0026auto=format\u0026n=1tHVSSAFz8J09UUc\u0026q=85\u0026s=4ddecb5a319d46701ae4beaf7bd4a116`,alt:`Retell's Microsoft OneDrive connection dialog. It has a single Connection name field prefilled with Microsoft OneDrive - OAuth, a hint reading 'Learn how OneDrive files sync into your knowledge bases' with a See docs link, and Cancel and Add Account buttons. There is no Functions tab, since OneDrive adds no integration tools; connecting continues to a Microsoft sign-in.`,style:{maxWidth:`100%`,maxHeight:`100%`,objectFit:`contain`},\"data-og-width\":`1204`,width:`1204`,\"data-og-height\":`1006`,height:`1006`,\"data-path\":`images/integration/microsoft-onedrive-connect-dialog.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/retellai/1tHVSSAFz8J09UUc/images/integration/microsoft-onedrive-connect-dialog.png?w=280\u0026fit=max\u0026auto=format\u0026n=1tHVSSAFz8J09UUc\u0026q=85\u0026s=14435980d9a4d17d218726b29a6f600d 280w, https://mintcdn.com/retellai/1tHVSSAFz8J09UUc/images/integration/microsoft-onedrive-connect-dialog.png?w=560\u0026fit=max\u0026auto=format\u0026n=1tHVSSAFz8J09UUc\u0026q=85\u0026s=9f28716976b86929ca1ef166e3269a5c 560w, https://mintcdn.com/retellai/1tHVSSAFz8J09UUc/images/integration/microsoft-onedrive-connect-dialog.png?w=840\u0026fit=max\u0026auto=format\u0026n=1tHVSSAFz8J09UUc\u0026q=85\u0026s=a14cc7cbb6a70ee47c86deeca65e16d0 840w, https://mintcdn.com/retellai/1tHVSSAFz8J09UUc/images/integration/microsoft-onedrive-connect-dialog.png?w=1100\u0026fit=max\u0026auto=format\u0026n=1tHVSSAFz8J09UUc\u0026q=85\u0026s=51a9f7056a97293fa1f272cd58eebb07 1100w, https://mintcdn.com/retellai/1tHVSSAFz8J09UUc/images/integration/microsoft-onedrive-connect-dialog.png?w=1650\u0026fit=max\u0026auto=format\u0026n=1tHVSSAFz8J09UUc\u0026q=85\u0026s=791243d50f4ee112c8c327130787268a 1650w, https://mintcdn.com/retellai/1tHVSSAFz8J09UUc/images/integration/microsoft-onedrive-connect-dialog.png?w=2500\u0026fit=max\u0026auto=format\u0026n=1tHVSSAFz8J09UUc\u0026q=85\u0026s=d96c3896ac95532efbea7c3b252be092 2500w`})})})]})]}),`\n`,_jsxs(_components.p,{children:[`Once connected, the account appears in every knowledge base’s `,_jsx(_components.strong,{children:`Add`}),` menu. See `,_jsx(_components.a,{href:`/integrations/microsoft-onedrive-knowledge-base`,children:`OneDrive knowledge base sync`}),` for picking files and how refresh works.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-you-can-pick`,children:`What you can pick`}),`\n`,_jsx(_components.p,{children:`A connection reaches the signed-in account’s own OneDrive and nothing else:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Your OneDrive files.`}),` The picker opens on the connected account’s own OneDrive, personal or business.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`SharePoint is out of scope.`}),` Only the picker’s `,_jsx(_components.strong,{children:`My files`}),` view is available; its Recent, Shared, Quick access, My organization, and site views are turned off because they reach into SharePoint. If a file still resolves to a SharePoint document library, the knowledge base rejects it while saving with `,_jsx(_components.code,{children:`Selected file is in SharePoint, not OneDrive`}),`. To use such a file, copy it into the connected account’s OneDrive first.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Folders and OneNote notebooks can’t be synced.`}),` Neither is a downloadable file: folders are for browsing only, and a notebook that gets picked is rejected with `,_jsx(_components.code,{children:`OneDrive item is not a downloadable file`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`how-access-works`,children:`How access works`}),`\n`,_jsx(_components.p,{children:`Retell requests two read-only Microsoft permissions, delegated to the account that signs in:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Permission`}),_jsx(_components.th,{children:`What it covers`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Files.Read.All`}),` (Microsoft Graph)`]}),_jsx(_components.td,{children:`Reads file metadata and content on behalf of the signed-in account. Retell uses it to check a file’s name, size, and last-modified time, and to download the files you added to a knowledge base.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`Picker access to your OneDrive — `,_jsx(_components.code,{children:`OneDrive.ReadOnly`}),` for a personal account, `,_jsx(_components.code,{children:`\u003ctenant>-my.sharepoint.com/MyFiles.Read`}),` for work or school`]}),_jsx(_components.td,{children:`Runs Microsoft’s own file picker against your OneDrive so you can browse and select files from inside Retell.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Neither permission grants write access, so Retell can’t create, change, or delete anything in OneDrive. Both are delegated permissions, capped at what the signed-in account can already access. They are account-wide rather than per-file, because Microsoft’s file picker offers no per-file grant like Google’s `,_jsx(_components.code,{children:`drive.file`}),` scope; what Retell actually fetches is still limited to the files you added to a knowledge base. It never lists, searches, or downloads anything else.`]}),`\n`,_jsxs(_components.p,{children:[`Deleting the connection on the `,_jsx(_components.strong,{children:`Connected`}),` tab discards the stored refresh token, so Retell’s access ends immediately. To revoke from Microsoft’s side as well: for a personal account, remove Retell in your Microsoft account’s privacy settings under `,_jsx(_components.strong,{children:`Apps and services that can access your data`}),`; for work or school, remove it in the My Apps portal, or have an admin revoke it in Microsoft Entra ID under `,_jsx(_components.strong,{children:`Enterprise applications`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`faq`,children:`FAQ`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Can Retell read every file in my OneDrive?`,id:`can-retell-read-every-file-in-my-onedrive`,children:_jsx(_components.p,{children:`The Graph permission is account-wide, so the token technically covers files the account can read. Retell only ever downloads the files you picked and added to a knowledge base. It doesn’t list, search, or index the rest, and it never writes.`})}),_jsx(Accordion,{title:`Why was I asked to approve twice?`,id:`why-was-i-asked-to-approve-twice`,children:_jsx(_components.p,{children:`Personal and work OneDrive run on different Microsoft endpoints, and the file picker needs a permission scoped to whichever one you have. The first sign-in identifies your account type, and the second grants picker access to that OneDrive. Microsoft skips the second prompt when the account has already approved it.`})}),_jsx(Accordion,{title:`Does connecting need an admin?`,id:`does-connecting-need-an-admin`,children:_jsxs(_components.p,{children:[`Usually no: the permissions are delegated and read-only, which a user can normally grant. If your tenant turns off user consent for apps, Microsoft shows its `,_jsx(_components.strong,{children:`Need admin approval`}),` screen instead, and an Entra ID admin has to approve Retell before the connection completes.`]})}),_jsx(Accordion,{title:`Can I connect a personal and a work account?`,id:`can-i-connect-a-personal-and-a-work-account`,children:_jsxs(_components.p,{children:[`Yes. Each connection is separate and is pinned at connect time to the account’s OneDrive type, so a personal Microsoft account and a work account are two connections. The knowledge base `,_jsx(_components.strong,{children:`Add`}),` menu lists them all.`]})}),_jsx(Accordion,{title:`What happens if I delete the connection?`,id:`what-happens-if-i-delete-the-connection`,children:_jsxs(_components.p,{children:[`Content already synced stays in your knowledge bases and keeps answering; it just stops refreshing, and its source rows show `,_jsx(_components.strong,{children:`Sync not available`}),`. Reconnecting and re-picking the files resumes updates.`]})}),_jsx(Accordion,{title:`Connecting fails with 'Microsoft account type or tenant changed'`,id:`connecting-fails-with-microsoft-account-type-or-tenant-changed`,children:_jsx(_components.p,{children:`Retell verifies at the end of the flow that the account it authorized is still the one it started with. Signing into a different account mid-flow, or an account that moved between a personal and a work OneDrive, trips this check. Start the connection again and sign in with a single account.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next steps`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`OneDrive knowledge base sync`,icon:`rotate`,href:`/integrations/microsoft-onedrive-knowledge-base`,children:_jsx(_components.p,{children:`Pick the files your agent answers from, and keep them re-syncing as they change.`})}),_jsx(Card,{title:`Integrations overview`,icon:`plug`,href:`/integrations/overview`,children:_jsx(_components.p,{children:`See every provider Retell connects to and how integration tools work.`})})]})]})}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":"Connect OneDrive","sidebarTitle":"Connect","description":"Connect Microsoft OneDrive to Retell AI with a read-only Microsoft sign-in, then sync OneDrive files into knowledge bases your agent answers from.","keywords":["Microsoft OneDrive integration","connect OneDrive","OneDrive for Business","OneDrive OAuth","Microsoft 365 knowledge base","voicebot knowledge base","AI assistant OneDrive"],"og:title":"Connect Microsoft OneDrive to Retell — read-only file access","og:description":"Sign in with Microsoft once to connect a personal or work OneDrive to Retell AI. Access is read-only, and Retell downloads only the files you add to a knowledge base.","href":"/integrations/microsoft-onedrive"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"When to use it","slug":"when-to-use-it","depth":2,"children":[]},{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Connect OneDrive","slug":"connect-onedrive","depth":2,"children":[]},{"title":"What you can pick","slug":"what-you-can-pick","depth":2,"children":[]},{"title":"How access works","slug":"how-access-works","depth":2,"children":[]},{"title":"FAQ","slug":"faq","depth":2,"children":[]},{"title":"Next steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/retellai/e3fe5c9b64f9e274/scroll-play-videos.js"],"subdomain":"retellai","siteName":"Retell AI","title":"Connect Microsoft OneDrive to Retell — read-only file access","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-08T00:05:41.127Z","originalFileLocation":"integrations/microsoft-onedrive.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=\"Connect Microsoft OneDrive to Retell AI with a read-only Microsoft sign-in, then sync OneDrive files into knowledge bases your agent answers from.\">\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=\"Connect Microsoft OneDrive to Retell — read-only file access\">\u003cmeta data-mint-head property=\"og:description\" content=\"Sign in with Microsoft once to connect a personal or work OneDrive to Retell AI. Access is read-only, and Retell downloads only the files you add to a knowledge base.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Retell AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.retellai.com/integrations/microsoft-onedrive\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://retellai.mintlify.app/_mintlify/api/og/v2?division=Microsoft+OneDrive\u0026amp;title=Connect+OneDrive\u0026amp;description=Connect+Microsoft+OneDrive+to+Retell+AI+with+a+read-only+Microsoft+sign-in%2C+then+sync+OneDrive+files+into+knowledge+bases+your+agent+answers+from.\u0026amp;theme=35696226f7b423b96c359dbf\u0026amp;signature=9434f01bb5321356c8dca628c032b9c4b73045d59e0f64ffd4493a208b84e6e3\">\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=\"Connect Microsoft OneDrive to Retell — read-only file access\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Sign in with Microsoft once to connect a personal or work OneDrive to Retell AI. Access is read-only, and Retell downloads only the files you add to a knowledge base.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://retellai.mintlify.app/_mintlify/api/og/v2?division=Microsoft+OneDrive\u0026amp;title=Connect+OneDrive\u0026amp;description=Connect+Microsoft+OneDrive+to+Retell+AI+with+a+read-only+Microsoft+sign-in%2C+then+sync+OneDrive+files+into+knowledge+bases+your+agent+answers+from.\u0026amp;theme=35696226f7b423b96c359dbf\u0026amp;signature=9434f01bb5321356c8dca628c032b9c4b73045d59e0f64ffd4493a208b84e6e3\">\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/integrations/microsoft-onedrive\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/microsoft-onedrive.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/integrations/microsoft-onedrive#webpage\",\"url\":\"https://docs.retellai.com/integrations/microsoft-onedrive\",\"name\":\"Connect OneDrive\",\"description\":\"Connect Microsoft OneDrive to Retell AI with a read-only Microsoft sign-in, then sync OneDrive files into knowledge bases your agent answers from.\",\"dateModified\":\"2026-09-08T00:05:41.127Z\",\"isPartOf\":{\"@id\":\"https://docs.retellai.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.retellai.com/integrations/microsoft-onedrive#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.retellai.com/integrations/microsoft-onedrive#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integrations\",\"item\":\"https://docs.retellai.com/integrations/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Knowledge Base\",\"item\":\"https://docs.retellai.com/integrations/google-drive\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Connect OneDrive\",\"item\":\"https://docs.retellai.com/integrations/microsoft-onedrive\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.retellai.com/integrations/microsoft-onedrive#article\",\"headline\":\"Connect OneDrive\",\"name\":\"Connect OneDrive\",\"description\":\"Connect Microsoft OneDrive to Retell AI with a read-only Microsoft sign-in, then sync OneDrive files into knowledge bases your agent answers from.\",\"url\":\"https://docs.retellai.com/integrations/microsoft-onedrive\",\"mainEntityOfPage\":{\"@id\":\"https://docs.retellai.com/integrations/microsoft-onedrive#webpage\"},\"dateModified\":\"2026-09-08T00:05:41.127Z\",\"keywords\":\"Microsoft OneDrive integration, connect OneDrive, OneDrive for Business, OneDrive OAuth, Microsoft 365 knowledge base, voicebot knowledge base, AI assistant OneDrive\",\"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\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","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","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","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"}]},{"group":"Customize the synthesized speech","pages":[{"title":"Choose a custom voice","href":"/build/voice"},{"title":"Platform voices","href":"/build/platform-voices"},{"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","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","description":"Sync Google Drive files into a Retell AI knowledge base: pick Docs and Sheets once, and changed files re-sync automatically on a 24-hour refresh cycle.","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","description":"Sync Microsoft OneDrive files into a Retell AI knowledge base: pick files in Microsoft's file picker, and changed files re-sync every 24 hours.","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":"Connect Microsoft OneDrive to Retell — read-only file access","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-Bpq2Z6jK.js","DynamicMarkdown-D5M2At0B.js","zoom-image-lightbox-DL4wrF0w.js","lightbox-handle-r17bVUz3.js"]}