Databricks integration
In short
Run SQL on a warehouse and start and follow jobs. Connect it on the Integrations page; your app then calls Databricks through Sapilon without ever holding a Databricks credential.
Lets your app run SQL statements on a Databricks SQL warehouse, list warehouses, and list, start and follow jobs in an AWS workspace.
Connecting
On the Integrations page choose Connect on Databricks and fill in:
- Workspace — The part before .cloud.databricks.com in your workspace address (dbc-…).
- Access token — Databricks → your user → Settings → Developer → Access tokens → Generate new token.
Sapilon checks the key with the provider before it saves it, and stores it encrypted; it is never shown again.
- Only workspaces on AWS (….cloud.databricks.com) are supported for now.
What your app can do
Only these requests are available; anything else is refused.
GET /2.0/sql/warehousesPOST /2.0/sql/statementsGET /2.0/sql/statements/*GET /2.1/jobs/listPOST /2.1/jobs/run-nowGET /2.1/jobs/runs/get
How the agent uses it
Use integrations.request('databricks', …); paths are relative to https://<workspace>.cloud.databricks.com/api.
GET /2.0/sql/warehouses— ids and whether they are running.POST /2.0/sql/statements— Example:{ method: 'POST', path: '/2.0/sql/statements', body: { warehouse_id: 'abc123', statement: 'SELECT * FROM sales.orders WHERE day = :day LIMIT 100', parameters: [{ name: 'day', value: '2026-10-15' }], wait_timeout: '30s' } }. Ifstatus.stateisPENDINGorRUNNING, pollGET /2.0/sql/statements/{statementId}. Rows areresult.data_array.GET /2.1/jobs/list,POST /2.1/jobs/run-now(body: { job_id, job_parameters: {…} }),GET /2.1/jobs/runs/get(query: { run_id }).
Use named parameters, never string concatenation.
More from Databricks: https://docs.databricks.com/api/workspace/introduction