- Home
- Resources
- Integrations
- Metabase
Metabase n8n integrationAutomate Metabase with n8n.
The number your team asks for every Monday is already sitting in a saved Metabase question. The Metabase n8n integration goes and gets it on a schedule: 10 operations across 4 resources, from a single alert to the full result data of a question, exported as CSV, JSON or XLSX.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Metabase n8n integration actually do?
The Metabase node calls the Metabase API from inside an n8n workflow. It signs in with the URL, username and password of your instance, then reads what analysts have already built there: alerts, databases, metrics and saved questions. One operation goes further. questions.resultData returns the rows behind a question as a CSV, JSON or XLSX file, ready to be attached to a message, dropped in a folder or parsed by the next node.
Start with the Monday number. A Schedule Trigger fires at 8am, questions.resultData exports the saved revenue question as CSV, and the file lands in a Slack channel before anyone has opened a browser tab. Nobody logs into Metabase to copy a figure into a message, and the figure is the same one the analytics team maintains.
A second pattern is the reporting archive. questions.getAll lists every saved question in the instance, a loop keeps the ones you care about, and each export lands in a Google Sheets tab. People who will never open a BI tool still get the numbers, in a format they already know how to filter.
The third one is infrastructure, not reporting. When a new Postgres warehouse goes live, databases.addNewDatasource registers it in Metabase with its engine, host, port and account, and databases.getFields checks a few minutes later that the sync really picked up the columns. Provisioning an instance stops being a manual click-through.
Know where the node stops. It covers 4 resources and 10 operations, and that is the surface it exposes. For any other Metabase API endpoint, the HTTP Request node does the call and reuses the same Metabase credential through predefined authentication, so you are not managing a second set of secrets to reach the rest of the API.
One structural point to plan around: Metabase has no trigger node in n8n. Every workflow that touches it starts somewhere else, a Schedule Trigger on a fixed interval, an n8n Webhook (a URL another service calls) or the trigger of another tool in your stack. If you are still weighing the platform itself rather than this one node, the n8n review and the n8n training cover more ground.
How do you connect Metabase to n8n?
- 01
Create the credential once
In n8n, open the Credentials menu and add a Metabase credential. A credential is a stored set of connection details: you create it once and every workflow reuses it from a dropdown, so the password lives in one place. The prerequisite on the Metabase side is an account with access to the instance you want to read from.
- 02
Fill in URL, Username and Password
Metabase supports basic auth, so three fields do the job. URL takes the base URL of your Metabase instance, and if you serve it from a custom domain that is the URL to enter. Username and Password are the ones used to sign in to that instance. Save, and n8n keeps them encrypted for every future workflow.
- 03
Select it in the node and run a read
Add the Metabase node to a canvas, pick the credential in its dropdown, then run something harmless first.
databases.getAllasks for no required parameter at all, which makes it the cheapest way to prove the connection works. A list of databases coming back means the URL and the account are both right, and you can move on to questions.
What can the Metabase node do?
The Metabase node exposes 10 operations across 4 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
| Resource | Get | Get Many | Add | Get Fields | Result Data |
|---|---|---|---|---|---|
| Alert | ✓ | ✓ | |||
| Database | ✓ | ✓ | ✓ | ||
| Metric | ✓ | ✓ | |||
| Question | ✓ | ✓ | ✓ |
Operations index
Alert
2 operationsGet an alert
alerts.getWhat you see in n8n
Notes & use cases
Fetches one alert by its identifier and returns its full definition, including the question it watches and the schedule it runs on.
Key parameters
- Alert ID: the numeric identifier of the alert in Metabase, often passed as
{{ $json.id }}from a previous node that listed alerts.
Get many alerts
alerts.getAllWhat you see in n8n
Notes & use cases
Returns every alert configured in the instance in one call. No parameter is required, so the node can sit right after a Schedule Trigger with nothing to fill in.
Database
3 operationsAdd a databases
databases.addNewDatasourceWhat you see in n8n
Notes & use cases
Registers a new data source in the instance, the API equivalent of the admin screen where you add a warehouse.
Key parameters
- Engine: the database type, one of 6 values,
postgres,mysql,mongo,redshift,h2,sqlite. - Host, Port: for example
localhoston5432. - Name: the label shown in the picker.
- User, Password: the account Metabase itself uses when it queries that database.
- File Path: needed instead, for file-backed engines.
- Full Sync: whether it scans the schema right after.
Get many databases
databases.getAllWhat you see in n8n
Notes & use cases
Lists the data sources connected to the instance, with the option to trim the payload before it reaches the next node.
Key parameters
- Simplify: on, n8n returns a reduced version of the response instead of the raw data, which keeps a workflow readable when you only need names and identifiers.
Get Fields a databases
databases.getFieldsWhat you see in n8n
Notes & use cases
Returns the fields Metabase knows about inside one database, which is what its sync discovered the last time it ran.
Key parameters
- Database ID: the identifier of the source in Metabase, usually taken from the databases listing with
{{ $json.id }}.
Metric
2 operationsGet a metric
metrics.getWhat you see in n8n
Notes & use cases
Reads one metric, meaning the reusable calculation an analyst defined so that everybody counts the same thing the same way.
Key parameters
- Metric ID: the identifier of the metric, typically carried over from a listing step as
{{ $json.id }}.
Get many metrics
metrics.getAllWhat you see in n8n
Notes & use cases
Brings back the full list of metrics defined in the instance, without asking for a single parameter.
Question
3 operationsGet a questions
questions.getWhat you see in n8n
Notes & use cases
Retrieves the definition of a saved question: what it queries, against which source, and how it is configured. It returns the recipe, not the rows.
Key parameters
- Question ID: the identifier of the saved question, visible in Metabase and reusable as
{{ $json.id }}.
Get many questions
questions.getAllWhat you see in n8n
Notes & use cases
Returns the catalogue of saved questions in the instance, in a single call with nothing to configure.
Get the results from a question
questions.resultDataWhat you see in n8n
Notes & use cases
Runs a saved question and returns its rows as a file, which is the operation most workflows are built around.
Key parameters
- Question ID: which saved question to execute, often
{{ $json.id }}coming from the questions listing. - Format:
csv,jsonorxlsx. Pickjsonwhen the next node has to read the values,csvorxlsxwhen a human opens the file.
Need help automating Metabase with n8n?
A person reads every message.


