- Home
- Resources
- Integrations
- Databricks
Databricks n8n integrationAutomate Databricks with n8n.
Your warehouse knows the answer, so why is someone still opening a notebook to fetch it? The Databricks n8n integration packs 36 operations across 6 resources: SQL queries, Unity Catalog objects, volume files, Genie conversations and model serving. No trigger node ships with it: a schedule or an app starts the run.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Databricks n8n integration actually do?
The Databricks node talks to the Databricks REST API from inside a workflow. It runs SQL on a warehouse and waits for the rows, reads and writes files in volumes, manages Unity Catalog objects, holds conversations with a Genie space, and sends payloads to model serving endpoints. One credential, created once in n8n, covers all 36 operations and gets reused in every workflow that needs the workspace.
Scheduled reporting is the obvious first job. A Schedule Trigger fires at seven, databricksSql.executeQuery runs the statement against the warehouse and waits for the result, and the rows go straight into a Google Sheets tab or a Slack channel. Nobody logs in to copy a table. The query is versioned in the workflow, not in someone's browser tab.
The second job is Genie, and it is the one that changes how non-technical teammates ask for data. A question arrives in a chat message, genie.startConversation opens the thread in a Genie space, and the workflow reads the reply back. When Genie answers with a SQL attachment, the workflow runs that statement and collects the rows. Follow-up questions go to the same conversation, so context survives from one message to the next.
Volumes cover the file side. A document dropped in Google Drive gets picked up, files.createDirectory prepares a folder for the month, and the binary is written into the volume for a downstream job to pick up. The same resource lists a directory, reads a file's metadata and downloads content back into the workflow when a report needs to be attached to an email.
Model serving is the fourth angle: a workflow assembles a payload, queries the endpoint and routes the prediction wherever it belongs. What no operation in the catalog covers goes through the HTTP Request node, which calls any Databricks API endpoint while reusing the same credential through predefined authentication. Worth knowing before you plan the build: Databricks has no trigger node in n8n, so every workflow starts with a Schedule Trigger, an n8n Webhook called by another service, or the trigger of a different app.
If you are weighing the platform itself rather than this one node, the n8n review covers hosting and pricing in detail, and the n8n training walks through building workflows like these from scratch.
How do you connect Databricks to n8n?
- 01
Choose an authentication method
Two methods exist: a personal access token, tied to one Databricks user, and OAuth2, which itself comes in two shapes. With user login you sign in to Databricks in the browser, operations run with your permissions and show up in audit logs under your identity, the shape Databricks recommends for attended work. With a service principal, n8n authenticates using a client ID and secret without anyone present.
- 02
Fill in Host and the secret
Every method starts with Host, the URL of your workspace, in the shape
https://adb-1234567890123456.7.azuredatabricks.net. For a token, open your workspace, select your username, then Settings, then Developer, then Manage next to Access tokens, then Generate new token. A comment helps you recognize it later. Copy the value immediately, because the dialog never shows it again, and paste it into Access Token. Tokens start withdapi. - 03
Grant the privileges the operations need
Whichever identity the credential authenticates as needs the Workspace access entitlement first. Execute Query also needs the Databricks SQL access entitlement and CAN USE on the warehouse. Unity Catalog data needs USE CATALOG on the catalog, USE SCHEMA on the schema and SELECT on the tables or views, plus EXECUTE for functions and models. Genie needs CAN RUN on the space and CAN USE on its SQL warehouse, and a serving endpoint needs CAN QUERY.
What can the Databricks node do?
The Databricks node exposes 36 operations across 6 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
| Resource | Create Catalog | Create Directory | Create Function | Create Index | Create Conversation Message | Create Table | Create Volume | Delete Catalog | Delete Directory | Delete File | Delete Function | Delete Table | Delete Volume | Download File | Execute Message SQL Query | Execute Query | Get Catalog | Get File Metadata | Get Function | Get Index | Get Conversation Message | Get Query Results | Get Genie Space | Get Table | Get Volume | List Catalogs | List Directory | List Functions | List Indexes | List Tables | List Volumes | Query Endpoint | Query Index | Start Conversation | Update Catalog | Upload File |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Databricks SQL | ✓ | |||||||||||||||||||||||||||||||||||
| File | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||||||||||||||||||||
| Genie | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||||||||||||||||||||
| Model Serving | ✓ | |||||||||||||||||||||||||||||||||||
| Unity Catalog | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||||||||||
| Vector Search | ✓ | ✓ | ✓ | ✓ |
Operations index
Databricks SQL
1 operationExecute a SQL query
databricksSql.executeQueryWhat you see in n8n
Notes & use cases
Runs SQL on a warehouse and waits for the result, so the next node receives rows rather than a job reference.
Key parameters
- Warehouse: the SQL warehouse that executes the statement, chosen from the list or given by its ID.
- Query: the statement itself, along the lines of
SELECT * FROM my_table LIMIT 10. - Query Parameters: named values you reference in the SQL as
:name, so a workflow sendsWHERE ID = :user_idinstead of gluing a value into the string.
File
7 operationsCreate a directory
files.createDirectoryWhat you see in n8n
Notes & use cases
Adds a folder inside a volume, which is what a workflow does before writing files into a path that does not exist yet.
Key parameters
- Volume Path: the volume in the format
catalog.schema.volume. - Directory Path: where the folder goes inside that volume, nested like
folder1/subfolder, with no leading slash.
Delete a directory
files.deleteDirectoryWhat you see in n8n
Notes & use cases
Removes a folder from a volume, the cleanup half of an export routine that would otherwise pile up folders forever.
Key parameters
- Volume Path: the volume that holds the folder, written
catalog.schema.volume. - Directory Path: the folder to remove, relative to the volume root and without a leading slash.
Delete a file
files.deleteFileWhat you see in n8n
Notes & use cases
Deletes a single file from a volume. The file is addressed by its path, not by an identifier, so the workflow has to know where it put it.
Key parameters
- Volume Path: the target volume, in the format
catalog.schema.volume. - File Path: the file inside that volume, such as
folder/file.txt, again with no leading slash.
Download a file
files.downloadFileWhat you see in n8n
Notes & use cases
Pulls the content of a file out of a volume and hands it to the workflow as binary data, ready to attach, forward or parse.
Key parameters
- Volume Path: the volume to read from, in the format
catalog.schema.volume. - File Path: the file to fetch, for example
folder/file.txt, without a leading slash.
Get file info
files.getFileInfoWhat you see in n8n
Notes & use cases
Reads the metadata Databricks holds about a file, without moving its content. That keeps a check cheap when a workflow only needs to know whether the file exists yet.
Key parameters
- Volume Path: the volume to inspect, written
catalog.schema.volume. - File Path: the file to look up, such as
folder/file.txt, with no leading slash.
List a directory
files.listDirectoryWhat you see in n8n
Notes & use cases
Returns what sits inside a volume path, one item per file, which is how a workflow loops over a batch it did not create itself.
Key parameters
- Volume Path: the volume to browse, in the format
catalog.schema.volume. - Directory Path: optional; leave it empty to list the volume root.
- Page Size and Page Token: how many files come back per page, and the token that fetches the next one.
Upload a file
files.uploadFileWhat you see in n8n
Notes & use cases
Writes binary data carried by the incoming item into a volume, for files up to 5 GiB.
Key parameters
- Volume Path: the destination volume, in the format
catalog.schema.volume. - File Path: where the file lands inside it, such as
folder/file.txt. - Input Data Field Name: the name of the field on the incoming item that holds the binary data.
- Overwrite: whether an existing file at that path gets replaced.
Genie
6 operationsCreate a conversation message
genie.createMessageWhat you see in n8n
Notes & use cases
Sends a follow-up question into a Genie conversation that is already open, so the exchange keeps its context instead of starting over.
Key parameters
- Space ID: the Genie space the conversation belongs to.
- Conversation ID: the thread to continue, usually carried over from an earlier node with an expression such as
{{ $json.field }}. - Message: the question, written the way a colleague would ask it.
Execute a message SQL query
genie.executeMessageQueryWhat you see in n8n
Notes & use cases
Genie answers a question with a SQL attachment; this operation runs that attached statement against the space's warehouse.
Key parameters
- Space ID and Conversation ID: which space and which thread the answer came from.
- Message ID: the answer that carries the attachment.
- Attachment ID: the specific attachment to execute, since one message can hold more than one.
Get a conversation message
genie.getMessageWhat you see in n8n
Notes & use cases
Reads a single message back from a conversation, which is how a workflow checks whether Genie has finished composing its answer.
Key parameters
- Space ID: the Genie space in play.
- Conversation ID: the thread the message belongs to.
- Message ID: the message to read, referenced from an earlier node with an expression like
{{ $json.field }}.
Get a Genie space
genie.getSpaceWhat you see in n8n
Notes & use cases
Describes a Genie space, so a workflow can confirm it is pointing at the right one before it starts asking questions of it.
Key parameters
- Space ID: the only thing this operation needs, and the same value every other Genie operation expects.
Get query results
genie.getQueryResultsWhat you see in n8n
Notes & use cases
Collects the rows produced by an attachment's SQL execution, which is the step that finally turns a Genie answer into usable data.
Key parameters
- Space ID and Conversation ID: the space and thread being read.
- Message ID: the answer whose query was run.
- Attachment ID: the attachment whose results you want back.
Start a conversation
genie.startConversationWhat you see in n8n
Notes & use cases
Opens a new thread in a Genie space with a first question in plain language. Everything else in the Genie resource hangs off the conversation this creates.
Key parameters
- Space ID: the space that will answer.
- Initial Message: the opening question, which you can build from an earlier node with an expression such as
{{ $json.field }}.
Model Serving
1 operationQuery a serving endpoint
modelServing.queryEndpointWhat you see in n8n
Notes & use cases
Sends a payload to a model serving endpoint and returns what the model answers. The node fetches the endpoint's OpenAPI schema to work out the right invocation URL and the expected input format.
Key parameters
- Endpoint: the serving endpoint to query, picked from the list or given by name.
- Request Body: the JSON payload, validated against the endpoint schema at runtime, so a malformed body fails fast.
Unity Catalog
17 operationsCreate a catalog
unityCatalog.createCatalogWhat you see in n8n
Notes & use cases
A catalog sits at the top of the Unity Catalog hierarchy, above schemas and tables. This operation registers a new one in the workspace, so later steps have somewhere governed to write.
Key parameters
- Catalog: the catalog to use, picked from the workspace list or typed in as a name.
- Comment: an optional description, and the placeholder suggests
Catalog description. Worth filling in when several teams share the same workspace.
Create a function
unityCatalog.createFunctionWhat you see in n8n
Notes & use cases
Registering a SQL function makes a reusable expression available to everything that queries the schema. The node creates it from the definition passed in.
Key parameters
- Catalog and Schema: where the function lands, both chosen from the workspace lists.
- Function Name: the name it gets, along the lines of
my_function. - Input Parameters: a JSON array where each parameter carries
name,type_nameandtype_text. - Return Type: what the function gives back, such as
STRING,INTorDOUBLE. - Routine Body: the language of the body. Routine Definition: the body itself, a SQL expression in the style of
RETURN x + 1.
Create a table
unityCatalog.createTableWhat you see in n8n
Notes & use cases
Registration here means declaring a storage path as a table. The Create Table API only supports external Delta tables, so the data already lives somewhere when this step runs.
Key parameters
- Catalog, Schema: the pair that scopes the new table.
- Table Name: the registered name, in the style of
my_table. - Storage Location: the external storage root URL, for instance
s3://my-bucket/path/to/table. - Columns, in Additional Fields: a JSON array of column definitions, each with a name and a
type_nameamongSTRING,LONG,DOUBLE,BOOLEAN,DATEorTIMESTAMP.
Create a volume
unityCatalog.createVolumeWhat you see in n8n
Notes & use cases
Volumes are the Unity Catalog home for files rather than rows. Declaring one gives file steps a governed destination.
Key parameters
- Catalog, Schema: the parents the volume belongs to.
- Volume Name: the name of the volume, such as
my_volume. - Volume Type: with
MANAGED, Databricks manages the storage; withEXTERNAL, the volume points at storage you already own. - Storage Location, in Additional Fields: the external storage location, required for
EXTERNALvolumes.
Delete a catalog
unityCatalog.deleteCatalogWhat you see in n8n
Notes & use cases
Taking a catalog out removes the widest container in Unity Catalog, the one that holds the schemas. That makes it the delete worth putting a manual approval step in front of.
Key parameters
- Catalog: the catalog to use, selected in the list or passed as an expression such as
{{ $json.field }}when the name comes from an earlier node.
Delete a function
unityCatalog.deleteFunctionWhat you see in n8n
Notes & use cases
When a SQL function has been superseded, this removes the old definition from its schema so queries stop resolving to it.
Key parameters
- Catalog, Schema: the location the function was registered in.
- Function: the function to access, selected in the resource locator rather than typed as a bare label.
Delete a table
unityCatalog.deleteTableWhat you see in n8n
Notes & use cases
Dropping a table removes its registration from Unity Catalog. The table is identified by its place in the hierarchy, not by a name on its own, so the three fields work together.
Key parameters
- Catalog and Schema: the two levels above the table.
- Table: the table to access, chosen among the tables of that schema.
Delete a volume
unityCatalog.deleteVolumeWhat you see in n8n
Notes & use cases
Volumes that have outlived their purpose come off here. The node wants the volume name, not the storage path sitting behind it.
Key parameters
- Catalog, Schema: the container the volume sits in.
- Volume Name: the name of the volume, for example
my_volume.
Get a catalog
unityCatalog.getCatalogWhat you see in n8n
Notes & use cases
Catalog information comes back as a single item you can branch on, which is what a workflow needs before it starts writing into that catalog.
Key parameters
- Catalog: the catalog to use. Follow it with an IF node to branch on what the lookup returns.
Get a function
unityCatalog.getFunctionWhat you see in n8n
Notes & use cases
Before a workflow leans on a SQL function, reading back its registered definition shows what the function expects and what it returns.
Key parameters
- Catalog, Schema: where to look.
- Function: the function to access, resolved through the resource locator.
Get a table
unityCatalog.getTableWhat you see in n8n
Notes & use cases
Table information is what a downstream step reads when it needs the registered details of a table rather than the rows inside it.
Key parameters
- Catalog and Schema: the path down to the table.
- Table: the table to access, picked in the resource locator.
{{ $json.field }} feeding the next node.Get a volume
unityCatalog.getVolumeWhat you see in n8n
Notes & use cases
Checking a volume first saves a run that would otherwise fail halfway through an upload. The operation returns that volume's information.
Key parameters
- Catalog, Schema: the two names that scope the lookup.
- Volume Name: the volume itself, such as
my_volume.
List catalogs
unityCatalog.listCatalogsWhat you see in n8n
Notes & use cases
Every catalog the credential can see comes back in one call, with no field to fill in at all. That makes it the natural opening move when a workflow has to work across a whole workspace instead of one catalog it already knows about.
List functions
unityCatalog.listFunctionsWhat you see in n8n
Notes & use cases
Functions pile up quietly in a schema. This returns what is registered, and since both filters are optional, an unfiltered call reaches wider than a single schema.
Key parameters
- Catalog: filters by catalog, optional.
- Schema: filters by schema, optional, and it requires a catalog to be set alongside it.
List tables
unityCatalog.listTablesWhat you see in n8n
Notes & use cases
The tables registered in a schema arrive as items, one per table, ready to loop over. Leaving both filters empty widens the call rather than narrowing it.
Key parameters
- Catalog: an optional filter on the catalog.
- Schema: an optional filter on the schema, which only applies once a catalog is chosen.
List volumes
unityCatalog.listVolumesWhat you see in n8n
Notes & use cases
Storage reviews start with knowing what exists. The operation returns the volumes declared in a schema, so a workflow iterates over them instead of hardcoding names.
Key parameters
- Catalog: optional, restricts the listing to one catalog.
- Schema: optional, and it needs a catalog set next to it.
Update a catalog
unityCatalog.updateCatalogWhat you see in n8n
Notes & use cases
Catalog metadata drifts as teams change. Updating it touches the catalog's own information and leaves everything inside untouched.
Key parameters
- Catalog: the catalog to use, meaning the one being updated.
- Comment: the optional description, shown with the placeholder
Catalog description. It is the piece teams actually keep current.
Vector Search
4 operationsCreate a vector search index
vectorSearch.createIndexWhat you see in n8n
Notes & use cases
Index creation is where a vector search setup begins: the index is what queries hit later, and it belongs to an endpoint.
Key parameters
- Index Name and Endpoint Name: the index being created and the vector search endpoint it lives on.
- Primary Key: the primary key column of the index, shown with the placeholder
ID. - Index Type:
DELTA_SYNCsyncs automatically with a source Delta table,DIRECT_ACCESSsupports direct read and write of vectors and metadata. - Delta Sync Index Spec and Direct Access Index Spec: the JSON specification for each of those two types.
Get a vector search index
vectorSearch.getIndexWhat you see in n8n
Notes & use cases
Index details answer the question a workflow asks right before it searches: is this index actually there? One field is all it takes.
Key parameters
- Index Name: the name of the vector search index, typed in or handed over from a previous node with an expression like
{{ $json.field }}.
List vector search indexes
vectorSearch.listIndexesWhat you see in n8n
Notes & use cases
One endpoint can host several indexes. This returns them all, scoped to the endpoint you name, which keeps the result readable even in a busy workspace.
Key parameters
- Endpoint Name: the vector search endpoint whose indexes you want listed.
Query a vector search index
vectorSearch.queryIndexWhat you see in n8n
Notes & use cases
Semantic search over an index runs from this operation, either from raw text or from embeddings computed upstream.
Key parameters
- Query Type:
texthas Databricks convert your Query Text into vectors,vectorsends the Query Vector you supply. - Index Name: the index being searched.
- Columns to Return: a comma separated list of column names, like
content, url. - Search Mode:
HYBRIDmixes semantic and keyword search,ANNstays on pure vector similarity. - Score Threshold, in Options: a minimum relevance score, between
0and1.
Need help automating Databricks with n8n?
A person reads every message.
Databricks and n8n, the questions that come up next
01Is the Databricks n8n integration free to use?
02What credentials and privileges do you need?
03What are the limits of the Databricks node?
04Can a workflow react to something happening in Databricks?
05n8n or Make for Databricks?
Get our weekly integration tips.
No spam. Unsubscribe anytime.



