Choose and set up a Databricks connector so Replit Agent can build applications backed by your Databricks workspace.
The Databricks connectors are available on the Pro and Enterprise
plans.
The Databricks connectors let Replit Agent query your Databricks workspace. Builders can create dashboards, reporting tools, and data applications using natural language. No SQL expertise is required.Replit supports two Databricks connection types. Choose one based on the identity that should run each query.
Choose a connection type
User-to-machine (U2M)
Service principal (M2M)
Connector name in Replit
Databricks for Databricks Apps (U2M)
Databricks (Service Principal)
Query identity
The individual builder
A shared service principal
Databricks permissions
Each builder’s Unity Catalog permissions
The service principal’s permissions
Audit attribution
The builder who ran the query
The service principal
Builder sign-in
Each builder signs in with their own Databricks account
No individual Databricks sign-in
Best for
Per-user permissions and audit attribution
Shared access and non-interactive workflows
Set up user-to-machine (U2M)
Use each builder’s Databricks identity, permissions, and audit attribution.
Set up a service principal (M2M)
Use one shared Databricks identity and permission set for authorized
builders.
Set up the U2M connector
U2M setup involves three roles:
Databricks account admin: creates an OAuth app connection and provides SQL Warehouse details.
Replit organization admin: configures the connector with the OAuth credentials.
Builder: signs in with their Databricks account and starts building.
U2M prerequisites
Before you start, confirm you have:
A Databricks account admin. App connections are configured in the account console, not the workspace admin settings.
A Replit organization admin.
A Databricks account for every builder who will use the connector.
Workspace access for every builder, including Can use permission on the SQL Warehouse and the required Unity Catalog permissions.
Step 1: Create an OAuth app connection
You must be a Databricks account admin to complete this step.
The Databricks account admin registers Replit as an OAuth application. The app connection provides the client ID and client secret used to configure Replit.
1
Open the Databricks account console
In your Databricks workspace, open the workspace picker in the top-right corner and select Manage account.
2
Open App connections
In the account console, select Settings, then open the App connections tab.
3
Configure the Replit connection
Select Add connection. Enter an application name that identifies Replit, such as replit-u2m.Under Redirect URLs, enter:
https://replit.com/connectors/oauth/callback
Under Access scopes, select All APIs. This allows Agent to use Databricks SQL and the Databricks APIs needed to build and manage Databricks Apps.Select Generate a client secret. Databricks cannot add a secret to this connection after it is created.Set the token lifetimes according to your organization’s security policy. The example uses Access token TTL1440 minutes (24 hours) and Refresh token TTL129600 minutes (90 days), the maximum values shown by Databricks. A shorter refresh token lifetime can require builders to sign in more often.Select Add.
All APIs grants broader access than SQL alone. Control the connector’s effective access with each builder’s Databricks permissions.
4
Store the OAuth credentials
Copy the Client ID and Client Secret, then store them in your organization’s secret manager.
Databricks displays the client secret once. Record its expiration date and rotate the app connection before the secret expires.
New or updated OAuth app connections can take up to 30 minutes to become
available.
Step 2: Share the SQL Warehouse details
Each builder enters the SQL Warehouse details when authorizing the U2M connector. Publish these values somewhere your builders can access, such as an internal onboarding page.
1
Open SQL Warehouses
In the Databricks workspace, select SQL Warehouses and open the warehouse builders should use.
2
Copy the connection details
Select Connection details, then copy the Server hostname and HTTP path.
Step 3: Enable U2M in Replit
You must be a Replit organization admin to configure connectors.
1
Open and enable the U2M connector
Go to Integrations in Settings. Search for Databricks U2M, find Databricks for Databricks Apps (U2M), and select Enable.Enter the Client ID and Client Secret from the Databricks app connection.Confirm that the redirect URL shown in Replit matches the URL configured in Databricks:
https://replit.com/connectors/oauth/callback
Under Connector Scopes, enable all-apis and offline_access. The offline_access scope gives Replit a refresh token for long-lived sessions.Select Configure.
2
Verify the connector is enabled
Confirm that Databricks for Databricks Apps (U2M) appears under Your integrations.
Step 4: Sign in as a builder
Each builder signs in with their own Databricks account before using the connector. Replit can refresh the session until the refresh token expires.
1
Sign in to the connector
On the Integrations page, find Databricks for Databricks Apps (U2M) and select Sign in. Review the connection details, then select Continue to Databricks for Databricks Apps.
2
Enter the SQL Warehouse details
Enter the SQL Warehouse HTTP path provided by your Databricks admin, then select Next.
Replit next asks for the SQL Warehouse Server hostname. Enter it and continue to Databricks. Sign in when prompted, review the requested access, and approve the request.Every query Agent runs through this connection uses your Databricks permissions and is attributed to you in Databricks audit logs.After approval, Databricks returns you to Replit and the connector is ready to use.
Set up the service principal connector
Service principal setup involves three roles:
Databricks admin: creates the service principal and grants permissions in Databricks.
Replit organization admin: configures the connector and access in Replit.
Builder: starts building with the shared Databricks identity.
Service principal prerequisites
Before you start, confirm you have:
Databricks account admin or workspace admin access.
Replit organization admin access.
Step 1: Create a service principal in Databricks
You must be a Databricks account admin or workspace admin to complete this
step.
The Databricks admin creates a machine-to-machine identity, called a service principal, that Replit uses to connect to Databricks.
1
Open Settings
In Databricks, select your avatar in the top-right corner, then select Settings.
2
Select Identity and access
In the Settings sidebar, select Identity and access.
3
Manage service principals
Under Management and permissions, find Service principals and select Manage.
4
Add a new service principal
Select Add service principal, then select Add new.
5
Name the service principal
Enter a clear name for the service principal, then select Add.
6
Confirm the service principal details
After Databricks creates the service principal, confirm it is active. Keep this page open if you need the service principal details while configuring the Replit connector.
7
Grant access
Open the Permissions tab, select Grant access, choose the service principal, set the permission to Manage, then select Save.
Step 2: Get your SQL Warehouse connection details
The Replit connector needs Databricks SQL Warehouse connection details to route queries to the right compute resource.
1
Open SQL Warehouses
In the Databricks sidebar, select SQL Warehouses.
2
Select or create a warehouse
Select the SQL Warehouse you want Replit Agent to use. If you do not already have one, select Create SQL warehouse and create a new warehouse.
3
Copy connection details
Open the warehouse and select Connection details. Locate the Server hostname and HTTP path values. You need these values when creating the Databricks connector in Replit.
Step 3: Create the Databricks connector in Replit
You must be a Replit organization admin to configure connectors.
The Replit admin adds the Databricks connection details to Replit so builders can use the connector.
1
Navigate to Integrations
Go to Integrations in Settings. Under Connectors, find Databricks (Service Principal) and select Sign in.
2
Confirm the connection
Replit shows a confirmation dialog before redirecting to Databricks for authentication. Review the details and select Continue to Databricks.
3
Enter the SQL Warehouse HTTP path
Paste the HTTP path from your Databricks SQL Warehouse connection details (for example, /sql/1.0/warehouses/abcdef1234567890), then select Next.
4
Enter the SQL Warehouse server hostname
Paste the Server hostname from the same connection details (for example, abc-12345678-wxyz.cloud.databricks.com), then select Continue to Databricks to complete authentication.
5
Configure access
Use Role-Based Access Control to choose which members or groups in your organization can use this connector.
6
Verify the connector is active
Back on the Integrations page, confirm that Databricks (Service Principal) appears under Connectors with an Active connection status.
Build with Agent
After connecting with either method, builders can create applications that use Databricks data with Agent.
1
Select the Databricks App template for deployment
Select the Databricks App template when you want to deploy the finished app to your Databricks environment. You do not need the template to use a configured connector to access Databricks data and assets.From the Replit home page, select + in the prompt box, open Use a template, and choose Databricks App.
Review the SQL Agent generates, the tables it queries, and the application structure. Ask for changes in natural language.
Use Lakebase for application data
Apps you publish with the Databricks App template use Lakebase as their
managed production PostgreSQL database. Build and test against the development
database in Replit. When you publish, Replit prepares a Lakebase database in
your Databricks workspace and applies your schema changes.Use Lakebase for application state such as user accounts, settings, and
transactions. Continue to use a SQL Warehouse for analytics and Unity Catalog
data.
1
Build with the development database
Ask Agent to add the application data your project needs. Use the
Database tool to review tables and data while you build. See
Development and production databases
for how the two databases differ.
2
Prepare the production database
Start publishing your Databricks App. Review the schema changes that Replit
applies to Lakebase before you continue. See
Making safe changes to your production database
for changes that need planning.
3
Publish your app
Publish the app to create or update its Lakebase database. Replit connects
the published app to Lakebase automatically.
Apps published with other templates use a standard Replit
production database
instead of Lakebase.
Troubleshooting
Queries return empty results
Check the Databricks permissions for the identity running the query. With
U2M, this is the individual builder. With the service principal connector,
it is the shared service principal. The identity may have metadata access
but no read permission on the data. Grant the required catalog, schema, or
table permissions and try again.
The connector cannot reach the SQL Warehouse
Verify that the Server hostname and HTTP path match the SQL Warehouse
connection details in Databricks. For U2M, check the values entered by the
affected builder. Also confirm that the warehouse is running and the query
identity has permission to use it.
Authentication fails
For U2M, confirm the Databricks app connection lists
https://replit.com/connectors/oauth/callback under Redirect URLs, with
no trailing slash. If authentication fails for every builder, verify the
shared Client ID and Client Secret, confirm the secret has not expired, and
make sure the scopes in Replit match the Databricks app connection.For the service principal connector, verify that the service principal
details entered in Replit match the service principal created in Databricks.
If credentials were rotated, update the connector in Replit.
The connector asks me to sign in again
This can happen with U2M when the refresh token expires or is revoked.
Complete the Databricks authorization flow again. If builders must reconnect
more often than your security policy requires, review the app connection’s
token lifetimes.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Replit","colors":{"primary":"#FF3C00","light":"#FF3C00","dark":"#FF3C00"},"logo":{"light":"https://mintcdn.com/replit/j4of5To8jzehz0JK/logo/light.svg?fit=max\u0026auto=format\u0026n=j4of5To8jzehz0JK\u0026q=85\u0026s=6209cb5927b56fd1781133af05428373","dark":"https://mintcdn.com/replit/j4of5To8jzehz0JK/logo/dark.svg?fit=max\u0026auto=format\u0026n=j4of5To8jzehz0JK\u0026q=85\u0026s=9cbba158300d48c49d8b888e71015495","href":"/welcome"},"favicon":"https://mintcdn.com/replit/CmOMKRnamiqG44eH/favicon.ico?fit=max\u0026auto=format\u0026n=CmOMKRnamiqG44eH\u0026q=85\u0026s=c89a6df6f537373c946c7a5f0ac65475","appearance":{"default":"light"},"background":{"color":{"light":"#F6F5F4","dark":"#1E1E1F"}},"navbar":{"links":[],"primary":{"type":"button","label":"Start Building","href":"https://replit.com?ref=docs"}},"footer":{"socials":{"x":"https://x.com/replit","linkedin":"https://www.linkedin.com/company/repl-it","youtube":"https://www.youtube.com/@replit"}},"seo":{"metatags":{"og:site_name":"Replit Docs","twitter:site":"@replit","twitter:creator":"@replit","author":"Replit"},"indexing":"all"},"fonts":{"heading":{"family":"ABC Diatype Plus","weight":400,"source":"https://cdn.replit.com/dotcom/fonts/ABCDiatypePlusVariable.woff2","format":"woff2"},"body":{"family":"ABC Diatype Plus","weight":400,"source":"https://cdn.replit.com/dotcom/fonts/ABCDiatypePlusVariable.woff2","format":"woff2"}},"integrations":{"segment":{"key":"dMePKGC4BqfBivpe0Hvl8IoPpzSHgjdX"}},"contextual":{"options":["copy","view"],"display":"header"},"thumbnails":{"appearance":"light","background":"https://mintcdn.com/replit/j4of5To8jzehz0JK/thumb.png?fit=max\u0026auto=format\u0026n=j4of5To8jzehz0JK\u0026q=85\u0026s=a7db7f0256b2fa06810fb4d378e63cc5","fonts":{"family":"ABC Diatype Plus"}},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":"welcome"},{"language":"fr","navbar":{"links":[],"primary":{"type":"button","label":"Commencer à créer","href":"https://replit.com?ref=docs"}},"href":"fr/welcome"},{"language":"pt","hidden":false,"navbar":{"links":[],"primary":{"type":"button","label":"Comece a criar","href":"https://replit.com?ref=docs"}},"href":"pt/welcome"},{"language":"ja","hidden":false,"navbar":{"links":[],"primary":{"type":"button","label":"作成を開始","href":"https://replit.com?ref=docs"}},"href":"ja/welcome"},{"language":"ko","hidden":false,"navbar":{"links":[],"primary":{"type":"button","label":"빌드 시작하기","href":"https://replit.com?ref=docs"}},"href":"ko/welcome"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"replit","hasAudioNarration":false,"actualSubdomain":"replit","customDomains":["docs.replit.com","docs.repl.it"],"gitSource":{"type":"github","owner":"replit","repo":"replit-docs","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"issues":true,"edits":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af60ce119ccb133b3d8a1f7","clientVersion":"0.0.4128","searchFilterCounts":[{"language":"en","tag":"Features","count":366},{"language":"fr","tag":"Fonctionnalités","count":364},{"language":"ja","tag":"機能","count":364},{"language":"ko","tag":"기능","count":364},{"language":"pt","tag":"Funcionalidades","count":364},{"language":"en","tag":"Changelog","count":100},{"language":"fr","tag":"Journal des modifications","count":100},{"language":"ja","tag":"変更履歴","count":100},{"language":"ko","tag":"변경 내역","count":100},{"language":"pt","tag":"Registro de alterações","count":100},{"language":"en","tag":"Apps","count":41},{"language":"fr","tag":"Apps","count":41},{"language":"ja","tag":"Apps","count":41},{"language":"ko","tag":"Apps","count":41},{"language":"pt","tag":"Apps","count":41},{"language":"en","tag":"Enterprise","count":40},{"language":"fr","tag":"Entreprise","count":40},{"language":"ja","tag":"Enterprise","count":40},{"language":"ko","tag":"Enterprise","count":40},{"language":"pt","tag":"Enterprise","count":40},{"language":"en","tag":"Use cases","count":39},{"language":"fr","tag":"Use cases","count":39},{"language":"ja","tag":"Use cases","count":39},{"language":"ko","tag":"Use cases","count":39},{"language":"pt","tag":"Use cases","count":39},{"language":"en","tag":"Chats","count":25},{"language":"en","tag":"Designs","count":25},{"language":"fr","tag":"Chats","count":25},{"language":"fr","tag":"Designs","count":25},{"language":"ja","tag":"Chats","count":25},{"language":"ja","tag":"Designs","count":25},{"language":"ko","tag":"Chats","count":25},{"language":"ko","tag":"Designs","count":25},{"language":"pt","tag":"Chats","count":25},{"language":"pt","tag":"Designs","count":25},{"language":"en","tag":"Trust \u0026 Billing","count":23},{"language":"fr","tag":"Confiance et facturation","count":23},{"language":"ja","tag":"信頼と請求","count":23},{"language":"ko","tag":"신뢰 및 결제","count":23},{"language":"pt","tag":"Confiança e faturamento","count":23},{"language":"en","tag":"Web","count":22},{"language":"fr","tag":"Web","count":22},{"language":"ja","tag":"Web","count":22},{"language":"ko","tag":"Web","count":22},{"language":"pt","tag":"Web","count":22},{"language":"en","tag":"Help","count":20},{"language":"fr","tag":"Help","count":20},{"language":"ja","tag":"Help","count":20},{"language":"ko","tag":"Help","count":20},{"language":"pt","tag":"Help","count":20}]},"assistantConfig":{"deflection":{"enabled":true,"email":"support@replit.com"}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","href":"/_mintlify/custom/replit/d427c49142834eef/styles.css"}],"page":{"pagePath":"connectors/warehouses/databricks","slug":"/connectors/warehouses/databricks","pageMetadata":{"title":"Databricks Connectors","sidebarTitle":"Databricks","description":"Choose and set up a Databricks connector so Replit Agent can build applications backed by your Databricks workspace.","icon":"database","href":"/connectors/warehouses/databricks"},"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: \"Choose and set up a Databricks connector so Replit Agent can build applications backed by your Databricks workspace.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,CodeBlock,Frame,Heading,Info,Note,OptimizedImage,Step,Steps,Table,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Info,{children:_jsxs(_components.p,{children:[`The Databricks connectors are available on the `,_jsx(_components.strong,{children:`Pro`}),` and `,_jsx(_components.strong,{children:`Enterprise`}),`\nplans.`]})}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/templates-dropdown-zoom.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=92d2df97ba167b7fd5b9dfe7509e7dfa`,alt:`Replit home prompt box with the Templates dropdown open, showing the Databricks App org template`,\"data-og-width\":`1680`,width:`1680`,\"data-og-height\":`300`,height:`300`,\"data-path\":`images/connectors/databricks/templates-dropdown-zoom.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/templates-dropdown-zoom.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=b11547e598b97abd5f0563d477e6ec85 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/templates-dropdown-zoom.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=3ce3438724cb787c2618893afb720677 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/templates-dropdown-zoom.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=2a147888a66b460fd3526ab2cd2a93b3 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/templates-dropdown-zoom.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=4bd8cec132762a21ee28d8d063fce8c0 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/templates-dropdown-zoom.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=ba0ec49f7145a0bd36b0c69ba7afd70f 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/templates-dropdown-zoom.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=28cb42f21adb620955ffd42fe89793cc 2500w`})}),`\n`,_jsx(_components.p,{children:`The Databricks connectors let Replit Agent query your Databricks workspace. Builders can create dashboards, reporting tools, and data applications using natural language. No SQL expertise is required.`}),`\n`,_jsx(_components.p,{children:`Replit supports two Databricks connection types. Choose one based on the identity that should run each query.`}),`\n`,_jsx(Heading,{level:`2`,id:`choose-a-connection-type`,children:`Choose a connection type`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`User-to-machine (U2M)`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`Service principal (M2M)`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Connector name in Replit`}),_jsx(_components.td,{children:`Databricks for Databricks Apps (U2M)`}),_jsx(_components.td,{children:`Databricks (Service Principal)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Query identity`}),_jsx(_components.td,{children:`The individual builder`}),_jsx(_components.td,{children:`A shared service principal`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Databricks permissions`}),_jsx(_components.td,{children:`Each builder’s Unity Catalog permissions`}),_jsx(_components.td,{children:`The service principal’s permissions`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Audit attribution`}),_jsx(_components.td,{children:`The builder who ran the query`}),_jsx(_components.td,{children:`The service principal`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Builder sign-in`}),_jsx(_components.td,{children:`Each builder signs in with their own Databricks account`}),_jsx(_components.td,{children:`No individual Databricks sign-in`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Best for`}),_jsx(_components.td,{children:`Per-user permissions and audit attribution`}),_jsx(_components.td,{children:`Shared access and non-interactive workflows`})]})]})]}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Set up user-to-machine (U2M)`,icon:`user`,href:`#set-up-the-u2m-connector`,children:_jsx(_components.p,{children:`Use each builder’s Databricks identity, permissions, and audit attribution.`})}),_jsx(Card,{title:`Set up a service principal (M2M)`,icon:`server`,href:`#set-up-the-service-principal-connector`,children:_jsx(_components.p,{children:`Use one shared Databricks identity and permission set for authorized\nbuilders.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`set-up-the-u2m-connector`,children:`Set up the U2M connector`}),`\n`,_jsx(_components.p,{children:`U2M setup involves three roles:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Databricks account admin`}),`: creates an OAuth app connection and provides SQL Warehouse details.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Replit organization admin`}),`: configures the connector with the OAuth credentials.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Builder`}),`: signs in with their Databricks account and starts building.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`u2m-prerequisites`,children:`U2M prerequisites`}),`\n`,_jsx(_components.p,{children:`Before you start, confirm you have:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A Databricks `,_jsx(_components.strong,{children:`account admin`}),`. App connections are configured in the account console, not the workspace admin settings.`]}),`\n`,_jsx(_components.li,{children:`A Replit organization admin.`}),`\n`,_jsx(_components.li,{children:`A Databricks account for every builder who will use the connector.`}),`\n`,_jsxs(_components.li,{children:[`Workspace access for every builder, including `,_jsx(_components.strong,{children:`Can use`}),` permission on the SQL Warehouse and the required Unity Catalog permissions.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`step-1-create-an-oauth-app-connection`,children:`Step 1: Create an OAuth app connection`}),`\n`,_jsx(Note,{children:`You must be a Databricks account admin to complete this step.`}),`\n`,_jsx(_components.p,{children:`The Databricks account admin registers Replit as an OAuth application. The app connection provides the client ID and client secret used to configure Replit.`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Open the Databricks account console`,children:[_jsxs(_components.p,{children:[`In your Databricks workspace, open the workspace picker in the top-right corner and select `,_jsx(_components.strong,{children:`Manage account`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/manage-account.png?fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=c42eac89fbf3452678a9dc33926301da`,alt:`Databricks workspace picker open with Manage account visible`,\"data-og-width\":`2000`,width:`2000`,\"data-og-height\":`1144`,height:`1144`,\"data-path\":`images/connectors/databricks/u2m/manage-account.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/manage-account.png?w=280\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=7306c1241d3a1d464e502c5f43bb52c1 280w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/manage-account.png?w=560\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=6127af24e79b114ef3c37afab2551f0e 560w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/manage-account.png?w=840\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=e9493366411e41c63f44ecf20de311de 840w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/manage-account.png?w=1100\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=06f3e535e9202172f68355eeb56202fd 1100w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/manage-account.png?w=1650\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=af5e055b3e7e849c57a54f30d8f1ef89 1650w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/manage-account.png?w=2500\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=c0544b9807cb04137197a1c4964cfa8c 2500w`})})]}),_jsxs(Step,{title:`Open App connections`,children:[_jsxs(_components.p,{children:[`In the account console, select `,_jsx(_components.strong,{children:`Settings`}),`, then open the `,_jsx(_components.strong,{children:`App connections`}),` tab.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/app-connections.png?fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=6ecb6f5b70ebe137a4bab2369f28c872`,alt:`Databricks account Settings page with the App connections tab selected and Add connection button visible`,\"data-og-width\":`2000`,width:`2000`,\"data-og-height\":`1144`,height:`1144`,\"data-path\":`images/connectors/databricks/u2m/app-connections.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/app-connections.png?w=280\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=e789711f6f6d1255d8bc173bb438781d 280w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/app-connections.png?w=560\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=5e53f9817c1cfec8532a0f49ba342b85 560w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/app-connections.png?w=840\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=c8405c75eff396e13d6394d6020a2df6 840w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/app-connections.png?w=1100\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=279622aff788b4a32476abcd37c4ba0a 1100w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/app-connections.png?w=1650\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=0fda58f6c0d994966d787e3b02e6f8c8 1650w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/app-connections.png?w=2500\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=8b1de47295e1a8a79e965b1cc889242a 2500w`})})]}),_jsxs(Step,{title:`Configure the Replit connection`,children:[_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Add connection`}),`. Enter an application name that identifies Replit, such as `,_jsx(_components.code,{children:`replit-u2m`}),`.`]}),_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Redirect URLs`}),`, enter:`]}),_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:`https://replit.com/connectors/oauth/callback`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Access scopes`}),`, select `,_jsx(_components.strong,{children:`All APIs`}),`. This allows Agent to use Databricks SQL and the Databricks APIs needed to build and manage Databricks Apps.`]}),_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Generate a client secret`}),`. Databricks cannot add a secret to this connection after it is created.`]}),_jsxs(_components.p,{children:[`Set the token lifetimes according to your organization’s security policy. The example uses `,_jsx(_components.strong,{children:`Access token TTL`}),` `,_jsx(_components.code,{children:`1440`}),` minutes (24 hours) and `,_jsx(_components.strong,{children:`Refresh token TTL`}),` `,_jsx(_components.code,{children:`129600`}),` minutes (90 days), the maximum values shown by Databricks. A shorter refresh token lifetime can require builders to sign in more often.`]}),_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Add`}),`.`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`All APIs`}),` grants broader access than SQL alone. Control the connector’s effective access with each builder’s Databricks permissions.`]})}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/app-configuration.png?fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=e1a23573f61e949408c56394ae503be5`,alt:`Databricks Add connection form configured with a Replit application name, redirect URL, All APIs access, client secret generation, and token lifetimes`,\"data-og-width\":`2000`,width:`2000`,\"data-og-height\":`1144`,height:`1144`,\"data-path\":`images/connectors/databricks/u2m/app-configuration.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/app-configuration.png?w=280\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=37ee9776d0177f7736707109f2b3a3e0 280w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/app-configuration.png?w=560\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=482b65d592828ffd82e96e31fc0520e7 560w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/app-configuration.png?w=840\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=a235216c4cf9aa06131d243808b078f4 840w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/app-configuration.png?w=1100\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=7751011385099d6b498c237351b895d3 1100w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/app-configuration.png?w=1650\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=88a2b90533ed585284fe46c05c83d26d 1650w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/app-configuration.png?w=2500\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=5a236f0b19a0e2cf47acd8501dbc790c 2500w`})})]}),_jsxs(Step,{title:`Store the OAuth credentials`,children:[_jsxs(_components.p,{children:[`Copy the `,_jsx(_components.strong,{children:`Client ID`}),` and `,_jsx(_components.strong,{children:`Client Secret`}),`, then store them in your organization’s secret manager.`]}),_jsx(Warning,{children:_jsx(_components.p,{children:`Databricks displays the client secret once. Record its expiration date and rotate the app connection before the secret expires.`})}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/oauth-credentials.png?fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=45bfd27ecee3d65ffced138fdd60dafc`,alt:`Databricks Connection created dialog with the client ID and client secret redacted, plus the one-time-secret warning and expiration date`,\"data-og-width\":`2000`,width:`2000`,\"data-og-height\":`1144`,height:`1144`,\"data-path\":`images/connectors/databricks/u2m/oauth-credentials.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/oauth-credentials.png?w=280\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=784795103ca2d85535809c65714dbdd9 280w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/oauth-credentials.png?w=560\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=9bd5853c79001025b0e1051dfa71c336 560w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/oauth-credentials.png?w=840\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=d1c6247681962e8b0bc15e758e3a3e6d 840w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/oauth-credentials.png?w=1100\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=5265c1f29c94e85b1dc9309ff16d6a0d 1100w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/oauth-credentials.png?w=1650\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=26828c8de7249d4c5666104a79b69171 1650w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/oauth-credentials.png?w=2500\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=dcb153294612468069e90932e4d0db06 2500w`})})]})]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`New or updated OAuth app connections can take up to 30 minutes to become\navailable.`})}),`\n`,_jsx(Heading,{level:`3`,id:`step-2-share-the-sql-warehouse-details`,children:`Step 2: Share the SQL Warehouse details`}),`\n`,_jsx(_components.p,{children:`Each builder enters the SQL Warehouse details when authorizing the U2M connector. Publish these values somewhere your builders can access, such as an internal onboarding page.`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Open SQL Warehouses`,children:[_jsxs(_components.p,{children:[`In the Databricks workspace, select `,_jsx(_components.strong,{children:`SQL Warehouses`}),` and open the warehouse builders should use.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/sql-warehouses.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=8610ede28b6a723fd5774fb9e97c7485`,alt:`Databricks SQL Warehouses page showing available warehouses`,\"data-og-width\":`3438`,width:`3438`,\"data-og-height\":`1984`,height:`1984`,\"data-path\":`images/connectors/databricks/sql-warehouses.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/sql-warehouses.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=f53208e17f7e0402657247d65fb03581 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/sql-warehouses.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=509547aa0e3f26a55aa15a5fbfb692cb 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/sql-warehouses.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=91b8a13dc25b3815d0676b89b02b9bfd 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/sql-warehouses.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=9bf1207b599f52d9cb120fbba0ce1752 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/sql-warehouses.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=b65c51fd58ea954ac91ec3ff9e31af11 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/sql-warehouses.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=4c7f887904e0ec7f1edf54fa0d510ff0 2500w`})})]}),_jsxs(Step,{title:`Copy the connection details`,children:[_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Connection details`}),`, then copy the `,_jsx(_components.strong,{children:`Server hostname`}),` and `,_jsx(_components.strong,{children:`HTTP path`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connection-details.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=b2e51207eb945f4e9e939caa093c2b23`,alt:`Databricks SQL Warehouse connection details page with server hostname and HTTP path`,\"data-og-width\":`3438`,width:`3438`,\"data-og-height\":`1984`,height:`1984`,\"data-path\":`images/connectors/databricks/connection-details.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connection-details.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=f58979d95ddb4c9d7ab6d5f1d7e25bce 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connection-details.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=b979d2518fc636f248c73311655709c3 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connection-details.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=e11e7c8f5221016721d28e32bc40de93 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connection-details.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=a92f54d7e6394fcd100aad376dc4b74c 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connection-details.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=ec83adf191ece1775d1fccb91d96e747 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connection-details.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=6003ffeb32aef3f1612612b6fbbd90dd 2500w`})})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`step-3-enable-u2m-in-replit`,children:`Step 3: Enable U2M in Replit`}),`\n`,_jsx(Note,{children:`You must be a Replit organization admin to configure connectors.`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Open and enable the U2M connector`,children:[_jsxs(_components.p,{children:[`Go to `,_jsx(_components.a,{href:`https://replit.com/settings/integrations`,children:`Integrations`}),` in `,_jsx(_components.strong,{children:`Settings`}),`. Search for `,_jsx(_components.code,{children:`Databricks U2M`}),`, find `,_jsx(_components.strong,{children:`Databricks for Databricks Apps (U2M)`}),`, and select `,_jsx(_components.strong,{children:`Enable`}),`.`]}),_jsxs(_components.p,{children:[`Enter the `,_jsx(_components.strong,{children:`Client ID`}),` and `,_jsx(_components.strong,{children:`Client Secret`}),` from the Databricks app connection.`]}),_jsx(_components.p,{children:`Confirm that the redirect URL shown in Replit matches the URL configured in Databricks:`}),_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:`https://replit.com/connectors/oauth/callback`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Connector Scopes`}),`, enable `,_jsx(_components.code,{children:`all-apis`}),` and `,_jsx(_components.code,{children:`offline_access`}),`. The `,_jsx(_components.code,{children:`offline_access`}),` scope gives Replit a refresh token for long-lived sessions.`]}),_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Configure`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/enable-connector.png?fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=b83ecf60327fd12139ac5d499d7a2878`,alt:`Replit Integrations settings filtered to Databricks U2M with the enable panel showing the redirect URL, OAuth credential fields, and connector scopes`,\"data-og-width\":`2000`,width:`2000`,\"data-og-height\":`1144`,height:`1144`,\"data-path\":`images/connectors/databricks/u2m/enable-connector.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/enable-connector.png?w=280\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=a3bf26999af2ffe7ed563d7e0ddfd7d7 280w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/enable-connector.png?w=560\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=a836a0c7e3f9b240454ea4905185d493 560w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/enable-connector.png?w=840\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=3741f1a6054c5f71ca5df09f72dbfb61 840w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/enable-connector.png?w=1100\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=5badd86d8d27f9a9585651736ac1eded 1100w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/enable-connector.png?w=1650\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=785eb7edf755f384259f0b8e1de912b3 1650w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/enable-connector.png?w=2500\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=40d3c23cd93770f3db2afe63845fb7e5 2500w`})})]}),_jsx(Step,{title:`Verify the connector is enabled`,children:_jsxs(_components.p,{children:[`Confirm that `,_jsx(_components.strong,{children:`Databricks for Databricks Apps (U2M)`}),` appears under `,_jsx(_components.strong,{children:`Your integrations`}),`.`]})})]}),`\n`,_jsx(Heading,{level:`3`,id:`step-4-sign-in-as-a-builder`,children:`Step 4: Sign in as a builder`}),`\n`,_jsx(_components.p,{children:`Each builder signs in with their own Databricks account before using the connector. Replit can refresh the session until the refresh token expires.`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Sign in to the connector`,children:[_jsxs(_components.p,{children:[`On the `,_jsx(_components.strong,{children:`Integrations`}),` page, find `,_jsx(_components.strong,{children:`Databricks for Databricks Apps (U2M)`}),` and select `,_jsx(_components.strong,{children:`Sign in`}),`. Review the connection details, then select `,_jsx(_components.strong,{children:`Continue to Databricks for Databricks Apps`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/connect-modal.png?fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=05a11145d2602535df79f0d60c76ad7e`,alt:`Connect Databricks for Databricks Apps modal explaining the redirect, privacy, and permission controls`,\"data-og-width\":`2000`,width:`2000`,\"data-og-height\":`1144`,height:`1144`,\"data-path\":`images/connectors/databricks/u2m/connect-modal.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/connect-modal.png?w=280\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=29586a5eeb879c95d7c307a4f07e0896 280w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/connect-modal.png?w=560\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=539940c8476617aff44579066583a3ef 560w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/connect-modal.png?w=840\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=8d2a8691c0bc1b8c1092188b117f8396 840w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/connect-modal.png?w=1100\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=f0ac7979fff8355cf62f277e6bd69b62 1100w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/connect-modal.png?w=1650\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=e6857f9b46457e4b651ed70323de0753 1650w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/connect-modal.png?w=2500\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=872affca1877989f8438a8d8c639fe61 2500w`})})]}),_jsxs(Step,{title:`Enter the SQL Warehouse details`,children:[_jsxs(_components.p,{children:[`Enter the SQL Warehouse `,_jsx(_components.strong,{children:`HTTP path`}),` provided by your Databricks admin, then select `,_jsx(_components.strong,{children:`Next`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/http-path.png?fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=8c95432a240fa353d0138402ffef0207`,alt:`Connect Databricks for Databricks Apps dialog prompting for the SQL Warehouse HTTP path in step 1 of 2`,\"data-og-width\":`2000`,width:`2000`,\"data-og-height\":`1144`,height:`1144`,\"data-path\":`images/connectors/databricks/u2m/http-path.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/http-path.png?w=280\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=bdc8d3eb6d1e4da01058753e75d8a538 280w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/http-path.png?w=560\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=8aea471e9cfebaffc0ac06347a6a8d37 560w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/http-path.png?w=840\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=f2d9229f5732921e1cb057ac0e81eb60 840w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/http-path.png?w=1100\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=4c9d08698801b816e0df159e8f11ff1e 1100w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/http-path.png?w=1650\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=666f731875a77101efedf67894367c9c 1650w, https://mintcdn.com/replit/zZsRspCDhA4G7dI6/images/connectors/databricks/u2m/http-path.png?w=2500\u0026fit=max\u0026auto=format\u0026n=zZsRspCDhA4G7dI6\u0026q=85\u0026s=033d5f0a955cd59b1495c09cb0059f88 2500w`})}),_jsxs(_components.p,{children:[`Replit next asks for the SQL Warehouse `,_jsx(_components.strong,{children:`Server hostname`}),`. Enter it and continue to Databricks. Sign in when prompted, review the requested access, and approve the request.`]}),_jsx(_components.p,{children:`Every query Agent runs through this connection uses your Databricks permissions and is attributed to you in Databricks audit logs.`}),_jsx(_components.p,{children:`After approval, Databricks returns you to Replit and the connector is ready to use.`})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`set-up-the-service-principal-connector`,children:`Set up the service principal connector`}),`\n`,_jsx(_components.p,{children:`Service principal setup involves three roles:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Databricks admin`}),`: creates the service principal and grants permissions in Databricks.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Replit organization admin`}),`: configures the connector and access in Replit.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Builder`}),`: starts building with the shared Databricks identity.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`service-principal-prerequisites`,children:`Service principal prerequisites`}),`\n`,_jsx(_components.p,{children:`Before you start, confirm you have:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Databricks account admin or workspace admin access.`}),`\n`,_jsx(_components.li,{children:`Replit organization admin access.`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`step-1-create-a-service-principal-in-databricks`,children:`Step 1: Create a service principal in Databricks`}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`You must be a Databricks account admin or workspace admin to complete this\nstep.`})}),`\n`,_jsxs(_components.p,{children:[`The Databricks admin creates a machine-to-machine identity, called a `,_jsx(_components.a,{href:`https://docs.databricks.com/aws/en/admin/users-groups/service-principals`,children:`service principal`}),`, that Replit uses to connect to Databricks.`]}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Open Settings`,children:[_jsxs(_components.p,{children:[`In Databricks, select your avatar in the top-right corner, then select `,_jsx(_components.strong,{children:`Settings`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/settings-menu.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=4179d36f68585cf88af24ab86d960694`,alt:`Databricks workspace menu with Settings selected`,\"data-og-width\":`3438`,width:`3438`,\"data-og-height\":`1984`,height:`1984`,\"data-path\":`images/connectors/databricks/settings-menu.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/settings-menu.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=637d3eea8472370f17b673e98e6b7378 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/settings-menu.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=5da4eee666c1dd2c1adea5003e4c8a3f 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/settings-menu.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=5105426b5019e76f91d9b4b5ec71073d 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/settings-menu.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=878f1386b5c8b8be2b7765b8f54a274b 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/settings-menu.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=6c7a8950435e2564172a7845725ee24f 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/settings-menu.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=c5958d19c9657a7210ee83339174c0c2 2500w`})})]}),_jsxs(Step,{title:`Select Identity and access`,children:[_jsxs(_components.p,{children:[`In the Settings sidebar, select `,_jsx(_components.strong,{children:`Identity and access`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/settings-page.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=8e22324831c8804b135a3b5e550e7f45`,alt:`Databricks Settings page with Identity and access in the sidebar`,\"data-og-width\":`3438`,width:`3438`,\"data-og-height\":`1984`,height:`1984`,\"data-path\":`images/connectors/databricks/settings-page.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/settings-page.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=9207c0b76b44d04ba772c15d3426b91f 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/settings-page.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=5cf906bd4fec40cf948667155f253418 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/settings-page.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=d34fee064a6324b8366e03d8183e678e 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/settings-page.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=1f62319b0c803bcd97d0ec66bed25bde 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/settings-page.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=60553d834b1f211259fc75b681cc01ff 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/settings-page.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=1de0a4fc0e15ff851dbe2af765a088b8 2500w`})})]}),_jsxs(Step,{title:`Manage service principals`,children:[_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Management and permissions`}),`, find `,_jsx(_components.strong,{children:`Service principals`}),` and select `,_jsx(_components.strong,{children:`Manage`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/identity-and-access.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=4c502716a573596cbe0550644036654d`,alt:`Identity and access settings page showing the Service principals Manage button`,\"data-og-width\":`3438`,width:`3438`,\"data-og-height\":`1984`,height:`1984`,\"data-path\":`images/connectors/databricks/identity-and-access.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/identity-and-access.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=3a460bffd893ed13053ce286c99668bc 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/identity-and-access.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=0c32be87691e48f555676a0e099a373f 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/identity-and-access.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=2b28aa1800065a7b9e9345499c0a8faa 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/identity-and-access.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=48fafdb4fffc87d36f5729cb7604cbbd 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/identity-and-access.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=df3bc7bc619049e749f1785d1facbd9f 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/identity-and-access.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=ecb972fcef2245795f05d816ef1db025 2500w`})})]}),_jsxs(Step,{title:`Add a new service principal`,children:[_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Add service principal`}),`, then select `,_jsx(_components.strong,{children:`Add new`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/add-service-principal.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=ca1c2ec068049bd48b2c590d9cae4b3f`,alt:`Add service principal dialog with the Add new button`,\"data-og-width\":`3438`,width:`3438`,\"data-og-height\":`1984`,height:`1984`,\"data-path\":`images/connectors/databricks/add-service-principal.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/add-service-principal.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=2cd5374916a66acf0618fb3396590367 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/add-service-principal.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=321dc20364f971e6d7296ded846cf076 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/add-service-principal.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=ae61bbde0227689cb3fde5e3746b0129 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/add-service-principal.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=c4ffd9e4dec7c32663396bc3aa23f5ae 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/add-service-principal.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=3f9a7a565a34daba1129bbd8ee216e84 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/add-service-principal.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=26be8319cfbd7c75516f256c83ff6608 2500w`})})]}),_jsxs(Step,{title:`Name the service principal`,children:[_jsxs(_components.p,{children:[`Enter a clear name for the service principal, then select `,_jsx(_components.strong,{children:`Add`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/add-service-principal-name.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=f2490e64e7bb1516e153f7690da5c9a2`,alt:`Add service principal dialog with a service principal name entered`,\"data-og-width\":`3438`,width:`3438`,\"data-og-height\":`1984`,height:`1984`,\"data-path\":`images/connectors/databricks/add-service-principal-name.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/add-service-principal-name.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=79901cd8e3e7c4749ebc37b195ed1218 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/add-service-principal-name.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=b43840ea2a1a45604fabcd1ca2c2cd1c 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/add-service-principal-name.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=4b7de979dd053148c1f80b843b38c4cb 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/add-service-principal-name.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=528a22478cca8b901f997c6cc29a82e8 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/add-service-principal-name.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=54055202d467d0870f04564fad8ba02b 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/add-service-principal-name.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=8b4e130d6ce0ffd020308e3967800f37 2500w`})})]}),_jsxs(Step,{title:`Confirm the service principal details`,children:[_jsx(_components.p,{children:`After Databricks creates the service principal, confirm it is active. Keep this page open if you need the service principal details while configuring the Replit connector.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/service-principal-details.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=ffdb270b49e7b6a330c3691358b8234b`,alt:`Databricks service principal details page`,\"data-og-width\":`3438`,width:`3438`,\"data-og-height\":`1984`,height:`1984`,\"data-path\":`images/connectors/databricks/service-principal-details.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/service-principal-details.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=62b9c48c9d63d7e17e3cb7cca781f2e1 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/service-principal-details.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=96d627026d56cb3a10301797eeac2a88 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/service-principal-details.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=2a093f02b9bfdb50ae719e2e6983e94f 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/service-principal-details.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=65b7496dcb8f3f23318b85d7ec162ddb 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/service-principal-details.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=5f26ef469b8ecd3a3bb554ba68b87455 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/service-principal-details.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=f8385046f7e2f4bde51a8bdf0337cde0 2500w`})})]}),_jsxs(Step,{title:`Grant access`,children:[_jsxs(_components.p,{children:[`Open the `,_jsx(_components.strong,{children:`Permissions`}),` tab, select `,_jsx(_components.strong,{children:`Grant access`}),`, choose the service principal, set the permission to `,_jsx(_components.strong,{children:`Manage`}),`, then select `,_jsx(_components.strong,{children:`Save`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/grant-access.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=ee85ab8f1741b86f830efcd80427a596`,alt:`Grant access dialog for a Databricks service principal with Manage permission selected`,\"data-og-width\":`3438`,width:`3438`,\"data-og-height\":`1984`,height:`1984`,\"data-path\":`images/connectors/databricks/grant-access.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/grant-access.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=b1d3c12a5bde78989c0d47d6b12718c5 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/grant-access.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=9bb60ac4edc9d9549721b163219a6e84 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/grant-access.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=5b08aaa2dabe540ebd6367aa65ccfd4e 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/grant-access.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=48406cf1a6ba14d9f46ddebcc2e13101 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/grant-access.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=78909f245017579db5ddf0b6da084122 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/grant-access.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=73cf7f51deba7feeddfca0240e57c8c3 2500w`})})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`step-2-get-your-sql-warehouse-connection-details`,children:`Step 2: Get your SQL Warehouse connection details`}),`\n`,_jsx(_components.p,{children:`The Replit connector needs Databricks SQL Warehouse connection details to route queries to the right compute resource.`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Open SQL Warehouses`,children:[_jsxs(_components.p,{children:[`In the Databricks sidebar, select `,_jsx(_components.strong,{children:`SQL Warehouses`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/sql-warehouses.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=8610ede28b6a723fd5774fb9e97c7485`,alt:`Databricks SQL Warehouses page showing available warehouses`,\"data-og-width\":`3438`,width:`3438`,\"data-og-height\":`1984`,height:`1984`,\"data-path\":`images/connectors/databricks/sql-warehouses.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/sql-warehouses.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=f53208e17f7e0402657247d65fb03581 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/sql-warehouses.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=509547aa0e3f26a55aa15a5fbfb692cb 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/sql-warehouses.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=91b8a13dc25b3815d0676b89b02b9bfd 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/sql-warehouses.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=9bf1207b599f52d9cb120fbba0ce1752 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/sql-warehouses.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=b65c51fd58ea954ac91ec3ff9e31af11 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/sql-warehouses.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=4c7f887904e0ec7f1edf54fa0d510ff0 2500w`})})]}),_jsx(Step,{title:`Select or create a warehouse`,children:_jsxs(_components.p,{children:[`Select the SQL Warehouse you want Replit Agent to use. If you do not already have one, select `,_jsx(_components.strong,{children:`Create SQL warehouse`}),` and create a new warehouse.`]})}),_jsxs(Step,{title:`Copy connection details`,children:[_jsxs(_components.p,{children:[`Open the warehouse and select `,_jsx(_components.strong,{children:`Connection details`}),`. Locate the `,_jsx(_components.strong,{children:`Server hostname`}),` and `,_jsx(_components.strong,{children:`HTTP path`}),` values. You need these values when creating the Databricks connector in Replit.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connection-details.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=b2e51207eb945f4e9e939caa093c2b23`,alt:`Databricks SQL Warehouse connection details page with server hostname and HTTP path`,\"data-og-width\":`3438`,width:`3438`,\"data-og-height\":`1984`,height:`1984`,\"data-path\":`images/connectors/databricks/connection-details.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connection-details.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=f58979d95ddb4c9d7ab6d5f1d7e25bce 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connection-details.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=b979d2518fc636f248c73311655709c3 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connection-details.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=e11e7c8f5221016721d28e32bc40de93 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connection-details.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=a92f54d7e6394fcd100aad376dc4b74c 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connection-details.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=ec83adf191ece1775d1fccb91d96e747 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connection-details.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=6003ffeb32aef3f1612612b6fbbd90dd 2500w`})})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`step-3-create-the-databricks-connector-in-replit`,children:`Step 3: Create the Databricks connector in Replit`}),`\n`,_jsx(Note,{children:`You must be a Replit organization admin to configure connectors.`}),`\n`,_jsx(_components.p,{children:`The Replit admin adds the Databricks connection details to Replit so builders can use the connector.`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Navigate to Integrations`,children:[_jsxs(_components.p,{children:[`Go to `,_jsx(_components.a,{href:`https://replit.com/settings/integrations`,children:`Integrations`}),` in `,_jsx(_components.strong,{children:`Settings`}),`. Under `,_jsx(_components.strong,{children:`Connectors`}),`, find `,_jsx(_components.strong,{children:`Databricks (Service Principal)`}),` and select `,_jsx(_components.strong,{children:`Sign in`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/integrations-databricks-signin.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=f3b1558a4d4afc021fd7b2be96004ea7`,alt:`Replit Integrations page filtered to Databricks, showing the Databricks (Service Principal) connector with a Sign in button`,\"data-og-width\":`3436`,width:`3436`,\"data-og-height\":`1978`,height:`1978`,\"data-path\":`images/connectors/databricks/integrations-databricks-signin.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/integrations-databricks-signin.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=7a9cec6d275394aecec6f51ec06abc1f 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/integrations-databricks-signin.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=cfc72cedb38dc3a93b778c68a08a8a1f 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/integrations-databricks-signin.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=72f72b2237b75e53a26314421536538d 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/integrations-databricks-signin.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=38093c79952a885db75641286680cf90 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/integrations-databricks-signin.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=8e207ad1b2fdc1f50f473acbe76f669d 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/integrations-databricks-signin.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=05ea7e30edb93b4528a8569b4c700251 2500w`})})]}),_jsxs(Step,{title:`Confirm the connection`,children:[_jsxs(_components.p,{children:[`Replit shows a confirmation dialog before redirecting to Databricks for authentication. Review the details and select `,_jsx(_components.strong,{children:`Continue to Databricks`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connect-databricks-intro.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=d1bd23f4bb71d62a555993b106f4596e`,alt:`Connect Databricks dialog explaining the OAuth redirect, data usage, and permissions`,\"data-og-width\":`3436`,width:`3436`,\"data-og-height\":`1978`,height:`1978`,\"data-path\":`images/connectors/databricks/connect-databricks-intro.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connect-databricks-intro.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=138ec8f0a4db0d3dceb1cd42dde79df6 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connect-databricks-intro.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=4e5aa90295ee0832373340ec1145970e 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connect-databricks-intro.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=196941dba56583a3485ca5915fa29352 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connect-databricks-intro.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=a80f2ef70a3aaf01ba5ea9dee7e9cea0 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connect-databricks-intro.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=95244581a4090b62218d1d430491a64f 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connect-databricks-intro.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=daff3da1cf13b752f1b9a7901cd8f49f 2500w`})})]}),_jsxs(Step,{title:`Enter the SQL Warehouse HTTP path`,children:[_jsxs(_components.p,{children:[`Paste the `,_jsx(_components.strong,{children:`HTTP path`}),` from your Databricks SQL Warehouse connection details (for example, `,_jsx(_components.code,{children:`/sql/1.0/warehouses/abcdef1234567890`}),`), then select `,_jsx(_components.strong,{children:`Next`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connector-http-path.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=c68fa0868bed7dbd56c46f3be3bbc4b3`,alt:`Connect Databricks dialog step 1 of 2 prompting for the SQL Warehouse HTTP path`,\"data-og-width\":`3436`,width:`3436`,\"data-og-height\":`1978`,height:`1978`,\"data-path\":`images/connectors/databricks/connector-http-path.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connector-http-path.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=c648f65999256144da32b51862cfe7d6 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connector-http-path.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=65520ebd076d366d416cc4f39de60b4b 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connector-http-path.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=781dfab73b18146411bb95e17cf00278 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connector-http-path.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=33d919bc1200d2ced4a8af6c90a77d39 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connector-http-path.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=81535e3fa9c589cbb1210a06e7dfb3e2 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connector-http-path.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=d62b1bcaa1b3bdbb3c3545f66fe5cd8b 2500w`})})]}),_jsxs(Step,{title:`Enter the SQL Warehouse server hostname`,children:[_jsxs(_components.p,{children:[`Paste the `,_jsx(_components.strong,{children:`Server hostname`}),` from the same connection details (for example, `,_jsx(_components.code,{children:`abc-12345678-wxyz.cloud.databricks.com`}),`), then select `,_jsx(_components.strong,{children:`Continue to Databricks`}),` to complete authentication.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connector-server-hostname.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=0b8210206a0941725aa1eb71a2b1d99e`,alt:`Connect Databricks dialog step 2 of 2 prompting for the SQL Warehouse server hostname`,\"data-og-width\":`3436`,width:`3436`,\"data-og-height\":`1978`,height:`1978`,\"data-path\":`images/connectors/databricks/connector-server-hostname.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connector-server-hostname.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=a190ce479802f0a852a507a8dc07cf99 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connector-server-hostname.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=5de08df1ff38bea30a7ae545b0bae382 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connector-server-hostname.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=933da274663aa422d66be4e4d6255135 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connector-server-hostname.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=7875307237162f7fcef7474a5a3ffa16 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connector-server-hostname.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=d89480dedb3d2e55b31ab1b56d84f467 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/connector-server-hostname.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=f7956a0a74fce6d1273cda18346ce621 2500w`})})]}),_jsx(Step,{title:`Configure access`,children:_jsx(_components.p,{children:`Use Role-Based Access Control to choose which members or groups in your organization can use this connector.`})}),_jsxs(Step,{title:`Verify the connector is active`,children:[_jsxs(_components.p,{children:[`Back on the `,_jsx(_components.strong,{children:`Integrations`}),` page, confirm that `,_jsx(_components.strong,{children:`Databricks (Service Principal)`}),` appears under `,_jsx(_components.strong,{children:`Connectors`}),` with an `,_jsx(_components.strong,{children:`Active`}),` connection status.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/integrations-page.png?fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=f2bb0eac84b4d08e7d7213f5aa5e1a9f`,alt:`Replit Integrations page showing the Databricks (Service Principal) connector with an Active connection status`,\"data-og-width\":`1680`,width:`1680`,\"data-og-height\":`1199`,height:`1199`,\"data-path\":`images/connectors/databricks/integrations-page.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/integrations-page.png?w=280\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=ab42918f5d6fc8f78a6b6f1c6e459d76 280w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/integrations-page.png?w=560\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=82fd23fdde355e60eac8ec6ab7168154 560w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/integrations-page.png?w=840\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=93232b46b77bab51df509e47855dd09c 840w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/integrations-page.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=10651f7f58fb26ff7057ec57dccaa61b 1100w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/integrations-page.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=ab31e99421732b2fe9845e1038d20581 1650w, https://mintcdn.com/replit/xfCoeTDIPMvB7evM/images/connectors/databricks/integrations-page.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xfCoeTDIPMvB7evM\u0026q=85\u0026s=ce0731529c6c2fca0f4fb98934a9a50a 2500w`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`build-with-agent`,children:`Build with Agent`}),`\n`,_jsx(_components.p,{children:`After connecting with either method, builders can create applications that use Databricks data with Agent.`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Select the Databricks App template for deployment`,children:[_jsxs(_components.p,{children:[`Select the `,_jsx(_components.strong,{children:`Databricks App`}),` template when you want to deploy the finished app to your Databricks environment. You do not need the template to use a configured connector to access Databricks data and assets.`]}),_jsxs(_components.p,{children:[`From the Replit home page, select `,_jsx(_components.strong,{children:`+`}),` in the prompt box, open `,_jsx(_components.strong,{children:`Use a template`}),`, and choose `,_jsx(_components.strong,{children:`Databricks App`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/ajjO7vNaQiYSYfox/images/connectors/data-app-templates.jpg?fit=max\u0026auto=format\u0026n=ajjO7vNaQiYSYfox\u0026q=85\u0026s=2a20b4f9bd61996583d21a20dd41041d`,alt:`Replit home prompt box with the plus menu open and Use a template showing Databricks App and Microsoft Fabric App`,\"data-og-width\":`1600`,width:`1600`,\"data-og-height\":`607`,height:`607`,\"data-path\":`images/connectors/data-app-templates.jpg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/ajjO7vNaQiYSYfox/images/connectors/data-app-templates.jpg?w=280\u0026fit=max\u0026auto=format\u0026n=ajjO7vNaQiYSYfox\u0026q=85\u0026s=660c2e5d4eb636fd79fae54f4cfbe576 280w, https://mintcdn.com/replit/ajjO7vNaQiYSYfox/images/connectors/data-app-templates.jpg?w=560\u0026fit=max\u0026auto=format\u0026n=ajjO7vNaQiYSYfox\u0026q=85\u0026s=a9e97b0821d2c86b0acdb80c099cabc6 560w, https://mintcdn.com/replit/ajjO7vNaQiYSYfox/images/connectors/data-app-templates.jpg?w=840\u0026fit=max\u0026auto=format\u0026n=ajjO7vNaQiYSYfox\u0026q=85\u0026s=cba37455585ee033bd5c53288c69573d 840w, https://mintcdn.com/replit/ajjO7vNaQiYSYfox/images/connectors/data-app-templates.jpg?w=1100\u0026fit=max\u0026auto=format\u0026n=ajjO7vNaQiYSYfox\u0026q=85\u0026s=b634b98b608aa40942474e7e539fdd55 1100w, https://mintcdn.com/replit/ajjO7vNaQiYSYfox/images/connectors/data-app-templates.jpg?w=1650\u0026fit=max\u0026auto=format\u0026n=ajjO7vNaQiYSYfox\u0026q=85\u0026s=0df7a9cb1c260af03347c7ddec950b38 1650w, https://mintcdn.com/replit/ajjO7vNaQiYSYfox/images/connectors/data-app-templates.jpg?w=2500\u0026fit=max\u0026auto=format\u0026n=ajjO7vNaQiYSYfox\u0026q=85\u0026s=15fa510e18711f7a25d6a3b11a3becd5 2500w`})})]}),_jsx(Step,{title:`Describe your application`,children:_jsxs(_components.p,{children:[`Add your prompt after the prefilled instructions. For inspiration, browse the `,_jsx(_components.a,{href:`https://www.databricks.com/devhub/templates`,children:`Databricks Dev Hub templates`}),`.`]})}),_jsx(Step,{title:`Review and iterate`,children:_jsx(_components.p,{children:`Review the SQL Agent generates, the tables it queries, and the application structure. Ask for changes in natural language.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`use-lakebase-for-application-data`,children:`Use Lakebase for application data`}),`\n`,_jsxs(_components.p,{children:[`Apps you publish with the `,_jsx(_components.strong,{children:`Databricks App`}),` template use Lakebase as their\nmanaged production PostgreSQL database. Build and test against the development\ndatabase in Replit. When you publish, Replit prepares a Lakebase database in\nyour Databricks workspace and applies your schema changes.`]}),`\n`,_jsx(_components.p,{children:`Use Lakebase for application state such as user accounts, settings, and\ntransactions. Continue to use a SQL Warehouse for analytics and Unity Catalog\ndata.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Build with the development database`,children:_jsxs(_components.p,{children:[`Ask Agent to add the application data your project needs. Use the\n`,_jsx(_components.strong,{children:`Database`}),` tool to review tables and data while you build. See\n`,_jsx(_components.a,{href:`/features/data-and-storage/development-and-production`,children:`Development and production databases`}),`\nfor how the two databases differ.`]})}),_jsx(Step,{title:`Prepare the production database`,children:_jsxs(_components.p,{children:[`Start publishing your Databricks App. Review the schema changes that Replit\napplies to Lakebase before you continue. See\n`,_jsx(_components.a,{href:`/features/data-and-storage/development-and-production#making-safe-changes-to-your-production-database`,children:`Making safe changes to your production database`}),`\nfor changes that need planning.`]})}),_jsx(Step,{title:`Publish your app`,children:_jsx(_components.p,{children:`Publish the app to create or update its Lakebase database. Replit connects\nthe published app to Lakebase automatically.`})})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Apps published with other templates use a standard Replit\n`,_jsx(_components.a,{href:`/features/data-and-storage/development-and-production`,children:`production database`}),`\ninstead of Lakebase.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Queries return empty results`,id:`queries-return-empty-results`,children:_jsx(_components.p,{children:`Check the Databricks permissions for the identity running the query. With\nU2M, this is the individual builder. With the service principal connector,\nit is the shared service principal. The identity may have metadata access\nbut no read permission on the data. Grant the required catalog, schema, or\ntable permissions and try again.`})}),_jsx(Accordion,{title:`The connector cannot reach the SQL Warehouse`,id:`the-connector-cannot-reach-the-sql-warehouse`,children:_jsxs(_components.p,{children:[`Verify that the `,_jsx(_components.strong,{children:`Server hostname`}),` and `,_jsx(_components.strong,{children:`HTTP path`}),` match the SQL Warehouse\nconnection details in Databricks. For U2M, check the values entered by the\naffected builder. Also confirm that the warehouse is running and the query\nidentity has permission to use it.`]})}),_jsxs(Accordion,{title:`Authentication fails`,id:`authentication-fails`,children:[_jsxs(_components.p,{children:[`For U2M, confirm the Databricks app connection lists\n`,_jsx(_components.code,{children:`https://replit.com/connectors/oauth/callback`}),` under `,_jsx(_components.strong,{children:`Redirect URLs`}),`, with\nno trailing slash. If authentication fails for every builder, verify the\nshared Client ID and Client Secret, confirm the secret has not expired, and\nmake sure the scopes in Replit match the Databricks app connection.`]}),_jsx(_components.p,{children:`For the service principal connector, verify that the service principal\ndetails entered in Replit match the service principal created in Databricks.\nIf credentials were rotated, update the connector in Replit.`})]}),_jsx(Accordion,{title:`The connector asks me to sign in again`,id:`the-connector-asks-me-to-sign-in-again`,children:_jsx(_components.p,{children:`This can happen with U2M when the refresh token expires or is revoked.\nComplete the Databricks authorization flow again. If builders must reconnect\nmore often than your security policy requires, review the app connection’s\ntoken lifetimes.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`related-documentation`,children:`Related documentation`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/connectors/warehouses/overview`,children:`Warehouse connectors overview`}),`: all supported warehouse connectors.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/connectors/warehouses/snowflake`,children:`Connect Snowflake`}),`: step-by-step Snowflake setup.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/replitai/managing-connectors`,children:`Managing your connectors`}),`: connector management and configuration.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://docs.databricks.com/aws/en/dev-tools/auth/oauth-u2m`,children:`Databricks OAuth user-to-machine authorization`}),`: Databricks documentation on U2M OAuth.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://docs.databricks.com/aws/en/integrations/enable-disable-oauth`,children:`Enable custom OAuth applications in Databricks`}),`: Databricks documentation on app connections.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://docs.databricks.com/aws/en/admin/users-groups/service-principals`,children:`Databricks service principals`}),`: Databricks documentation on service principals.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://docs.databricks.com/aws/en/compute/sql-warehouse/`,children:`Databricks SQL Warehouses`}),`: Databricks documentation on SQL Warehouse compute.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Databricks Connectors","sidebarTitle":"Databricks","description":"Choose and set up a Databricks connector so Replit Agent can build applications backed by your Databricks workspace.","icon":"database","href":"/connectors/warehouses/databricks"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Choose a connection type","slug":"choose-a-connection-type","depth":2,"children":[]},{"title":"Set up the U2M connector","slug":"set-up-the-u2m-connector","depth":2,"children":[{"title":"U2M prerequisites","slug":"u2m-prerequisites","depth":3,"children":[]},{"title":"Step 1: Create an OAuth app connection","slug":"step-1-create-an-oauth-app-connection","depth":3,"children":[]},{"title":"Step 2: Share the SQL Warehouse details","slug":"step-2-share-the-sql-warehouse-details","depth":3,"children":[]},{"title":"Step 3: Enable U2M in Replit","slug":"step-3-enable-u2m-in-replit","depth":3,"children":[]},{"title":"Step 4: Sign in as a builder","slug":"step-4-sign-in-as-a-builder","depth":3,"children":[]}]},{"title":"Set up the service principal connector","slug":"set-up-the-service-principal-connector","depth":2,"children":[{"title":"Service principal prerequisites","slug":"service-principal-prerequisites","depth":3,"children":[]},{"title":"Step 1: Create a service principal in Databricks","slug":"step-1-create-a-service-principal-in-databricks","depth":3,"children":[]},{"title":"Step 2: Get your SQL Warehouse connection details","slug":"step-2-get-your-sql-warehouse-connection-details","depth":3,"children":[]},{"title":"Step 3: Create the Databricks connector in Replit","slug":"step-3-create-the-databricks-connector-in-replit","depth":3,"children":[]}]},{"title":"Build with Agent","slug":"build-with-agent","depth":2,"children":[]},{"title":"Use Lakebase for application data","slug":"use-lakebase-for-application-data","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]},{"title":"Related documentation","slug":"related-documentation","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"replit","siteName":"Replit","title":"Databricks Connectors - Replit","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/connectors/warehouses/databricks","matchLevel":0},"fr":{"href":"/fr/connectors/warehouses/databricks","matchLevel":1},"pt":{"href":"/pt/connectors/warehouses/databricks","matchLevel":1},"ja":{"href":"/ja/connectors/warehouses/databricks","matchLevel":1},"ko":{"href":"/ko/connectors/warehouses/databricks","matchLevel":1}}},"lastModified":"2026-11-12T02:39:58.276Z","originalFileLocation":"connectors/warehouses/databricks.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"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=\"Choose and set up a Databricks connector so Replit Agent can build applications backed by your Databricks workspace.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Replit\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Databricks Connectors - Replit\">\u003cmeta data-mint-head property=\"og:description\" content=\"Choose and set up a Databricks connector so Replit Agent can build applications backed by your Databricks workspace.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Replit Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.replit.com/connectors/warehouses/databricks\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://replit.mintlify.site/_mintlify/api/og/v2?division=Warehouse+Connectors\u0026amp;title=Databricks+Connectors\u0026amp;description=Choose+and+set+up+a+Databricks+connector+so+Replit+Agent+can+build+applications+backed+by+your+Databricks+workspace.\u0026amp;theme=3d900b3257a00c38c6803774\u0026amp;signature=d9185132c6d2e1e4688391cd17ac6e52870702529b3643f008526ba9f996dcb8\">\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=\"Databricks Connectors - Replit\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Choose and set up a Databricks connector so Replit Agent can build applications backed by your Databricks workspace.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://replit.mintlify.site/_mintlify/api/og/v2?division=Warehouse+Connectors\u0026amp;title=Databricks+Connectors\u0026amp;description=Choose+and+set+up+a+Databricks+connector+so+Replit+Agent+can+build+applications+backed+by+your+Databricks+workspace.\u0026amp;theme=3d900b3257a00c38c6803774\u0026amp;signature=d9185132c6d2e1e4688391cd17ac6e52870702529b3643f008526ba9f996dcb8\">\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/replit/bmCuvIiWqqoyeE2o/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Replit\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF3C00\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@replit\">\u003cmeta data-mint-head name=\"author\" content=\"Replit\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.replit.com/connectors/warehouses/databricks\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/connectors/warehouses/databricks.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.replit.com/connectors/warehouses/databricks\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.replit.com/fr/connectors/warehouses/databricks\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt\" href=\"https://docs.replit.com/pt/connectors/warehouses/databricks\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.replit.com/ja/connectors/warehouses/databricks\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.replit.com/ko/connectors/warehouses/databricks\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.replit.com/connectors/warehouses/databricks\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.replit.com/#organization\",\"name\":\"Replit\",\"url\":\"https://docs.replit.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/replit/j4of5To8jzehz0JK/logo/light.svg?fit=max\u0026auto=format\u0026n=j4of5To8jzehz0JK\u0026q=85\u0026s=6209cb5927b56fd1781133af05428373\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.replit.com#website\",\"name\":\"Replit\",\"url\":\"https://docs.replit.com\",\"publisher\":{\"@id\":\"https://docs.replit.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.replit.com/connectors/warehouses/databricks#webpage\",\"url\":\"https://docs.replit.com/connectors/warehouses/databricks\",\"name\":\"Databricks Connectors\",\"description\":\"Choose and set up a Databricks connector so Replit Agent can build applications backed by your Databricks workspace.\",\"dateModified\":\"2026-11-12T02:39:58.276Z\",\"isPartOf\":{\"@id\":\"https://docs.replit.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.replit.com/connectors/warehouses/databricks#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.replit.com/connectors/warehouses/databricks#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Warehouse Connectors\",\"item\":\"https://docs.replit.com/connectors/warehouses/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Databricks Connectors\",\"item\":\"https://docs.replit.com/connectors/warehouses/databricks\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.replit.com/connectors/warehouses/databricks#article\",\"headline\":\"Databricks Connectors\",\"name\":\"Databricks Connectors\",\"description\":\"Choose and set up a Databricks connector so Replit Agent can build applications backed by your Databricks workspace.\",\"url\":\"https://docs.replit.com/connectors/warehouses/databricks\",\"mainEntityOfPage\":{\"@id\":\"https://docs.replit.com/connectors/warehouses/databricks#webpage\"},\"dateModified\":\"2026-11-12T02:39:58.276Z\",\"publisher\":{\"@id\":\"https://docs.replit.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.replit.com#website\"}}]}\u003c/script>","agentPointerHref":"/connectors/warehouses/databricks.md","siteName":"Replit","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/welcome"}]},{"tab":"Chats","pages":[{"title":"Chats","href":"/chat/overview"}]},{"tab":"Apps","dropdowns":[{"dropdown":"Web","icon":"globe","pages":[{"group":"Quickstarts","pages":[{"title":"Build your first app","sidebarTitle":"Build your first app","icon":"rocket","href":"/build/your-first-app"},{"title":"Build and publish from a template","sidebarTitle":"Build from a template","icon":"palette","href":"/build/build-and-publish-from-template"},{"title":"Build with Free Mode","sidebarTitle":"Build with Free Mode","icon":"seedling","href":"/build/build-with-free-mode"},{"title":"Publish your app","sidebarTitle":"Publish your app","icon":"cloud-arrow-up","href":"/build/publish-your-app"}]},{"group":"Build paths","pages":[{"title":"Prototype a product idea","sidebarTitle":"Prototype an idea","icon":"lightbulb","href":"/build/prototype-an-idea"},{"title":"Launch a landing page","sidebarTitle":"Launch a landing page","icon":"rectangle-list","href":"/build/landing-page"},{"title":"Build a Shopify storefront","sidebarTitle":"Build a Shopify storefront","icon":"bag-shopping","href":"/build/ecommerce-store"},{"title":"Create a dashboard from data","sidebarTitle":"Create a dashboard","icon":"chart-simple","href":"/build/dashboard"},{"title":"Build a mobile app","sidebarTitle":"Build a mobile app","icon":"mobile-screen","href":"/build/mobile-app"}]},{"group":"Grow your app","pages":[{"title":"Add login","sidebarTitle":"Add login","icon":"user-lock","href":"/build/add-login"},{"title":"Add a database","sidebarTitle":"Add a database","icon":"database","href":"/build/add-database"},{"title":"Add integrations","sidebarTitle":"Add integrations","icon":"plug","href":"/build/add-integrations"},{"title":"Add a custom domain","sidebarTitle":"Add a custom domain","icon":"globe","href":"/build/add-custom-domain"}]},{"group":"Publish and operate","pages":[{"title":"Purchase a domain","sidebarTitle":"Purchase a domain","icon":"cart-shopping","href":"/build/domain-purchasing"},{"title":"Enable Feedback Widget","sidebarTitle":"Enable Feedback Widget","icon":"comment","href":"/build/enable-feedback"},{"title":"Improve your app's SEO","sidebarTitle":"Improve SEO","icon":"magnifying-glass-chart","href":"/build/improve-seo"},{"title":"Troubleshoot publishing","icon":"triangle-exclamation","href":"/build/troubleshooting"}]},{"group":"Connect \u0026 integrate","pages":[{"title":"Use Agent Skills","sidebarTitle":"Use Agent Skills","icon":"puzzle-piece","href":"/build/use-agent-skills"},{"title":"Connect via MCP","sidebarTitle":"Connect via MCP","icon":"server","href":"/build/connect-via-mcp"}]},{"group":"Collaborate","pages":[{"title":"Invite teammates","sidebarTitle":"Invite teammates","icon":"user-plus","href":"/build/invite-teammates"},{"title":"Create a team workspace","sidebarTitle":"Create a team workspace","icon":"users-rectangle","href":"/build/create-a-team-workspace"}]},{"group":"Import","pages":[{"title":"Import from a provider","sidebarTitle":"Import from a provider","icon":"file-import","href":"/build/import-from-providers"}]}]},{"dropdown":"Mobile","icon":"mobile","groups":[{"group":"Quickstarts","pages":[{"title":"Start your first mobile app","sidebarTitle":"Start your mobile app","icon":"wand-magic-sparkles","href":"/build/mobile-first-app"},{"title":"Preview and test on your phone","sidebarTitle":"Test with Expo Go","icon":"mobile","href":"/build/mobile-preview-testing"}]},{"group":"Publish for iOS","pages":[{"title":"Set up your Apple Developer account","sidebarTitle":"Set up your account","icon":"apple","href":"/build/mobile-apple-account"},{"title":"Upload your app to App Store Connect","sidebarTitle":"Upload your app","icon":"cloud-arrow-up","href":"/build/mobile-upload-ios"},{"title":"Beta test with TestFlight","sidebarTitle":"Test on TestFlight","icon":"flask","href":"/build/mobile-testflight"},{"title":"Submit to the App Store","sidebarTitle":"Submit for App Store","icon":"paper-plane","href":"/build/mobile-publish-ios"}]},{"group":"Add features and grow your app","pages":[{"title":"Add login","sidebarTitle":"Add login","icon":"right-to-bracket","href":"/build/mobile-login"},{"title":"Add payments with RevenueCat","sidebarTitle":"Add payments","icon":"credit-card","href":"/build/mobile-payments"},{"title":"Store images in your mobile app","sidebarTitle":"Save player images","icon":"image","href":"/build/mobile-store-images"},{"title":"Add haptics","sidebarTitle":"Add haptics","icon":"wave-square","href":"/build/mobile-haptics"},{"title":"Use iOS native components","sidebarTitle":"Use native UI","icon":"apple","href":"/build/mobile-native-components"},{"title":"Use the camera","sidebarTitle":"Add camera","icon":"camera","href":"/build/mobile-camera"},{"title":"Access contacts","sidebarTitle":"Add contacts","icon":"address-book","href":"/build/mobile-contacts"},{"title":"Send push notifications","sidebarTitle":"Send notifications","icon":"bell","href":"/build/mobile-push-notifications"},{"title":"Collect reviews and ratings","sidebarTitle":"Collect reviews","icon":"star","href":"/build/mobile-collect-reviews"}]},{"group":"Design","pages":[{"title":"Design your app","sidebarTitle":"Design your app","icon":"palette","href":"/build/mobile-design"},{"title":"Generate an app icon","sidebarTitle":"Generate app icon","icon":"image","href":"/build/mobile-app-icon"},{"title":"Generate App Store screenshots","sidebarTitle":"Generate store assets","icon":"images","href":"/build/mobile-store-screenshots"}]},{"group":"Collaborate","pages":[{"title":"Build PixelGames with a team","sidebarTitle":"Invite your team","icon":"users","href":"/build/mobile-invite-team"}]}]}]},{"tab":"Code","pages":[{"title":"Code","href":"/build/code/code-with-replit"}]},{"tab":"Designs","pages":[{"title":"Designs","href":"/design/what-is-replit-design"}]},{"tab":"Use cases","pages":[{"title":"Use cases","href":"/use-cases"}]},{"tab":"Learn","pages":[{"title":"Learn","href":"/learn/foundations/what-is-an-app"}]},{"tab":"Features","pages":[{"title":"Features","href":"/features/collaboration/workspaces"}]},{"tab":"Trust \u0026 Billing","pages":[{"title":"Trust \u0026 Billing","href":"/category/billing"}]},{"tab":"Enterprise","groups":[{"group":"Overview","pages":[{"title":"Getting started","sidebarTitle":"Getting started","icon":"building","href":"/teams/welcome"}]},{"group":"Workspace Essentials","pages":[{"title":"Create an account","sidebarTitle":"Create an account","icon":"building","href":"/teams/create-an-account"},{"title":"Create your Workspace","sidebarTitle":"Create your Workspace","icon":"building","href":"/teams/create-your-workspace"},{"title":"Configure single sign-on (SAML SSO)","sidebarTitle":"Configure SAML SSO","icon":"id-card","href":"/teams/configure-saml-sso"},{"title":"Add collaborators","sidebarTitle":"Add collaborators","icon":"user-plus","href":"/teams/add-collaborators"},{"title":"Manage connectors","sidebarTitle":"Manage connectors","icon":"plug","href":"/replitai/managing-connectors"},{"title":"Groups and permissions","sidebarTitle":"Groups and permissions","icon":"user-group","href":"/teams/groups-and-permissions"},{"title":"Privacy and deployment settings","sidebarTitle":"Privacy and deployment settings","icon":"shield-halved","href":"/teams/privacy-and-deployment-settings"},{"title":"Agent modes and models","sidebarTitle":"Agent modes and models","icon":"microchip","href":"/teams/modes-and-model-providers"},{"title":"Security","sidebarTitle":"Security","icon":"shield-check","href":"/teams/security"},{"title":"Observability","sidebarTitle":"Observability","icon":"chart-line","href":"/teams/observability"},{"title":"Standardization","sidebarTitle":"Standardization","icon":"layer-group","href":"/teams/standardization"},{"title":"Advanced settings","sidebarTitle":"Advanced settings","icon":"sliders","href":"/teams/advanced-settings"}]},{"group":"Enterprise","pages":[{"title":"Replit Pro and Enterprise","sidebarTitle":"Overview","icon":"building","href":"/category/teams"},{"title":"Bring Your Own Cloud","sidebarTitle":"Bring Your Own Cloud","icon":"cloud","href":"/teams/bring-your-own-cloud"},{"title":"Information Security","icon":"shield-check","href":"/teams/information-security/overview"},{"title":"Enterprise Advanced Settings","sidebarTitle":"Advanced Settings","icon":"user-shield","href":"/teams/enterprise-privacy-settings"}]},{"group":"Warehouse Connectors","pages":[{"title":"Warehouse Connectors","sidebarTitle":"Overview","description":"Connect Replit Agent to data warehouses (BigQuery, Databricks, Snowflake) and analytics platforms to build data-driven applications.","icon":"warehouse","href":"/connectors/warehouses/overview"},{"title":"Databricks Connectors","sidebarTitle":"Databricks","icon":"database","href":"/connectors/warehouses/databricks"},{"title":"Build Data Apps on Microsoft Fabric","sidebarTitle":"Microsoft Fabric","description":"Build and publish data apps on Microsoft Fabric with Replit Agent.","icon":"chart-column","href":"/connectors/warehouses/microsoft-fabric"},{"title":"Snowflake Connectors","sidebarTitle":"Snowflake","icon":"snowflake","href":"/connectors/warehouses/snowflake"}]},{"group":"Identity and Access Management","pages":[{"title":"Managing Members","icon":"users","href":"/teams/identity-and-access-management/managing-members"},{"title":"Roles, Groups and Access","sidebarTitle":"Roles, Groups and Access","icon":"user-group","href":"/teams/identity-and-access-management/groups-and-permissions"},{"title":"Account and Workspace Admins","sidebarTitle":"Account and Workspace Admins","icon":"user-shield","href":"/teams/identity-and-access-management/account-and-workspace-admins"},{"title":"Access Management","icon":"key","href":"/teams/identity-and-access-management/repl-access-management"},{"title":"Single sign-on (SAML SSO)","icon":"id-card","href":"/teams/identity-and-access-management/saml"},{"title":"SCIM","icon":"arrows-rotate","href":"/teams/identity-and-access-management/scim"},{"title":"Audit Logs","sidebarTitle":"Audit Logs","icon":"clipboard-list","href":"/teams/identity-and-access-management/audit-logs"},{"title":"Compliance API","sidebarTitle":"Compliance API","icon":"shield-check","href":"/teams/identity-and-access-management/compliance-api"},{"title":"Viewer Seats","icon":"eye","href":"/teams/identity-and-access-management/viewer-seats"},{"title":"Transfer App to Teams","sidebarTitle":"Transfer App to Teams","icon":"arrow-right-arrow-left","href":"/teams/identity-and-access-management/transfer-app-to-teams"},{"title":"Manually copy a project to another workspace","sidebarTitle":"Manual project copy","icon":"copy","href":"/teams/identity-and-access-management/manually-copy-projects"}]},{"group":"Billing for Enterprise","pages":[{"title":"Overview","sidebarTitle":"Introduction","icon":"coins","href":"/billing/teams-billing/overview"},{"title":"Managing Seats","icon":"chair","href":"/billing/teams-billing/managing-seats"},{"title":"Analytics Dashboard","sidebarTitle":"Analytics Dashboard","icon":"chart-pie","href":"/billing/teams-billing/analytics-dashboard"},{"title":"Cancellation","icon":"circle-xmark","href":"/billing/teams-billing/cancellation"}]}]}]},{"language":"fr","navbar":{"links":[],"primary":{"type":"button","label":"Commencer à créer","href":"https://replit.com?ref=docs"}},"pages":[{"title":"fr","href":"/fr/connectors/warehouses/databricks"}]},{"language":"pt","navbar":{"links":[],"primary":{"type":"button","label":"Comece a criar","href":"https://replit.com?ref=docs"}},"hidden":false,"pages":[{"title":"pt","href":"/pt/connectors/warehouses/databricks"}]},{"language":"ja","navbar":{"links":[],"primary":{"type":"button","label":"作成を開始","href":"https://replit.com?ref=docs"}},"hidden":false,"pages":[{"title":"ja","href":"/ja/connectors/warehouses/databricks"}]},{"language":"ko","navbar":{"links":[],"primary":{"type":"button","label":"빌드 시작하기","href":"https://replit.com?ref=docs"}},"hidden":false,"pages":[{"title":"ko","href":"/ko/connectors/warehouses/databricks"}]}]},"basePath":"","title":"Databricks Connectors - Replit","buildId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","deploymentId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-B90Qhg8r.js","DynamicMarkdown-DpAS3GCb.js","zoom-image-lightbox-9bQKnClW.js","lightbox-handle-r17bVUz3.js"]}