The Metabase Slack integration is built in. In Metabase, go to Admin, then Settings, then Slack, click Connect to Slack and create the Metabase app in your Slack workspace. Then paste the app's Bot User OAuth Token into Metabase. After that, you can send a dashboard to a Slack channel on a schedule, and send an alert when a saved question returns results or crosses a goal. Where it stops: private channels need the app invited first, renaming a channel leaves alerts with nowhere to go, and people report schedules that stop sending with no error. Nobody owns the number once it is posted. AI agents do that work.
What a Metabase Slack integration has to do
Metabase holds the questions and dashboards your team built on top of your data: sales by week, open orders, sign-ups, late payments. Your team lives in Slack. If the dashboard only sits in Metabase, the people who need it see it when they remember to look.
So connected has to mean two things. The numbers show up in the right channel on a schedule, and a number that goes wrong gets noticed the same day. Metabase does the first part itself. The second part depends on someone reading the post and doing something about it.
Three ways to connect Metabase with Slack
All three use the same Slack app. Most teams start with dashboard subscriptions and add alerts later.
Dashboard subscriptions
- How it works
- On any dashboard, open the three dots menu and click Subscriptions. Send it to a Slack channel, or to one person by their Slack username, hourly, daily, weekly or monthly. You can attach a PDF of the dashboard and skip sending when there are no results.
- Good for
- A team that wants the same dashboard in its channel every Monday morning, even for people who have no Metabase login.
- Where it breaks
- Metabase's guide says a different filter for each subscription needs a Pro or Enterprise plan. If you rename the channel in Slack, you have to update the subscription by hand. In the Metabase forum, people have reported schedules that never send and private channels that never show up.
Alerts on a saved question
- How it works
- Save a question, open the three dots menu and click Create an alert. Metabase checks it by the minute, hourly, daily, weekly, monthly or on your own schedule. It posts to Slack when the question returns any result, or when a line crosses a goal line or a progress bar reaches its goal.
- Good for
- Catching the rare thing that matters, like a bad review, a big refund or orders dropping below a set number.
- Where it breaks
- Alerts work on questions only, not dashboards. If the question is deleted, its alerts are deleted with it. Rename the Slack channel and Metabase keeps the alert but has nowhere to send it.
Metabot in Slack
- How it works
- With Metabot, people can message it in Slack or mention it in a channel to ask about your data in plain words. It answers with charts or tables, and can set up alerts and dashboard subscriptions for that channel.
- Good for
- Teams that want quick answers in Slack without opening Metabase.
- Where it breaks
- Metabase's guide says Metabot has to be set up on your Metabase Cloud instance first. It can't change or delete alerts or subscriptions, and it sends new ones only to the channel you are talking in.
Arkeo agents
- How it works
- Agents pull the numbers your team watches, post them to the right channel each morning with what changed since last week, and turn a number that goes wrong into a task with an owner. They follow up until it's done.
- Good for
- Teams where a number in a dashboard should lead to a call, a reorder or a fix, and it often doesn't.
- Where it breaks
- Building and changing the questions in Metabase stays with whoever owns your reports.
How to set up Metabase Slack alerts and subscriptions
These follow Metabase's own guides. Open them for the screens.
- 1
Create the Metabase app in SlackIn Metabase, go to Admin, then Settings, then Slack, and click Connect to Slack. Click Create a Slack App. Slack opens with the settings already filled in. Select your workspace, click Next, then Create.
- 2
Install the app and copy its tokenOn the app's Basic Information page in Slack, click Install to workspace, then Allow. Go to OAuth & Permissions and copy the Bot User OAuth Token.
- 3
Paste the token into MetabaseBack in Admin, Settings, Slack, paste the token into Slack bot user OAuth token and save. Metabase runs a quick test and shows an error if the token doesn't work.
- 4
Invite the app to private channelsFor a private channel, go to it in Slack and type @Metabase, then invite the app when Slack asks. The channel can take up to 10 minutes to show up in Metabase.
- 5
Set up a dashboard subscriptionOn the dashboard, open the three dots menu, click Subscriptions, then Slack. Set the channel, how often and what time. Click Send Slack now to test it before you save.
- 6
Add an alert on a saved questionOpen the saved question, click the three dots, then Create an alert. Set what to watch for, how often to check, and Slack as the place to send it. Click Send now to test it.
Where the Metabase Slack integration stops
Metabase posts the numbers on a schedule. Checking that the post went out, and that someone did something about it, is still a person's job.
A schedule can stop with no warning. In a July 2025 thread in the Metabase forum, a person said their Slack subscriptions had not sent once in six months of trying. They only went out when someone clicked Send to Slack now. The schedule showed a next run time, nothing showed up in the logs, and the thread got no answer.
Private channels take an extra step. Metabase's guide says you must add the app to each private channel, and older setups may be missing a permission it needs. In a March 2025 forum thread, a person added the app and still could not see the private channel when setting up a subscription. A June 2024 bug report said images stopped reaching private channels while public channels still got them.
A renamed channel breaks it. Metabase's guide says that if you rename the Slack channel, the alert stays but has nowhere to send to, until someone points it at the new name.
And a post is not a fix. An alert that orders fell below goal lands in a busy channel and scrolls away. Nobody notes who saw it, who is looking into it, or whether it got done.
The agents that do it
Each agent does one job from start to finish, and your team talks to it in Slack.
Start the day knowing the numbers.
- Pulls sales, refunds and paymentsevery morning
- Compares it to last weekevery morning
- Posts it to your leadership channelby 8 a.m.
Ask once in Slack. Someone owns it.
- Takes requests posted in your Slack channelas they come
- Turns each one into a task with an ownerright away
- Follows up until it's doneevery day
Questions
Is my customers' information safe?
Yes. Agents work in your own Slack and your own reports, and see only what their job needs. Customer details never go into public AI. Agents connect to AI through business-grade connections audited under SOC 2.
How do I connect Metabase to Slack?
In Metabase, go to Admin, then Settings, then Slack, click Connect to Slack and create the Metabase app in Slack. Install it to your workspace, copy the Bot User OAuth Token, and paste it back into Metabase.
Why can't I see my private Slack channel in Metabase?
The Metabase app has to be added to the private channel first. Type @Metabase in the channel and invite it, then wait up to 10 minutes. Metabase's guide says older setups may also need the groups:read permission added to the app and the app reinstalled.
Can Metabase send a dashboard to Slack on a schedule?
Yes. Dashboard subscriptions send a dashboard to a Slack channel or one person hourly, daily, weekly or monthly, and can attach a PDF of the dashboard.
What does it cost?
You get the price on the call, along with the hours it saves your team.