About Databricks
Databricks is a data and AI platform built on Apache Spark. The Serval integration connects to a single Databricks workspace using a service principal’s OAuth client credentials (the Databricks machine-to-machine flow). Serval exchanges those credentials for an account-level access token using your selected OAuth scopes (all-apis by default), which workflows use to call both the Databricks Workspace APIs (clusters, jobs, Unity Catalog, MLflow, SQL, secrets, and more) and the Databricks Account APIs (workspaces, metastores, networking, budgets, and more). Each connection is registered per workspace - the workspace URL identifies the connection, and the display name defaults to the workspace URL unless you provide an Instance Name.
Authentication: OAuth 2.0 client credentials (Databricks service principal, machine-to-machine flow)
Data sync: On-demand only - there is no background sync or entity ingestion. Serval calls Databricks only when a workflow step runs, exchanging your stored credentials for a fresh token on each request.
What the Databricks integration enables
Get your credentials
Serval needs four things: your Databricks Account ID, the Workspace URL of the workspace to connect, and a service principal’s Client ID and Client Secret. You create the service principal and its OAuth secret in the Databricks Account Console - see the official Databricks OAuth machine-to-machine (M2M) authentication guide.Log in to the Databricks Account Console
Create a service principal
Generate an OAuth secret
Assign the service principal to your workspace
Find your Account ID
Connect in Serval
Every field except Instance Name is required - leaving a required field blank stops submission with “This field is required”.Enter your Account ID
Enter your Workspace URL
Enter the Client ID
Enter the Client Secret
Choose the OAuth Scopes
all-apis and offers the full documented set of workspace API scopes and account API scopes. If your secret is scoped, remove all-apis and select the scopes it grants, such as unity-catalog, sql, or jobs. You can select multiple scopes or enter a newly supported scope. Use all-apis on its own; Databricks refuses requests for scopes the secret does not grant.Optionally set an Instance Name
Verifying the connection
Built-in health checks verify authentication and the access allowed by the selected scopes:- Authenticate with Databricks: runs for every scope selection and calls the current-identity endpoint to check the OAuth credentials and workspace access. A revoked or invalid secret fails this check even when the resource checks below are skipped.
- List Databricks Unity Catalog Catalogs: runs when
unity-catalogis explicitly selected and checks access to the workspace’s catalogs. - List Databricks Workspaces - lists the workspaces in your Databricks account via the Account API, verifying that the token exchange works and the service principal has account-level access. On success it reports: “Successfully listed workspaces from Databricks account (count: [number])”. On failure: “Unable to list workspaces from Databricks account. Please verify the service principal has account-level access.”
- List Databricks Clusters - lists the clusters in the connected workspace via the Workspace API, verifying the service principal has workspace-level access. On success it reports: “Successfully listed clusters from Databricks workspace (count: [number])”. On failure: “Unable to list clusters from Databricks workspace. Please verify the service principal has workspace-level access.”
Gotchas and troubleshooting
The Account ID field rejects anything that looks like a URL
The Account ID field rejects anything that looks like a URL
One token, two access tiers - grant both
One token, two access tiers - grant both
The Workspace URL determines which cloud's Account API is used
The Workspace URL determines which cloud's Account API is used
The Workspace URL doubles as the connection's identity
The Workspace URL doubles as the connection's identity
When updating the connection, blank fields keep their stored values
When updating the connection, blank fields keep their stored values
The OAuth secret is shown only once
The OAuth secret is shown only once
Pagination differs by API surface
Pagination differs by API surface
Need help? Contact support@serval.com for assistance with your Databricks integration.

