Obtaining metadata should be as simple as possible. Not only that, we want developers to be able to keep using their
tools without any major changes.We can directly use Airflow code
to help us track data lineage. What we want to achieve through this backend is the ability to link OpenMetadata Table Entities and the pipelines that have those instances as inputs or outputs.Being able to control and monitor these relationships can play a major role in helping discover and communicate issues
to your company data practitioners and stakeholders.This document will guide you through the installation, configuration and internals of the process to help you unlock as
much value as possible from within your Airflow pipelines.
We can choose the option that best adapts to our current architecture. Find more information on Airflow configurations
here.Moreover, when using the lineage backend to bring in Pipeline metadata, we will add the URL of DAG. We build
this URL by using the webserver base URL. If you want to make sure this value is informed correctly, double-check
what you have defined in the webserver configuration here.
only_keep_dag_lineage will remove any table lineage not present in the inlets or outlets. This will ensure
that any lineage in OpenMetadata comes only from your code.
max_status controls the number of status to ingest in each run. By default, we’ll pick the last 10.
timeout sets the timeout for the airflow lineage backend’s connection to openMetadata.
retry limits the number of retries for the airflow lineage backend’s connection to openMetadata.
retry_wait the base wait time (in seconds) between retry attempts. On each retry, the wait time increases linearly based on the number of attempts already made: retry_wait * (total_retries - retry + 1) This mechanism helps avoid overwhelming the service by spacing out retries.
retry_codes is a comma-separated list of HTTP status codes that will trigger a retry. By default, it includes Gateway Timeout (HTTP 504).
In the following sections, we’ll show how to adapt our pipelines to help us build the lineage information.
The backend will look for a Pipeline Service Entity with the name specified in the configuration under
airflow_service_name. If it cannot find the instance, it will create one based on the following information:
airflow_service_name as name. If not informed, the default value will be airflow.
It will use the webserver base URL as the URL of the service.
Each DAG processed by the backend will be created or updated as a Pipeline Entity linked to the above Pipeline Service.We are going to extract the task information and add it to the Pipeline task property list. Then, a
DAG created with some tasks as the following random example:
t1 >> [t2, t3]
We will capture this information as well, therefore showing how the DAG contains three tasks t1, t2 and t3; and t1 having
t2 and t3 as downstream tasks.
Note how in this example we are defining a Python dict with the key tables and value a list.
This list should contain the FQN of tables ingested through any of our connectors or APIs.When each task is processed, we will use the OpenMetadata client to add the lineage information (upstream for inlets
and downstream for outlets) between the Pipeline and Table Entities.It is important to get the naming right, as we will fetch the Table Entity by its FQN. If no information is specified
in terms of lineage, we will just ingest the Pipeline Entity without adding further information.
While we are showing here how to parse the lineage using the Lineage Backend, the setup of inlets and outlets
is supported as well through external metadata ingestion from Airflow, be it via the UI, CLI or directly running
an extraction DAG from Airflow itself.
This is a full example of a working DAG. Note how we are passing the inlets and outlets for the fullyQualifiedNames
mysql.default.openmetadata_db.bot_entity
snow.TEST.PUBLIC.COUNTRIES
We are pointing at already ingested assets, so there is no limitation of them being part of the same service. For
this example to work on your end, update the FQNs to tables you already have in OpenMetadata.
from datetime import datetime, timedeltafrom textwrap import dedent# The DAG object; we'll need this to instantiate a DAGfrom airflow import DAG# Operators; we need this to operate!from airflow.operators.bash import BashOperatorfrom airflow.operators.python import PythonOperator# These args will get passed on to each operator# You can override them on a per-task basis during operator initializationfrom airflow_provider_openmetadata.lineage.callback import success_callback, failure_callbackdefault_args = { 'retries': 1, 'retry_delay': timedelta(minutes=5), 'on_failure_callback': failure_callback, 'on_success_callback': success_callback,}def explode(): raise Exception("I am an angry exception!")with DAG( 'lineage_tutorial', default_args=default_args, description='A simple tutorial DAG', schedule_interval=timedelta(days=1), start_date=datetime(2021, 1, 1), catchup=False, tags=['example'],) as dag: # t1, t2 and t3 are examples of tasks created by instantiating operators t1 = BashOperator( task_id='print_date', bash_command='date', outlets={ "tables": ["mysql.default.openmetadata_db.bot_entity"] } ) t2 = BashOperator( task_id='sleep', depends_on_past=False, bash_command='sleep 5', retries=3, inlets={ "tables": ["snow.TEST.PUBLIC.COUNTRIES"] } ) risen = PythonOperator( task_id='explode', provide_context=True, python_callable=explode, retries=0, ) dag.doc_md = __doc__ # providing that you have a docstring at the beginning of the DAG dag.doc_md = """ This is a documentation placed anywhere """ # otherwise, type it like this templated_command = dedent("") t3 = BashOperator( task_id='templated', depends_on_past=False, bash_command=templated_command, params={'my_param': 'Parameter I passed in'}, ) t1 >> [t2, t3]
Running the lineage backend will not only ingest the lineage data, but will also send the DAG as a pipeline with its tasks
and status to OpenMetadata.If you are running this example using the quickstart deployment of OpenMetadata, then your airflow.cfg could look like
this:
After running the DAG, you should be able to see the following information in the ingested Pipeline:A fast way to try and play with Airflow locally is to install apache-airflow in a virtual environment and, when using
versions greater than 2.2.x, using airflow standalone.
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":"6aedfc9e2e4164cdd9d1c1bb","clientVersion":"0.0.4087","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":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"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/pipeline/airflow/lineage-backend","slug":"/connectors/pipeline/airflow/lineage-backend","pageMetadata":{"title":"Airflow Lineage Backend | Official Documentation","description":"Integrate Airflow lineage backend to capture runtime metadata and execution traces for DAGs and tasks.","slug":"/connectors/pipeline/airflow/lineage-backend","sidebarTitle":"Lineage Backend","href":"/connectors/pipeline/airflow/lineage-backend"},"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: \"Integrate Airflow lineage backend to capture runtime metadata and execution traces for DAGs and tasks.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedImage,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`airflow-lineage-backend`,children:`Airflow Lineage Backend`}),`\n`,_jsx(_components.p,{children:`Learn how to capture lineage information directly from Airflow DAGs using the OpenMetadata Lineage Backend.`}),`\n`,_jsx(Heading,{level:`2`,id:`introduction`,children:`Introduction`}),`\n`,_jsx(_components.p,{children:`Obtaining metadata should be as simple as possible. Not only that, we want developers to be able to keep using their\ntools without any major changes.`}),`\n`,_jsxs(_components.p,{children:[`We can directly use `,_jsx(_components.a,{href:`https://airflow.apache.org/docs/apache-airflow/stable/lineage.html#lineage-backend`,children:`Airflow code`}),`\nto help us track data lineage. What we want to achieve through this backend is the ability to link OpenMetadata Table Entities and the pipelines that have those instances as inputs or outputs.`]}),`\n`,_jsx(_components.p,{children:`Being able to control and monitor these relationships can play a major role in helping discover and communicate issues\nto your company data practitioners and stakeholders.`}),`\n`,_jsx(_components.p,{children:`This document will guide you through the installation, configuration and internals of the process to help you unlock as\nmuch value as possible from within your Airflow pipelines.`}),`\n`,_jsx(Heading,{level:`2`,id:`quickstart`,children:`Quickstart`}),`\n`,_jsx(Heading,{level:`3`,id:`installation`,children:`Installation`}),`\n`,_jsx(_components.p,{children:`The Lineage Backend can be directly installed to the Airflow instances as part of the usual OpenMetadata Python\ndistribution:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`pip3 install \"openmetadata-ingestion==x.y.z\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Where `,_jsx(_components.code,{children:`x.y.z`}),` is the version of your Collate server, e.g., 1.2.2. `,_jsx(_components.strong,{children:`It is important that server and client\nversions match`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`adding-lineage-config`,children:`Adding Lineage Config`}),`\n`,_jsxs(_components.p,{children:[`After the installation, we need to update the Airflow configuration. This can be done following this example on\n`,_jsx(_components.code,{children:`airflow.cfg`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`ini`,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:`ini`,children:_jsxs(_components.code,{language:`ini`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`[lineage]`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`backend`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` = airflow_provider_openmetadata.lineage.backend.OpenMetadataLineageBackend`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`airflow_service_name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` = local_airflow`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`openmetadata_api_endpoint`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` = http://localhost:8585/api`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`jwt_token`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` = \u003cyour-token>`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Or we can directly provide environment variables:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`AIRFLOW__LINEAGE__BACKEND=\"airflow_provider_openmetadata.lineage.backend.OpenMetadataLineageBackend\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`AIRFLOW__LINEAGE__AIRFLOW_SERVICE_NAME=\"local_airflow\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`AIRFLOW__LINEAGE__OPENMETADATA_API_ENDPOINT=\"http://localhost:8585/api\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`AIRFLOW__LINEAGE__JWT_TOKEN=\"\u003cyour-token>\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`We can choose the option that best adapts to our current architecture. Find more information on Airflow configurations\n`,_jsx(_components.a,{href:`https://airflow.apache.org/docs/apache-airflow/stable/howto/set-config.html`,children:`here`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Moreover, when using the lineage backend to bring in Pipeline metadata, we will add the URL of DAG. We build\nthis URL by using the `,_jsx(_components.code,{children:`webserver`}),` base URL. If you want to make sure this value is informed correctly, double-check\nwhat you have defined in the `,_jsx(_components.code,{children:`webserver`}),` configuration `,_jsx(_components.a,{href:`https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#base-url`,children:`here`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`AIRFLOW__WEBSERVER__BASE_URL=\"http://localhost:8080\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Make sure this is a valid URI by not forgetting to add the scheme, otherwise we won’t be able to properly parse it.`}),`\n`,_jsx(Heading,{level:`4`,id:`optional-parameters`,children:`Optional Parameters`}),`\n`,_jsx(_components.p,{children:`You can also set the following parameters:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`ini`,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:`ini`,children:_jsxs(_components.code,{language:`ini`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`[lineage]`})}),`\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\":`#569CD6`},children:`only_keep_dag_lineage`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` = true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`max_status`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` = 10`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`timeout`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` = 30`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`retry`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` = 3`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`retry_wait`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` = 60`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`retry_codes`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` = 500,502,503,504`})]}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`only_keep_dag_lineage`}),` will remove any table lineage not present in the inlets or outlets. This will ensure\nthat any lineage in OpenMetadata comes only from your code.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`max_status`}),` controls the number of status to ingest in each run. By default, we’ll pick the last 10.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`timeout`}),` sets the timeout for the airflow lineage backend’s connection to openMetadata.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`retry`}),` limits the number of retries for the airflow lineage backend’s connection to openMetadata.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`retry_wait`}),` the base wait time (in seconds) between retry attempts. On each retry, the wait time increases linearly based on the number of attempts already made: `,_jsx(_components.code,{children:`retry_wait * (total_retries - retry + 1)`}),` This mechanism helps avoid overwhelming the service by spacing out retries.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`retry_codes`}),` is a comma-separated list of HTTP status codes that will trigger a retry. By default, it includes Gateway Timeout (HTTP 504).`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`In the following sections, we’ll show how to adapt our pipelines to help us build the lineage information.`}),`\n`,_jsx(Heading,{level:`2`,id:`lineage-backend`,children:`Lineage Backend`}),`\n`,_jsxs(_components.p,{children:[`You can find the source code `,_jsx(_components.a,{href:`https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/airflow_provider_openmetadata`,children:`here`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`pipeline-service`,children:`Pipeline Service`}),`\n`,_jsxs(_components.p,{children:[`The backend will look for a Pipeline Service Entity with the name specified in the configuration under\n`,_jsx(_components.code,{children:`airflow_service_name`}),`. If it cannot find the instance, it will create one based on the following information:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`airflow_service_name`}),` as name. If not informed, the default value will be `,_jsx(_components.code,{children:`airflow`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`It will use the `,_jsx(_components.code,{children:`webserver`}),` base URL as the URL of the service.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`pipeline-entity`,children:`Pipeline Entity`}),`\n`,_jsx(_components.p,{children:`Each DAG processed by the backend will be created or updated as a Pipeline Entity linked to the above Pipeline Service.`}),`\n`,_jsx(_components.p,{children:`We are going to extract the task information and add it to the Pipeline task property list. Then, a\nDAG created with some tasks as the following random example:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`t1 >> [t2, t3]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`We will capture this information as well, therefore showing how the DAG contains three tasks t1, t2 and t3; and t1 having\nt2 and t3 as downstream tasks.`}),`\n`,_jsx(Heading,{level:`3`,id:`adding-lineage`,children:`Adding Lineage`}),`\n`,_jsxs(_components.p,{children:[`Airflow `,_jsx(_components.a,{href:`https://airflow.apache.org/docs/apache-airflow/1.10.4/_api/airflow/models/baseoperator/index.html`,children:`Operators`}),`\ncontain the attributes `,_jsx(_components.code,{children:`inlets`}),` and `,_jsx(_components.code,{children:`outlets`}),`. When creating our tasks, we can pass any of these two\nparameters as follows:`]}),`\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`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`BashOperator(`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` task_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'print_date'`}),_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:` bash_command`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'date'`}),_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:` outlets`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tables\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"service.database.schema.table\"`}),_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`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Note how in this example we are defining a Python `,_jsx(_components.code,{children:`dict`}),` with the key tables and value a `,_jsx(_components.code,{children:`list`}),`.\nThis list should contain the FQN of tables ingested through any of our connectors or APIs.`]}),`\n`,_jsx(_components.p,{children:`When each task is processed, we will use the OpenMetadata client to add the lineage information (upstream for inlets\nand downstream for outlets) between the Pipeline and Table Entities.`}),`\n`,_jsx(_components.p,{children:`It is important to get the naming right, as we will fetch the Table Entity by its FQN. If no information is specified\nin terms of lineage, we will just ingest the Pipeline Entity without adding further information.`}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`While we are showing here how to parse the lineage using the Lineage Backend, the setup of `,_jsx(_components.code,{children:`inlets`}),` and `,_jsx(_components.code,{children:`outlets`}),`\nis supported as well through external metadata ingestion from Airflow, be it via the UI, CLI or directly running\nan extraction DAG from Airflow itself.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`example`,children:`Example`}),`\n`,_jsxs(_components.p,{children:[`This is a full example of a working DAG. Note how we are passing the inlets and outlets for the `,_jsx(_components.code,{children:`fullyQualifiedName`}),`s`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`mysql.default.openmetadata_db.bot_entity`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`snow.TEST.PUBLIC.COUNTRIES`})}),`\n`]}),`\n`,_jsx(_components.p,{children:`We are pointing at already ingested assets, so there is no limitation of them being part of the same service. For\nthis example to work on your end, update the FQNs to tables you already have in OpenMetadata.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`76`,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:`76`,children:[_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:` datetime `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` datetime, timedelta`})]}),`\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:` textwrap `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` dedent`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# The DAG object; we'll need this to instantiate a DAG`})}),`\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:` airflow `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` DAG`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Operators; we need this to operate!`})}),`\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:` airflow.operators.bash `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` BashOperator`})]}),`\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:` airflow.operators.python `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` PythonOperator`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# These args will get passed on to each operator`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# You can override them on a per-task basis during operator initialization`})}),`\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:` airflow_provider_openmetadata.lineage.callback `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` success_callback, failure_callback`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`default_args `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'retries'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'retry_delay'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: timedelta(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`minutes`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'on_failure_callback'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: failure_callback,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'on_success_callback'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: success_callback,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`}),`\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:` explode`}),_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:` raise`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Exception`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"I am an angry exception!\"`}),_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:`with`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` DAG(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'lineage_tutorial'`}),_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:` default_args`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`default_args,`})]}),`\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:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'A simple tutorial DAG'`}),_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:` schedule_interval`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`timedelta(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`days`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`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:` start_date`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`datetime(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2021`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`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:` catchup`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`False`}),_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:` tags`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'example'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` dag:`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # t1, t2 and t3 are examples of tasks created by instantiating operators`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` t1 `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` BashOperator(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` task_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'print_date'`}),_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:` bash_command`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'date'`}),_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:` outlets`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tables\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"mysql.default.openmetadata_db.bot_entity\"`}),_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`,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:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` t2 `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` BashOperator(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` task_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'sleep'`}),_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:` depends_on_past`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`False`}),_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:` bash_command`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'sleep 5'`}),_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:` retries`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_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:` inlets`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tables\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"snow.TEST.PUBLIC.COUNTRIES\"`}),_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`,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:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` risen `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` PythonOperator(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` task_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'explode'`}),_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:` provide_context`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_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:` python_callable`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`explode,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` retries`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_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:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` dag.doc_md `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` __doc__`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # providing that you have a docstring at the beginning of the DAG`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` dag.doc_md `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\"\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` This is a documentation placed anywhere`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\"\"`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # otherwise, type it like this`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` templated_command `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` dedent(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},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:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` t3 `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` BashOperator(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` task_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'templated'`}),_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:` depends_on_past`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`False`}),_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:` bash_command`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`templated_command,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` params`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'my_param'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Parameter I passed in'`}),_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:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` t1 `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [t2, t3]`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Running the lineage backend will not only ingest the lineage data, but will also send the DAG as a pipeline with its tasks\nand status to OpenMetadata.`}),`\n`,_jsxs(_components.p,{children:[`If you are running this example using the quickstart deployment of OpenMetadata, then your `,_jsx(_components.code,{children:`airflow.cfg`}),` could look like\nthis:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`6`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`backend = airflow_provider_openmetadata.lineage.backend.OpenMetadataLineageBackend`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`airflow_service_name = local_airflow`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`openmetadata_api_endpoint = http://localhost:8585/api`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`auth_provider_type = openmetadata`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`jwt_token = ...`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`After running the DAG, you should be able to see the following information in the ingested Pipeline:`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/collatedocs/lyQrThlmh8cYozqe/public/images/connectors/airflow/lineage-backend-dag.png?fit=max\u0026auto=format\u0026n=lyQrThlmh8cYozqe\u0026q=85\u0026s=303cdfe505885b20c6646ce97f5aa6d5`,alt:`DAG`,\"data-og-width\":`901`,width:`901`,\"data-og-height\":`362`,height:`362`,\"data-path\":`public/images/connectors/airflow/lineage-backend-dag.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/collatedocs/lyQrThlmh8cYozqe/public/images/connectors/airflow/lineage-backend-dag.png?w=280\u0026fit=max\u0026auto=format\u0026n=lyQrThlmh8cYozqe\u0026q=85\u0026s=4e5d836af3826b654cc31b0ba80660b1 280w, https://mintcdn.com/collatedocs/lyQrThlmh8cYozqe/public/images/connectors/airflow/lineage-backend-dag.png?w=560\u0026fit=max\u0026auto=format\u0026n=lyQrThlmh8cYozqe\u0026q=85\u0026s=aac8676b665d16f460a381ece3b52be9 560w, https://mintcdn.com/collatedocs/lyQrThlmh8cYozqe/public/images/connectors/airflow/lineage-backend-dag.png?w=840\u0026fit=max\u0026auto=format\u0026n=lyQrThlmh8cYozqe\u0026q=85\u0026s=899055b6930d59ddce538e2f91d14999 840w, https://mintcdn.com/collatedocs/lyQrThlmh8cYozqe/public/images/connectors/airflow/lineage-backend-dag.png?w=1100\u0026fit=max\u0026auto=format\u0026n=lyQrThlmh8cYozqe\u0026q=85\u0026s=e15eaf3b12486116c7849c09bf455249 1100w, https://mintcdn.com/collatedocs/lyQrThlmh8cYozqe/public/images/connectors/airflow/lineage-backend-dag.png?w=1650\u0026fit=max\u0026auto=format\u0026n=lyQrThlmh8cYozqe\u0026q=85\u0026s=18bdabceac96a99cb01dcf01b0d63397 1650w, https://mintcdn.com/collatedocs/lyQrThlmh8cYozqe/public/images/connectors/airflow/lineage-backend-dag.png?w=2500\u0026fit=max\u0026auto=format\u0026n=lyQrThlmh8cYozqe\u0026q=85\u0026s=8a06b1ac535eeb941076476cd4d12b1c 2500w`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/collatedocs/lyQrThlmh8cYozqe/public/images/connectors/airflow/lineage-backend-lineage.png?fit=max\u0026auto=format\u0026n=lyQrThlmh8cYozqe\u0026q=85\u0026s=162bafc712d26d53a0b4a71b7e6f8b45`,alt:`Lineage`,\"data-og-width\":`1705`,width:`1705`,\"data-og-height\":`320`,height:`320`,\"data-path\":`public/images/connectors/airflow/lineage-backend-lineage.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/collatedocs/lyQrThlmh8cYozqe/public/images/connectors/airflow/lineage-backend-lineage.png?w=280\u0026fit=max\u0026auto=format\u0026n=lyQrThlmh8cYozqe\u0026q=85\u0026s=3db8ade6ff568c70143d81d493913007 280w, https://mintcdn.com/collatedocs/lyQrThlmh8cYozqe/public/images/connectors/airflow/lineage-backend-lineage.png?w=560\u0026fit=max\u0026auto=format\u0026n=lyQrThlmh8cYozqe\u0026q=85\u0026s=7b5ef2bb94a1fc120fa470c44453c449 560w, https://mintcdn.com/collatedocs/lyQrThlmh8cYozqe/public/images/connectors/airflow/lineage-backend-lineage.png?w=840\u0026fit=max\u0026auto=format\u0026n=lyQrThlmh8cYozqe\u0026q=85\u0026s=38be49b9855ad3f4b26ed3a2284432c3 840w, https://mintcdn.com/collatedocs/lyQrThlmh8cYozqe/public/images/connectors/airflow/lineage-backend-lineage.png?w=1100\u0026fit=max\u0026auto=format\u0026n=lyQrThlmh8cYozqe\u0026q=85\u0026s=54177c01845f3290bb7836217efa33aa 1100w, https://mintcdn.com/collatedocs/lyQrThlmh8cYozqe/public/images/connectors/airflow/lineage-backend-lineage.png?w=1650\u0026fit=max\u0026auto=format\u0026n=lyQrThlmh8cYozqe\u0026q=85\u0026s=5f73c115252a53288b7f047c747a50f2 1650w, https://mintcdn.com/collatedocs/lyQrThlmh8cYozqe/public/images/connectors/airflow/lineage-backend-lineage.png?w=2500\u0026fit=max\u0026auto=format\u0026n=lyQrThlmh8cYozqe\u0026q=85\u0026s=6038a58003c8b78456a359aae13b55e9 2500w`}),`\n`,_jsxs(_components.p,{children:[`A fast way to try and play with Airflow locally is to install `,_jsx(_components.code,{children:`apache-airflow`}),` in a virtual environment and, when using\nversions greater than 2.2.x, using `,_jsx(_components.code,{children:`airflow standalone`}),`.`]})]})}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":"Airflow Lineage Backend | Official Documentation","description":"Integrate Airflow lineage backend to capture runtime metadata and execution traces for DAGs and tasks.","slug":"/connectors/pipeline/airflow/lineage-backend","sidebarTitle":"Lineage Backend","href":"/connectors/pipeline/airflow/lineage-backend"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Airflow Lineage Backend","slug":"airflow-lineage-backend","depth":1,"children":[]},{"title":"Introduction","slug":"introduction","depth":2,"children":[]},{"title":"Quickstart","slug":"quickstart","depth":2,"children":[{"title":"Installation","slug":"installation","depth":3,"children":[]},{"title":"Adding Lineage Config","slug":"adding-lineage-config","depth":3,"children":[]},{"title":"Optional Parameters","slug":"optional-parameters","depth":4,"children":[]}]},{"title":"Lineage Backend","slug":"lineage-backend","depth":2,"children":[{"title":"Pipeline Service","slug":"pipeline-service","depth":3,"children":[]},{"title":"Pipeline Entity","slug":"pipeline-entity","depth":3,"children":[]},{"title":"Adding Lineage","slug":"adding-lineage","depth":3,"children":[]}]},{"title":"Example","slug":"example","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/collatedocs/193c43da98baa789/loader.js"],"subdomain":"collatedocs","siteName":"Collate Documentation","title":"Airflow Lineage Backend | Official Documentation - Collate Documentation","navMaps":{"firstHrefInVersion":{"AI 2.0":{"href":"/ai-2-0/connectors/pipeline/airflow/lineage-backend","matchLevel":1},"Classic":{"href":"/connectors/pipeline/airflow/lineage-backend","matchLevel":0}},"firstHrefInLanguage":{}},"lastModified":"2026-03-05T08:53:11.815Z","originalFileLocation":"connectors/pipeline/airflow/lineage-backend.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=\"Integrate Airflow lineage backend to capture runtime metadata and execution traces for DAGs and tasks.\">\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=\"Airflow Lineage Backend | Official Documentation - Collate Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Integrate Airflow lineage backend to capture runtime metadata and execution traces for DAGs and tasks.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Collate Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.getcollate.io/connectors/pipeline/airflow/lineage-backend\">\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=Airflow\u0026amp;title=Airflow+Lineage+Backend+%7C+Official+Documentation\u0026amp;description=Integrate+Airflow+lineage+backend+to+capture+runtime+metadata+and+execution+traces+for+DAGs+and+tasks.\u0026amp;theme=92c37872cb6ce8ffd4c333e7\u0026amp;signature=8a247b034f03ea61d1c756ab784fc61e6b888ba055c8e19c755f163d14871b92\">\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=\"Airflow Lineage Backend | Official Documentation - Collate Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Integrate Airflow lineage backend to capture runtime metadata and execution traces for DAGs and tasks.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://collatedocs.mintlify.site/_mintlify/api/og/v2?division=Airflow\u0026amp;title=Airflow+Lineage+Backend+%7C+Official+Documentation\u0026amp;description=Integrate+Airflow+lineage+backend+to+capture+runtime+metadata+and+execution+traces+for+DAGs+and+tasks.\u0026amp;theme=92c37872cb6ce8ffd4c333e7\u0026amp;signature=8a247b034f03ea61d1c756ab784fc61e6b888ba055c8e19c755f163d14871b92\">\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/pipeline/airflow/lineage-backend\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/connectors/pipeline/airflow/lineage-backend.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/pipeline/airflow/lineage-backend#webpage\",\"url\":\"https://docs.getcollate.io/connectors/pipeline/airflow/lineage-backend\",\"name\":\"Airflow Lineage Backend | Official Documentation\",\"description\":\"Integrate Airflow lineage backend to capture runtime metadata and execution traces for DAGs and tasks.\",\"dateModified\":\"2026-03-05T08:53:11.815Z\",\"isPartOf\":{\"@id\":\"https://docs.getcollate.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.getcollate.io/connectors/pipeline/airflow/lineage-backend#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.getcollate.io/connectors/pipeline/airflow/lineage-backend#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Connectors\",\"item\":\"https://docs.getcollate.io/connectors/api/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pipeline\",\"item\":\"https://docs.getcollate.io/connectors/pipeline/index\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Airflow\",\"item\":\"https://docs.getcollate.io/connectors/pipeline/airflow/index\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Airflow Lineage Backend | Official Documentation\",\"item\":\"https://docs.getcollate.io/connectors/pipeline/airflow/lineage-backend\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.getcollate.io/connectors/pipeline/airflow/lineage-backend#article\",\"headline\":\"Airflow Lineage Backend | Official Documentation\",\"name\":\"Airflow Lineage Backend | Official Documentation\",\"description\":\"Integrate Airflow lineage backend to capture runtime metadata and execution traces for DAGs and tasks.\",\"url\":\"https://docs.getcollate.io/connectors/pipeline/airflow/lineage-backend\",\"mainEntityOfPage\":{\"@id\":\"https://docs.getcollate.io/connectors/pipeline/airflow/lineage-backend#webpage\"},\"dateModified\":\"2026-03-05T08:53:11.815Z\",\"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\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Collate Documentation","nav":{"global":null,"versions":[{"version":"AI 2.0","default":true,"pages":[{"title":"AI 2.0","href":"/ai-2-0/connectors/pipeline/airflow/lineage-backend"}]},{"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","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","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","description":null,"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","description":null,"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":"Airflow Lineage Backend | Official Documentation - Collate Documentation","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-CE4cYsJE.js","lightbox-handle-r17bVUz3.js"]}