Resources · n8n integration

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

Why automate

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.

Connect

How do you connect Metabase to n8n?

  1. 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.

  2. 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.

  3. 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.getAll asks 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.

Actions

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.

Resources × operations matrix
ResourceGetGet ManyAddGet FieldsResult Data
Alert✓✓
Database✓✓✓
Metric✓✓
Question✓✓✓

Alert

2 operations
01

Get an alert

alerts.get

What 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.
Use cases
a weekly governance workflow reads each alert that fires and records who it notifies, so nobody keeps receiving a report they stopped reading months ago.
02

Get many alerts

alerts.getAll

What 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.

Use cases
an inventory workflow runs this once a month and writes the result to a spreadsheet, giving the data team a single view of what Metabase is emailing across the company. Feed the output into a loop and each alert can then be inspected one by one with the single-alert operation.

Database

3 operations
03

Add a databases

databases.addNewDatasource

What 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 localhost on 5432.
  • 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.
Use cases
a provisioning workflow adds each client database at creation, named to your convention.
04

Get many databases

databases.getAll

What 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.
Use cases
a housekeeping workflow compares this list against the warehouses your team actually maintains and flags any source that nobody recognizes anymore.
05

Get Fields a databases

databases.getFields

What 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 }}.
Use cases
right after a migration, this operation answers the question everyone asks in the channel, whether Metabase has seen the new columns yet or whether someone still has to trigger a sync.

Metric

2 operations
06

Get a metric

metrics.get

What 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 }}.
Use cases
a documentation workflow pulls the definition of the metrics that appear in a board pack and posts them next to the numbers, so a figure in a slide can always be traced back to how it is computed.
07

Get many metrics

metrics.getAll

What you see in n8n

Notes & use cases

Brings back the full list of metrics defined in the instance, without asking for a single parameter.

Use cases
when two teams argue about what counts as an active account, this operation puts every existing definition on the table in one execution. Chained into a loop, it also drives a review workflow that opens a discussion thread for each metric nobody has touched in a while.

Question

3 operations
08

Get a questions

questions.get

What 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 }}.
Use cases
before an export workflow goes live, this step confirms the question still points at the source it was built on, instead of silently exporting figures from a database that has been replaced.
09

Get many questions

questions.getAll

What you see in n8n

Notes & use cases

Returns the catalogue of saved questions in the instance, in a single call with nothing to configure.

Use cases
this is the entry point of most Metabase workflows. Run it, filter the list on a naming prefix your team agreed on, then loop over what is left to export each one. It also works as a spring cleaning step, listing everything that exists so the questions built for a project that ended can finally be archived.
10

Get the results from a question

questions.resultData

What 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, json or xlsx. Pick json when the next node has to read the values, csv or xlsx when a human opens the file.
Use cases
a finance workflow exports the monthly billing question as XLSX and attaches it to an email on the first working day of the month.
Need help

Need help automating Metabase with n8n?

A person reads every message.

FAQ

Metabase and n8n, the questions that come up

01Is the Metabase n8n integration free?
Yes, on the n8n side. The Metabase node ships with n8n, so there is nothing to install and nothing extra to pay for the connector itself. It behaves the same on n8n Cloud, the hosted offer run by n8n, and on an instance you host yourself with Docker or npm under the Community Edition and its Sustainable Use licence. A workflow built in one place runs identically in the other. What your Metabase instance costs is a separate question and depends on how you run it, so treat the two budgets independently.
02What credentials do you need to connect Metabase to n8n?
One Metabase credential, using basic auth. You need three values: the URL of your Metabase instance, a username and a password. The prerequisite is a Metabase account with access to the instance you want to work with, since the node acts as that account. Create the credential once in the Credentials menu and every workflow picks it up from the node's dropdown, which means a password change is handled in one place. The same credential also authenticates HTTP Request calls to the Metabase API through predefined authentication.
03What are the limits of the Metabase node in n8n?
The node exposes 10 operations across 4 resources: alerts, databases, metrics and questions. That is what it covers. For any other part of the Metabase API, the HTTP Request node makes the call directly and reuses the Metabase credential you already created, so you stay on one set of secrets rather than inventing a second authentication path. Worth noting too: a field marked as required in the node blocks execution when it is left empty, so an expression that resolves to nothing will stop the run rather than send a partial request.
04Does Metabase have a trigger node in n8n?
No. There is no Metabase trigger in n8n, so nothing pushes events from Metabase into a workflow. Start the workflow another way. A Schedule Trigger runs it on a fixed interval, which fits reporting exports that are due every morning or every first of the month. An n8n Webhook gives you a URL that another service calls when something happens on its side. The trigger of another tool in the workflow works too. From there the Metabase node does the reading, on your schedule rather than on Metabase's.
05n8n or Make for Metabase?
It depends on three things. Hosting first: n8n can run on your own servers with Docker or npm, or on n8n Cloud, while Make is hosted only, which settles the question quickly if your analytics data cannot leave your infrastructure. Cost model second: Make bills per operation, so a workflow that loops over a long list of questions has a cost that grows with the list. Visual logic third, both are canvas based and the fair way to choose is to rebuild one real export in each and see which one you can hand over to a colleague.