May 27, 2026

Metabase Slack integration: alerts, dashboards, and bots

Reading time :  
5
 min
Rithul Palazhi
Rithul Palazhi

Metabase Slack integration: alerts, dashboards, and custom pipelines

Metabase Slack integration turns your data warehouse into a conversational participant. Instead of teammates visiting dashboards, the dashboards visit them — as scheduled pulses, threshold alerts, or AI-enriched summaries dropped into the channels where decisions happen.

The direct answer: Metabase offers a native Slack integration that sends dashboard subscriptions and alert notifications to channels. It works for basic use cases. For anything beyond scheduled screenshots — conditional routing, AI commentary, multi-source correlation — you need an API layer. According to Metabase's 2025 community survey, over 60% of Metabase deployments use Slack as their primary alert destination. A 2024 Slack Workforce Index report found that teams receiving automated data alerts in Slack resolved issues 36% faster than those relying on email.

Unlike generic AI automation posts, this guide shows real CodeWords workflows — not just theory. You will set up native Metabase Slack integration and then build something better on top of it.

TL;DR: - Metabase's native Slack integration sends scheduled dashboard subscriptions and threshold alerts to channels — setup takes under 10 minutes. - The native integration has limits: no conditional routing, no AI enrichment, no cross-referencing with other data sources. - CodeWords bridges the gap by consuming Metabase's API, applying AI analysis, and routing enriched alerts to Slack with full control.

How do you set up native Metabase Slack integration?

Step 1: Create a Slack app. Go to Slack's API portal and create a new app. Metabase needs a bot token with scopes: chat:write, files:write, and channels:read.

Step 2: Connect Metabase to Slack. In Metabase, navigate to Admin → Settings → Slack. Paste your bot token. Metabase verifies the connection and lists available channels. See Metabase's official Slack setup guide for the full walkthrough.

Step 3: Configure dashboard subscriptions. Open any dashboard, click the sharing icon, select "Dashboard subscription," choose Slack as the destination, pick the channel, and set the schedule. Metabase renders the dashboard as an image and posts it on schedule.

Step 4: Set up question alerts. For individual saved questions, click the bell icon to create an alert. Metabase supports three alert types: results exist (any row returned), goal-based (value crosses a threshold), and progress-based (value reaches a target).

What are the limitations of native Metabase Slack integration?

The native integration is a notification pipe, not a workflow engine.

No conditional routing. You cannot send different dashboards to different channels based on the data. Revenue drops should alert #finance; error spikes should alert #engineering. Native Metabase sends to a fixed channel regardless.

No AI analysis. Dashboard images arrive without context. Someone still needs to interpret the chart and decide what it means.

No cross-source correlation. Metabase queries your database but cannot correlate results with data from Sentry, your CRM, or external benchmarks. Atlassian's 2025 State of Teams report found that 72% of data-driven decisions require context from more than one tool.

No threaded conversations. Alerts arrive as standalone messages with no mechanism for follow-up, assignment, or resolution tracking.

Fixed formatting. Posts are image-based screenshots — hard to read on mobile, no custom layouts, no action buttons.

How can you build custom Metabase-to-Slack pipelines?

Here is where Metabase Slack integration gets genuinely useful. A CodeWords workflow can:

Pull data from Metabase on schedule. Use the Metabase REST API to run key queries every morning. Store previous results in Redis for comparison.

Detect meaningful changes. Compare today's numbers to yesterday, last week, or targets. A 2% fluctuation is noise. A 15% drop is a signal. Define thresholds in the workflow.

Generate AI commentary. Pass the data to an LLM — CodeWords provides access to OpenAI, Anthropic, and Gemini without API key setup. The model generates explanation: "Revenue dropped 18% day-over-day, driven by a 40% decline in enterprise. This correlates with the pricing page outage detected by Sentry between 2-5 AM."

Route to the right channel. Based on data category and severity, post to the appropriate Slack channel. CodeWords handles Slack posting natively through CodeWords integrations.

Enable conversation. Format messages with thread prompts. "Reply 'investigate' to trigger a deep-dive." A second workflow listens via Slack API events and kicks off analysis.

How do you route different dashboards to different channels?

Build a routing table in your CodeWords workflow:

routes = [
    {"question_id": 42, "channel": "#revenue", "threshold_pct": 10},
    {"question_id": 55, "channel": "#engineering", "threshold_pct": 25},
    {"question_id": 71, "channel": "#product", "threshold_pct": 5},
]

The workflow iterates through routes, queries each Metabase question, checks whether the change exceeds threshold, and posts only when meaningful. No more alert fatigue.

Store the routing table in Redis or in Airtable if non-technical teammates manage the routes. Both are native CodeWords integrations. Explore AI workflow automation for patterns on multi-step data pipelines.

FAQ

Can Metabase send alerts to private Slack channels? Yes. Invite the bot to the private channel first (/invite @YourMetabaseBot). After that, the channel appears in Metabase's settings. Same requirement applies for CodeWords workflows.

How often can Metabase pulse to Slack? Native subscriptions support hourly, daily, weekly, and custom cron. For near-real-time alerts, use Metabase's alert feature or build a CodeWords workflow polling the API every 5 minutes. See CodeWords pricing for execution limits.

Does Metabase support Slack thread replies? Not natively. To create threaded conversations, use a CodeWords workflow that captures the message timestamp and uses it as thread_ts for follow-ups. CodeWords templates include patterns for this.

From dashboards to decisions

The gap between having data in Metabase and acting on it in Slack is a workflow gap, not a feature gap. Native integration sends screenshots. A custom pipeline sends insight, context, and next steps.

AI-enriched pipelines redefine reporting — from static charts to dynamic, context-aware notifications arriving where your team already works.

Build your first Metabase-to-Slack pipeline on CodeWords and turn dashboards into conversations.

Contents
Ready to try CodeWords?
Get started free
Sign in
Sign in