Just like other services (Database, Pipelines, Dashboards, Messaging, and so on), it’s possible to create a Custom Drive Connector to bring metadata from a storage or file system-like service into Collate.This guide walks through how to implement your own Custom Drive Connector by extending the ingestion framework. The implementation pattern follows other service types closely, making the transition smooth for anyone familiar with the ecosystem.
This guide is based on a working example in the OpenMetadata Demos repository: link.
Watch Collate’s Webinar on Custom Connectors to get more context on how to build these integrations.
You need to yield CreateEntityRequest objects wrapped in an Either type. This pattern handles both successful entity creation and errors.Import necessary types:
To run your Custom Drive Connector inside Docker (for example, with Airflow or directly from the UI), the ingestion image must include your module.Dockerfile example:
This ensures that your code is baked into the ingestion container. Always align the ingestion image tag with the Collate version that is running your server/UI.
The Metadata Agent extracts directories, files, spreadsheets, and other structural metadata from your source and keeps your Collate catalog in sync. It powers discovery, lineage, and governance across your data assets.When you click Create & Deploy, Collate automatically deploys a Metadata Agent for this service and triggers the first ingestion run. View its status and run history from the Agents tab on the service detail page.To configure the additional Metadata Agent and schedule ingestion, follow these steps:
Navigate to Settings > Services and select the Drives service.
Select your service and click the Agents tab.
Click Add Agent and select Metadata from the dropdown.For some services, the dropdown is not available and clicking Add Agent takes you directly to the agent configuration page.
On the Configure Ingestion page, do the following and click Next.
Name this Ingestion: Enter a unique, recognizable name for this ingestion pipeline.
Agent Setup: Configure the core parameters for this agent. The following fields are available:
Field
Default
Description
Number of Threads
1
Number of threads to use for parallel drive ingestion.
Mark Deleted Directories
On
Soft-delete directories in Collate when they are removed from the source. Associated entities like files, spreadsheets, worksheets, and lineage are also deleted.
Mark Deleted Files
On
Soft-delete files in Collate when they are removed from the source. Associated entities like lineage are also deleted.
Mark Deleted Spreadsheets
On
Soft-delete spreadsheets in Collate when they are removed from the source. Associated entities like worksheets and lineage are also deleted.
Mark Deleted Worksheets
On
Soft-delete worksheets in Collate when they are removed from the source. Associated entities like lineage are also deleted.
Include Directories
On
Fetch directory metadata. Turn off to skip directories entirely.
Include Files
On
Fetch file metadata. Turn off to skip files entirely.
Include Spreadsheets
On
Fetch spreadsheet metadata. Turn off to skip spreadsheets entirely.
Include Worksheets
On
Fetch worksheet metadata. Turn off to skip worksheets entirely.
Filter Patterns: Apply include or exclude rules to scope which directories, files, spreadsheets, and worksheets this agent ingests. Use fully qualified name (FQN) filtering to apply a regular expression to fully qualified names (for example, service_name.directory_name.file_name) instead of raw names. These follow the same filter options described in Step 5.
Scope & Behaviour: Control what metadata to include and how to handle deletions. Toggle each option on or off based on your needs:
Toggle
Default
Description
Enable Debug Log
Off
Sets the ingestion log level to DEBUG. Useful for troubleshooting.
Include Tags
On
Ingest tags from the source.
Include Owners
Off
Assign owners from the source when the owner email matches a Collate user. Does not overwrite an existing owner.
Override Metadata
Off
When on, source values overwrite existing descriptions, tags, owners, and display names in Collate. A description or display name that the source doesn’t send never replaces an existing value. If the connector supplies custom properties, the values it sends are merged over the existing ones: properties the source sends overwrite, and properties it doesn’t send are kept. When off, Collate only updates fields that have no existing value.
On the Schedule Interval page, set when the agent runs:
Schedule: Choose a preset interval (Hourly, Daily, Weekly, Monthly) or enter a custom cron expression.
On-Demand: No automatic schedule. Trigger the agent manually when needed.
Click Add to deploy the agent.
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Collate Documentation","colors":{"primary":"#1570EF","light":"#1570EF","dark":"#1570EF"},"logo":"https://mintcdn.com/collatedocs/yvgGxaeRR5RwtQo6/public/images/icons/collate-logo.svg?fit=max\u0026auto=format\u0026n=yvgGxaeRR5RwtQo6\u0026q=85\u0026s=59d7983952a91cd53138369f2e21a5ac","favicon":"https://mintcdn.com/collatedocs/yvgGxaeRR5RwtQo6/public/images/icons/collate-monogram.svg?fit=max\u0026auto=format\u0026n=yvgGxaeRR5RwtQo6\u0026q=85\u0026s=a8507d257fb5cbd5ac2366790c55d8f7","api":{"mdx":{"auth":{"method":"bearer"},"server":"https://sandbox.open-metadata.org/api"}},"appearance":{"default":"light","strict":true},"navbar":{"links":[{"icon":"Headphones","href":"mailto:support@getcollate.io","label":"Support"},{"icon":"Book","href":"https://www.getcollate.io/blog","label":"Blogs"},{"href":"https://cloud.getcollate.io/","label":"Free Trial"}]},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/collateinc","x":"https://twitter.com/collatedata","youtube":"https://www.youtube.com/@CollateData"},"links":[{"items":[{"label":"Terms of Service","href":"https://www.getcollate.io/terms"},{"label":"Privacy Policy","href":"https://www.getcollate.io/privacypolicy"},{"label":"Trust Center","href":"https://trustcenter.getcollate.io/"},{"label":"Contact Us","href":"https://www.getcollate.io/contact-sales"}]}]},"seo":{"metatags":{"robots":"index,follow"}},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"ga4":{"measurementId":"GTM-554C968W"}},"interaction":{"drilldown":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"collatedocs","hasAudioNarration":false,"actualSubdomain":"collatedocs","customDomains":["docs.getcollate.io"],"gitSource":{"type":"github","owner":"open-metadata","repo":"docs-collate","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af4a0e1a92ed7cc8a4a1ee3","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Connectors","count":1744},{"language":"default","tag":"SDKs \u0026 APIs","count":626},{"language":"default","tag":"Database","count":414},{"language":"default","tag":"Data Governance","count":329},{"language":"default","tag":"Data Assets","count":316},{"language":"default","tag":"SDKs and APIs","count":313},{"language":"default","tag":"Collate APIs","count":285},{"language":"default","tag":"Data Quality \u0026 Observability","count":237},{"language":"default","tag":"Pipeline","count":164},{"language":"default","tag":"Guide for Data Users","count":160}]},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":true,"enableAskAiSearchBar":false,"deflection":{"enabled":true,"email":"support@getcollate.io","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"starterQuestions":[{"_id":"694587850a00f222af972838","deploymentId":"694583b20a00f222af96d417","questionText":"How to set up SSO?","status":"active","generatedBy":"manual","createdAt":"2025-12-19T17:12:37.423Z","updatedAt":"2025-12-19T17:12:37.423Z","__v":0},{"_id":"6945876e0a00f222af97266a","deploymentId":"694583b20a00f222af96d417","questionText":"How to use AskCollate?","status":"active","generatedBy":"manual","createdAt":"2025-12-19T17:12:14.884Z","updatedAt":"2025-12-19T17:12:14.884Z","__v":0},{"_id":"694587660a00f222af9725a6","deploymentId":"694583b20a00f222af96d417","questionText":"How to set up Snowflake?","status":"active","generatedBy":"manual","createdAt":"2025-12-19T17:12:06.575Z","updatedAt":"2025-12-19T17:12:06.575Z","__v":0}],"googleFontsInlined":false},"customCss":[{"filePath":"public/globals.css","content":"/* latin-ext */\n@font-face {\n font-family: 'DM Sans';\n font-style: italic;\n font-weight: 100 1000;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/dmsans/v17/rP2Fp2ywxg089UriCZa4ET-DNl0.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'DM Sans';\n font-style: italic;\n font-weight: 100 1000;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/dmsans/v17/rP2Fp2ywxg089UriCZa4Hz-D.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* latin-ext */\n@font-face {\n font-family: 'DM Sans';\n font-style: normal;\n font-weight: 100 1000;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/dmsans/v17/rP2Hp2ywxg089UriCZ2IHSeH.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'DM Sans';\n font-style: normal;\n font-weight: 100 1000;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/dmsans/v17/rP2Hp2ywxg089UriCZOIHQ.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n@tailwind base;@tailwind components;@tailwind utilities;:root{--top-nav-height: 70px;--main-nav-height: 42px;--side-nav-width: 288px;--side-nav-collapsed-width: 42px;--select-dropdown-default-height: 28px;--select-dropdown-default-width: 165px;--side-nav-width: min(20%, 300px);--api-side-nav-width: max(14%, 220px);--content-div-width: min(17%, 250px);--default-border-color: #dce3ec;--primary-color: #5469d4;--primary-shadow-color: #5469d433;--primary-background-color: rgba(84, 105, 212, 0.05);--select-background-color: #f4f7ff;--icon-background-color: #f1f3fe;--select-border-color: #e9eefc;--homepage-container-px: 130px;--default-text-color: rgb(60, 66, 87);--gray-text-color: rgba(60, 66, 87, 0.7);--white-color: #fff;--top-nav-color: #f7fafc;--code-background-color: #212d63;--code-gray-background-color: rgb(79, 86, 107);--code-light-background-color: #f7fafc;--code-toolbar-color: #212d63;--code-gray-toolbar-color: #3c4257;--code-light-toolbar-color: #ffffff;--code-light-border-color: #e3e8ee;--code-filename-color: #a4cdfe;--code-gray-filename-color: #dadce1;--code-light-filename-color: #f7fafc;--code-block-text-color: #f5fbff;--purple-bg-color: #7147e81a;--green-bg-color: #0084761a;--pink-bg-color: #b02aac1a;--purple-icon-color: #7147e8;--green-icon-color: #008376;--pink-icon-color: #b02aac;--beta-label-color: #0950C5;--beta-label-bg-color: #E4EEFF;--prod-label-color: #81C562;--prod-label-bg-color: #EEFBE7;--stable-label-color: #1890ff;--stable-label-bg-color: #e6f7ff;--connector-icon-bg-color: #F8F8F8;--green-tag-color: #43A047;--green-tag-bg-color: #43A0471A;--orange-tag-color: #FF7C50;--orange-tag-bg-color: #FF7C501A}body{font-family:\"DM Sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica,\n Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:var(--default-text-color);margin:0;font-size:16px;font-weight:400;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-weight:600;font-family:\"DM Sans\"}b,strong{font-weight:600}p{line-height:1.5em;margin:8px 0px 0px 0px;color:#414651}h1{font-size:36px;line-height:44px;color:#222244!important;margin-bottom:10px!important}h2{font-size:30px;line-height:38px}h3{font-size:24px;line-height:32px}h4{font-size:20px;line-height:30px}h5{font-size:18px;line-height:28px}h6{font-size:16px;line-height:24px}a{color:var(--primary-color);font-weight:500}li::marker{color:var(--primary-color)}ol{list-style:decimal;margin-top:16px;margin-left:16px}ol li::marker{color:var(--default-text-color)}li>ul{margin-top:0px;margin-left:16px}pre{border-radius:6px;background-color:var(--code-background-color)}pre,code{-ms-overflow-style:none;scrollbar-width:none}*::-webkit-scrollbar{display:none}*{scrollbar-width:none}pre::-webkit-scrollbar,code::-webkit-scrollbar{display:none}a.link{color:#004CD3;font-weight:600;text-decoration:none;border:none}a.link:hover{text-decoration:underline}.connector-tab{display:block;width:100%;text-align:start;padding:8px;cursor:pointer;border-radius:4px}.connector-tab:hover{background-color:var(--primary-background-color)}.active-connector{border:0.5px solid var(--select-border-color);background-color:var(--primary-background-color);color:var(--primary-color);font-weight:600}.divider{color:var(--default-border-color)}.icons{height:2rem;width:2rem}.cloud-button{border-radius:1rem;border:1px solid rgb(194, 128, 255);background-color:rgb(194, 128, 255)}.search-box{height:2.25rem;width:550px;border:1px solid #f4f4f4;border-radius:0.5rem;background-color:#f4f4f4;padding:4px 20px;color:#9e9d9d;display:flex;align-items:center}.search{width:90%;height:90%;border:none;background-color:#f4f4f4;outline:none}.overview-container{width:100vw;display:flex;flex-direction:column;justify-content:center;padding:50px 10%;background:#f4f7ff}.overview-heading{font-weight:700;font-size:22px;line-height:42px;margin-bottom:12px}.container-heading{font-weight:700;font-size:22px;line-height:42px;margin-bottom:40px}.cards-container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}.blogs-container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}.homepage-containers{padding:0px 10%;margin:80px 0px 0px 0px}#myUL{list-style-type:none;margin:0;padding:0}.nested{display:none}.active{display:block;color:var(--primary-color)}.DownArrow{display:none}.RightArrow{display:block}.highlightedCode{background-color:#1a2652}.page-404{height:calc(100vh - var(--top-nav-height) - var(--main-nav-height))}.content{flex-grow:0;flex-shrink:1}.non-collapsed-content{width:calc(100vw - var(--side-nav-width))}.collapsed-content{width:calc(100vw - var(--side-nav-collapsed-width))}.card-icon-container{padding:8px;width:fit-content;border-radius:10px}.card-purple-icon{background-color:var(--purple-bg-color);border:1px solid #7147e8}.card-green-icon{background-color:var(--green-bg-color);border:1px solid #008376}.card-pink-icon{background-color:var(--pink-bg-color);border:1px solid #b02aac}.nav-bar-container{position:sticky;top:0px;z-index:100}.min-width-600{min-width:600px}@media (max-width: 1240px){.blogs-container{grid-template-columns:1fr 1fr}}@media (max-width: 900px){.cards-container{grid-template-columns:1fr 1fr}.blogs-container{grid-template-columns:1fr}.overview-container{padding:20px 60px;width:100%}.homepage-containers{padding:20px 60px;margin:32px 0px 0px 0px}}@media (max-width: 600px){.cards-container{grid-template-columns:1fr}.non-collapsed-content{display:none}.collapsed-content{width:calc(100% - 41px)}}#header h1,#header p{display:none!important}.mdx-content{margin-top:0px!important}.api-page-container{display:grid;grid-template-columns:var(--api-side-nav-width) calc(100vw - var(--api-side-nav-width))}.hash-link{overflow:hidden;width:0px;height:0px;display:block;visibility:hidden;text-decoration:none;pointer-events:none;margin-top:-300px!important;padding-top:300px}.cookie-modal{position:fixed;bottom:0;background-color:#F8FBFC;z-index:20;padding:1rem;box-shadow:var(--shadow-card);transform:translateY(100%);transition:transform 1.2s ease-in-out, visibility 1.2s ease-in-out;visibility:hidden;border:1px solid rgb(201, 196, 196);border-radius:10px}.cookie-modal p{color:#292929;font-weight:300}.cookie-modal-buttons{margin-top:2rem;display:flex;gap:0.75rem;justify-content:flex-end}.button{border-radius:1.5rem;padding:0.5rem 2rem;font-size:0.875rem;cursor:pointer;border:none}.button-accept{background-color:#7147E8;color:white}.button-reject{background-color:white;color:#7147E8;border:1px solid #7147E8}@media (min-width: 640px){.cookie-modal{margin:1.25rem;max-width:36rem}}@media (min-width: 1024px){.cookie-modal{max-width:48rem}}.cookie-modal.visible{transform:translateY(0);visibility:visible}.brand-docs-banner{font-weight:500;padding:0px 8px;border-radius:12px;margin-top:16px;width:fit-content}.breadcrumb-item:first-child{display:none}.breadcrumb-item:last-of-type a{color:#414651;pointer-events:none;cursor:text;text-decoration:none}#page-loader{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(90deg, #3b82f6, #8b5cf6);z-index:9999;transition:width 0.3s ease}[data-component-part=\"version-select-trigger\"]{background:#EFF8FF!important;border:1.5px solid #B2DDFF!important;border-radius:100px!important;overflow:visible!important;padding:4px 14px!important;height:32px!important;font-weight:600!important;font-size:13px!important}[data-component-part=\"version-select-trigger\"]:hover{background:#E0F2FE!important;border-color:#7DD3FC!important}[data-component-part=\"version-select-trigger\"][data-state=\"open\"],[data-component-part=\"version-select-trigger\"][aria-expanded=\"true\"]{background:#DBEAFE!important;border-color:#93C5FD!important}[data-component-part=\"version-select-trigger\"] span{color:#026AA2!important;font-weight:600!important;max-width:none!important}[data-component-part=\"version-select-item\"]{border-radius:8px!important;font-size:13px!important;font-weight:500!important;padding:6px 12px!important;cursor:pointer!important}[data-component-part=\"version-select-item\"][data-state=\"checked\"],[data-component-part=\"version-select-item\"][aria-checked=\"true\"]{color:#1570EF!important;background:#EFF8FF!important;font-weight:600!important}#navbar .border-b{border:none}#navbar .nav-tabs{background-color:#FAFAFA;width:max-content;border:1px solid #EAECF5;border-radius:100px;margin:24px auto 4px;column-gap:16px;max-width:100%;overflow-x:auto;display:flex;flex-wrap:nowrap;justify-content:flex-start}#navbar .nav-tabs .nav-tabs-item{padding:12px 24px;font-size:16px;white-space:nowrap;flex-shrink:0;color:#414651;font-weight:500}@media (max-width: 1440px){#navbar .nav-tabs{column-gap:4px}#navbar .nav-tabs .nav-tabs-item{padding:10px 16px;font-size:15px}}#navbar .nav-tabs a[href^=\"/how-to-guides/\"]{display:none!important}#navbar .nav-tabs a[href^=\"/ai-2-0/how-to-guides/\"]{display:none!important}#navbar .nav-tabs .nav-tabs-item:hover{color:#181D27;text-decoration:none}#navbar .nav-tabs .nav-tabs-item .absolute{display:none!important}#navbar .nav-tabs .nav-tabs-item[data-active=\"true\"]{color:#1570EF;background-color:#EFF8FF;border:1.5px solid #B2DDFF;border-radius:100px;font-weight:600}#navbar .nav-tabs:has(a[href^=\"/how-to-guides/\"][data-active=\"true\"]) a.nav-tabs-item[href=\"/how-to-guides\"]{color:#1570EF;background-color:#EFF8FF;border:1.5px solid #B2DDFF;border-radius:100px;font-weight:600}body:has(.homepage-container) #navbar .nav-tabs .nav-tabs-item[data-active=\"true\"]:not([href=\"/\"]):not([href=\"/ai-2-0\"]){color:#414651;background-color:transparent;border:1.5px solid transparent;border-radius:0;font-weight:500;text-shadow:none}body:has(.homepage-container) #navbar .nav-tabs .nav-tabs-item[href=\"/\"],body:has(.homepage-container) #navbar .nav-tabs .nav-tabs-item[href=\"/ai-2-0\"]{color:#1570EF;background-color:#EFF8FF;border:1.5px solid #B2DDFF;border-radius:100px;font-weight:600;text-shadow:-0.2px 0 0 currentColor, 0.2px 0 0 currentColor}#navbar .h-10{height:auto!important}.navbar-link a{background-color:transparent;color:#535862;font-weight:600}.nav-logo{height:36px}.navbar-link a:hover{color:#181D27;background-color:transparent}.products-container h2{color:#222244;font-size:22px;font-weight:600}.card{border:none;box-shadow:0px 4px 12px -1px rgba(10, 13, 18, 0.08);transition:all 0.3s ease}.card>*{padding:20px;transition:all 0.3s ease}.card h2{color:#181D27;font-size:18px;line-height:20px}.card:hover{box-shadow:0px 3px 3px -1.5px #0A0D120A,\n 0px 8px 8px -4px #0A0D1208,\n 0px 20px 24px -4px #0A0D1214;transform:translateY(-2px)}.card:hover>*{padding:24px;margin:-4px}.connector-page .card [data-component-part=\"card-content-container\"]{position:relative}.card [data-component-part=\"card-icon\"]:has(>svg){background-color:#e6f1ff;padding:24px;border-radius:100%;display:inline-flex;align-items:center;justify-content:center}body:not(:has(.homepage-container)) .card [data-component-part=\"card-icon\"]{width:auto!important;height:auto!important;min-width:32px!important;min-height:32px!important;align-self:flex-start!important}body:not(:has(.homepage-container)) .card [data-component-part=\"card-icon\"] img{width:32px!important;height:32px!important;object-fit:contain;flex-shrink:0}.connector-page div[data-component-part=\"card-icon\"]{background-color:#F8F9FC;padding:16px;border-radius:100%;display:inline-flex;align-items:center;justify-content:center;width:auto!important;height:auto!important}.connector-page div[data-component-part=\"card-icon\"] svg,.connector-page div[data-component-part=\"card-icon\"] img{width:32px!important;height:32px!important;object-fit:contain;flex-shrink:0;position:relative;z-index:1}.prod-beta-chip{display:flex;gap:4px;font-size:10px;width:max-content;border-radius:100px;padding:0px 6px;font-weight:500;position:absolute;top:12px;right:12px}.prod-beta-chip.prod{color:#067647;background-color:#ECFDF3;border:1px solid #ABEFC6}.prod-beta-chip.beta{color:#175CD3;background-color:#EFF8FF;border:1px solid #B2DDFF}.prod-beta-chip img{margin:0px}.prod-beta-chip span{margin-top:-7px}#sidebar-content{border:none;top:132px!important;height:calc(100vh - 132px)!important}.sidebar-group-header{display:none}.my-2:has(ul.sidebar-group a[href^=\"/api-reference\"])>.sidebar-group-header,.my-2:has(ul.sidebar-group a[href*=\"/developer-guide/\"])>.sidebar-group-header{display:flex}.sidebar-group-header h5{color:#222244;font-size:14px;font-weight:600}#table-of-contents-content .toc-item a{color:#414651}#table-of-contents-content .toc-item a:hover{color:#414651;border-color:#D5D9EB}#table-of-contents-content .toc-item a.text-primary{color:#004CD3;border-color:#004CD3;font-weight:600}body:not(:has(.homepage-container)) .mdx-content h1,.products-container h1,.collate-ai-container h1{display:flex;flex-direction:column;align-items:flex-start;margin-top:0!important}body:not(:has(.homepage-container)) .mdx-content h1::before,.products-container h1::before,.collate-ai-container h1::before{content:\"Collate Documentation\";display:block;background-color:#F0F9FF;color:#0BA5EC;padding:4px 12px;border-radius:100px;font-size:14px;font-weight:600;line-height:1.5;margin-bottom:16px;width:fit-content;flex-shrink:0}h1.ConnectorName::before{position:absolute;top:-2px;left:0px}body:has(.homepage-container) #search-bar-entry,body:has(.homepage-container) #assistant-entry{display:none!important}.search-container{position:relative;margin-top:64px;display:flex;align-items:center;justify-content:center;width:100%;max-width:800px;margin-left:auto;margin-right:auto;padding:0px 6px}.homepage-search-input{width:100%;padding:18px 58px 18px 70px;border:2px solid #EAECF5;border-radius:100px;font-size:16px;color:#3C4257;cursor:pointer;transition:all 0.2s ease;box-sizing:border-box}.homepage-search-input::placeholder{color:#CECFD2;font-size:18px}.homepage-search-input:hover{background-color:#FFFFFF}.homepage-search-input:focus{outline:none;background-color:#FFFFFF;box-shadow:0 0 0 3px rgba(84, 105, 212, 0.1)}.ask-ai-icon-button{position:absolute;left:26px;top:12px;background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:20;pointer-events:auto}.ask-ai-icon{color:#9CA3AF;pointer-events:auto;width:40px!important;height:40px!important}.search-shortcut{position:absolute;right:20px;top:50%;transform:translateY(-50%);color:#9CA3AF;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;pointer-events:none;white-space:nowrap}.navbar-link:last-of-type a{background-color:#1570EF;color:white;border-radius:100px;display:flex;justify-content:center}.navbar-link:last-of-type a:hover{background-color:#0257cd}body:has(.how-to-guides-container) #sidebar-content,body:has(.sdk-container) #sidebar-content,body:has(.connector-page) #sidebar-content,body:has(.getting-started-container) #sidebar-content,body:has(.collate-ai-container) #sidebar-content{display:none}body:has(.how-to-guides-container) #content-container,body:has(.sdk-container) #content-container,body:has(.connector-page) #content-container,body:has(.getting-started-container) #content-container,body:has(.collate-ai-container) #content-container{max-width:1300px!important}.collate-ai-container{margin-top:10px}article iframe,.prose iframe{max-width:600px!important;width:100%!important;margin:0 auto!important;display:block!important;height:auto!important;aspect-ratio:16 / 9!important;border:none!important}@media (max-width: 1024px){.navbar-link:first-of-type{margin-top:20px}article iframe,.prose iframe{max-width:100%!important;width:100%!important;height:auto!important;aspect-ratio:16 / 9!important}}@media (max-width: 768px){article iframe,.prose iframe{max-width:100%!important;width:100%!important;margin:0!important;height:auto!important;aspect-ratio:16 / 9!important}}.card:not(:has([data-component-part=\"card-icon\"])){border:1px solid #EAECF5!important;background-color:#F8F9FC!important;box-shadow:none!important}.card.card:not(:has([data-component-part=\"card-icon\"])) h2{color:#004CD3;font-weight:500;font-size:20px;margin-bottom:12px;line-height:30px}.card.card:not(:has([data-component-part=\"card-icon\"])):hover h2{text-decoration:underline}.how-to-guides-container ul{list-style:none;padding-left:0}.how-to-guides-container ul li{padding-left:28px;position:relative;margin-bottom:8px}.how-to-guides-container ul li::before,.sdk-container ul li::before,.python-container ul li::before{content:'';position:absolute;left:0;top:6px;width:16px;height:16px;background-color:transparent;background-image:url(\"/public/images/icons/check-circle.svg\");background-size:contain;background-repeat:no-repeat}.sdk-container .card img{min-width:40px!important;width:40px!important;height:40px!important}.code-block,.code-block [data-component-part=\"code-block-root\"]{border:none!important;background-color:#3E444F!important;border-radius:16px!important;backdrop-filter:blur(40px)}.code-block pre,.code-block code,.code-block span{color:#E5E7EB!important;background-color:transparent!important}.code-block pre{background-color:transparent!important}.python-container{background-color:#FAFAFA;border-radius:12px;padding:6px 20px}.callout [data-component-part=\"callout-content\"]{color:#414651!important}@layer utilities{.callout [data-component-part=\"callout-content\"] a{color:var(--primary-color)!important}}.chat-assistant-floating-input{max-width:370px!important;margin-left:auto!important;margin-right:auto!important}div:has(>#chat-assistant-sheet){border:none}div:has(>#chat-assistant-sheet) .cursor-col-resize{display:none!important}#chat-assistant-sheet{margin-top:0.4rem!important;min-height:90%!important;border:1px solid #EAECF5;border-top-left-radius:24px;border-top-right-radius:24px;box-shadow:0px 2px 2px -1px #0A0D120A,\n 0px 4px 6px -2px #0A0D1208,\n 0px 12px 16px -4px #0A0D1214;background:#0A0D12;color:rgba(255, 255, 255, 0.9)}.chat-assistant-sheet-header span{color:rgba(255, 255, 255, 0.9)!important}.chat-assistant-sheet-header span.font-medium{font-size:0}.chat-assistant-sheet-header span.font-medium::before{content:\"Ask AI\";font-size:0.875rem;font-weight:600}.chat-assistant-sheet-header svg{width:16px;height:16px;color:rgba(255, 255, 255, 0.8)}#chat-assistant-textarea{background-color:#373A41;border-radius:100px;color:rgba(255, 255, 255, 0.9);padding:14px 48px 14px 16px;max-height:52px!important;overflow-y:auto}#chat-assistant-textarea::placeholder{color:rgba(255, 255, 255, 0.6)}.chat-assistant-send-button{width:32px!important;height:32px!important;top:50%!important;bottom:auto!important;transform:translateY(-50%);background-color:#2970FF}#chat-assistant-textarea~span{top:50%!important;bottom:auto!important;transform:translateY(-50%)}.chat-assistant-send-button:hover{background-color:#004EEB}.chat-assistant-send-button svg{width:16px;height:16px}div:has(>div>#chat-assistant-textarea){border:none!important;background-color:#373A41}#chat-content{margin-top:12px}#chat-content .rounded-2xl.bg-gray-100{background:#22262F!important}#chat-content button{color:rgba(255, 255, 255, 0.6)}#chat-content button[aria-label*=\"Vote\"]:hover,#chat-content button[aria-label=\"Copy chat response\"]:hover{color:#22262F}#chat-content .whitespace-pre-line,#chat-content li{color:rgba(255, 255, 255, 0.7)}#chat-content .rounded-2xl.bg-gray-100 .text-gray-800,#chat-content .rounded-2xl.bg-gray-100 div{color:#FFFFFFE5!important}#assistant-entry{margin-left:auto;border:2px solid #1570EF;background-color:transparent}#assistant-entry svg,#assistant-entry span{background:none;-webkit-text-fill-color:#1570EF;font-weight:600;color:#1570EF}#assistant-entry:hover{background:linear-gradient(45deg, #175CD3 0%, #1570EF 100%)}#assistant-entry:hover svg,#assistant-entry:hover span{background:none;-webkit-background-clip:unset;-webkit-text-fill-color:white;background-clip:unset;color:white}div:has(>#search-bar-entry):has(>#assistant-entry){flex-direction:row-reverse!important}div[data-component-part=\"code-group-tab-bar\"] p{margin-top:0px}table{width:100%;border-collapse:collapse;margin:16px 0;border:1px solid #EAECF5;border-radius:12px}table thead{background-color:#F8F9FC}table th{padding:12px 24px!important;text-align:left;font-weight:600;color:#181D27;border-bottom:2px solid #EAECF5}table td{padding:12px 24px!important;color:#414651;border-bottom:1px solid #EAECF5}table tr:last-child td{border-bottom:none}table tr:hover{background-color:#F8F9FC}.space-x-2>:not([hidden])~:not([hidden]){margin:0px}.header-logo{max-width:max-content;border-radius:32px 80px 0 0;background:#224;padding:9px 44px 10px 45px;display:flex;gap:20px;align-items:center}.header-logo .collate-logo{width:84px;height:14px}.header-logo .x-icon{width:18px;height:18px}.header-logo .om-logo{width:64px;height:25px}.collate-summit{margin:0px auto 72px;max-width:1200px;padding:20px}.summit-content{background-image:url('/public/images/banner-bg.png');background-size:100% 100%;background-position:center;background-repeat:no-repeat;border-radius:0px 20px 20px 20px;padding:28px 44px;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:24}.summit-content .summit-header{font-size:48px;font-weight:400;color:#224;line-height:52px}.summit-content p{color:#5816DC;margin-top:0px;margin-left:4px;font-size:28px;font-weight:600}.summit-content .explore-collate{background-color:#FBE200;color:black;font-size:18px;white-space:nowrap;padding:11px 20px;border-radius:6px;font-weight:600}.summit-content .explore-collate:hover{background-color:#dec908}.summit-content .explore-collate a{color:black;font-weight:600}@media (max-width: 768px){.summit-content{flex-direction:column;align-items:center;text-align:center;padding:48px 24px}}@media (max-width: 640px){.header-logo{padding:9px 36px 10px 24px}}"},{"filePath":"public/modal.css","content":".modal{position:fixed;left:0;top:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:all 0.3s ease-in-out;pointer-events:none;z-index:999}.modal.enter-done{opacity:1;pointer-events:visible}.modal.exit{opacity:0}.modal-content{margin:0 10px;width:600px;height:300px;background-color:var(--white-color);transition:all 0.3s ease-in-out;transform:translateY(-200px)}.modal.enter-done .modal-content{transform:translateY(0)}.modal.exit .modal-content{transform:translateY(-200px)}"},{"filePath":"snippets/components/CodePreview.css","content":".split-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0;align-items:start}@media (max-width: 768px){.split-layout{grid-template-columns:1fr;gap:1rem}}.code-content .code-block [data-component-part=\"code-block-root\"]{background-color:#0b1e3d!important}.content-panel{display:flex;flex-direction:column;gap:1.5rem;padding-right:1rem}.content-section{padding:0.5rem 1rem;border-left:2px solid transparent;border-radius:6px;cursor:pointer;position:relative;box-sizing:border-box;transition:background 0.25s ease,\n border-color 0.25s ease,\n box-shadow 0.25s ease}.content-section:hover{background:linear-gradient(\n 90deg,\n rgba(176, 176, 176, 0.08) 0%,\n rgba(176, 176, 176, 0.03) 100%\n );border-left-color:rgba(176, 176, 176, 0.5)}.content-section.active{background:linear-gradient(\n 90deg,\n rgba(176, 176, 176, 0.15) 0%,\n rgba(176, 176, 176, 0.05) 100%\n );border-left-color:#b0b0b0;box-shadow:0 2px 8px rgba(176, 176, 176, 0.1),\n inset 0 0 20px rgba(176, 176, 176, 0.05);color:rgb(63, 65, 69)}.content-section.active::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(\n 180deg,\n #c0c0c0 0%,\n #b0b0b0 50%,\n #a0a0a0 100%\n )}.content-section h4{margin:0 0 0.75rem 0;font-size:1rem;font-weight:600;color:#1a1a1a}.content-section p{margin:0.5rem 0;line-height:1.6;color:#4a4a4a}.content-section code{background:rgba(0, 0, 0, 0.05);padding:0.2em 0.4em;border-radius:3px;font-size:0.9em}.code-panel{position:sticky;top:calc(var(--navbar-height, 64px) + 6rem);height:calc(\n 100vh - var(--navbar-height, 64px) - 6rem\n );display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#1e1e1e;box-shadow:0 4px 6px rgba(0, 0, 0, 0.1)}.code-panel [data-component-part=\"code-block-root\"]{padding:0rem 1rem}.code-panel .code-block{margin:0}.code-header{display:flex;justify-content:space-between;align-items:center;padding:0.4rem 1rem;background:#0b1e3d;border-bottom:1px solid #404040;color:white;font-size:0.875rem;font-family:'Monaco', 'Menlo', 'Ubuntu Mono', monospace}.copy-btn{display:flex;align-items:center;gap:0.5rem;padding:0.375rem 0.75rem;background:transparent;border:1px solid #404040;border-radius:4px;color:#a0a0a0;cursor:pointer;transition:all 0.2s ease;font-size:0.875rem}.copy-btn:hover{background:#404040;border-color:#606060;color:#fff}.copy-btn svg{width:16px;height:16px}.copy-btn .icon-check{display:none}.copy-btn[data-copied=\"true\"] .icon-copy{display:none}.copy-btn[data-copied=\"true\"] .icon-check{display:block;color:#10b981}.code-content{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:auto;background:#0b1e3d;scroll-behavior:smooth;padding:14px 0px}.code-content::-webkit-scrollbar{width:8px;height:8px}.code-content::-webkit-scrollbar-track{background:#2d2d2d}.code-content::-webkit-scrollbar-thumb{background:#404040;border-radius:4px}.code-content::-webkit-scrollbar-thumb:hover{background:#606060}.code-content pre{margin:0;padding:0rem 1rem;background:transparent;color:#d4d4d4;font-family:'Monaco', 'Menlo', 'Ubuntu Mono', monospace;font-size:0.875rem;line-height:1.6;white-space:pre;word-wrap:normal;overflow-wrap:normal;position:relative}.code-content pre code{background:transparent;padding:0;color:inherit;font-size:inherit;border-radius:0;display:block;white-space:pre}.code-line{display:block;padding-left:1rem;padding-right:1rem;margin-left:-1rem;margin-right:-1rem;transition:all 0.2s ease;position:relative;white-space:pre;line-height:inherit;border-left:2px solid transparent}.code-line::after{content:'\\a';white-space:pre}.code-line.highlighted{background:rgba(200, 200, 200, 0.15)!important;border-left:2px solid #d0d0d0;padding-left:calc(1rem - 2px);min-height:1.5em}.code-line.highlighted::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:#d0d0d0;z-index:1}.code-line.highlighted+.code-line.highlighted{border-top:none}.code-line.highlighted:not(.code-line.highlighted+.code-line.highlighted){border-top-left-radius:4px}.code-line.highlighted:not(:has(+.code-line.highlighted)){border-bottom-left-radius:4px}.line-number{display:inline-block;min-width:2.5em;padding-right:1em;margin-right:0.5em;text-align:right;color:#858585;user-select:none;border-right:1px solid #404040}@media (prefers-color-scheme: dark){.content-section p{color:#c0c0c0}.content-section code{background:rgba(255, 255, 255, 0.1)}.code-panel{border-color:#404040}}@media (max-width: 768px){.code-panel{position:relative;top:0;max-height:400px}.split-layout{grid-template-columns:1fr}}.code-content [data-testid=\"copy-code-button\"]{display:none!important}.code-content #ask-ai-code-block-button{display:none!important}div[data-fade-overlay=\"true\"]{--fade-color-light: transparent !important;--fade-color-dark: transparent !important;display:none!important}:has([data-floating-buttons])>[data-component-part=code-block-root] pre>code{padding-right:0px!important}@media (max-width: 768px){.code-panel{position:relative;top:0;height:400px}}"},{"filePath":"snippets/components/ConnectorDetailsHeader/ConnectorDetailsHeader.css","content":".container{margin:48px 0px!important;display:flex;flex-direction:column;gap:6px}.Heading{display:flex;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--default-border-color)}.ConnectorName{font-size:32px;font-weight:700;margin-bottom:0px}.PlatformDetails{display:flex;align-items:center;gap:4px;font-size:14px;color:var(--gray-text-color)}.PlatformIcon{padding:4px;background-color:var(--connector-icon-bg-color);border:1px solid var(--default-border-color);border-radius:12px}.ImageContainer{background-color:var(--connector-icon-bg-color);padding:12px;border:1px solid var(--default-border-color);border-radius:28px}.IconContainer{background-color:#F8F9FC;padding:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;flex-shrink:0}.ConnectorIcon{width:32px!important;height:32px!important;object-fit:contain;display:block;margin:0}.FeaturesHeading{font-size:14px;color:var(--gray-text-color)}.SubHeading{display:flex;flex-direction:column;gap:8px}.FeaturesList{display:flex;flex-wrap:wrap;gap:12px}.FeatureTag{padding:4px 10px;font-size:12px;border-radius:14px;width:fit-content;display:flex;align-items:center;gap:4px}.AvailableFeature{color:var(--green-tag-color);border:1px solid var(--green-tag-color);background-color:var(--green-tag-bg-color)}.UnavailableFeature{color:var(--orange-tag-color);border:1px solid var(--orange-tag-color);background-color:var(--orange-tag-bg-color)}.StageBadge{font-size:10px;height:auto;color:var(--green-tag-color)}"},{"filePath":"snippets/components/ConnectorGrid/Integrations.css","content":".no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.integrations-section{padding:3rem 1rem 9rem;max-width:1300px;margin:0 auto}.integrations-card{background:#FAFAFA;border-radius:12px;border:1px solid #EAECF5;display:flex;height:660px;overflow:hidden;position:relative;padding:40px 40px 40px 0px}.integrations-mobile-header{display:none;width:100%;background:#ffffff;border-bottom:1px solid #d9daee;padding:32px;font-size:20px;justify-content:center;align-items:center;gap:12px;position:sticky;top:0;z-index:15;cursor:pointer}.arrow{transition:transform 0.3s ease}.arrow.open{transform:rotate(180deg)}.arrow-down{width:10px;height:10px}.integrations-sidebar{width:220px;border-right:1px solid #EAECF5;display:flex;flex-direction:column;position:sticky;top:0;z-index:5}.sidebar-item{display:block;width:100%;padding:12px 22px;font-size:16px;color:#535862;cursor:pointer;white-space:nowrap;flex-shrink:0;text-align:right;font-weight:500;border-right:2px solid transparent}.sidebar-item:hover{color:#414651;border-right:2px solid #D5D9EB}.sidebar-item.active{border-right:2px solid #004CD3;font-weight:600;color:#004CD3}.integrations-grid{flex:1;padding:20px 32px;overflow-y:auto;display:grid;gap:20px;align-content:flex-start}.integrations-grid.desktop{grid-template-columns:repeat(auto-fill, minmax(200px, 1fr))}.integrations-grid.mobile{display:none}.integration-card{max-height:110px;text-decoration:none;display:flex;align-items:center;gap:12px;background-color:white;box-shadow:0px 4px 12px -1px #0A0D1214;border-radius:12px;padding:12px 20px;box-sizing:border-box;transition:all 0.3s ease}.integration-card span{color:#181D27;font-weight:500;font-size:16px;line-height:120%}a.integration-card span:hover{text-decoration:none}a.integration-card:hover{box-shadow:0px 3px 3px -1.5px #0A0D120A,\n 0px 8px 8px -4px #0A0D1208,\n 0px 20px 24px -4px #0A0D1214;padding:16px 24px;margin:-4px;text-decoration:none;transform:translateY(-2px)}.integration-card img{width:32px;height:32px;object-fit:contain;flex-shrink:0}.load-more{grid-column:span 2;padding:24px;font-size:20px;background:#ffffff;border:none;cursor:pointer}@media (max-width: 1024px){.integrations-card{flex-direction:column;height:auto;padding:0px;overflow:auto}.integrations-mobile-header{display:flex}.integrations-sidebar{display:none;width:100%;position:absolute;top:98px;left:0;right:0;border-right:none;border-bottom:1px solid #d9daee;background:#ffffff;overflow-y:scroll}.integrations-sidebar.open{display:block}.sidebar-item{text-align:center}.sidebar-item.active{border-right:none}.integrations-grid.desktop{display:none}.integrations-grid.mobile{display:grid;grid-template-columns:repeat(2, 1fr);padding:24px}}"},{"filePath":"style.css","content":".homepage-container,.sdk-api-container{max-width:1440px;margin:0 auto;padding:0px 10px 40px}.collate-ai-iframe{margin:32px 0px 40px}.banner-content{padding:96px 0;background:radial-gradient(46.63% 44.4% at 50% 50%, rgba(201, 207, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%)}.page-header{color:#181D27!important;font-weight:600;font-size:56px;text-align:center;margin-top:24px}#header-highlight{background:linear-gradient(to top, #016AFB 0%, #00E0EE 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-description{text-align:center;color:#717680;font-size:20px;margin-top:20px}.header-description{font-size:18px;margin-top:16px}.chips{display:flex;justify-content:center;gap:24px;margin-top:24px}.chip{padding:8px 12px;border-radius:100px;box-shadow:0px 4px 12px -1px rgba(10, 13, 18, 0.08);display:flex;gap:12px;align-items:center;font-weight:500;width:max-content}.chip.blue{background:linear-gradient(93.13deg, #EBF9FF 0%, #ECF4FF 189.43%);color:#194185}.chip.blue:hover{background:linear-gradient(93.13deg, #E5F7FF 0%, #DDECFF 189.43%);color:#175CD3}.chip.purple{background-color:#F0F9FF;color:#0BA5EC;margin:0 auto;padding:8px 20px;box-shadow:none;font-size:14px}.release-banner{max-width:1300px;margin:0 auto;background:linear-gradient(135deg, rgba(195, 201, 252, 0.5) 0%, rgba(142, 234, 252, 0.5) 100%);padding:48px 100px;border-radius:24px}.banner-image{width:1200px;border:3px solid #BED2FB;border-radius:16px;box-shadow:0px 2px 2px -1px #0A0D120A,\n 0px 4px 6px -2px #0A0D1208,\n 0px 12px 16px -4px #0A0D1214}.release-banner-content{display:grid;grid-template-columns:repeat(2, 1fr);gap:50px;align-items:center}.release-banner-content h2{color:#181D27;font-weight:500;font-size:32px;margin-bottom:16px}.release-banner-content p{color:#414651;font-size:18px;margin-bottom:40px}.release-banner-content a{background-color:white;box-shadow:0px 2px 2px -1px #0A0D120A,\n 0px 4px 6px -2px #0A0D1208,\n 0px 12px 16px -4px #0A0D1214;padding:12px 24px;border-radius:99px;font-size:18px;font-weight:500;color:#131313}.release-banner-content a:hover{text-decoration:underline}.guides,.highlights,.quick-links{padding:48px 48px 96px}.guide-header{font-weight:500;font-size:40px;color:#181D27;text-align:center;margin-top:24px}.guide-list{display:grid;grid-template-columns:repeat(7, 1fr);gap:24px;margin:0 auto;margin-top:52px;max-width:100%}.guide-card{box-shadow:0px 4px 12px -1px rgba(10, 13, 18, 0.08);padding:20px;border-radius:20px;display:flex;flex-direction:column;align-items:center;color:#252B37;font-weight:500;font-size:18px;gap:16px;width:100%;transition:all 0.3s ease;text-align:center}.guide-card:hover{box-shadow:0px 20px 24px -4px #0A0D1214;transform:translateY(-4px);padding:24px;margin:-4px}a.guide-card img{width:80px!important;height:80px!important}.see-all{text-align:center;margin:64px auto 0px;color:#004CD3;font-size:18px;font-weight:500;box-shadow:0px 2px 2px -1px rgba(10, 13, 18, 0.04),\n 0px 4px 6px -2px rgba(10, 13, 18, 0.03),\n 0px 12px 16px -4px rgba(10, 13, 18, 0.08);width:max-content;padding:12px 24px;background-color:#EAF4FF;border-radius:100px}.see-all:hover{background-color:#CDE4FE;color:#1849A9}.highlight-cards{max-width:850px;display:grid;grid-template-columns:repeat(2, 1fr);gap:32px;margin:60px auto 0px}.highlight-card{box-shadow:0px 4px 12px -1px rgba(10, 13, 18, 0.08);padding:20px;border-radius:12px;transition:all 0.3s ease}.highlight-card p{font-size:18px;color:#717680}.highlight-card:hover{box-shadow:0px 3px 3px -1.5px rgba(10, 13, 18, 0.04),\n 0px 8px 8px -4px rgba(10, 13, 18, 0.03),\n 0px 20px 24px -4px rgba(10, 13, 18, 0.08);padding:24px;margin:-4px;transform:translateY(-2px)}.highlight-card .icon{width:48px!important;height:48px!important}.highlight-header{font-size:20px;font-weight:500;color:#181D27;margin-top:12px}.read-more{margin-top:20px;display:flex;gap:10px;align-items:center;color:#175CD3;font-weight:600}.highlight-card:hover .read-more{color:#1849A9}.read-more img{margin-top:2px}.links{margin:0 auto;margin-top:40px;max-width:80%;display:grid;grid-template-columns:repeat(3, 1fr);justify-items:center}.link-header{color:#181D27;display:flex;gap:10px;align-items:center;margin-bottom:16px}.link-header h3{font-size:20px;font-weight:500}.link-list{color:#175CD3;font-weight:500;display:flex;flex-direction:column;gap:12px}.link-list a:hover{text-decoration:underline;color:#1849A9}.collate-video{background:linear-gradient(135deg, rgba(195, 201, 252, 0.5) 0%, rgba(142, 234, 252, 0.5) 100%);border-radius:24px;max-width:90%;margin:32px auto 64px;padding:36px 80px}.video-content{display:grid;grid-template-columns:repeat(2, 1fr);align-items:center;gap:16px}.video-container{width:100%;max-width:600px;margin:20px auto;padding:0 16px;box-sizing:border-box}.video-container iframe{width:100%;height:auto;aspect-ratio:16 / 9;display:block;border-radius:20px;border:3px solid #BED2FB}.video{border-radius:20px;border:3px solid #BED2FB;max-width:100%;height:auto;box-shadow:0px 2px 2px -1px rgba(10, 13, 18, 0.04),\n 0px 4px 6px -2px rgba(10, 13, 18, 0.03),\n 0px 12px 16px -4px rgba(10, 13, 18, 0.08)}.video-chip{background-color:rgba(255, 255, 255, 0.4);width:max-content;padding:12px 8px;border-radius:24px;color:#0086C9;font-size:12px}.video-description{color:#414651;font-size:18px;max-width:90%}.product-demo{background-color:#0BA5EC;padding:8px 14px;color:white;border-radius:24px;margin-right:8px;font-size:12px}.video-header{text-align:left;margin-bottom:16px}.external-links{padding:36px 80px}.explore-container{display:grid;grid-template-columns:repeat(3, 1fr)}.explore-items{display:flex;gap:20px;width:100%}.explore-header{color:#252B37;font-size:24px;font-weight:600;letter-spacing:-2%}.explore-desc{font-size:18px;color:#717680;margin-top:4px}.explore-card{background-color:#F4F9FF;box-shadow:0px 4px 12px -8px #0026543D;padding:12px 20px;border-radius:12px;color:#535862;font-size:14px;font-weight:400;transition:all 0.3s ease}.explore-card:hover{box-shadow:0px 3px 3px -1.5px rgba(10, 13, 18, 0.04),\n 0px 8px 8px -4px rgba(10, 13, 18, 0.03),\n 0px 20px 24px -4px rgba(10, 13, 18, 0.08);padding:16px 24px;margin:-4px;transform:translateY(-2px)}.explore-card-header{display:flex;gap:10px}.explore-card-header div{color:#252B37;font-weight:500;font-size:18px}.home-footer{display:flex;justify-content:space-between;padding:36px 80px 0px;color:#717680}.home-footer-links{display:flex;gap:20px}.footer-link-name{color:#252B37;font-weight:400}.footer-link-name:hover{color:#181D27;text-decoration:underline}.home-footer-social{display:flex;gap:8px}.social-link{padding:4px 8px;border-radius:4px}.social-link:hover{background-color:#F8F9FC}.connector-page div[data-component-part=\"card-icon\"]{background-color:#F8F9FC;padding:21px 20px;border-radius:100%;display:inline-flex;align-items:center;justify-content:center}.connector-page div[data-component-part=\"card-icon\"]>*{position:relative;z-index:1}.connector-page .card [data-component-part=\"card-content-container\"]{padding:16px}.card-details{display:flex;gap:6px;align-items:center}.card-logo{width:20px;height:20px;margin:0px}.products-container{max-width:1150px;margin:0 auto;padding:60px 14px 40px}.products-container h1{font-size:30px!important}.products-container [data-as=\"p\"]:first-of-type{display:block;margin-bottom:40px}.product-cards{margin-top:16px;padding-bottom:48px}.product-cards .card [data-component-part=\"card-content\"]{margin-top:4px}.products-container .external-links{padding:64px 0px 36px}.products-container .home-footer{padding:36px 0px 0px}.sdk-api-container{padding:72px 0px;max-width:1300px}.sdk-api-container span[data-as=\"p\"]{display:block;margin-bottom:8px;color:#414651}.sdk-api-container a.link{color:#004CD3!important}.sdk-api-container h3{color:#222244;font-size:20px}.api-header{display:grid;grid-template-columns:repeat(2, 1fr);gap:40px;margin-top:16px;padding-bottom:56px;border-bottom:1px solid #EAECF5}.sdk-api-container .code-group{background-color:#515865}.sdk-api-container .code-group button{color:white!important;font-weight:600;font-size:14px}.sdk-api-container .code-group button .absolute{display:none}.sdk-api-container [data-component-part=\"code-block-root\"]{background-color:#3E444F!important}.sdk-api-container [data-component-part=\"code-block-root\"] pre,.sdk-api-container [data-component-part=\"code-block-root\"] pre .line span{color:white!important}.client-sdks{border:1px solid #E9EAEB;border-radius:8px}.client-header{color:#414651;font-weight:600;padding:24px 24px 0px;background-color:#FAFAFA;border-top-left-radius:8px;border-top-right-radius:8px}.client-sdks [role=\"tablist\"]{margin-bottom:0px!important;display:flex;justify-content:center;gap:100px}.client-sdks [data-component-part=\"tabs-list\"]{padding:10px 24px 0px;background-color:#FAFAFA}.client-sdks [data-active=\"true\"]{border-bottom:3px solid #1570EF}.client-sdks [data-active=\"false\"]{border-bottom:none}.client-sdks [data-component-part=\"tab-button\"]{display:flex;flex-direction:column;color:#181D27!important}.client-sdks [data-component-part=\"tab-button\"] img{width:40px;height:40px}.client-sdks [data-component-part=\"tab-content\"]{background-color:#F5F5F5;padding:10px 24px}.api-header-auth{display:grid;grid-template-columns:repeat(2, 1fr);gap:40px;padding-top:48px;padding-bottom:56px;border-bottom:1px solid #EAECF5}.api-header-auth h2{color:#222244;font-size:20px;font-weight:600;margin-bottom:12px}.sdk-api-container [data-component-part=\"code-group-tab-bar\"] div:first-child span{color:white!important;font-size:14px;font-weight:600;margin-left:8px}.sdk-api-container [data-component-part=\"code-group-tab-bar\"] [data-testid=\"copy-code-button\"] svg{color:white}.sdk-api-container [data-component-part=\"code-group-tab-bar\"] .group{background-color:#252B37;border:1px solid #5B626F;padding:4px;border-radius:4px;color:white}.sdk-api-container [data-component-part=\"code-group-tab-bar\"] .group div svg:first-of-type{display:none!important}.sdk-api-container [data-component-part=\"code-group-tab-bar\"] .group div p{color:white;margin:0px}.sdk-api-container [data-component-part=\"code-group-tab-bar\"] .group div:hover{background-color:transparent}@media (max-width: 1280px){.guide-list{grid-template-columns:repeat(3, 1fr)}.links{max-width:100%}.collate-video,.external-links,.home-footer{padding:32px 56px}.release-banner{padding:40px 52px}}@media (max-width: 1220px){.chips{display:grid;grid-template-columns:repeat(4, 1fr);max-width:auto;justify-items:center}}@media (max-width: 1024px){.release-banner-content{grid-template-columns:repeat(1, 1fr)}.release-banner h2{font-size:28px}.video-content{grid-template-columns:repeat(1, 1fr);gap:28px}.explore-container{grid-template-columns:repeat(1, 1fr);gap:32px}.home-footer{display:grid;grid-template-columns:repeat(3, 1fr);row-gap:20px}.collate-tm{grid-column:span 3/span 3}.home-footer-links{grid-column:span 2/span 2}.home-footer-social{justify-self:flex-end}}@media (max-width: 768px){.page-header{font-size:48px}.chips{grid-template-columns:repeat(2, 1fr);max-width:400px;margin:40px auto 0}.guide-list{grid-template-columns:repeat(2, 1fr)}.links{grid-template-columns:repeat(2, 1fr);justify-items:start;row-gap:40px}.video-container{padding:0 12px;margin:16px auto}.external-links,.home-footer{padding:24px}.home-footer-links{flex-direction:column}}@media (max-width: 640px){.chips{grid-template-columns:repeat(1, 1fr);max-width:auto;justify-items:center}.release-banner{padding:40px 20px}.guide-list{grid-template-columns:repeat(1, 1fr)}.highlight-cards{grid-template-columns:repeat(1, 1fr)}.links{grid-template-columns:repeat(1, 1fr)}.collate-video{padding:24px}.explore-items{flex-direction:column}}.chat-assistant-floating-input::before{display:none!important}"},{"filePath":"snippets/components/CodeLayout/CodeLayout.css","content":".code-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0;align-items:start;width:100%}.code-layout h2{margin-top:0px}.code-layout-sticky{position:-webkit-sticky;position:sticky;top:132px;align-self:flex-start;max-height:calc(100vh - 132px);overflow-y:auto;z-index:10}"},{"filePath":"ai-2-0/snippets/components/CodeLayout/CodeLayout.css","content":".code-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0;align-items:start;width:100%}.code-layout h2{margin-top:0px}.code-layout-sticky{position:-webkit-sticky;position:sticky;top:132px;align-self:flex-start;max-height:calc(100vh - 132px);overflow-y:auto;z-index:10}"},{"filePath":"ai-2-0/snippets/components/CodePreview.css","content":".split-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0;align-items:start}@media (max-width: 768px){.split-layout{grid-template-columns:1fr;gap:1rem}}.code-content .code-block [data-component-part=\"code-block-root\"]{background-color:#0b1e3d!important}.content-panel{display:flex;flex-direction:column;gap:1.5rem;padding-right:1rem}.content-section{padding:0.5rem 1rem;border-left:2px solid transparent;border-radius:6px;cursor:pointer;position:relative;box-sizing:border-box;transition:background 0.25s ease,\n border-color 0.25s ease,\n box-shadow 0.25s ease}.content-section:hover{background:linear-gradient(\n 90deg,\n rgba(176, 176, 176, 0.08) 0%,\n rgba(176, 176, 176, 0.03) 100%\n );border-left-color:rgba(176, 176, 176, 0.5)}.content-section.active{background:linear-gradient(\n 90deg,\n rgba(176, 176, 176, 0.15) 0%,\n rgba(176, 176, 176, 0.05) 100%\n );border-left-color:#b0b0b0;box-shadow:0 2px 8px rgba(176, 176, 176, 0.1),\n inset 0 0 20px rgba(176, 176, 176, 0.05);color:rgb(63, 65, 69)}.content-section.active::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(\n 180deg,\n #c0c0c0 0%,\n #b0b0b0 50%,\n #a0a0a0 100%\n )}.content-section h4{margin:0 0 0.75rem 0;font-size:1rem;font-weight:600;color:#1a1a1a}.content-section p{margin:0.5rem 0;line-height:1.6;color:#4a4a4a}.content-section code{background:rgba(0, 0, 0, 0.05);padding:0.2em 0.4em;border-radius:3px;font-size:0.9em}.code-panel{position:sticky;top:calc(var(--navbar-height, 64px) + 6rem);height:calc(\n 100vh - var(--navbar-height, 64px) - 6rem\n );display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#1e1e1e;box-shadow:0 4px 6px rgba(0, 0, 0, 0.1)}.code-panel [data-component-part=\"code-block-root\"]{padding:0rem 1rem}.code-panel .code-block{margin:0}.code-header{display:flex;justify-content:space-between;align-items:center;padding:0.4rem 1rem;background:#0b1e3d;border-bottom:1px solid #404040;color:white;font-size:0.875rem;font-family:'Monaco', 'Menlo', 'Ubuntu Mono', monospace}.copy-btn{display:flex;align-items:center;gap:0.5rem;padding:0.375rem 0.75rem;background:transparent;border:1px solid #404040;border-radius:4px;color:#a0a0a0;cursor:pointer;transition:all 0.2s ease;font-size:0.875rem}.copy-btn:hover{background:#404040;border-color:#606060;color:#fff}.copy-btn svg{width:16px;height:16px}.copy-btn .icon-check{display:none}.copy-btn[data-copied=\"true\"] .icon-copy{display:none}.copy-btn[data-copied=\"true\"] .icon-check{display:block;color:#10b981}.code-content{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:auto;background:#0b1e3d;scroll-behavior:smooth;padding:14px 0px}.code-content::-webkit-scrollbar{width:8px;height:8px}.code-content::-webkit-scrollbar-track{background:#2d2d2d}.code-content::-webkit-scrollbar-thumb{background:#404040;border-radius:4px}.code-content::-webkit-scrollbar-thumb:hover{background:#606060}.code-content pre{margin:0;padding:0rem 1rem;background:transparent;color:#d4d4d4;font-family:'Monaco', 'Menlo', 'Ubuntu Mono', monospace;font-size:0.875rem;line-height:1.6;white-space:pre;word-wrap:normal;overflow-wrap:normal;position:relative}.code-content pre code{background:transparent;padding:0;color:inherit;font-size:inherit;border-radius:0;display:block;white-space:pre}.code-line{display:block;padding-left:1rem;padding-right:1rem;margin-left:-1rem;margin-right:-1rem;transition:all 0.2s ease;position:relative;white-space:pre;line-height:inherit;border-left:2px solid transparent}.code-line::after{content:'\\a';white-space:pre}.code-line.highlighted{background:rgba(200, 200, 200, 0.15)!important;border-left:2px solid #d0d0d0;padding-left:calc(1rem - 2px);min-height:1.5em}.code-line.highlighted::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:#d0d0d0;z-index:1}.code-line.highlighted+.code-line.highlighted{border-top:none}.code-line.highlighted:not(.code-line.highlighted+.code-line.highlighted){border-top-left-radius:4px}.code-line.highlighted:not(:has(+.code-line.highlighted)){border-bottom-left-radius:4px}.line-number{display:inline-block;min-width:2.5em;padding-right:1em;margin-right:0.5em;text-align:right;color:#858585;user-select:none;border-right:1px solid #404040}@media (prefers-color-scheme: dark){.content-section p{color:#c0c0c0}.content-section code{background:rgba(255, 255, 255, 0.1)}.code-panel{border-color:#404040}}@media (max-width: 768px){.code-panel{position:relative;top:0;max-height:400px}.split-layout{grid-template-columns:1fr}}.code-content [data-testid=\"copy-code-button\"]{display:none!important}.code-content #ask-ai-code-block-button{display:none!important}div[data-fade-overlay=\"true\"]{--fade-color-light: transparent !important;--fade-color-dark: transparent !important;display:none!important}:has([data-floating-buttons])>[data-component-part=code-block-root] pre>code{padding-right:0px!important}@media (max-width: 768px){.code-panel{position:relative;top:0;height:400px}}"},{"filePath":"ai-2-0/snippets/components/ConnectorDetailsHeader/ConnectorDetailsHeader.css","content":".container{margin:48px 0px!important;display:flex;flex-direction:column;gap:6px}.Heading{display:flex;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--default-border-color)}.ConnectorName{font-size:32px;font-weight:700;margin-bottom:0px}.PlatformDetails{display:flex;align-items:center;gap:4px;font-size:14px;color:var(--gray-text-color)}.PlatformIcon{padding:4px;background-color:var(--connector-icon-bg-color);border:1px solid var(--default-border-color);border-radius:12px}.ImageContainer{background-color:var(--connector-icon-bg-color);padding:12px;border:1px solid var(--default-border-color);border-radius:28px}.IconContainer{background-color:#F8F9FC;padding:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;flex-shrink:0}.ConnectorIcon{width:32px!important;height:32px!important;object-fit:contain;display:block;margin:0}.FeaturesHeading{font-size:14px;color:var(--gray-text-color)}.SubHeading{display:flex;flex-direction:column;gap:8px}.FeaturesList{display:flex;flex-wrap:wrap;gap:12px}.FeatureTag{padding:4px 10px;font-size:12px;border-radius:14px;width:fit-content;display:flex;align-items:center;gap:4px}.AvailableFeature{color:var(--green-tag-color);border:1px solid var(--green-tag-color);background-color:var(--green-tag-bg-color)}.UnavailableFeature{color:var(--orange-tag-color);border:1px solid var(--orange-tag-color);background-color:var(--orange-tag-bg-color)}.StageBadge{font-size:10px;height:auto;color:var(--green-tag-color)}"},{"filePath":"ai-2-0/snippets/components/ConnectorFilter/ConnectorFilter.css","content":".connector-filter{--connector-filter-accent: #1570ef;position:sticky;top:0;z-index:20;margin:20px 0 28px;padding:16px;border:1px solid var(--default-border-color, #e5e7eb);border-radius:8px;background-color:var(--background-color, #fff);box-shadow:0 2px 8px rgba(15, 23, 42, 0.06)}.connector-filter-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.connector-filter-field{display:flex;flex-direction:column;gap:6px;flex:1 1 160px;min-width:140px}.connector-filter-search-field{flex:1 1 170px;min-width:140px}.connector-filter-field label{font-size:14px;font-weight:600;color:var(--default-text-color, #374151)}.connector-filter-search{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border:1px solid var(--select-border-color, #d1d5db);border-radius:6px;background-color:var(--background-color, #fff);color:var(--gray-text-color, #6b7280)}.connector-filter-search:focus-within{border-color:var(--connector-filter-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--connector-filter-accent) 20%, transparent)}.connector-filter-search svg{flex-shrink:0}.connector-filter-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:13px;color:var(--default-text-color, #111827)}.connector-filter-dropdown{position:relative}.connector-filter-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 10px;border:1px solid var(--select-border-color, #d1d5db);border-radius:6px;background-color:var(--background-color, #fff);color:var(--default-text-color, #111827);font-size:13px;cursor:pointer;text-align:left}.connector-filter-trigger:hover{border-color:var(--connector-filter-accent)}.connector-filter-trigger[aria-expanded=\"true\"]{border-color:var(--connector-filter-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--connector-filter-accent) 20%, transparent)}.connector-filter-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connector-filter-chevron{flex-shrink:0;color:var(--gray-text-color, #6b7280);transition:transform 0.15s ease}.connector-filter-chevron-open{transform:rotate(180deg);color:var(--connector-filter-accent)}.connector-filter-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;max-height:320px;overflow-y:auto;margin:0;padding:6px;list-style:none;border:1px solid var(--default-border-color, #e5e7eb);border-radius:8px;background-color:var(--background-color, #fff);box-shadow:0 8px 24px rgba(15, 23, 42, 0.12)}.connector-filter-menu li{list-style:none}.connector-filter-menu li::marker,.connector-filter-menu li::before{content:none}.connector-filter-menu li[role=\"option\"]{padding:7px 10px;border-radius:5px;font-size:13px;color:var(--default-text-color, #111827);cursor:pointer}.connector-filter-menu li[role=\"option\"]:hover{background-color:var(--primary-background-color, rgba(21, 112, 239, 0.08))}.connector-filter-menu li[role=\"option\"].active{background-color:var(--primary-background-color, rgba(21, 112, 239, 0.1));color:var(--connector-filter-accent);font-weight:600}.connector-filter-group-label{padding:6px 10px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--gray-text-color, #9ca3af)}.connector-filter-reset{flex-shrink:0;margin-left:auto;height:36px;padding:0 14px;border:1px solid var(--connector-filter-accent);border-radius:6px;background-color:transparent;color:var(--connector-filter-accent);font-size:13px;font-weight:600;cursor:pointer}.connector-filter-reset:hover{background-color:color-mix(in srgb, var(--connector-filter-accent) 10%, transparent)}"},{"filePath":"ai-2-0/snippets/components/ConnectorGrid/Integrations.css","content":".no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.integrations-section{padding:3rem 1rem 9rem;max-width:1300px;margin:0 auto}.integrations-card{background:#FAFAFA;border-radius:12px;border:1px solid #EAECF5;display:flex;height:660px;overflow:hidden;position:relative;padding:40px 40px 40px 0px}.integrations-mobile-header{display:none;width:100%;background:#ffffff;border-bottom:1px solid #d9daee;padding:32px;font-size:20px;justify-content:center;align-items:center;gap:12px;position:sticky;top:0;z-index:15;cursor:pointer}.arrow{transition:transform 0.3s ease}.arrow.open{transform:rotate(180deg)}.arrow-down{width:10px;height:10px}.integrations-sidebar{width:220px;border-right:1px solid #EAECF5;display:flex;flex-direction:column;position:sticky;top:0;z-index:5}.sidebar-item{display:block;width:100%;padding:12px 22px;font-size:16px;color:#535862;cursor:pointer;white-space:nowrap;flex-shrink:0;text-align:right;font-weight:500;border-right:2px solid transparent}.sidebar-item:hover{color:#414651;border-right:2px solid #D5D9EB}.sidebar-item.active{border-right:2px solid #004CD3;font-weight:600;color:#004CD3}.integrations-grid{flex:1;padding:20px 32px;overflow-y:auto;display:grid;gap:20px;align-content:flex-start}.integrations-grid.desktop{grid-template-columns:repeat(auto-fill, minmax(200px, 1fr))}.integrations-grid.mobile{display:none}.integration-card{max-height:110px;text-decoration:none;display:flex;align-items:center;gap:12px;background-color:white;box-shadow:0px 4px 12px -1px #0A0D1214;border-radius:12px;padding:12px 20px;box-sizing:border-box;transition:all 0.3s ease}.integration-card span{color:#181D27;font-weight:500;font-size:16px;line-height:120%}a.integration-card span:hover{text-decoration:none}a.integration-card:hover{box-shadow:0px 3px 3px -1.5px #0A0D120A,\n 0px 8px 8px -4px #0A0D1208,\n 0px 20px 24px -4px #0A0D1214;padding:16px 24px;margin:-4px;text-decoration:none;transform:translateY(-2px)}.integration-card img{width:32px;height:32px;object-fit:contain;flex-shrink:0}.load-more{grid-column:span 2;padding:24px;font-size:20px;background:#ffffff;border:none;cursor:pointer}@media (max-width: 1024px){.integrations-card{flex-direction:column;height:auto;padding:0px;overflow:auto}.integrations-mobile-header{display:flex}.integrations-sidebar{display:none;width:100%;position:absolute;top:98px;left:0;right:0;border-right:none;border-bottom:1px solid #d9daee;background:#ffffff;overflow-y:scroll}.integrations-sidebar.open{display:block}.sidebar-item{text-align:center}.sidebar-item.active{border-right:none}.integrations-grid.desktop{display:none}.integrations-grid.mobile{display:grid;grid-template-columns:repeat(2, 1fr);padding:24px}}"},{"filePath":"ai-2-0/snippets/components/ReleaseCarousel/ReleaseCarousel.css","content":".release-carousel{position:relative}.release-carousel-viewport{overflow:hidden}.release-carousel-content [data-as=\"p\"]{display:block;margin-bottom:24px;color:#344054;font-size:18px}.release-carousel-content [data-as=\"p\"] strong{color:#181D27;font-weight:700}.release-carousel-content a{display:inline-block}.release-carousel-title-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.release-carousel-content .release-carousel-title-row h2{margin:0}.release-carousel-eyebrow{display:inline-block;flex-shrink:0;background-color:#F0F9FF;color:#0BA5EC;padding:4px 14px;border-radius:100px;font-size:13px;font-weight:600;letter-spacing:0.02em;text-transform:uppercase}.release-carousel-content.slide-next{animation:release-carousel-slide-next 0.45s ease}.release-carousel-content.slide-prev{animation:release-carousel-slide-prev 0.45s ease}@keyframes release-carousel-slide-next{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}@keyframes release-carousel-slide-prev{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}.release-carousel-image{width:100%;max-width:1200px;display:block;border:3px solid #BED2FB;border-radius:16px;box-shadow:0px 2px 2px -1px #0A0D120A,\n 0px 4px 6px -2px #0A0D1208,\n 0px 12px 16px -4px #0A0D1214;cursor:zoom-in}.release-carousel-lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:40px;background-color:rgba(16, 24, 40, 0.85)}.release-carousel-lightbox-image{max-width:100%;max-height:100%;display:block;border-radius:12px;box-shadow:0px 12px 16px -4px #0A0D1214;cursor:default}.release-carousel-lightbox-close{position:absolute;top:24px;right:24px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255, 255, 255, 0.3);background-color:rgba(255, 255, 255, 0.1);color:white;cursor:pointer;transition:background-color 0.15s ease}.release-carousel-lightbox-close:hover{background-color:rgba(255, 255, 255, 0.2)}.release-carousel .carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid #BED2FB;background-color:white;color:#181D27;box-shadow:0px 2px 2px -1px #0A0D120A,\n 0px 4px 6px -2px #0A0D1208,\n 0px 12px 16px -4px #0A0D1214;cursor:pointer;transition:background-color 0.15s ease}.release-carousel .carousel-arrow:hover{background-color:#EFF4FF}.release-carousel .carousel-arrow-prev{left:16px}.release-carousel .carousel-arrow-next{right:16px}.release-carousel .carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:16px}.release-carousel .carousel-dot{width:8px;height:8px;border-radius:50%;border:none;background-color:#BED2FB;padding:0;cursor:pointer;transition:background-color 0.15s ease, transform 0.15s ease}.release-carousel .carousel-dot.active{background-color:#1570EF;transform:scale(1.2)}@media (max-width: 1024px){.release-carousel .carousel-arrow-prev{left:4px}.release-carousel .carousel-arrow-next{right:4px}}@media (max-width: 768px){.release-carousel .carousel-arrow{width:32px;height:32px}}"}],"page":{"pagePath":"connectors/drive/custom-drive","slug":"/connectors/drive/custom-drive","pageMetadata":{"title":"Custom Drive Connector | Build and Extend Custom Connectors Easily","description":"Learn how to create a Custom Drive Connector to ingest metadata from file system-like services into Collate using the ingestion framework.","slug":"/connectors/drive/custom-drive","sidebarTitle":"Overview","href":"/connectors/drive/custom-drive/index"},"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: \"Learn how to create a Custom Drive Connector to ingest metadata from file system-like services into Collate using the ingestion framework.\"\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`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedFrame,OptimizedImage,Table,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedFrame)_missingMdxReference(`OptimizedFrame`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`custom-drive-connector`,children:`Custom Drive Connector`}),`\n`,_jsxs(_components.p,{children:[`Just like other services (Database, Pipelines, Dashboards, Messaging, and so on), it’s possible to create a `,_jsx(_components.strong,{children:`Custom Drive Connector`}),` to bring metadata from a storage or file system-like service into Collate.`]}),`\n`,_jsx(_components.p,{children:`This guide walks through how to implement your own Custom Drive Connector by extending the ingestion framework. The implementation pattern follows other service types closely, making the transition smooth for anyone familiar with the ecosystem.`}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`This guide is based on a working example in the OpenMetadata Demos repository: `,_jsx(_components.a,{href:`https://github.com/open-metadata/openmetadata-demo/tree/main/custom-connector`,children:`link`}),`.`]})}),`\n`,_jsx(_components.p,{children:`Watch Collate’s Webinar on Custom Connectors to get more context on how to build these integrations.`}),`\n`,_jsx(OptimizedFrame,{width:`800`,height:`450`,src:`https://www.youtube.com/embed/fDUj30Ub9VE?si=h1F_tckA_45V2ux3`,title:`YouTube video player`,frameborder:`0`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share`,referrerpolicy:`strict-origin-when-cross-origin`,allowfullscreen:true}),`\n`,_jsx(Heading,{level:`2`,id:`steps-to-set-up-a-custom-drive-connector`,children:`Steps to Set Up a Custom Drive Connector`}),`\n`,_jsx(Heading,{level:`3`,id:`step-1-prepare-your-drive-connector`,children:`Step 1 - Prepare Your Drive Connector`}),`\n`,_jsx(_components.p,{children:`A Custom Drive Connector is a Python class that inherits from:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.ingestion.api.steps `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Source`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`It must implement required methods such as:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`prepare`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`_iter`})}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`test_connection`}),` (optional but recommended so the UI can validate access)`]}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`custom_drive`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`/`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` my_drive_connector.py`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Inside`}),` `,_jsx(_components.code,{children:`my_drive_connector.py`}),`, `,_jsx(_components.strong,{children:`define your class`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`class`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` MyDriveConnector`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Source`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`):`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` ...`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` def`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` _iter`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`):`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` ...`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`_iter`}),` is a generator that produces the `,_jsx(_components.code,{children:`CreateEntityRequest`}),` instances expected by the ingestion framework.`]})}),`\n`,_jsxs(_components.p,{children:[`For more information about the ingestion framework, see the `,_jsx(_components.a,{href:`/deployment/ingestion/external`,children:`external ingestion guide`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`step-2-yield-drive-data-as-entities`,children:`Step 2 - Yield Drive Data as Entities`}),`\n`,_jsxs(_components.p,{children:[`You need to yield `,_jsx(_components.code,{children:`CreateEntityRequest`}),` objects wrapped in an `,_jsx(_components.code,{children:`Either`}),` type. This pattern handles both successful entity creation and errors.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Import necessary types`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.ingestion.api.models `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Either, StackTraceError`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.api.data.createDirectory `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateDirectoryRequest`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.api.data.createFile `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateFileRequest`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.api.data.createSpreadsheet `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateSpreadsheetRequest`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.api.data.createWorksheet `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateWorksheetRequest`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Example usage`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`30`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`30`,children:[_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` directory `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.drive_client.list_directories():`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` try`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` yield`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Either(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` right`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`CreateDirectoryRequest(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`directory.name,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` description`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`directory.description,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` parent`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`directory.parent_fqn,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` href`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`directory.href,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` except`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Exception`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` exc:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` yield`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Either(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` left`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`StackTraceError(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Drive Directory Ingestion Error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` error`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(exc),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` stack_trace`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`traceback.format_exc(),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` file_metadata `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.drive_client.list_files():`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` yield`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Either(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` right`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`CreateFileRequest(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`file_metadata.name,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` description`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`file_metadata.description,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` fileFormats`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`file_metadata.file_formats,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` parent`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`file_metadata.parent_directory_fqn,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` size`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`file_metadata.size,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Extend the same pattern with `,_jsx(_components.code,{children:`CreateSpreadsheetRequest`}),` and `,_jsx(_components.code,{children:`CreateWorksheetRequest`}),` if your Drive service exposes those concepts.`]}),`\n`,_jsx(Heading,{level:`3`,id:`step-3-package-your-custom-drive-connector`,children:`Step 3 - Package Your Custom Drive Connector`}),`\n`,_jsxs(_components.p,{children:[`To use the connector, package it as a Python module. A minimal `,_jsx(_components.code,{children:`setup.py`}),` may look like:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` setuptools `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` setup, find_packages`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`setup(`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"custom_drive_connector\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` version`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0.1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` packages`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`find_packages(),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` install_requires`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Build the package`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`python`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` setup.py`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` sdist`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`step-4-update-the-ingestion-image`,children:`Step 4 - Update the Ingestion Image`}),`\n`,_jsx(_components.p,{children:`To run your Custom Drive Connector inside Docker (for example, with Airflow or directly from the UI), the ingestion image must include your module.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Dockerfile example`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`docker`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`docker`,children:_jsxs(_components.code,{language:`docker`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`FROM`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` openmetadata/ingestion:2.0.5`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`WORKDIR`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ingestion`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`USER`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` airflow`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`COPY`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` custom_drive custom_drive`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`COPY`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` setup.py .`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`RUN`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` pip install --no-deps .`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`This ensures that your code is baked into the ingestion container. Always align the ingestion image tag with the Collate version that is running your server/UI.`}),`\n`,_jsx(Heading,{level:`3`,id:`step-5-run-collate-with-custom-image`,children:`Step 5 - Run Collate with Custom Image`}),`\n`,_jsx(_components.p,{children:`If you’re using Docker Compose, update your setup to use the new image.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`make`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`make`,children:_jsxs(_components.code,{language:`make`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`run`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\tdocker compose -f docker-compose.yml up --build`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`step-6-configure-custom-drive-in-the-collate-ui`,children:`Step 6 - Configure Custom Drive in the Collate UI`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Navigate to `,_jsx(_components.strong,{children:`Settings`}),` > `,_jsx(_components.strong,{children:`Services`}),`, and select `,_jsx(_components.strong,{children:`Drive`}),` service.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Add New Service`}),` and select `,_jsx(_components.strong,{children:`Custom`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Enter your Source Python Class as:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`custom_drive.my_drive_connector.MyDriveConnector`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),`\n`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Ensure the full module path is specified so Collate can import the connector.`}),`\n`,_jsx(Heading,{level:`2`,id:`configure-metadata-agent-and-schedule-ingestion`,children:`Configure Metadata Agent and Schedule Ingestion`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Metadata Agent`}),` extracts directories, files, spreadsheets, and other structural metadata from your source and keeps your Collate catalog in sync. It powers discovery, lineage, and governance across your data assets.`]}),`\n`,_jsxs(_components.p,{children:[`When you click `,_jsx(_components.strong,{children:`Create \u0026 Deploy`}),`, Collate automatically deploys a Metadata Agent for this service and triggers the first ingestion run. View its status and run history from the `,_jsx(_components.strong,{children:`Agents`}),` tab on the service detail page.`]}),`\n`,_jsx(_components.p,{children:`To configure the additional Metadata Agent and schedule ingestion, follow these steps:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Navigate to `,_jsx(_components.strong,{children:`Settings`}),` > `,_jsx(_components.strong,{children:`Services`}),` and select the `,_jsx(_components.strong,{children:`Drives`}),` service.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Select your service and click the `,_jsx(_components.strong,{children:`Agents`}),` tab.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Add Agent`}),` and select `,_jsx(_components.strong,{children:`Metadata`}),` from the dropdown.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/add-metadata-agent.png?fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=accad7d1c4ddf209781bff851d51d464`,alt:`Add Metadata Agent`,\"data-og-width\":`2398`,width:`2398`,\"data-og-height\":`1144`,height:`1144`,\"data-path\":`public/images/ai-2.0/connectors/metadata-ingestion/add-metadata-agent.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/add-metadata-agent.png?w=280\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=5dd44ba435bfeceaac84230d7264bbb7 280w, https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/add-metadata-agent.png?w=560\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=e12f79a7373a46d04c36efa093be483d 560w, https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/add-metadata-agent.png?w=840\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=12950eeae4d2cd9426638f175af8b0fe 840w, https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/add-metadata-agent.png?w=1100\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=7486cc2baf8d72718c07bb3dac96f46e 1100w, https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/add-metadata-agent.png?w=1650\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=0e364bcd336536ae5930b8346e9d084d 1650w, https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/add-metadata-agent.png?w=2500\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=fde1825dbe05f0280ad8bdc4a5b1be2d 2500w`}),`\n`,_jsxs(_components.p,{children:[`For some services, the dropdown is not available and clicking `,_jsx(_components.strong,{children:`Add Agent`}),` takes you directly to the agent configuration page.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`On the `,_jsx(_components.strong,{children:`Configure Ingestion`}),` page, do the following and click `,_jsx(_components.strong,{children:`Next`}),`.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Name this Ingestion`}),`: Enter a unique, recognizable name for this ingestion pipeline.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/metadata-agent-name.png?fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=d5ec1f0f3742cadab8cd54c602c97239`,alt:`Name this Ingestion`,\"data-og-width\":`1578`,width:`1578`,\"data-og-height\":`644`,height:`644`,\"data-path\":`public/images/ai-2.0/connectors/metadata-ingestion/metadata-agent-name.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/metadata-agent-name.png?w=280\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=8c9726beb9254f2e85812bf763fd98f1 280w, https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/metadata-agent-name.png?w=560\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=2b18fb762c382687a512bf9248da4517 560w, https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/metadata-agent-name.png?w=840\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=76d14c21296ecbc014bcdf38ac64c18b 840w, https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/metadata-agent-name.png?w=1100\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=28bdf6284e38e5462a9473e86d897e29 1100w, https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/metadata-agent-name.png?w=1650\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=011cb42c178a72fefb1b147555e7b639 1650w, https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/metadata-agent-name.png?w=2500\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=ef78049f242030d5e4c08f05c19aa46f 2500w`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Agent Setup`}),`: Configure the core parameters for this agent. The following fields are available:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Number of Threads`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`1`}),_jsx(_components.td,{children:`Number of threads to use for parallel drive ingestion.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Mark Deleted Directories`}),_jsx(_components.td,{children:`On`}),_jsx(_components.td,{children:`Soft-delete directories in Collate when they are removed from the source. Associated entities like files, spreadsheets, worksheets, and lineage are also deleted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Mark Deleted Files`}),_jsx(_components.td,{children:`On`}),_jsx(_components.td,{children:`Soft-delete files in Collate when they are removed from the source. Associated entities like lineage are also deleted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Mark Deleted Spreadsheets`}),_jsx(_components.td,{children:`On`}),_jsx(_components.td,{children:`Soft-delete spreadsheets in Collate when they are removed from the source. Associated entities like worksheets and lineage are also deleted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Mark Deleted Worksheets`}),_jsx(_components.td,{children:`On`}),_jsx(_components.td,{children:`Soft-delete worksheets in Collate when they are removed from the source. Associated entities like lineage are also deleted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Include Directories`}),_jsx(_components.td,{children:`On`}),_jsx(_components.td,{children:`Fetch directory metadata. Turn off to skip directories entirely.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Include Files`}),_jsx(_components.td,{children:`On`}),_jsx(_components.td,{children:`Fetch file metadata. Turn off to skip files entirely.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Include Spreadsheets`}),_jsx(_components.td,{children:`On`}),_jsx(_components.td,{children:`Fetch spreadsheet metadata. Turn off to skip spreadsheets entirely.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Include Worksheets`}),_jsx(_components.td,{children:`On`}),_jsx(_components.td,{children:`Fetch worksheet metadata. Turn off to skip worksheets entirely.`})]})]})]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-agent-setup.png?fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=8a132a356d8ea3314299b648265a253c`,alt:`Agent Setup`,\"data-og-width\":`1530`,width:`1530`,\"data-og-height\":`1558`,height:`1558`,\"data-path\":`public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-agent-setup.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-agent-setup.png?w=280\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=9db3e1c2a848e662179c17ca57102fef 280w, https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-agent-setup.png?w=560\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=3b137d080ef1256c46388372c5706cde 560w, https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-agent-setup.png?w=840\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=9c6906a45ec948d2a558d5eeb32dda04 840w, https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-agent-setup.png?w=1100\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=cbc96d159975c774b495bae757c402ef 1100w, https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-agent-setup.png?w=1650\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=08afe52622def4d03d54f6bcc62349f8 1650w, https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-agent-setup.png?w=2500\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=2465e5a1e79e74b3341f16682836e108 2500w`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Filter Patterns`}),`: Apply include or exclude rules to scope which directories, files, spreadsheets, and worksheets this agent ingests. Use fully qualified name (FQN) filtering to apply a regular expression to fully qualified names (for example, `,_jsx(_components.code,{children:`service_name.directory_name.file_name`}),`) instead of raw names. These follow the same filter options described in `,_jsx(_components.strong,{children:`Step 5`}),`.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-filter-pattern.png?fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=1337b9f82862926e08662b4f1fb0013b`,alt:`Filter Patterns`,\"data-og-width\":`1570`,width:`1570`,\"data-og-height\":`1040`,height:`1040`,\"data-path\":`public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-filter-pattern.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-filter-pattern.png?w=280\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=e61866efc6d3cd832b7f6080d984ce3e 280w, https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-filter-pattern.png?w=560\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=72ec0c3a14dd104d9dffcb3d0024fb3f 560w, https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-filter-pattern.png?w=840\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=d9f2a51a06d857fad27f7e792b2351f0 840w, https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-filter-pattern.png?w=1100\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=fd1ad0ee0b903b1df8fec82397b24b03 1100w, https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-filter-pattern.png?w=1650\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=2604e88ab540f5f832e7fb51296a1b50 1650w, https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-filter-pattern.png?w=2500\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=f9955482c45ffb392873e50e16947860 2500w`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Scope \u0026 Behaviour`}),`: Control what metadata to include and how to handle deletions. Toggle each option on or off based on your needs:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Toggle`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Enable Debug Log`}),_jsx(_components.td,{children:`Off`}),_jsx(_components.td,{children:`Sets the ingestion log level to DEBUG. Useful for troubleshooting.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Include Tags`}),_jsx(_components.td,{children:`On`}),_jsx(_components.td,{children:`Ingest tags from the source.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Include Owners`}),_jsx(_components.td,{children:`Off`}),_jsx(_components.td,{children:`Assign owners from the source when the owner email matches a Collate user. Does not overwrite an existing owner.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Override Metadata`}),_jsx(_components.td,{children:`Off`}),_jsx(_components.td,{children:`When on, source values overwrite existing descriptions, tags, owners, and display names in Collate. A description or display name that the source doesn’t send never replaces an existing value. If the connector supplies custom properties, the values it sends are merged over the existing ones: properties the source sends overwrite, and properties it doesn’t send are kept. When off, Collate only updates fields that have no existing value.`})]})]})]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-scope-behaviour.png?fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=508c5978a32083dabbc5443f2a1ec4b4`,alt:`Scope \u0026 Behaviour`,\"data-og-width\":`1562`,width:`1562`,\"data-og-height\":`894`,height:`894`,\"data-path\":`public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-scope-behaviour.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-scope-behaviour.png?w=280\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=3411f6ce123e01a207b1129be90e2aae 280w, https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-scope-behaviour.png?w=560\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=1da374b43919c4df0046982a2b28b381 560w, https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-scope-behaviour.png?w=840\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=105c1b25b587a19f2d979a367421bdc5 840w, https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-scope-behaviour.png?w=1100\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=8bbf96335660782946f8f02740585be2 1100w, https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-scope-behaviour.png?w=1650\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=7d91881f62b4aa74ba3bd8adb4a06228 1650w, https://mintcdn.com/collatedocs/tVR0kaoXvgs3p2Wx/public/images/ai-2.0/connectors/metadata-ingestion/Drive/drive-scope-behaviour.png?w=2500\u0026fit=max\u0026auto=format\u0026n=tVR0kaoXvgs3p2Wx\u0026q=85\u0026s=21abd35096b257fa66bdd173d75e0248 2500w`}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`On the `,_jsx(_components.strong,{children:`Schedule Interval`}),` page, set when the agent runs:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Schedule`}),`: Choose a preset interval (Hourly, Daily, Weekly, Monthly) or enter a custom cron expression.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`On-Demand`}),`: No automatic schedule. Trigger the agent manually when needed.`]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/schedule.png?fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=25cc1d78f6f2a8bd115830d034d1d8d1`,alt:`Schedule Interval`,\"data-og-width\":`1588`,width:`1588`,\"data-og-height\":`1044`,height:`1044`,\"data-path\":`public/images/ai-2.0/connectors/metadata-ingestion/schedule.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/schedule.png?w=280\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=47a0efda46c158378df3a9e4f9b1c2ba 280w, https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/schedule.png?w=560\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=4ede80735b78422dfdca53f9f1432be9 560w, https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/schedule.png?w=840\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=c666190f7fbdab0cf3058d2afcb219ca 840w, https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/schedule.png?w=1100\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=736b9cc450ec376e50e3c7f966488373 1100w, https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/schedule.png?w=1650\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=6fda888d0a139760e7975d067cd307c8 1650w, https://mintcdn.com/collatedocs/bv5oe4uRjuorTJO1/public/images/ai-2.0/connectors/metadata-ingestion/schedule.png?w=2500\u0026fit=max\u0026auto=format\u0026n=bv5oe4uRjuorTJO1\u0026q=85\u0026s=322e33466a7fe82528fbc00ea82106a4 2500w`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Add`}),` to deploy the agent.`]}),`\n`]}),`\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":{"config":{},"pageMetadata":{"title":"Custom Drive Connector | Build and Extend Custom Connectors Easily","description":"Learn how to create a Custom Drive Connector to ingest metadata from file system-like services into Collate using the ingestion framework.","slug":"/connectors/drive/custom-drive","sidebarTitle":"Overview","href":"/connectors/drive/custom-drive/index"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Custom Drive Connector","slug":"custom-drive-connector","depth":1,"children":[]},{"title":"Steps to Set Up a Custom Drive Connector","slug":"steps-to-set-up-a-custom-drive-connector","depth":2,"children":[{"title":"Step 1 - Prepare Your Drive Connector","slug":"step-1-prepare-your-drive-connector","depth":3,"children":[]},{"title":"Step 2 - Yield Drive Data as Entities","slug":"step-2-yield-drive-data-as-entities","depth":3,"children":[]},{"title":"Step 3 - Package Your Custom Drive Connector","slug":"step-3-package-your-custom-drive-connector","depth":3,"children":[]},{"title":"Step 4 - Update the Ingestion Image","slug":"step-4-update-the-ingestion-image","depth":3,"children":[]},{"title":"Step 5 - Run Collate with Custom Image","slug":"step-5-run-collate-with-custom-image","depth":3,"children":[]},{"title":"Step 6 - Configure Custom Drive in the Collate UI","slug":"step-6-configure-custom-drive-in-the-collate-ui","depth":3,"children":[]}]},{"title":"Configure Metadata Agent and Schedule Ingestion","slug":"configure-metadata-agent-and-schedule-ingestion","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/collatedocs/193c43da98baa789/loader.js"],"subdomain":"collatedocs","siteName":"Collate Documentation","title":"Custom Drive Connector | Build and Extend Custom Connectors Easily - Collate Documentation","navMaps":{"firstHrefInVersion":{"AI 2.0":{"href":"/ai-2-0/connectors","matchLevel":2},"Classic":{"href":"/connectors/api/index","matchLevel":2}},"firstHrefInLanguage":{}},"lastModified":"2026-11-05T09:37:45.574Z","originalFileLocation":"connectors/drive/custom-drive/index.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";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=\"light\"}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=\"Learn how to create a Custom Drive Connector to ingest metadata from file system-like services into Collate using the ingestion framework.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Collate Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index,follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/collatedocs/Wy3ST-458y16Xhek/_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/collatedocs/Wy3ST-458y16Xhek/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/collatedocs/Wy3ST-458y16Xhek/_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/collatedocs/Wy3ST-458y16Xhek/_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/collatedocs/Wy3ST-458y16Xhek/_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/collatedocs/Wy3ST-458y16Xhek/_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/collatedocs/Wy3ST-458y16Xhek/_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/collatedocs/Wy3ST-458y16Xhek/_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/collatedocs/Wy3ST-458y16Xhek/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Custom Drive Connector | Build and Extend Custom Connectors Easily - Collate Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to create a Custom Drive Connector to ingest metadata from file system-like services into Collate using the ingestion framework.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Collate Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.getcollate.io/connectors/drive/custom-drive\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://collatedocs.mintlify.site/_mintlify/api/og/v2?division=Custom+Drive\u0026amp;title=Custom+Drive+Connector+%7C+Build+and+Extend+Custom+Connectors+Easily\u0026amp;description=Learn+how+to+create+a+Custom+Drive+Connector+to+ingest+metadata+from+file+system-like+services+into+Collate+using+the+ingestion+framework.\u0026amp;theme=1b066d8b17e8e32af494b9f2\u0026amp;signature=06bad321f34c6d9d692244f1096e5164633f318f2e420c6dc6f13a806e3ca99f\">\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=\"Custom Drive Connector | Build and Extend Custom Connectors Easily - Collate Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to create a Custom Drive Connector to ingest metadata from file system-like services into Collate using the ingestion framework.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://collatedocs.mintlify.site/_mintlify/api/og/v2?division=Custom+Drive\u0026amp;title=Custom+Drive+Connector+%7C+Build+and+Extend+Custom+Connectors+Easily\u0026amp;description=Learn+how+to+create+a+Custom+Drive+Connector+to+ingest+metadata+from+file+system-like+services+into+Collate+using+the+ingestion+framework.\u0026amp;theme=1b066d8b17e8e32af494b9f2\u0026amp;signature=06bad321f34c6d9d692244f1096e5164633f318f2e420c6dc6f13a806e3ca99f\">\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/collatedocs/Wy3ST-458y16Xhek/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Collate Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1570EF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.getcollate.io/connectors/drive/custom-drive\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/connectors/drive/custom-drive.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.getcollate.io/#organization\",\"name\":\"Collate Documentation\",\"url\":\"https://docs.getcollate.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/collatedocs/yvgGxaeRR5RwtQo6/public/images/icons/collate-logo.svg?fit=max\u0026auto=format\u0026n=yvgGxaeRR5RwtQo6\u0026q=85\u0026s=59d7983952a91cd53138369f2e21a5ac\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.getcollate.io#website\",\"name\":\"Collate Documentation\",\"url\":\"https://docs.getcollate.io\",\"publisher\":{\"@id\":\"https://docs.getcollate.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.getcollate.io/connectors/drive/custom-drive#webpage\",\"url\":\"https://docs.getcollate.io/connectors/drive/custom-drive\",\"name\":\"Custom Drive Connector | Build and Extend Custom Connectors Easily\",\"description\":\"Learn how to create a Custom Drive Connector to ingest metadata from file system-like services into Collate using the ingestion framework.\",\"dateModified\":\"2026-11-05T09:37:45.574Z\",\"isPartOf\":{\"@id\":\"https://docs.getcollate.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.getcollate.io/connectors/drive/custom-drive#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.getcollate.io/connectors/drive/custom-drive#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Connectors\",\"item\":\"https://docs.getcollate.io/connectors/api\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Drive\",\"item\":\"https://docs.getcollate.io/connectors/drive\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Custom Drive Connector | Build and Extend Custom Connectors Easily\",\"item\":\"https://docs.getcollate.io/connectors/drive/custom-drive\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.getcollate.io/connectors/drive/custom-drive#article\",\"headline\":\"Custom Drive Connector | Build and Extend Custom Connectors Easily\",\"name\":\"Custom Drive Connector | Build and Extend Custom Connectors Easily\",\"description\":\"Learn how to create a Custom Drive Connector to ingest metadata from file system-like services into Collate using the ingestion framework.\",\"url\":\"https://docs.getcollate.io/connectors/drive/custom-drive\",\"mainEntityOfPage\":{\"@id\":\"https://docs.getcollate.io/connectors/drive/custom-drive#webpage\"},\"dateModified\":\"2026-11-05T09:37:45.574Z\",\"publisher\":{\"@id\":\"https://docs.getcollate.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.getcollate.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Collate Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Collate Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/connectors/drive/custom-drive.md","siteName":"Collate Documentation","nav":{"global":null,"versions":[{"version":"AI 2.0","default":true,"pages":[{"title":"AI 2.0","href":"/ai-2-0/connectors"}]},{"version":"Classic","tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/classic"}]},{"tab":"Release 2.0","pages":[{"title":"Release 2.0","href":"/release-2.0"}]},{"tab":"Get started","pages":[{"title":"Get started","href":"/getting-started"}]},{"tab":"Connectors","groups":[{"group":"Connectors","pages":[{"title":"Connectors | Collate Docs for Seamless Data Integration","sidebarTitle":"Connectors","href":"/connectors"}]},{"group":"Connectors","pages":[{"group":"API","pages":[{"title":"API Services | Collate Connector Integration Guide","sidebarTitle":"Overview","href":"/connectors/api/index"},{"group":"REST","pages":[{"title":"REST API Connector | Collate Integration Documentation","sidebarTitle":"SaaS/BYOC","href":"/connectors/api/rest/index"},{"title":"REST API Hybrid Runner | Collate Integration Documentation","sidebarTitle":"Hybrid Runner","href":"/connectors/api/rest/hybrid-runner"},{"title":"REST Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/api/rest/troubleshooting"}]}]},{"group":"Database","pages":[{"title":"Database Services | Collate Connector Integration","sidebarTitle":"Overview","href":"/connectors/database/index"},{"group":"ADLS Datalake","pages":[{"title":"ADLS Datalake | Collate Database Connector Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/adls-datalake/index"},{"title":"ADLS Datalake | Collate Database Connector Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/adls-datalake/hybrid-runner"},{"title":"ADLS Datalake Connector Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/database/adls-datalake/troubleshooting"}]},{"group":"Athena","pages":[{"title":"Athena | Collate Database Connector Configuration","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/athena/index"},{"title":"Athena | Collate Database Connector Configuration","sidebarTitle":"Hybrid Runner","href":"/connectors/database/athena/hybrid-runner"},{"title":"Athena Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/athena/troubleshooting"}]},{"group":"AzureSQL","pages":[{"title":"AzureSQL | Collate Connector Setup \u0026 Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/azuresql/index"},{"title":"AzureSQL | Collate Connector Setup \u0026 Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/azuresql/hybrid-runner"},{"title":"AzureSQL Connector Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/database/azuresql/troubleshooting"}]},{"group":"BigQuery","pages":[{"title":"BigQuery | Collate Connector Setup \u0026 Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/bigquery/index"},{"title":"BigQuery Connector | Set Up Credentials in Collate","sidebarTitle":"Create Credentials","href":"/connectors/database/bigquery/create-credentials"},{"title":"BigQuery | Collate Connector Setup \u0026 Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/bigquery/hybrid-runner"},{"title":"BigQuery Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/bigquery/troubleshooting"}]},{"group":"BigTable","pages":[{"title":"BigTable Connector | Collate Database Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/bigtable/index"},{"title":"BigTable Roles | Configure Access for Collate Connector","sidebarTitle":"Roles","href":"/connectors/database/bigtable/roles"},{"title":"BigTable Connector | Collate Database Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/database/bigtable/hybrid-runner"},{"title":"BigTable Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/bigtable/troubleshooting"}]},{"group":"BurstIQ","pages":[{"title":"BurstIQ Connector | Collate LifeGraph Database Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/burstiq/index"},{"title":"BurstIQ Connector | Collate LifeGraph Database Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/burstiq/hybrid-runner"},{"title":"BurstIQ Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/burstiq/troubleshooting"}]},{"group":"Cassandra","pages":[{"title":"Cassandra Connector | Collate Database Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/cassandra/index"},{"title":"Cassandra Connector | Collate Database Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/database/cassandra/hybrid-runner"},{"title":"Cassandra Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/cassandra/troubleshooting"}]},{"group":"ClickHouse","pages":[{"title":"ClickHouse Connector | Collate Database Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/clickhouse/index"},{"title":"ClickHouse Connector | Collate Database Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/database/clickhouse/hybrid-runner"},{"title":"ClickHouse Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/clickhouse/troubleshooting"}]},{"group":"ClickZetta","pages":[{"title":"ClickZetta Connector | Collate Database Integration","sidebarTitle":"Overview","href":"/connectors/database/clickzetta/index"},{"title":"ClickZetta Hybrid Runner | Collate Database Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/database/clickzetta/hybrid-runner"},{"title":"ClickZetta Troubleshooting | Collate Connector","sidebarTitle":"Troubleshooting","href":"/connectors/database/clickzetta/troubleshooting"}]},{"group":"CockroachDB","pages":[{"title":"CockroachDB Connector | Collate Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/cockroach/index"},{"title":"CockroachDB Connector | Collate Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/cockroach/hybrid-runner"},{"title":"CockroachDB Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/cockroach/troubleshooting"}]},{"group":"Couchbase","pages":[{"title":"Couchbase Connector | Collate NoSQL Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/couchbase/index"},{"title":"Couchbase Connector | Collate NoSQL Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/couchbase/hybrid-runner"},{"title":"Couchbase Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/couchbase/troubleshooting"}]},{"group":"Databricks","pages":[{"title":"Databricks Connector | Collate Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/databricks/index"},{"title":"Databricks Connector | Collate Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/databricks/hybrid-runner"},{"title":"Databricks Connector Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/database/databricks/troubleshooting"}]},{"group":"DB2","pages":[{"title":"DB2 Connector | Collate Database Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/db2/index"},{"title":"DB2 Connector | Collate Database Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/db2/hybrid-runner"},{"title":"DB2 Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/db2/troubleshooting"}]},{"group":"dbt","pages":[{"title":"dbt Workflow | Collate Data Build Tool Integration","sidebarTitle":"Overview","href":"/connectors/database/dbt/index"},{"title":"dbt Cloud API Configuration | Collate","sidebarTitle":"dbt Cloud API","href":"/connectors/database/dbt/dbt-cloud-api-guide"},{"group":"dbt Core","pages":[{"title":"dbt Artifact Configuration Guide | Collate","sidebarTitle":"Overview","href":"/connectors/database/dbt/storage-configuration-overview"},{"title":"dbt Artifact Storage - AWS S3 Configuration | Collate","sidebarTitle":"S3 Configuration","href":"/connectors/database/dbt/storage-s3-guide"},{"title":"dbt Artifact Storage - Google Cloud Storage Configuration | Collate","sidebarTitle":"GCS Configuration","href":"/connectors/database/dbt/storage-gcs-guide"},{"title":"dbt Artifact Storage - Azure Blob Storage Configuration | Collate","sidebarTitle":"Azure Configuration","href":"/connectors/database/dbt/storage-azure-guide"},{"title":"dbt Artifact Storage - HTTP Server Configuration | Collate","sidebarTitle":"HTTP Configuration","href":"/connectors/database/dbt/storage-http-guide"},{"title":"dbt Artifact Storage - Local Filesystem Configuration | Collate","sidebarTitle":"Local Configuration","href":"/connectors/database/dbt/storage-local-guide"}]},{"title":"Configure dbt workflow","sidebarTitle":"Configure dbt workflow","href":"/connectors/database/dbt/configure-dbt-workflow"},{"title":"Run dbt Workflow Externally | Collate Guide","sidebarTitle":"Run Externally","mode":"wide","href":"/connectors/database/dbt/run-dbt-workflow-externally"},{"title":"Auto Ingest dbt-core","sidebarTitle":"Auto Ingest dbt Core Artifacts","href":"/connectors/database/dbt/auto-ingest-dbt-core"},{"title":"Ingest Owner from dbt | Official Documentation","sidebarTitle":"Ingest dbt Owner","href":"/connectors/database/dbt/ingest-dbt-owner"},{"title":"Ingest Descriptions from dbt | Official Documentation","sidebarTitle":"Ingest dbt Descriptions","href":"/connectors/database/dbt/ingest-dbt-descriptions"},{"title":"Ingest Tags from dbt | Collate Metadata Tagging Guide","sidebarTitle":"Ingest dbt Tags","href":"/connectors/database/dbt/ingest-dbt-tags"},{"title":"Ingest Tiers from dbt | Collate Data Tiering Guide","sidebarTitle":"Ingest dbt Tiers","href":"/connectors/database/dbt/ingest-dbt-tier"},{"title":"Ingest Domain from dbt | Collate Domain Assignment Guide","sidebarTitle":"Ingest dbt Domain","href":"/connectors/database/dbt/ingest-dbt-domain"},{"title":"Ingest Custom Properties from dbt | Collate Custom Metadata Guide","sidebarTitle":"Ingest dbt Custom Properties","href":"/connectors/database/dbt/ingest-dbt-custom-properties"},{"title":"Ingest Glossary from dbt | Official Documentation","sidebarTitle":"Ingest dbt Glossary","href":"/connectors/database/dbt/ingest-dbt-glossary"},{"title":"Ingest Lineage from dbt | Official Documentation","sidebarTitle":"Ingest dbt Lineage","href":"/connectors/database/dbt/ingest-dbt-lineage"},{"title":"Ingest Exposures from dbt | Collate Downstream Lineage Guide","sidebarTitle":"Ingest dbt Exposures","href":"/connectors/database/dbt/ingest-dbt-exposures"},{"title":"Setup Multiple dbt Projects | Official Documentation","sidebarTitle":"Setup Multiple dbt Projects","href":"/connectors/database/dbt/setup-multiple-dbt-projects"},{"title":"dbt Troubleshooting | Collate Integration Support","sidebarTitle":"dbt troubleshooting","href":"/connectors/database/dbt/dbt-troubleshooting"}]},{"group":"Delta Lake","pages":[{"title":"DeltaLake Connector | Collate Data Lake Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/deltalake/index"},{"title":"Delta Lake Hybrid Runner | Collate Data Lake Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/database/deltalake/hybrid-runner"},{"title":"DeltaLake Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/deltalake/troubleshooting"}]},{"group":"Domo Database","pages":[{"title":"Domo Database Connector | Collate Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/domo-database/index"},{"title":"Domo Database Hybrid Runner | Collate Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/domo-database/hybrid-runner"},{"title":"Domo Database Connector Troubleshooting","sidebarTitle":"Troubleshoot","href":"/connectors/database/domo-database/troubleshoot"}]},{"group":"Doris","pages":[{"title":"Doris Connector | Collate Database Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/doris/index"},{"title":"Doris Hybrid Runner | Collate Database Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/doris/hybrid-runner"},{"title":"Doris Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/doris/troubleshooting"}]},{"group":"Dremio","pages":[{"title":"Dremio Connector | Collate Database Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/dremio/index"},{"title":"Dremio Hybrid Runner | Collate Database Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/dremio/hybrid-runner"},{"title":"Dremio Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/dremio/troubleshooting"}]},{"group":"Druid","pages":[{"title":"Druid Connector | Collate Real-Time Analytics Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/druid/index"},{"title":"Druid Hybrid Runner | Collate Real-Time Analytics Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/druid/hybrid-runner"},{"title":"Druid Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/druid/troubleshooting"}]},{"group":"DynamoDB","pages":[{"title":"DynamoDB Connector | Collate NoSQL Database Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/dynamodb/index"},{"title":"DynamoDB Hybrid Runner | Collate NoSQL Database Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/database/dynamodb/hybrid-runner"},{"title":"DynamoDB Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/dynamodb/troubleshooting"}]},{"group":"Epic","pages":[{"title":"Epic FHIR Connector | Collate Healthcare Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/epic/index"},{"title":"Epic FHIR Hybrid Runner | Collate Healthcare Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/epic/hybrid-runner"},{"title":"Epic Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/epic/troubleshooting"}]},{"group":"Exasol","pages":[{"title":"Exasol Connector | Collate High-Performance Database","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/exasol/index"},{"title":"Exasol Hybrid Runner | Collate High-Performance Database","sidebarTitle":"Hybrid Runner","href":"/connectors/database/exasol/hybrid-runner"},{"title":"Exasol Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/exasol/troubleshooting"}]},{"group":"GCS Datalake","pages":[{"title":"GCS Datalake Connector | Collate Cloud Storage Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/gcs-datalake/index"},{"title":"GCS Datalake Hybrid Runner | Collate Cloud Storage Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/database/gcs-datalake/hybrid-runner"},{"title":"GCS Datalake Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/gcs-datalake/troubleshooting"}]},{"group":"Glue","pages":[{"title":"AWS Glue Connector | Collate Data Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/glue/index"},{"title":"AWS Glue Hybrid Runner | Collate Data Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/glue/hybrid-runner"},{"title":"Glue Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/glue/troubleshooting"}]},{"group":"Greenplum","pages":[{"title":"Greenplum Connector | Collate Database Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/greenplum/index"},{"title":"Greenplum Hybrid Runner | Collate Database Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/greenplum/hybrid-runner"},{"title":"Greenplum Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/greenplum/troubleshooting"}]},{"group":"Hive","pages":[{"title":"Hive Connector | Collate Big Data Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/hive/index"},{"title":"Hive Hybrid Runner | Collate Big Data Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/hive/hybrid-runner"},{"title":"Hive Connector Troubleshooting | Official Documentation","sidebarTitle":"Troubleshooting","href":"/connectors/database/hive/troubleshooting"}]},{"title":"Apache Iceberg","sidebarTitle":"Iceberg","href":"/connectors/database/iceberg"},{"group":"Impala","pages":[{"title":"Impala Connector | Collate SQL-on-Hadoop Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/impala/index"},{"title":"Impala Hybrid Runner | Collate SQL-on-Hadoop Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/database/impala/hybrid-runner"},{"title":"Impala Connector Troubleshooting | Official Documentation","sidebarTitle":"Troubleshooting","href":"/connectors/database/impala/troubleshooting"}]},{"group":"Informix","pages":[{"title":"IBM Informix Connector | Collate Database Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/informix/index"},{"title":"IBM Informix Hybrid Runner | Collate Database Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/informix/hybrid-runner"},{"title":"Informix Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/informix/troubleshooting"}]},{"group":"IOMETE","pages":[{"title":"IOMETE Connector | Collate Database Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/iomete/index"},{"title":"IOMETE Hybrid Runner","sidebarTitle":"Hybrid Runner","href":"/connectors/database/iomete/hybrid-runner"},{"title":"IOMETE Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/database/iomete/troubleshooting"}]},{"group":"MariaDB","pages":[{"title":"MariaDB Connector | Collate Database Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/mariadb/index"},{"title":"MariaDB Hybrid Runner | Collate Database Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/mariadb/hybrid-runner"},{"title":"MariaDB Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/mariadb/troubleshooting"}]},{"group":"Microsoft Access","pages":[{"title":"Microsoft Access Connector | Collate Database Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/microsoftaccess/index"},{"title":"Microsoft Access Hybrid Runner | Collate Database Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/microsoftaccess/hybrid-runner"},{"title":"Microsoft Access Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/microsoftaccess/troubleshooting"}]},{"group":"Microsoft Fabric","pages":[{"title":"Microsoft Fabric Connector | Collate Database Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/microsoftfabric/index"},{"title":"Microsoft Fabric Hybrid Runner | Collate Database Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/microsoftfabric/hybrid-runner"},{"title":"Microsoft Fabric Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/microsoftfabric/troubleshooting"}]},{"group":"MongoDB","pages":[{"title":"MongoDB Connector | Collate NoSQL Database Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/mongodb/index"},{"title":"MongoDB Hybrid Runner | Collate NoSQL Database Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/database/mongodb/hybrid-runner"},{"title":"MongoDB Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/mongodb/troubleshooting"}]},{"group":"MSSQL","pages":[{"title":"MSSQL Connector | Collate SQL Server Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/mssql/index"},{"title":"MSSQL Hybrid Runner | Collate SQL Server Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/mssql/hybrid-runner"},{"title":"Troubleshooting for MSSQL | Official Documentation","sidebarTitle":"Troubleshooting","href":"/connectors/database/mssql/troubleshoot"}]},{"group":"MySQL","pages":[{"title":"MySQL Connector | Collate Database Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/mysql/index"},{"title":"MySQL Hybrid Runner | Collate Database Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/mysql/hybrid-runner"},{"title":"MySQL Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/mysql/troubleshooting"}]},{"group":"Oracle","pages":[{"title":"Oracle Connector | Collate Enterprise Database Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/oracle/index"},{"title":"Oracle Hybrid Runner | Collate Enterprise Database Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/oracle/hybrid-runner"},{"title":"Oracle Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/oracle/troubleshooting"}]},{"group":"PinotDB","pages":[{"title":"PinotDB Connector | Collate Real-Time Analytics Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/pinotdb/index"},{"title":"PinotDB Hybrid Runner | Collate Real-Time Analytics Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/pinotdb/hybrid-runner"},{"title":"PinotDB Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/pinotdb/troubleshooting"}]},{"group":"Postgres","pages":[{"title":"PostgreSQL Connector | Collate Database Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/postgres/index"},{"title":"PostgreSQL Hybrid Runner | Collate Database Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/database/postgres/hybrid-runner"},{"title":"PostgreSQL Connector Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/database/postgres/troubleshooting"}]},{"group":"Presto","pages":[{"title":"Presto Connector | Collate Distributed SQL Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/presto/index"},{"title":"Presto Hybrid Runner | Collate Distributed SQL Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/presto/hybrid-runner"},{"title":"Presto Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/presto/troubleshooting"}]},{"group":"QuestDB","pages":[{"title":"QuestDB Connector | Collate Database Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/questdb/index"},{"title":"QuestDB Connector | Collate Database Integration | Hybrid Runner","sidebarTitle":"Hybrid Runner","href":"/connectors/database/questdb/hybrid-runner"},{"title":"QuestDB Troubleshooting | Collate Connector","sidebarTitle":"Troubleshooting","href":"/connectors/database/questdb/troubleshooting"}]},{"group":"Redshift","pages":[{"title":"Redshift Connector | Collate AWS Data Warehouse","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/redshift/index"},{"title":"Redshift Connector | Collate AWS Data Warehouse | Hybrid Runner","sidebarTitle":"Hybrid Runner","href":"/connectors/database/redshift/hybrid-runner"},{"title":"Redshift Connector Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/database/redshift/troubleshooting"}]},{"group":"S3 Datalake","pages":[{"title":"S3 Datalake Connector | Collate Cloud Storage Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/s3-datalake/index"},{"title":"S3 Datalake Connector | Collate Cloud Storage Guide | Hybrid Runner","sidebarTitle":"Hybrid Runner","href":"/connectors/database/s3-datalake/hybrid-runner"},{"title":"S3 Datalake Connector Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/database/s3-datalake/troubleshooting"}]},{"group":"Salesforce","pages":[{"title":"Salesforce Connector | Collate CRM Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/salesforce/index"},{"title":"Salesforce Connector | Collate CRM Integration Guide | Hybrid Runner","sidebarTitle":"Hybrid Runner","href":"/connectors/database/salesforce/hybrid-runner"},{"title":"Salesforce Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/salesforce/troubleshooting"}]},{"group":"Salesforce Data 360","pages":[{"title":"Salesforce Data 360 Connector | Collate Database Integration","sidebarTitle":"Overview","href":"/connectors/database/data360/index"},{"title":"Salesforce Data 360 Hybrid Runner | Collate Database Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/database/data360/hybrid-runner"},{"title":"Salesforce Data 360 Troubleshooting | Collate Connector","sidebarTitle":"Troubleshooting","href":"/connectors/database/data360/troubleshooting"}]},{"group":"SAP ERP","pages":[{"title":"SAP ERP Connector | Collate Enterprise Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/sap-erp/index"},{"title":"Setup SAP ERP APIs | Collate Integration Guide","sidebarTitle":"Setup SAP ERP APIs","href":"/connectors/database/sap-erp/setup-sap-apis"},{"title":"SAP ERP Connector | Collate Enterprise Integration | Hybrid Runner","sidebarTitle":"Hybrid Runner","href":"/connectors/database/sap-erp/hybrid-runner"},{"title":"SAP ERP Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/sap-erp/troubleshooting"}]},{"group":"SAP HANA","pages":[{"title":"SAP HANA Connector | Collate High-Performance DB","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/sap-hana/index"},{"title":"SAP HANA Connector | Collate High-Performance DB | Hybrid Runner","sidebarTitle":"Hybrid Runner","href":"/connectors/database/sap-hana/hybrid-runner"},{"title":"SAP HANA Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/sap-hana/troubleshooting"}]},{"group":"SAP BW/4HANA","pages":[{"title":"SAP BW/4HANA Database Connector","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/sapbw4hana/index"},{"title":"SAP BW/4HANA Database Connector | Hybrid Runner","sidebarTitle":"Hybrid Runner","href":"/connectors/database/sapbw4hana/hybrid-runner"},{"title":"SAP BW/4HANA Database Connector Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/database/sapbw4hana/troubleshooting"}]},{"group":"SAP SuccessFactors","pages":[{"title":"SAP SuccessFactors Connector | Collate Database Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/sap-successfactors/index"},{"title":"SAP SuccessFactors Hybrid Runner","sidebarTitle":"Hybrid Runner","href":"/connectors/database/sap-successfactors/hybrid-runner"},{"title":"SAP SuccessFactors Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/database/sap-successfactors/troubleshooting"}]},{"group":"SAS","pages":[{"title":"SAS Connector | Collate Analytics Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/sas/index"},{"title":"SAS Connector | Collate Analytics Integration Guide | Hybrid Runner","sidebarTitle":"Hybrid Runner","href":"/connectors/database/sas/hybrid-runner"},{"title":"SAS Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/sas/troubleshooting"}]},{"group":"ServiceNow","pages":[{"title":"ServiceNow Connector | Collate Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/servicenow/index"},{"title":"ServiceNow Connector | Collate Integration Guide | Hybrid Runner","sidebarTitle":"Hybrid Runner","href":"/connectors/database/servicenow/hybrid-runner"},{"title":"ServiceNow Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/servicenow/troubleshooting"}]},{"group":"SingleStore","pages":[{"title":"SingleStore Connector | Collate Scalable DB Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/singlestore/index"},{"title":"SingleStore Hybrid Runner | Collate Scalable DB Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/singlestore/hybrid-runner"},{"title":"SingleStore Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/singlestore/troubleshooting"}]},{"group":"Snowflake","pages":[{"title":"Snowflake Connector | Collate Cloud Data Warehouse","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/snowflake/index"},{"title":"Snowflake Hybrid Runner | Collate Cloud Data Warehouse","sidebarTitle":"Hybrid Runner","href":"/connectors/database/snowflake/hybrid-runner"},{"title":"Snowflake Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/snowflake/troubleshooting"}]},{"group":"SQLite","pages":[{"title":"SQLite Connector | Collate Lightweight DB Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/sqlite/index"},{"title":"SQLite Hybrid Runner | Collate Lightweight DB Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/database/sqlite/hybrid-runner"},{"title":"SQLite Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/sqlite/troubleshooting"}]},{"group":"SSAS","pages":[{"title":"SSAS Connector | Collate SQL Server Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/ssas/index"},{"title":"SSAS Hybrid Runner | Collate SQL Server Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/ssas/hybrid-runner"},{"title":"SSAS Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/ssas/troubleshooting"}]},{"group":"StarRocks","pages":[{"title":"StarRocks Connector | Collate Database Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/starrocks/index"},{"title":"StarRocks Hybrid Runner | Collate Database Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/starrocks/hybrid-runner"},{"title":"StarRocks Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/starrocks/troubleshooting"}]},{"group":"Synapse","pages":[{"title":"Connect Synapse | Official Docs","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/synapse/index"},{"title":"Synapse Hybrid Runner | Official Docs","sidebarTitle":"Hybrid Runner","href":"/connectors/database/synapse/hybrid-runner"},{"title":"Synapse Connector Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/database/synapse/troubleshooting"}]},{"group":"Teradata","pages":[{"title":"Teradata Connector | Collate Data Warehouse Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/teradata/index"},{"title":"Teradata Hybrid Runner | Collate Data Warehouse Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/teradata/hybrid-runner"},{"title":"Teradata Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/teradata/troubleshooting"}]},{"group":"TimescaleDB","pages":[{"title":"TimescaleDB Connector | OpenMetadata Database Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/timescale/index"},{"title":"TimescaleDB Hybrid Runner | Collate Database Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/database/timescale/hybrid-runner"},{"title":"TimescaleDB Troubleshooting Guide | OpenMetadata Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/timescale/troubleshooting"}]},{"group":"Trino","pages":[{"title":"Trino Connector | Collate Distributed SQL Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/trino/index"},{"title":"Trino Hybrid Runner | Collate Distributed SQL Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/database/trino/hybrid-runner"},{"title":"Trino Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/database/trino/troubleshooting"}]},{"group":"Unity Catalog","pages":[{"title":"Unity Catalog Connector | Collate Data Governance","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/unity-catalog/index"},{"title":"Unity Catalog Hybrid Runner | Collate Data Governance","sidebarTitle":"Hybrid Runner","href":"/connectors/database/unity-catalog/hybrid-runner"},{"title":"Unity Catalog Connector Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/database/unity-catalog/troubleshooting"}]},{"group":"Vertica","pages":[{"title":"Vertica Connector | Collate Analytics Database Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/database/vertica/index"},{"title":"Vertica Hybrid Runner | Collate Analytics Database Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/database/vertica/hybrid-runner"},{"title":"Vertica Connector Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/database/vertica/troubleshooting"}]}]},{"group":"Dashboard","pages":[{"title":"Dashboard Services | Connect BI Tools with Collate","sidebarTitle":"Overview","href":"/connectors/dashboard/index"},{"group":"Domo Dashboard","pages":[{"title":"Domo Dashboard | Collate Connector Setup Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/domo-dashboard/index"},{"title":"Domo Dashboard Hybrid Runner | Collate Connector Setup Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/domo-dashboard/hybrid-runner"},{"title":"Domo Dashboard Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/domo-dashboard/troubleshooting"}]},{"group":"Grafana","pages":[{"title":"Grafana Connector | Collate Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/grafana/index"},{"title":"Grafana Hybrid Runner | Collate Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/grafana/hybrid-runner"},{"title":"Grafana Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/grafana/troubleshooting"}]},{"group":"Hex","pages":[{"title":"Hex Connector | OpenMetadata Integration Documentation","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/hex/index"},{"title":"Hex Hybrid Runner | OpenMetadata Integration Documentation","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/hex/hybrid-runner"},{"title":"Hex Troubleshooting Guide | OpenMetadata Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/hex/troubleshooting"}]},{"group":"Lightdash","pages":[{"title":"Lightdash Connector | Collate Dashboard Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/lightdash/index"},{"title":"Lightdash Hybrid Runner | Collate Dashboard Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/lightdash/hybrid-runner"},{"title":"Lightdash Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/lightdash/troubleshooting"}]},{"group":"Looker","pages":[{"title":"Looker Connector | Integrate BI with Collate Docs","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/looker/index"},{"title":"Looker Hybrid Runner | Integrate BI with Collate Docs","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/looker/hybrid-runner"},{"title":"Looker Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/looker/troubleshooting"}]},{"group":"Metabase","pages":[{"title":"Metabase Connector | Collate Dashboard Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/metabase/index"},{"title":"Metabase Hybrid Runner | Collate Dashboard Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/metabase/hybrid-runner"},{"title":"Metabase Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/metabase/troubleshooting"}]},{"group":"MicroStrategy","pages":[{"title":"MicroStrategy Connector | Collate Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/microstrategy/index"},{"title":"MicroStrategy Hybrid Runner | Collate Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/microstrategy/hybrid-runner"},{"title":"MicroStrategy Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/microstrategy/troubleshooting"}]},{"group":"Mode","pages":[{"title":"Mode Connector | Collate Dashboard Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/mode/index"},{"title":"Mode Hybrid Runner | Collate Dashboard Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/mode/hybrid-runner"},{"title":"Mode Dashboard Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/mode/troubleshooting"}]},{"group":"Omni","pages":[{"title":"Omni Connector | Collate Dashboard Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/omni/index"},{"title":"Omni Hybrid Runner","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/omni/hybrid-runner"},{"title":"Omni Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/omni/troubleshooting"}]},{"group":"Power BI","pages":[{"title":"PowerBI Connector | Collate Integration Documentation","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/powerbi/index"},{"title":"PowerBI Hybrid Runner | Collate Integration Documentation","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/powerbi/hybrid-runner"},{"title":"Lineage from pbit files","sidebarTitle":"Lineage from pbit files","href":"/connectors/dashboard/powerbi/powerbi-pbit-lineage"},{"title":"PowerBI Dashboard Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/powerbi/troubleshooting"}]},{"group":"Power BI Report Server","pages":[{"title":"Run the PowerBI Report Server Connector Externally","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/powerbireportserver/index"},{"title":"Run the PowerBI Report Server Hybrid Runner Connector Externally","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/powerbireportserver/hybrid-runner"},{"title":"PowerBI Report Server Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/powerbireportserver/troubleshooting"}]},{"group":"Qlik Cloud","pages":[{"title":"Qlik Cloud Connector | Collate Dashboard Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/qlikcloud/index"},{"title":"Qlik Cloud Hybrid Runner | Collate Dashboard Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/qlikcloud/hybrid-runner"},{"title":"Qlik Cloud","sidebarTitle":"API Keys","href":"/connectors/dashboard/qlikcloud/api_keys"},{"title":"Qlik Cloud Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/qlikcloud/troubleshooting"}]},{"group":"Qlik Sense","pages":[{"title":"Qlik Sense Connector | Collate Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/qliksense/index"},{"title":"Qlik Sense Hybrid Runner | Collate Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/qliksense/hybrid-runner"},{"title":"Qlik Sense Certificates | Collate Connector Setup","sidebarTitle":"Export Certificates","href":"/connectors/dashboard/qliksense/certificates"},{"title":"Qlik Sense Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/qliksense/troubleshooting"}]},{"group":"QuickSight","pages":[{"title":"QuickSight Connector | Collate Dashboard Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/quicksight/index"},{"title":"QuickSight Hybrid Runner | Collate Dashboard Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/quicksight/hybrid-runner"},{"title":"QuickSight Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/quicksight/troubleshooting"}]},{"group":"Redash","pages":[{"title":"Redash Connector | Collate Dashboard Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/redash/index"},{"title":"Redash Hybrid Runner | Collate Dashboard Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/redash/hybrid-runner"},{"title":"Redash Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/redash/troubleshooting"}]},{"group":"Rill","pages":[{"title":"Rill Connector | Collate Dashboard Integration","sidebarTitle":"Overview","href":"/connectors/dashboard/rill/index"},{"title":"Rill Hybrid Runner | Collate Dashboard Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/rill/hybrid-runner"},{"title":"Rill Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/rill/troubleshooting"}]},{"group":"SAP S/4HANA","pages":[{"title":"SAP S/4HANA Connector | Collate Dashboard Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/saps4hana/index"},{"title":"SAP S/4HANA Hybrid Runner","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/saps4hana/hybrid-runner"},{"title":"SAP S/4HANA Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/saps4hana/troubleshooting"}]},{"group":"Sigma","pages":[{"title":"Sigma Connector | Collate Dashboard Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/sigma/index"},{"title":"Sigma Hybrid Runner | Collate Dashboard Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/sigma/hybrid-runner"},{"title":"Sigma Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/sigma/troubleshooting"}]},{"group":"SSRS","pages":[{"title":"SSRS Connector | Collate Dashboard Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/ssrs/index"},{"title":"SSRS Hybrid Runner | Collate Dashboard Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/ssrs/hybrid-runner"},{"title":"SSRS Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/ssrs/troubleshooting"}]},{"group":"Superset","pages":[{"title":"Superset Connector | Collate Dashboard Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/superset/index"},{"title":"Superset Hybrid Runner | Collate Dashboard Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/superset/hybrid-runner"},{"title":"Superset","sidebarTitle":"SSO","href":"/connectors/dashboard/superset/sso"},{"title":"Superset Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/superset/troubleshooting"}]},{"group":"Tableau","pages":[{"title":"Tableau Connector | Collate Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/tableau/index"},{"title":"Tableau Hybrid Runner | Collate Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/tableau/hybrid-runner"},{"title":"Tableau Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/tableau/troubleshooting"}]},{"group":"ThoughtSpot","pages":[{"title":"ThoughtSpot Connector | Collate Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/dashboard/thoughtspot/index"},{"title":"ThoughtSpot Hybrid Runner | Collate Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/dashboard/thoughtspot/hybrid-runner"},{"title":"ThoughtSpot Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/dashboard/thoughtspot/troubleshooting"}]}]},{"group":"Drive","pages":[{"title":"Drive Services | OpenMetadata Drive Integration Guide","sidebarTitle":"Overview","description":null,"href":"/connectors/drive/index"},{"group":"Custom Drive","pages":[{"title":"Custom Drive Connector | Build and Extend Custom Connectors Easily","sidebarTitle":"Overview","href":"/connectors/drive/custom-drive/index"}]},{"group":"Google Drive","pages":[{"title":"Google Drive Connector | OpenMetadata Drive Integration","description":"Connect Google Drive to OpenMetadata with our comprehensive drive connector guide. Step-by-step setup, configuration examples, and metadata extraction tips.","sidebarTitle":"SaaS/BYOC","href":"/connectors/drive/googledrive/index"},{"title":"Google Drive Hybrid Runner | OpenMetadata Drive Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/drive/googledrive/hybrid-runner"},{"title":"Google Drive Connector Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/drive/googledrive/troubleshooting"}]},{"group":"SFTP","pages":[{"title":"SFTP Connector | Collate Drive Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/drive/sftp/index"},{"title":"SFTP Hybrid Runner | Collate Drive Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/drive/sftp/hybrid-runner"},{"title":"SFTP Connector Troubleshooting | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/drive/sftp/troubleshooting"}]}]},{"group":"Messaging","pages":[{"title":"Messaging Services | Collate Integration Guide","sidebarTitle":"Overview","href":"/connectors/messaging/index"},{"group":"Kafka","pages":[{"title":"Kafka Connector | Collate Messaging Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/messaging/kafka/index"},{"title":"Kafka Connector | Collate Messaging Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/messaging/kafka/hybrid-runner"},{"title":"Kafka Connector Troubleshooting | Official Documentation","sidebarTitle":"Troubleshooting","href":"/connectors/messaging/kafka/troubleshooting"}]},{"group":"Kinesis","pages":[{"title":"Kinesis Connector | Collate Streaming Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/messaging/kinesis/index"},{"title":"Kinesis Connector | Collate Streaming Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/messaging/kinesis/hybrid-runner"},{"title":"Kinesis Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/messaging/kinesis/troubleshooting"}]},{"group":"NATS JetStream","pages":[{"title":"NATS JetStream Connector | Collate Messaging Services","sidebarTitle":"Overview","href":"/connectors/messaging/nats/index"},{"title":"NATS JetStream Hybrid Runner | Collate Messaging Services","sidebarTitle":"Hybrid Runner","href":"/connectors/messaging/nats/hybrid-runner"},{"title":"NATS JetStream Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/messaging/nats/troubleshooting"}]},{"group":"Pub/Sub","pages":[{"title":"Google Pub/Sub Connector | Collate Messaging Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/messaging/pubsub/index"},{"title":"Google Pub/Sub Connector | Collate Messaging Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/messaging/pubsub/hybrid-runner"},{"title":"Google Pub/Sub Troubleshooting | Collate Connector","sidebarTitle":"Troubleshooting","href":"/connectors/messaging/pubsub/troubleshooting"}]},{"group":"Redpanda","pages":[{"title":"Redpanda Connector | Collate Messaging Services","sidebarTitle":"SaaS/BYOC","href":"/connectors/messaging/redpanda/index"},{"title":"Redpanda Connector | Collate Messaging Services","sidebarTitle":"Hybrid Runner","href":"/connectors/messaging/redpanda/hybrid-runner"},{"title":"Redpanda Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/messaging/redpanda/troubleshooting"}]}]},{"group":"Metadata","pages":[{"title":"Metadata Services | Collate Integration Overview","sidebarTitle":"Overview","href":"/connectors/metadata/index"},{"group":"Alation","pages":[{"title":"Alation Connector | Official Documentation","sidebarTitle":"SaaS/BYOC","href":"/connectors/metadata/alation/index"},{"title":"Alation Connector | Official Documentation","sidebarTitle":"Hybrid Runner","href":"/connectors/metadata/alation/hybrid-runner"},{"title":"Alation Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/metadata/alation/troubleshooting"}]},{"group":"Alation Sink","pages":[{"title":"Alation Sink | Collate Metadata Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/metadata/alationsink/index"},{"title":"Alation Sink | Collate Metadata Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/metadata/alationsink/hybrid-runner"},{"title":"Alation Sink Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/metadata/alationsink/troubleshooting"}]},{"group":"Amundsen","pages":[{"title":"Amundsen Connector | Collate Metadata Services","sidebarTitle":"SaaS/BYOC","href":"/connectors/metadata/amundsen/index"},{"title":"Amundsen Connector | Collate Metadata Services","sidebarTitle":"Hybrid Runner","href":"/connectors/metadata/amundsen/hybrid-runner"},{"title":"Amundsen Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/metadata/amundsen/troubleshooting"}]},{"group":"Atlas","pages":[{"title":"Atlas Connector | Collate Metadata Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/metadata/atlas/index"},{"title":"Atlas Connector | Collate Metadata Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/metadata/atlas/hybrid-runner"},{"title":"Atlas Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/metadata/atlas/troubleshooting"}]},{"group":"Collibra","pages":[{"title":"Collibra Connector | Official Documentation","sidebarTitle":"SaaS/BYOC","href":"/connectors/metadata/collibra/index"},{"title":"Collibra Connector | Official Documentation","sidebarTitle":"Hybrid Runner","href":"/connectors/metadata/collibra/hybrid-runner"},{"title":"Collibra Connector Troubleshooting Guide","sidebarTitle":"Troubleshooting","href":"/connectors/metadata/collibra/troubleshooting"}]}]},{"group":"Ml Model","pages":[{"title":"ML Model Services | Collate Machine Learning Guide","sidebarTitle":"Overview","href":"/connectors/ml-model/index"},{"group":"MLflow","pages":[{"title":"MLflow Connector | Collate ML Model Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/ml-model/mlflow/index"},{"title":"MLflow Hybrid Runner | Collate ML Model Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/ml-model/mlflow/hybrid-runner"},{"title":"MLflow Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/ml-model/mlflow/troubleshooting"}]},{"group":"SageMaker","pages":[{"title":"SageMaker Connector | Collate ML Model Services","sidebarTitle":"SaaS/BYOC","href":"/connectors/ml-model/sagemaker/index"},{"title":"SageMaker Hybrid Runner | Collate ML Model Services","sidebarTitle":"Hybrid Runner","href":"/connectors/ml-model/sagemaker/hybrid-runner"},{"title":"SageMaker Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/ml-model/sagemaker/troubleshooting"}]},{"group":"VertexAI","pages":[{"title":"Vertexai | Official Docs","sidebarTitle":"SaaS/BYOC","href":"/connectors/ml-model/vertexai/index"},{"title":"Vertexai Hybrid Runner | Official Docs","sidebarTitle":"Hybrid Runner","href":"/connectors/ml-model/vertexai/hybrid-runner"},{"title":"VertexAI Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/ml-model/vertexai/troubleshooting"}]}]},{"group":"Pipeline","pages":[{"title":"Pipeline Services | Collate Data Pipeline Guide","sidebarTitle":"Overview","href":"/connectors/pipeline/index"},{"group":"Airbyte","pages":[{"title":"Airbyte Connector | Collate Pipeline Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/airbyte/index"},{"title":"Airbyte Hybrid Runner | Collate Pipeline Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/airbyte/hybrid-runner"},{"title":"Airbyte Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/airbyte/troubleshooting"}]},{"group":"Airflow","pages":[{"title":"Airflow Connector | Collate Workflow Orchestration","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/airflow/index"},{"title":"Airflow REST API Connection | Authentication \u0026 OpenLineage Setup","sidebarTitle":"REST API Connection","href":"/connectors/pipeline/airflow/rest-api-connection"},{"title":"Configuring DAG Lineage in Airflow | Collate Integration","sidebarTitle":"Configuring DAG Lineage","href":"/connectors/pipeline/airflow/configuring-lineage"},{"title":"Extract Metadata from GCP Composer","sidebarTitle":"GCP Composer","href":"/connectors/pipeline/airflow/gcp-composer"},{"title":"Airflow Lineage Backend | Official Documentation","sidebarTitle":"Lineage Backend","href":"/connectors/pipeline/airflow/lineage-backend"},{"title":"Airflow Lineage Operator","sidebarTitle":"Lineage Operator","href":"/connectors/pipeline/airflow/lineage-operator"},{"title":"Extract MWAA Metadata","sidebarTitle":"MWAA","href":"/connectors/pipeline/airflow/mwaa"},{"title":"Airflow Hybrid Runner | Collate Workflow Orchestration","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/airflow/hybrid-runner"},{"title":"Airflow Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/airflow/troubleshooting"}]},{"group":"Dagster","pages":[{"title":"Dagster Connector | Collate Pipeline Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/dagster/index"},{"title":"Dagster Hybrid Runner | Collate Pipeline Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/dagster/hybrid-runner"},{"title":"Dagster Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/dagster/troubleshooting"}]},{"group":"Databricks Pipeline","pages":[{"title":"Databricks Pipeline | Collate Integration Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/databricks-pipeline/index"},{"title":"Databricks Pipeline Hybrid Runner | Collate Integration Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/databricks-pipeline/hybrid-runner"},{"title":"Databricks Pipeline Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/databricks-pipeline/troubleshooting"}]},{"group":"Data Factory","pages":[{"title":"Datafactory | Official Documentation","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/datafactory/index"},{"title":"Datafactory Hybrid Runner | Official Documentation","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/datafactory/hybrid-runner"},{"title":"Azure Data Factory Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/datafactory/troubleshooting"}]},{"group":"dbt Cloud","pages":[{"title":"dbt Cloud Connector | Collate Pipeline Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/dbtcloud/index"},{"title":"dbt Cloud Connector Hybrid Runner | Collate Pipeline Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/dbtcloud/hybrid-runner"},{"title":"dbt Cloud Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/dbtcloud/troubleshooting"}]},{"group":"Domo Pipeline","pages":[{"title":"Domo Pipeline | Collate Data Pipeline Services","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/domo-pipeline/index"},{"title":"Domo Pipeline Hybrid Runner | Collate Data Pipeline Services","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/domo-pipeline/hybrid-runner"},{"title":"Domo Pipeline Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/domo-pipeline/troubleshooting"}]},{"group":"Fivetran","pages":[{"title":"Fivetran Connector | Collate Data Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/fivetran/index"},{"title":"Fivetran Connector Hybrid Runner | Collate Data Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/fivetran/hybrid-runner"},{"title":"Fivetran Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/fivetran/troubleshooting"}]},{"group":"Flink","pages":[{"title":"Apache Flink Connector | Collate Streaming Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/flink/index"},{"title":"Apache Flink Connector Hybrid Runner | Collate Streaming Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/flink/hybrid-runner"},{"title":"Apache Flink Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/flink/troubleshooting"}]},{"group":"Glue Pipeline","pages":[{"title":"Glue Pipeline | Collate Data Integration Pipeline","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/glue-pipeline/index"},{"title":"Glue Pipeline Hybrid Runner | Collate Data Integration Pipeline","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/glue-pipeline/hybrid-runner"},{"title":"Glue Pipeline Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/glue-pipeline/troubleshooting"}]},{"group":"Kafka Connect","pages":[{"title":"KafkaConnect | Collate Messaging Pipeline Connector","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/kafkaconnect/index"},{"title":"KafkaConnect Hybrid Runner | Collate Messaging Pipeline Connector","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/kafkaconnect/hybrid-runner"},{"title":"KafkaConnect Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/kafkaconnect/troubleshooting"}]},{"group":"Kinesis Firehose","pages":[{"title":"AWS Kinesis Firehose Connector | Official Documentation","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/kinesis-firehose/index"},{"title":"AWS Kinesis Firehose Hybrid Runner | Official Documentation","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/kinesis-firehose/hybrid-runner"},{"title":"AWS Kinesis Firehose Connector Troubleshooting Guide | OpenMetadata Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/kinesis-firehose/troubleshooting"}]},{"group":"Matillion","pages":[{"title":"Matillion | Official Documentation","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/matillion/index"},{"title":"Matillion Hybrid Runner | Official Documentation","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/matillion/hybrid-runner"},{"title":"KafkaConnect Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/matillion/troubleshooting"}]},{"group":"Microsoft Fabric Pipeline","pages":[{"title":"Microsoft Fabric Pipeline Connector | Collate Pipeline Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/microsoftfabricpipeline/index"},{"title":"Microsoft Fabric Pipeline Hybrid Runner | Collate Pipeline Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/microsoftfabricpipeline/hybrid-runner"},{"title":"Microsoft Fabric Pipeline Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/microsoftfabricpipeline/troubleshooting"}]},{"group":"Mulesoft","pages":[{"title":"MuleSoft Connector | Collate Anypoint Platform Guide","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/mulesoft/index"},{"title":"MuleSoft Hybrid Runner | Collate Anypoint Platform Guide","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/mulesoft/hybrid-runner"},{"title":"MuleSoft Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/mulesoft/troubleshooting"}]},{"group":"NiFi","pages":[{"title":"Nifi Connector | Collate Data Pipeline Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/nifi/index"},{"title":"Nifi Hybrid Runner | Collate Data Pipeline Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/nifi/hybrid-runner"},{"title":"Nifi Connector Troubleshooting | Official Documentation","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/nifi/troubleshooting"}]},{"group":"OpenLineage","pages":[{"title":"OpenLineage | Collate Data Lineage Pipeline","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/openlineage/index"},{"title":"OpenLineage Hybrid Runner | Collate Data Lineage Pipeline","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/openlineage/hybrid-runner"},{"title":"OpenLineage Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/openlineage/troubleshooting"}]},{"group":"Prefect","pages":[{"title":"Prefect Connector | Collate Pipeline Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/prefect/index"},{"title":"Prefect Hybrid Runner","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/prefect/hybrid-runner"},{"title":"Prefect Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/prefect/troubleshooting"}]},{"group":"Salesforce Data 360 Pipeline","pages":[{"title":"Salesforce Data 360 Pipeline Connector | Collate Pipeline Integration","sidebarTitle":"Overview","href":"/connectors/pipeline/data360/index"},{"title":"Salesforce Data 360 Pipeline Hybrid Runner | Collate Pipeline Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/data360/hybrid-runner"},{"title":"Salesforce Data 360 Pipeline Troubleshooting | Collate Connector","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/data360/troubleshooting"}]},{"group":"SAP BW/4HANA Pipeline","pages":[{"title":"SAP BW/4HANA Pipeline Connector","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/sapbw4hana-pipeline/index"},{"title":"SAP BW/4HANA Pipeline Connector | Hybrid Runner","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/sapbw4hana-pipeline/hybrid-runner"},{"title":"SAP BW/4HANA Pipeline Connector Troubleshooting","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/sapbw4hana-pipeline/troubleshooting"}]},{"group":"Snowplow","pages":[{"title":"Snowplow Connector for Pipeline Metadata | Collate","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/snowplow/index"},{"title":"Snowplow Hybrid Runner | Collate Pipeline Metadata","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/snowplow/hybrid-runner"},{"title":"Snowplow Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/snowplow/troubleshooting"}]},{"group":"Spline","pages":[{"title":"Spline Connector | Collate Data Lineage Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/spline/index"},{"title":"Spline Hybrid Runner | Collate Data Lineage Integration","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/spline/hybrid-runner"},{"title":"Spline Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/spline/troubleshooting"}]},{"group":"SSIS","pages":[{"title":"SSIS","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/ssis/index"},{"title":"SSIS Hybrid Runner","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/ssis/hybrid-runner"},{"title":"SSIS Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/ssis/troubleshooting"}]},{"group":"Stitch","pages":[{"title":"Stitch Connector | Official Documentation","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/stitch/index"},{"title":"Stitch Hybrid Runner | Official Documentation","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/stitch/hybrid-runner"},{"title":"Stitch Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/stitch/troubleshooting"}]},{"group":"WhereScape","pages":[{"title":"WhereScape Connector | Official Documentation","sidebarTitle":"SaaS/BYOC","href":"/connectors/pipeline/wherescape/index"},{"title":"WhereScape Hybrid Runner | Official Documentation","sidebarTitle":"Hybrid Runner","href":"/connectors/pipeline/wherescape/hybrid-runner"},{"title":"WhereScape Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/pipeline/wherescape/troubleshooting"}]}]},{"group":"Search","pages":[{"title":"Search Services | Collate Search Integration Guide","sidebarTitle":"Overview","href":"/connectors/search/index"},{"group":"Elasticsearch","pages":[{"title":"Elasticsearch Connector | Collate Search Services","sidebarTitle":"SaaS/BYOC","href":"/connectors/search/elasticsearch/index"},{"title":"Elasticsearch Hybrid Runner | Collate Search Services","sidebarTitle":"Hybrid Runner","href":"/connectors/search/elasticsearch/hybrid-runner"},{"title":"Elasticsearch Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/search/elasticsearch/troubleshooting"}]},{"group":"OpenSearch","pages":[{"title":"OpenSearch Connector | Collate Search Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/search/opensearch/index"},{"title":"OpenSearch Connector | Collate Search Integration (Hybrid Runner)","sidebarTitle":"Hybrid Runner","href":"/connectors/search/opensearch/hybrid-runner"},{"title":"OpenSearch Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/search/opensearch/troubleshooting"}]}]},{"group":"Security","pages":[{"title":"Security Service Connectors","sidebarTitle":"Overview","href":"/connectors/security/index"},{"group":"Ranger","pages":[{"title":"Apache Ranger","sidebarTitle":"SaaS/BYOC","href":"/connectors/security/ranger/index"},{"title":"Apache Ranger (Hybrid Runner)","sidebarTitle":"Hybrid Runner","href":"/connectors/security/ranger/hybrid-runner"},{"title":"Ranger Troubleshooting","href":"/connectors/security/ranger/troubleshooting"}]}]},{"group":"Storage","pages":[{"title":"Storage Services | Collate Cloud Storage Guide","sidebarTitle":"Overview","href":"/connectors/storage/index"},{"group":"ADLS","pages":[{"title":"ADLS | Official Documentation","sidebarTitle":"SaaS/BYOC","href":"/connectors/storage/adls/index"},{"title":"ADLS | Official Documentation (Hybrid Runner)","sidebarTitle":"Hybrid Runner","href":"/connectors/storage/adls/hybrid-runner"},{"title":"ADLS Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/storage/adls/troubleshooting"}]},{"group":"GCS","pages":[{"title":"GCS Storage | Collate Cloud Storage Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/storage/gcs/index"},{"title":"GCS Storage | Collate Cloud Storage Integration (Hybrid Runner)","sidebarTitle":"Hybrid Runner","href":"/connectors/storage/gcs/hybrid-runner"},{"title":"GCS Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/storage/gcs/troubleshooting"}]},{"group":"S3","pages":[{"title":"S3 Storage | Collate Cloud Storage Integration","sidebarTitle":"SaaS/BYOC","href":"/connectors/storage/s3/index"},{"title":"S3 Storage | Collate Cloud Storage Integration (Hybrid Runner)","sidebarTitle":"Hybrid Runner","href":"/connectors/storage/s3/hybrid-runner"},{"title":"S3 Storage Connector Troubleshooting Guide | Collate Support","sidebarTitle":"Troubleshooting","href":"/connectors/storage/s3/troubleshooting"}]}]}]}]},{"tab":"Products","pages":[{"title":"Products","href":"/products"}]},{"tab":"Collate AI","pages":[{"title":"Collate AI","href":"/collate-ai"}]},{"tab":"How-To Guides","pages":[{"title":"How-To Guides","href":"/how-to-guides"}]},{"tab":"Admin Guide","pages":[{"title":"Admin Guide","href":"/how-to-guides/admin-guide"}]},{"tab":"Customer Support","pages":[{"title":"Customer Support","href":"/how-to-guides/collate-customer-support"}]},{"tab":"Guide for Data Users","pages":[{"title":"Guide for Data Users","href":"/how-to-guides/guide-for-data-users"}]},{"tab":"SSO","pages":[{"title":"SSO","href":"/how-to-guides/sso"}]},{"tab":"Data Contracts","pages":[{"title":"Data Contracts","href":"/how-to-guides/data-contracts"}]},{"tab":"Data Discovery","pages":[{"title":"Data Discovery","href":"/how-to-guides/data-discovery"}]},{"tab":"Data Collaboration","pages":[{"title":"Data Collaboration","href":"/how-to-guides/data-collaboration"}]},{"tab":"Data Quality \u0026 Observability","pages":[{"title":"Data Quality \u0026 Observability","href":"/how-to-guides/data-quality-observability"}]},{"tab":"Data Lineage","pages":[{"title":"Data Lineage","href":"/how-to-guides/data-lineage"}]},{"tab":"Data Insights","pages":[{"title":"Data Insights","href":"/how-to-guides/data-insights"}]},{"tab":"Data Governance","pages":[{"title":"Data Governance","href":"/how-to-guides/data-governance"}]},{"tab":"SQL Studio","pages":[{"title":"SQL Studio","href":"/how-to-guides/sql-studio"}]},{"tab":"Deployment","pages":[{"title":"Deployment","href":"/how-to-guides/deployment/hybrid-runner"}]},{"tab":"SDKs \u0026 APIs","pages":[{"title":"SDKs \u0026 APIs","href":"/sdk"}]}]}]},"basePath":"","title":"Custom Drive Connector | Build and Extend Custom Connectors Easily - Collate Documentation","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-DTFzvaXJ.js","lightbox-handle-r17bVUz3.js"]}