Maia Team can help you create a custom connector to fetch data using a REST API that returns JSON data and has a publicly viewable documentation page. For best results, the documentation should be a static HTML page that clearly lists the available endpoints, methods, and parameters.When you provide a link to the documentation, Maia Team can read the content of that page and any linked sub-pages at the same path. For example, if you provide the link https://api.com/docs, Maia Team can also access pages like https://api.com/docs/endpoints.Maia Team also detects whether the API requires authentication. If authentication is required, Maia Team prompts you to choose the appropriate method (such as API Key, Basic Auth, Bearer Token, or OAuth) and to enter the required credentials.Instead of a link to public documentation, you can also upload the API documentation as a file. The file containing the API specification must be a PDF, YAML or JSON file up to 5 MB.
If the API documentation is too large, Maia Team may timeout after 10 minutes. If this happens, try linking to a smaller sub-section of the API documentation, or uploading a smaller file.
Video example
Creating a custom connector with Maia Team
Follow these steps to create a custom connector with Maia Team‘s help:
In the left navigation, click and then click Custom Connectors.
In the Custom connectors dashboard, provide the documentation for the API you want to connect to. Either:
Paste the URL into the Enter the link to your API documentation field.
Click Upload a PDF, JSON, or YAML file and select the file containing the API documentation.
Click Build.
In the Endpoints list, select the checkboxes for all the endpoints you want to include in your custom connector. Select the checkbox in the Endpoints header to select all available endpoints.
This dialog lists all the API endpoints that Maia Team found using the API documentation you provided. If you can’t see an endpoint that you expected, make sure that the URL or file you provided includes all the endpoints you want to use, then try again. If the issue persists, you can add endpoints manually when the custom connector has been created.
Click Import.
In Authentication type, select the authentication method you want to use to connect to the data source, then enter the required credentials. If the API doesn’t require authentication, select No Auth.
Your authentication credentials are only used for sending test requests to validate your custom connector configuration. They aren’t saved in the custom connector editor.The custom connector only saves the authentication type. When configuring your custom connector in Designer, you’ll provide your credentials as secrets.
Click Send. Maia Team will import the selected endpoints, apply authentication and pagination where required, and add any required parameters.
In the custom connector editor, review and edit the endpoints. For more information, read Creating custom connectors.
Click Save.
Your custom connector is ready to be used in orchestration pipelines in Designer. It will appear in the list of available custom connectors in the Custom connectors dashboard, and can be added to orchestration pipelines in Designer like any other connector.For information about configuring custom connector properties in orchestration pipelines, read Custom connectors in Designer.
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Maia Documentation","colors":{"primary":"#001f1d","light":"#20514e","dark":"#001f1d"},"logo":{"light":"https://mintcdn.com/matillion/GyuNBHAx-GXnVlKX/images/maia-by-matillion-light.svg?fit=max\u0026auto=format\u0026n=GyuNBHAx-GXnVlKX\u0026q=85\u0026s=2c48b854f858c5a835450b3f34360db7","dark":"https://mintcdn.com/matillion/GyuNBHAx-GXnVlKX/images/maia-by-matillion-dark.svg?fit=max\u0026auto=format\u0026n=GyuNBHAx-GXnVlKX\u0026q=85\u0026s=88f8d1e1b1931cefd35c233a56cafe0a","href":"https://docs.maia.ai/"},"favicon":{"light":"https://mintcdn.com/matillion/0xM0A92Owv1nZXX1/images/maia-favicon-dark-green.png?fit=max\u0026auto=format\u0026n=0xM0A92Owv1nZXX1\u0026q=85\u0026s=356295fc83c5c6d1ed4aac2573ae45b1","dark":"https://mintcdn.com/matillion/0xM0A92Owv1nZXX1/images/maia-favicon-white.png?fit=max\u0026auto=format\u0026n=0xM0A92Owv1nZXX1\u0026q=85\u0026s=8709fc6d370155352cb6a4b5bbdd59d6"},"appearance":{"default":"light","strict":true},"background":{"decoration":"gradient"},"navbar":{"links":[{"href":"https://support.matillion.com/s/","label":"Support"}],"primary":{"type":"button","label":"Book your Maia demo","href":"https://www.maia.ai/book-a-demo"}},"footer":{"socials":{"x":"https://x.com/matillion","facebook":"https://www.facebook.com/matillion","youtube":"https://www.youtube.com/user/MatillionVideos","linkedin":"https://www.linkedin.com/company/matillion-limited","instagram":"https://www.instagram.com/matillion_"},"links":[{"header":"Maia","items":[{"label":"Maia.ai","href":"https://maia.ai"},{"label":"Academy","href":"https://academy.matillion.com"},{"label":"Exchange","href":"https://exchange.matillion.com/"},{"label":"Roadmap","href":"https://roadmap.matillion.com/"},{"label":"Support","href":"https://support.matillion.com/s"},{"label":"YouTube","href":"https://www.youtube.com/@Matillion"}]},{"header":"Matillion","items":[{"label":"Matillion.com","href":"https://matillion.com"},{"label":"Status","href":"https://status.matillion.com/"},{"label":"News","href":"https://www.matillion.com/news"},{"label":"Legal","href":"https://www.matillion.com/legal"},{"label":"Trust Center","href":"https://www.matillion.com/trust-center"}]}]},"seo":{"metatags":{"google-site-verification":"0VLXGRESICGHnU66TdhEgUMBRRubPnW8JTkzOpiiNn0"}},"fonts":{"heading":{"family":"Inter, system-ui"},"body":{"family":"Inter, system-ui"}},"integrations":{"ga4":{"measurementId":"G-6T2W93NTXW"},"posthog":{"apiKey":"phc_ky6YtuQApuXUkdApnVTY5PrjvnHx7EQGtYyRVSd9G535","apiHost":"https://us.i.posthog.com"}},"contextual":{"options":["claude","chatgpt","perplexity","copy","view"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"matillion","hasAudioNarration":false,"actualSubdomain":"matillion","customDomains":["docs.maia.ai"],"gitSource":{"type":"github","owner":"matillion","repo":"maia-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af73146bd8b0362cded8904","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"Components","count":356},{"language":"default","tag":"Guides","count":210},{"language":"default","tag":"Connectors","count":188},{"language":"default","tag":"API Reference","count":128},{"language":"default","tag":"Endpoints","count":113},{"language":"default","tag":"Orchestration","count":94},{"language":"default","tag":"Admin","count":70},{"language":"default","tag":"Transformation","count":69},{"language":"default","tag":"Runners","count":51},{"language":"default","tag":"Streaming","count":34}],"searchSettings":{"showContentSnippets":false}},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"#navbar .bg-background-light,#navbar .bg-background-dark{background-color:#001f1d!important}#navbar a,#navbar button,#navbar span,#navbar p{color:white!important}#navbar svg{color:white!important;stroke:white!important}#navbar #topbar-cta-button a,#navbar #topbar-cta-button a span,#navbar #topbar-cta-button svg{color:#001f1d!important}#navbar #topbar-cta-button a{font-weight:600!important}:root:not(.dark) #search-bar-entry,:root:not(.dark) #nav-anchor,:root:not(.dark) #navbar .navbar-link,:root:not(.dark) .nav-anchor{background-color:#0a3d39!important;border-radius:9999px!important}#topbar-cta-button a span.bg-primary-dark{background:#ffc700!important;border-radius:9999px!important}#navbar svg.bg-gray-500{background-color:white!important}#navbar button.lg\\:hidden div.font-semibold{color:white!important}#navbar button.lg\\:hidden div.text-gray-500 svg{color:white!important;stroke:white!important}#navbar img.nav-logo{content:url('/images/maia-by-matillion-light.svg');height:50px!important;width:auto!important}#footer img.nav-logo{content:url('/images/maia-by-matillion-dark.svg');height:80px!important;width:auto!important}#pagination{display:none}#navigation-items>div{padding-bottom:4rem!important}#navbar a[data-active=\"true\"] div.h-px{height:4px!important;background-color:#ffc700!important;border-radius:9999px!important}[id^=\"headlessui-dialog-panel\"] .navbar-link a{color:white!important}[id^=\"headlessui-dialog-panel\"] nav{padding-top:2.5rem}.accordion{width:100%!important;overflow-x:auto!important}.accordion>div{padding-left:1.375rem!important;padding-right:0!important}.accordion>div[class*=\"overflow\"],.accordion>div>div[class*=\"overflow\"]{overflow:visible!important}@media (min-width: 1920px){body:has(#navbar.is-not-custom) #body-content{max-width:2000px!important}body:has(#navbar.is-not-custom) #content-container{max-width:1650px!important}body:has(#navbar.is-not-custom) #navbar .max-w-8xl{max-width:2000px!important}}body:has(#navbar.is-not-custom) #content{zoom:var(--maia-content-zoom, 100%)}body:has(#navbar.is-not-custom) #content-area>#content+div:has(>p+a){zoom:var(--maia-content-zoom, 100%)}#content-area>#content+div:has(>p+a)>p{font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:normal;color:#101828;margin-bottom:0.5rem}.dark #content-area>#content+div:has(>p+a)>p{color:inherit}#content-area>#content+div:has(>p+a)>a{font-size:1rem;line-height:1.75rem}"},{"filePath":"new-features-blog/new-features-blog.css","content":".fos-background-container{position:fixed;top:0;left:0;height:100vh;width:100vw;background:#fff3d1;z-index:-1;background-size:cover}.fos-post-page-container{background-color:#fff;border-radius:20px;padding:20px!important}.fos-roadmap-page-container{background-color:#fff;border-radius:20px;width:95%}@media (min-width: 1024px){.fos-roadmap-page-container{width:70%;margin:0 auto}}.fos-changelog-page-container{background-color:#fff;border-radius:20px}.banner-title,.fos-header-banner-title{color:#00524E;font-size:4rem;font-weight:700;font-family:'Inter', sans-serif}.banner-subtitle,.fos-header-banner-subtitle{color:#001F1D;font-size:1.1487em;margin-top:0.5em;margin-bottom:2em}.fos-header-boards-trigger,.fos-header-roadmap-trigger,.fos-header-changelog-trigger{display:none}.fos-user-side-header{color:white;font-family:'Inter', sans-serif}.fos-header-container{background-color:#001f1d;box-shadow:0px 1px 13px #bfbfbf}.fos-header-boards-dropdown-content span{color:white}.fos-header-links-container{justify-content:center;gap:1em}.fos-header-link{color:white;font-size:14px!important;font-weight:bold;padding:10px 0}.fos-header-logo-container{display:flex}.fos-header-logo-image{width:100px}.fos-header-boards-link{color:white;font-size:16px;padding:10px 0;font-weight:bold}.fos-header-link-icon{color:white}"}],"page":{"pagePath":"docs/guides/create-a-custom-connector-with-maia","slug":"/docs/guides/create-a-custom-connector-with-maia","pageMetadata":{"title":"Create a custom connector with Maia Team","description":null,"href":"/docs/guides/create-a-custom-connector-with-maia"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const Customconnectors=()=>_jsxs(_Fragment,{children:[`the `,_jsx(`strong`,{children:`Custom Connectors`}),` icon `,_jsx(`span`,{style:{whiteSpace:`nowrap`},children:_jsx(`img`,{src:`/images/global-nav/custom-connectors.png`,width:`20`,height:`20`,style:{verticalAlign:`text-bottom`,display:`inline`,margin:`0 1px`}})})]});const designer=`Designer`;const maia_team=`Maia Team`;const maia=`Maia`;function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note,OptimizedFrame,Warning,_MdxComponentBoundary}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedFrame)_missingMdxReference(`OptimizedFrame`,true);if(!Warning)_missingMdxReference(`Warning`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[maia_team,` can help you create a custom connector to fetch data using a REST API that returns JSON data and has a publicly viewable documentation page. For best results, the documentation should be a static HTML page that clearly lists the available endpoints, methods, and parameters.`]}),`\n`,_jsxs(_components.p,{children:[`When you provide a link to the documentation, `,maia_team,` can read the content of that page and any linked sub-pages at the same path. For example, if you provide the link `,_jsx(_components.code,{children:`https://api.com/docs`}),`, `,maia_team,` can also access pages like `,_jsx(_components.code,{children:`https://api.com/docs/endpoints`}),`.`]}),`\n`,_jsxs(_components.p,{children:[maia_team,` also detects whether the API requires authentication. If authentication is required, `,maia_team,` prompts you to choose the appropriate method (such as API Key, Basic Auth, Bearer Token, or OAuth) and to enter the required credentials.`]}),`\n`,_jsx(_components.p,{children:`Instead of a link to public documentation, you can also upload the API documentation as a file. The file containing the API specification must be a PDF, YAML or JSON file up to 5 MB.`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`If the API documentation is too large, `,maia_team,` may timeout after 10 minutes. If this happens, try linking to a smaller sub-section of the API documentation, or uploading a smaller file.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`video-example`,children:`Video example`}),`\n`,_jsx(OptimizedFrame,{width:`560`,height:`315`,src:`https://www.youtube.com/embed/g2B7N3uQ_CI?si=3lNOZ1LJ48GmjW6z\u0026enablejsapi=1`,title:`YouTube video player`,frameBorder:`0`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen`,referrerPolicy:`strict-origin-when-cross-origin`,allowFullScreen:true}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`creating-a-custom-connector-with-maia-team`,children:`Creating a custom connector with Maia Team`}),`\n`,_jsxs(_components.p,{children:[`Follow these steps to create a custom connector with `,maia_team,`‘s help:`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`In the left navigation, click `,_jsx(_MdxComponentBoundary,{name:`Customconnectors`,children:_jsx(Customconnectors,{})}),` and then click `,_jsx(_components.strong,{children:`Custom Connectors`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Custom connectors`}),` dashboard, provide the documentation for the API you want to connect to. Either:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Paste the URL into the `,_jsx(_components.strong,{children:`Enter the link to your API documentation`}),` field.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Upload a PDF, JSON, or YAML file`}),` and select the file containing the API documentation.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Build`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Endpoints`}),` list, select the checkboxes for all the endpoints you want to include in your custom connector. Select the checkbox in the `,_jsx(_components.strong,{children:`Endpoints`}),` header to select all available endpoints.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`This dialog lists all the API endpoints that `,maia_team,` found using the API documentation you provided. If you can’t see an endpoint that you expected, make sure that the URL or file you provided includes all the endpoints you want to use, then try again. If the issue persists, you can add endpoints manually when the custom connector has been created.`]})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Import`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`In `,_jsx(_components.strong,{children:`Authentication type`}),`, select the authentication method you want to use to connect to the data source, then enter the required credentials. If the API doesn’t require authentication, select `,_jsx(_components.strong,{children:`No Auth`}),`.`]}),`\n`,_jsxs(Note,{children:[_jsx(_components.p,{children:`Your authentication credentials are only used for sending test requests to validate your custom connector configuration. They aren’t saved in the custom connector editor.`}),_jsx(_components.p,{children:`The custom connector only saves the authentication type. When configuring your custom connector in Designer, you’ll provide your credentials as secrets.`})]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Send`}),`. `,maia_team,` will import the selected endpoints, apply authentication and pagination where required, and add any required parameters.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`In the custom connector editor, review and edit the endpoints. For more information, read `,_jsx(_components.a,{href:`/docs/guides/custom-connector-setup`,children:`Creating custom connectors`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),`.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Your custom connector is ready to be used in orchestration pipelines in `,designer,`. It will appear in the list of available custom connectors in the `,_jsx(_components.strong,{children:`Custom connectors`}),` dashboard, and can be added to orchestration pipelines in `,designer,` like any other connector.`]}),`\n`,_jsxs(_components.p,{children:[`For information about configuring custom connector properties in orchestration pipelines, read `,_jsxs(_components.a,{href:`/docs/components/custom-connector`,children:[`Custom connectors in `,designer]}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{Customconnectors,designer,maia_team,maia,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":"Create a custom connector with Maia Team","description":null,"href":"/docs/guides/create-a-custom-connector-with-maia"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[155,466,"null;const designer="],[1111,1129,"`Maia Team`,` can he"],[1486,1504,"`Maia Team`,` can re"],[1676,1694,"`Maia Team`,` can al"],[1826,1844,"`Maia Team`,` also d"],[1925,1943,"`Maia Team`,` prompt"],[2399,2417,"`Maia Team`,` may ti"],[3278,3296,"`Maia Team`,`‘s help"],[4817,4835,"`Maia Team`,` found "],[6193,6211,"`Maia Team`,` will i"],[6872,6890,"`Designer`,`. It wil"],[7069,7087,"`Designer`,` like an"],[7339,7357,"`Designer`]}),`.`]})"]]},"mdxExtracts":{"tableOfContents":[{"title":"Video example","slug":"video-example","depth":2,"children":[]},{"title":"Creating a custom connector with Maia Team","slug":"creating-a-custom-connector-with-maia-team","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/matillion/1eecfe13cb8a36b9/scripts/feedback-widget.js","/_mintlify/custom/matillion/b8b092d8d394af0f/scripts/ga4-events.js","/_mintlify/custom/matillion/5baf5b38fe34f41f/scripts/iubenda.js","/_mintlify/custom/matillion/573540f1e9142d9c/scripts/kapa-widget.js","/_mintlify/custom/matillion/a52101786f42c23b/scripts/ph-pageleaves.js","/_mintlify/custom/matillion/b8f0431aaf9ef855/scripts/cookie-preferences-button.js","/_mintlify/custom/matillion/a3d31738f4c89949/scripts/status-badge-nav.js","/_mintlify/custom/matillion/b444958fcc79163d/scripts/text-size-slider.js","/_mintlify/custom/matillion/f7016c1e98f77080/scripts/posthog-events.js"],"subdomain":"matillion","siteName":"Maia Documentation","title":"Create a custom connector with Maia Team - Maia Documentation","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"manual"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T18:15:24.868Z","originalFileLocation":"docs/guides/create-a-custom-connector-with-maia.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=\"application-name\" content=\"Maia Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/matillion/eb7R3mt9l7P1vThW/_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/matillion/eb7R3mt9l7P1vThW/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/matillion/eb7R3mt9l7P1vThW/_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/matillion/eb7R3mt9l7P1vThW/_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/matillion/eb7R3mt9l7P1vThW/_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/matillion/eb7R3mt9l7P1vThW/_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/matillion/eb7R3mt9l7P1vThW/_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/matillion/eb7R3mt9l7P1vThW/_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/matillion/eb7R3mt9l7P1vThW/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a custom connector with Maia Team - Maia Documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Maia Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.maia.ai/docs/guides/create-a-custom-connector-with-maia\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://matillion.mintlify.site/_mintlify/api/og/v2?division=Maia+Team\u0026amp;title=Create+a+custom+connector+with+Maia+Team\u0026amp;theme=ce57a3e3dfd574362d42229a\u0026amp;signature=e8960306d2d842462cfed0ab3b0f8399aff80a53e89b4e289aee89eecbf182f7\">\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=\"Create a custom connector with Maia Team - Maia Documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://matillion.mintlify.site/_mintlify/api/og/v2?division=Maia+Team\u0026amp;title=Create+a+custom+connector+with+Maia+Team\u0026amp;theme=ce57a3e3dfd574362d42229a\u0026amp;signature=e8960306d2d842462cfed0ab3b0f8399aff80a53e89b4e289aee89eecbf182f7\">\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/matillion/eb7R3mt9l7P1vThW/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Maia Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#001f1d\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"0VLXGRESICGHnU66TdhEgUMBRRubPnW8JTkzOpiiNn0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.maia.ai/docs/guides/create-a-custom-connector-with-maia\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/guides/create-a-custom-connector-with-maia.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.maia.ai/#organization\",\"name\":\"Maia Documentation\",\"url\":\"https://docs.maia.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/matillion/GyuNBHAx-GXnVlKX/images/maia-by-matillion-light.svg?fit=max\u0026auto=format\u0026n=GyuNBHAx-GXnVlKX\u0026q=85\u0026s=2c48b854f858c5a835450b3f34360db7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.maia.ai#website\",\"name\":\"Maia Documentation\",\"url\":\"https://docs.maia.ai\",\"publisher\":{\"@id\":\"https://docs.maia.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.maia.ai/docs/guides/create-a-custom-connector-with-maia#webpage\",\"url\":\"https://docs.maia.ai/docs/guides/create-a-custom-connector-with-maia\",\"name\":\"Create a custom connector with Maia Team\",\"dateModified\":\"2026-11-12T18:15:24.868Z\",\"isPartOf\":{\"@id\":\"https://docs.maia.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.maia.ai/docs/guides/create-a-custom-connector-with-maia#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.maia.ai/docs/guides/create-a-custom-connector-with-maia#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Maia Team\",\"item\":\"https://docs.maia.ai/docs/guides/maia-team-overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a custom connector with Maia Team\",\"item\":\"https://docs.maia.ai/docs/guides/create-a-custom-connector-with-maia\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.maia.ai/docs/guides/create-a-custom-connector-with-maia#article\",\"headline\":\"Create a custom connector with Maia Team\",\"name\":\"Create a custom connector with Maia Team\",\"url\":\"https://docs.maia.ai/docs/guides/create-a-custom-connector-with-maia\",\"mainEntityOfPage\":{\"@id\":\"https://docs.maia.ai/docs/guides/create-a-custom-connector-with-maia#webpage\"},\"dateModified\":\"2026-11-12T18:15:24.868Z\",\"publisher\":{\"@id\":\"https://docs.maia.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.maia.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Maia Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Maia Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/guides/create-a-custom-connector-with-maia.md","siteName":"Maia Documentation","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":""}]},{"tab":"Admin","pages":[{"title":"Admin","href":"/docs/administration/administration-overview"}]},{"tab":"Components","pages":[{"title":"Components","href":"/docs/components/components-overview"}]},{"tab":"Guides","pages":[{"group":"Platform overview","root":{"title":"Maia product overview","href":"/docs/guides/maia-overview"},"pages":[{"title":"Maia product overview","href":"/docs/guides/maia-overview"},{"title":"Maia product architecture","href":"/docs/guides/architecture-overview"},{"title":"Full SaaS vs Hybrid SaaS","href":"/docs/guides/full-saas-vs-hybrid-saas"},{"title":"Data Pipeline Language (DPL)","href":"/docs/guides/data-pipeline-language"},{"title":"Maia glossary","href":"/docs/guides/glossary"},{"title":"Supported browsers","href":"/docs/guides/supported-browsers"},{"title":"Maia product release FAQ","href":"/docs/guides/release-faq"},{"title":"Migrating from Matillion ETL to Maia","href":"/docs/guides/migrating-from-matillion-etl"}]},{"group":"Setup","root":{"title":"Setup overview","href":"/docs/guides/setup-overview"},"pages":[{"title":"Setup overview","href":"/docs/guides/setup-overview"},{"title":"Services","href":"/docs/guides/services"},{"group":"Full SaaS","pages":[{"title":"Setup guide - Matillion Full SaaS Snowflake","href":"/docs/guides/full-saas-snowflake"},{"title":"Setup guide - Matillion Full SaaS Amazon Redshift","href":"/docs/guides/full-saas-redshift"},{"title":"Setup guide - Matillion Full SaaS Databricks","href":"/docs/guides/full-saas-databricks"},{"title":"Setup guide - Matillion Full SaaS Google BigQuery","href":"/docs/guides/full-saas-bigquery"}]},{"group":"Hybrid SaaS","pages":[{"title":"Setup guide - Hybrid SaaS Snowflake on AWS","href":"/docs/guides/hybrid-saas-snowflake-aws"},{"title":"Setup guide - Hybrid SaaS Snowflake on Azure","href":"/docs/guides/hybrid-saas-snowflake-azure"},{"title":"Setup guide - Hybrid SaaS Snowflake on Google Cloud","href":"/docs/guides/hybrid-saas-snowflake-gcp"},{"title":"Setup guide - Hybrid SaaS Snowflake on Snowpark","href":"/docs/guides/hybrid-saas-snowflake-snowpark"},{"title":"Setup guide - Hybrid SaaS Amazon Redshift on AWS","href":"/docs/guides/hybrid-saas-redshift-aws"},{"title":"Setup guide - Hybrid SaaS Databricks on AWS","href":"/docs/guides/hybrid-saas-databricks-aws"},{"title":"Setup guide - Hybrid SaaS Databricks on Azure","href":"/docs/guides/hybrid-saas-databricks-azure"},{"title":"Setup guide - Hybrid SaaS Google BigQuery","href":"/docs/guides/hybrid-saas-bigquery"}]}]},{"group":"Getting started","root":{"title":"Maia new user tutorial","href":"/docs/guides/new-user-tutorial"},"pages":[{"title":"Maia new user tutorial","href":"/docs/guides/new-user-tutorial"},{"title":"Project quickstart guide","href":"/docs/guides/project-quickstart-guide"},{"title":"Using Designer","href":"/docs/guides/using-designer"},{"title":"Convert workloads from other platforms","tag":"Preview","href":"/docs/guides/convert-workloads-from-other-platforms"},{"title":"Best practices for converting workloads","href":"/docs/guides/convert-workloads-best-practices"},{"title":"Getting started with loading data","href":"/docs/guides/loading-data-overview"},{"title":"Incremental or high water mark data loading","href":"/docs/guides/incremental-load-example"},{"title":"Post-processing","href":"/docs/guides/post-processing"},{"title":"Sampling component output and metadata","href":"/docs/guides/sampling-output"},{"title":"Validating pipelines","href":"/docs/guides/validating-pipelines"},{"title":"Organizing file storage","href":"/docs/guides/organizing-file-storage"}]},{"group":"Projects","root":{"title":"Projects","href":"/docs/guides/projects"},"pages":[{"title":"Projects","href":"/docs/guides/projects"},{"title":"Branches","href":"/docs/guides/branches"},{"title":"Environments","href":"/docs/guides/environments"},{"title":"Artifacts","href":"/docs/guides/artifacts"},{"title":"Schedules","href":"/docs/guides/schedules"},{"group":"Connections","root":{"title":"Connections","href":"/docs/guides/connections"},"pages":[{"title":"Connections","href":"/docs/guides/connections"},{"title":"Secrets and connections","href":"/docs/guides/secrets-and-connections-overview"},{"title":"Understanding the new connections model","href":"/docs/guides/new-connections-model"},{"title":"Secrets and secret definitions","href":"/docs/guides/secrets-and-secret-definitions"},{"title":"Cloud provider credentials","href":"/docs/guides/cloud-credentials"}]},{"title":"Networks","href":"/docs/guides/networks"},{"title":"Upgrade Assistant","href":"/docs/guides/upgrade-assistant"}]},{"group":"Pipelines","root":{"title":"Pipelines","href":"/docs/guides/pipelines"},"pages":[{"title":"Pipelines","href":"/docs/guides/pipelines"},{"title":"Pipelines tutorial","href":"/docs/guides/pipelines-tutorial"},{"group":"Variables","pages":[{"title":"Project and pipeline variables","href":"/docs/guides/variables"},{"title":"Grid variables","href":"/docs/guides/grid-variables"},{"title":"System variables","href":"/docs/guides/system-variables"},{"title":"Variable expressions","href":"/docs/guides/variable-expressions"}]},{"title":"Code Editor","href":"/docs/guides/code-editor"},{"title":"Transactions","href":"/docs/guides/transactions"},{"title":"Data masking in transformation pipelines","href":"/docs/guides/data-masking-transformation"},{"title":"Matillion data quality framework","href":"/docs/guides/data-quality-framework"},{"title":"Shared pipelines","href":"/docs/guides/shared-pipelines"},{"title":"Reviewing pipeline quality","tag":"Preview","href":"/docs/guides/pipeline-quality"},{"title":"Tutorial: Triggering a pipeline via SQS","href":"/docs/guides/triggering-a-pipeline-via-sqs"}]},{"group":"Git","root":{"title":"Git overview","href":"/docs/guides/git-introduction"},"pages":[{"title":"Git overview","href":"/docs/guides/git-introduction"},{"group":"Using Git in Designer","root":{"title":"Using Git in Designer","href":"/docs/guides/git-overview"},"pages":[{"title":"Using Git in Designer","href":"/docs/guides/git-overview"},{"title":"Commit changes","href":"/docs/guides/git-commit"},{"title":"Push local changes","href":"/docs/guides/git-push"},{"title":"Pull remote changes","href":"/docs/guides/git-pull"},{"title":"Merge from branch","href":"/docs/guides/git-merge"},{"title":"Compare changes","href":"/docs/guides/git-compare"},{"title":"Reset branch","href":"/docs/guides/git-hard-reset"},{"title":"Revert changes","href":"/docs/guides/git-revert"},{"title":"Pull requests","href":"/docs/guides/git-pull-requests"},{"title":"Troubleshooting Git errors","href":"/docs/guides/troubleshooting-git"}]},{"group":"Connect your own Git repository","root":{"title":"Connect your own Git repo","href":"/docs/guides/installing-git-provider-overview"},"pages":[{"title":"Connect your own Git repo","href":"/docs/guides/installing-git-provider-overview"},{"group":"GitHub","root":{"title":"What is the Maia GitHub app?","href":"/docs/guides/matillion-github-app-overview"},"pages":[{"title":"What is the Maia GitHub app?","href":"/docs/guides/matillion-github-app-overview"},{"title":"Installing the Maia app in GitHub","href":"/docs/guides/installing-matillion-app-github-marketplace"},{"title":"Prerequisites for connecting to a GitHub repository","href":"/docs/guides/connect-github-repository-prerequisites"},{"title":"Troubleshooting GitHub repository errors","href":"/docs/guides/troubleshooting-github-repository-connection"}]},{"group":"GitLab","root":{"title":"What is the Maia GitLab App?","href":"/docs/guides/matillion-gitlab-app-overview"},"pages":[{"title":"What is the Maia GitLab App?","href":"/docs/guides/matillion-gitlab-app-overview"},{"title":"Prerequisites for connecting to a GitLab repository","href":"/docs/guides/connect-gitlab-repository-prerequisites"},{"title":"Troubleshooting GitLab repository errors","href":"/docs/guides/troubleshooting-gitlab-repository-connections"}]},{"group":"Azure DevOps","root":{"title":"Maia Azure DevOps app overview","href":"/docs/guides/matillion-azure-devops-app-overview"},"pages":[{"title":"Maia Azure DevOps app overview","href":"/docs/guides/matillion-azure-devops-app-overview"},{"title":"Installing the Maia app in Azure","href":"/docs/guides/installing-matillion-app-azure-devops"},{"title":"Prerequisites for connecting to an Azure DevOps repository","href":"/docs/guides/connect-azure-devops-repository-prerequisites"},{"title":"Troubleshooting Azure DevOps repository errors","href":"/docs/guides/troubleshooting-azure-devops-repository-connection"}]},{"group":"Bitbucket","root":{"title":"Maia Bitbucket app overview","href":"/docs/guides/matillion-bitbucket-app-overview"},"pages":[{"title":"Maia Bitbucket app overview","href":"/docs/guides/matillion-bitbucket-app-overview"},{"title":"Prerequisites for connecting to a Bitbucket repository","href":"/docs/guides/connect-bitbucket-repository-prerequisites"},{"title":"Troubleshooting Bitbucket repository errors","href":"/docs/guides/troubleshooting-bitbucket-repository-connection"}]}]},{"title":"Reconnecting your Git user account","href":"/docs/guides/reconnecting-git-user-account"}]},{"group":"Custom connectors","root":{"title":"Custom connector overview","href":"/docs/guides/custom-connector-overview"},"pages":[{"title":"Custom connector overview","href":"/docs/guides/custom-connector-overview"},{"title":"Flex connector overview","href":"/docs/guides/flex-connector-introduction"},{"title":"Creating custom connectors","href":"/docs/guides/custom-connector-setup"},{"title":"Custom connector authentication","href":"/docs/guides/custom-connector-authentication"},{"title":"Script paging in custom connectors","href":"/docs/guides/custom-connector-script-paging"}]},{"group":"Runners","root":{"title":"Maia runner overview","href":"/docs/guides/runner-overview"},"pages":[{"title":"Maia runner overview","href":"/docs/guides/runner-overview"},{"title":"Maia runner updates","href":"/docs/guides/runner-updates"},{"title":"Scaling best practices","href":"/docs/guides/scaling-best-practices"},{"group":"Managing runners","root":{"title":"Manage runners","href":"/docs/guides/manage-runners"},"pages":[{"title":"Manage runners","href":"/docs/guides/manage-runners"},{"title":"Create a Maia runner in your infrastructure","href":"/docs/guides/create-a-runner"},{"title":"Pause a Maia runner","href":"/docs/guides/pause-runner"},{"title":"Restart a Maia runner","href":"/docs/guides/restart-runner"},{"title":"Refresh Maia runner credentials","href":"/docs/guides/refresh-credentials"},{"title":"Restrict a Maia runner","href":"/docs/guides/restrict-a-runner"},{"group":"Logging","pages":[{"title":"Maia runner logs","href":"/docs/guides/runner-logs"},{"title":"Enable Maia runner heap dumps","href":"/docs/guides/enable-runner-heap-dumps"},{"title":"Export Maia runner logs","href":"/docs/guides/export-logs-hybrid-saas"}]}]},{"group":"AWS runner","pages":[{"title":"Amazon EKS deployment guide for Maia runners","href":"/docs/guides/eks-deployment-guide"},{"group":"ECS Fargate","pages":[{"title":"Maia runner installation using a CloudFormation quick-create link","href":"/docs/guides/runner-installation-cloudformation-quick-create"},{"title":"AWS Fargate manual setup for Maia runners","href":"/docs/guides/aws-fargate-manual-runner-setup"}]},{"group":"AWS configuration","pages":[{"title":"AWS IAM roles","href":"/docs/guides/aws-iam-roles"},{"title":"AWS IAM permissions for runner deployment","href":"/docs/guides/aws-iam-permissions-for-runner"},{"title":"Add Maia runner credentials to AWS Secrets Manager","href":"/docs/guides/add-runner-credentials-to-aws-secrets-manager"}]}]},{"group":"Azure runner","pages":[{"title":"Azure AKS deployment guide for Maia runners","href":"/docs/guides/aks-deployment-guide"},{"group":"Container Apps","pages":[{"title":"Maia runner installation using an ARM template","href":"/docs/guides/azure-arm-runner-install"},{"title":"ARM template permissions","href":"/docs/guides/arm-template-permissions"},{"title":"Download and amend the Azure ARM template","href":"/docs/guides/amend-azure-arm-template"},{"title":"Configuring an Azure key vault for Maia runners","href":"/docs/guides/azure-arm-runner-key-vault"},{"title":"Azure managed identity","href":"/docs/guides/azure-managed-identity"},{"title":"Sizing Maia runners on Azure Container Apps","href":"/docs/guides/azure-arm-runner-sizing"}]},{"title":"Troubleshooting a Maia runner hosted on Azure","href":"/docs/guides/azure-runner-troubleshooting"}]},{"group":"Google Cloud runner","pages":[{"title":"Google Cloud GKE deployment for Maia runners","href":"/docs/guides/gke-deployment-guide"},{"title":"Google Cloud IAM permissions for runner deployment","href":"/docs/guides/gcp-iam-permissions-for-runner"}]},{"group":"Snowflake runner","pages":[{"title":"Installing a Maia runner for Snowflake","href":"/docs/guides/snowflake-runner-install"},{"title":"Using secrets in a Maia runner for Snowflake","href":"/docs/guides/snowflake-runner-secrets"},{"title":"Troubleshooting a Maia runner for Snowflake","href":"/docs/guides/snowflake-runner-troubleshooting"}]},{"title":"Kubernetes deployment guide for runners","href":"/docs/guides/kubernetes-deployment-guide"},{"title":"Connectivity via AWS PrivateLink","href":"/docs/guides/connecting-via-privatelink"},{"title":"Shared script runner","href":"/docs/guides/shared-script-runner"},{"group":"General configuration","pages":[{"title":"Optional Maia runner parameters","href":"/docs/guides/optional-runner-parameters"},{"title":"Customizing Maia runner networking and connectivity","href":"/docs/guides/customizing-runner-networking-and-connectivity"},{"title":"Installing Python libraries","href":"/docs/guides/installing-python-libraries"},{"title":"Uploading external drivers to a Maia runner","href":"/docs/guides/uploading-external-drivers"}]}]},{"group":"Context Engine","root":{"title":"Context Engine overview","href":"/docs/guides/context-engine-overview"},"pages":[{"title":"Context Engine overview","href":"/docs/guides/context-engine-overview"},{"title":"Creating knowledge graphs","href":"/docs/guides/creating-knowledge-graphs"},{"title":"Managing knowledge graphs","href":"/docs/guides/managing-knowledge-graphs"},{"title":"Visualizing knowledge graphs","href":"/docs/guides/visualizing-knowledge-graphs"}]},{"group":"Maia Team","root":{"title":"Maia Team overview","href":"/docs/guides/maia-team-overview"},"pages":[{"title":"Maia Team overview","href":"/docs/guides/maia-team-overview"},{"title":"Building pipelines","href":"/docs/guides/maia-pipelines"},{"title":"Chat features","href":"/docs/guides/maia-sessions-and-tools"},{"title":"Context files","description":null,"href":"/docs/guides/maia-context-files"},{"title":"Create a custom connector with Maia Team","href":"/docs/guides/create-a-custom-connector-with-maia"},{"title":"Mission Control overview","description":null,"href":"/docs/guides/mission-control"},{"title":"Mission Control integrations","href":"/docs/guides/mission-control-integrations"},{"title":"Tasks in Mission Control","href":"/docs/guides/mission-control-tasks"},{"title":"Pipeline notes","href":"/docs/guides/ai-note"},{"title":"Prompting best practices","href":"/docs/guides/maia-best-practices"},{"title":"Skills","href":"/docs/guides/maia-skills"},{"title":"AI FAQ","href":"/docs/guides/ai-faq"}]},{"group":"Observability","root":{"title":"Observability overview","href":"/docs/guides/observability-overview"},"pages":[{"title":"Observability overview","href":"/docs/guides/observability-overview"},{"title":"Audit service","href":"/docs/guides/audit-service"},{"group":"Lineage","root":{"title":"Lineage","href":"/docs/guides/data-lineage"},"pages":[{"title":"Send lineage to your data catalog","href":"/docs/guides/lineage-integrations"}]},{"group":"Notifications","pages":[{"title":"Pipeline notifications","href":"/docs/guides/pipeline-notifications"},{"title":"Billing notifications","href":"/docs/guides/billing-notifications"}]},{"title":"Lineage","href":"/docs/guides/data-lineage"},{"title":"Pipeline notifications","href":"/docs/guides/pipeline-notifications"},{"group":"Pipeline observability","pages":[{"title":"Pipeline run history","href":"/docs/guides/pipeline-run-history"},{"title":"Impact stream","href":"/docs/guides/impact-stream"},{"title":"Troubleshoot pipelines with Maia Team","href":"/docs/guides/troubleshoot-pipelines-with-maia-team"}]}]},{"group":"Connections and credentials","root":{"title":"Connections and credentials overview","href":"/docs/guides/connections-and-credentials-overview"},"pages":[{"title":"Connections and credentials overview","href":"/docs/guides/connections-and-credentials-overview"},{"title":"Amazon Redshift connection","href":"/docs/guides/amazon-redshift-connection"},{"title":"Amazon Redshift Serverless connection","href":"/docs/guides/amazon-redshift-serverless-connection"},{"title":"Databricks","href":"/docs/guides/databricks-cdw-guide"},{"title":"Databricks Jobs Compute configuration","href":"/docs/guides/databricks-jobs-compute"},{"title":"Connect your Databricks account to Maia via Partner Connect","href":"/docs/guides/databricks-partner-connect"},{"title":"Connectivity via AWS PrivateLink using Full SaaS","href":"/docs/guides/aws-privatelink"},{"title":"Troubleshooting cloud data warehouse errors","href":"/docs/guides/troubleshooting-connectivity"}]},{"group":"Streaming","root":{"title":"Streaming pipelines","href":"/docs/streaming/streaming-pipelines"},"pages":[{"title":"Streaming pipelines","href":"/docs/streaming/streaming-pipelines"},{"title":"Sync All Tables","href":"/docs/streaming/sync-all-tables"},{"title":"Failover recovery for streaming pipelines","href":"/docs/streaming/failover-recovery"},{"group":"Sources","pages":[{"title":"Modify access to source databases","href":"/docs/streaming/how-to-modify-access-for-each-source-system"},{"group":"Db2 for IBM i","pages":[{"title":"Configure your Db2 for IBM i database","href":"/docs/streaming/db2-for-ibm-i-configure-database"},{"title":"Db2 for IBM i streaming connector","href":"/docs/streaming/db2-for-ibm-i-streaming-source"}]},{"group":"Microsoft SQL Server","pages":[{"title":"Configure your Microsoft SQL Server database","href":"/docs/streaming/microsoft-sql-server-configure-database"},{"title":"Microsoft SQL Server streaming connector","href":"/docs/streaming/microsoft-sql-server-streaming-source"}]},{"group":"MySQL","pages":[{"title":"Configure the Streaming runner for MySQL","href":"/docs/streaming/mysql-configure-runner"},{"title":"Configure your MySQL database","href":"/docs/streaming/mysql-configure-database"},{"title":"MySQL streaming connector","href":"/docs/streaming/mysql-streaming-source"}]},{"group":"Oracle","pages":[{"title":"Configure your Oracle database","href":"/docs/streaming/oracle-configure-database"},{"title":"Oracle streaming connector","href":"/docs/streaming/oracle-streaming-source"}]},{"group":"PostgreSQL","pages":[{"title":"Configure your PostgreSQL database","href":"/docs/streaming/postgresql-configure-database"},{"title":"PostgreSQL streaming connector","href":"/docs/streaming/postgresql-streaming-source"}]}]},{"group":"Destinations","pages":[{"title":"Streaming to an Amazon S3 destination","href":"/docs/streaming/amazon-s3-streaming-destination"},{"title":"Streaming to an Azure Blob Storage destination","href":"/docs/streaming/azure-blob-storage-streaming-destination"},{"title":"Streaming to a Google Cloud Storage destination","href":"/docs/streaming/google-cloud-storage-streaming-destination"},{"title":"Streaming to a Snowflake destination","href":"/docs/streaming/snowflake-streaming-destination"}]},{"group":"Streaming runners","pages":[{"title":"Create a Streaming runner","href":"/docs/streaming/create-streaming-runner"},{"title":"Streaming runner versions","href":"/docs/streaming/runner-versions"},{"title":"Sizing Streaming runners","href":"/docs/streaming/sizing-streaming-runners"},{"title":"Streaming runner logs","href":"/docs/streaming/streaming-runner-logs"},{"title":"Enable Streaming runner heap dumps","href":"/docs/streaming/streaming-runner-heap-dumps"},{"group":"AWS","pages":[{"title":"AWS Fargate Streaming runner setup","href":"/docs/streaming/aws-streaming-runner-manual-setup"},{"title":"AWS IAM roles for Streaming runners","href":"/docs/streaming/streaming-runner-aws-iam-roles"},{"title":"Streaming runner installation using a CloudFormation quick-create link","href":"/docs/streaming/streaming-runner-installation-cloudformation-quick-create"}]},{"group":"Azure","pages":[{"title":"Streaming runner installation on Azure","href":"/docs/streaming/azure-streaming-runner-install"},{"title":"Configuring an Azure key vault for Streaming runners","href":"/docs/streaming/azure-arm-streaming-runner-key-vault"},{"title":"Download and amend the Azure Resource Manager template for a Streaming runner","href":"/docs/streaming/amend-azure-arm-streaming-template"},{"title":"Azure Resource Manager Streaming runner template permissions","href":"/docs/streaming/arm-streaming-template-permissions"},{"title":"Communicating with other Azure services","href":"/docs/streaming/authenticate-streaming-runner-with-azure-services"},{"title":"Azure Streaming runner troubleshooting","href":"/docs/streaming/azure-streaming-runner-troubleshooting"}]},{"group":"GCP","pages":[{"title":"Streaming runner installation on Google Cloud","href":"/docs/streaming/gcp-streaming-runner-install"}]}]}]},{"group":"Videos","pages":[{"title":"Feature videos","href":"/docs/videos/feature-videos"},{"title":"How-to video guides","href":"/docs/videos/how-to-videos"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/docs/api-reference/maia-api-overview"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/docs/changelog/2026-changelog"}]}]},"basePath":"","title":"Create a custom connector with Maia Team - Maia Documentation","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":[],"chunks":[]}