Catch a Metabase metric breach and auto-file a Linear ticket

Each weekday morning we check your critical Metabase metric, dig into what moved it, file a Linear ticket for the owner, and post a heads-up in Slack.

Agentic Task
MetabaseLinearSlackOperationsProductNotifications & AlertsResearch & Monitoring

Every weekday at 9am, run a single Metabase saved question that tracks our critical operating metric (signups, conversion rate, error rate, refunds, or whatever this team owns) and compare the latest value against a threshold or the prior period. Use Metabase Run Card Query for the watched question.

If the metric is within range, stop the workflow. Do not file a ticket and do not post in Slack.

If the metric breaches the threshold, investigate before alerting. Use Metabase Search to find related saved questions in the same collection (segment breakdowns, channel splits, recent-changes cards) and run the most relevant ones with Run Card Query. If a focused slice would help and no saved card covers it, use Metabase Run Ad-hoc Query against the same database to isolate which segment, channel, or recent event is driving the move. Keep this investigation tight: at most a handful of follow-up queries.

Then write a short root-cause hypothesis (3 to 6 sentences) with the supporting numbers: current value, prior value or threshold, the top contributing segments, and any obvious recent change.

File a ticket in Linear using Create Issue. Use Linear List Teams to resolve the team id if needed, and Linear List Users to resolve the assignee. Fill in:

- Title: a short summary that names the metric and the direction it moved.

- Description: the root-cause hypothesis, the supporting numbers, and a link back to the Metabase question.

- Priority: Urgent if the breach is severe or accelerating, High otherwise.

- Assignee: the on-call owner for this metric.

Then post a short heads-up in our Slack channel using Send a Message: one or two sentences explaining the breach in plain language, the headline number, and a link to the Linear ticket so whoever is on call sees it immediately.

When I set this up, ask me which Metabase question to watch, what counts as a breach (absolute threshold, percent change, or comparison window like week-over-week), which Linear team owns the metric and who the default assignee is, and which Slack channel to post the heads-up in.

Additional information

What does this prompt do?
  • Runs your designated Metabase question every weekday morning and checks the latest number against the threshold or prior period.
  • When the metric breaks, digs into related Metabase questions to find the segment, channel, or recent change driving the move.
  • Writes a short root cause summary, opens a Linear ticket for the right team and assignee with priority filled in, and posts a Slack heads up that links to it.
  • Stays quiet when the metric is healthy, so the only pings you see are real ones.
What do I need to use this?
  • A Metabase login with access to the question you want watched and to the related segment or breakdown questions in the same collection.
  • A Linear workspace and the team you want tickets filed into.
  • A Slack workspace and the channel where the heads up should land.
How can I customize it?
  • Change which Metabase question is watched, and the threshold or comparison rule that counts as a breach.
  • Swap the Linear team, default assignee, or priority for different metric owners.
  • Pick a different Slack channel, or skip the Slack post and only file the ticket.

Frequently asked questions

Does this run if my metric is fine?
No. If the latest value is within your threshold or matches the prior period, nothing is filed and nothing is posted. You only hear from it when something actually moved.
How does it figure out what caused the move?
It searches Metabase for related saved questions in the same collection, runs the relevant segment and recent change ones, and writes a short hypothesis with the supporting numbers.
Can I watch more than one metric with this?
Each copy of the workflow watches one metric so the alerts stay focused. Run a separate copy for every metric you care about, each with its own threshold, Linear team, and Slack channel.
Does the Linear ticket get assigned automatically?
Yes. You tell the workflow which team owns the metric, and it picks an assignee from that team. You can also pin a specific person if there is one on call for that metric.
What time zone does the schedule use?
You set it. The morning check runs on the time zone you pick when you set the workflow up, so 9am in your office is 9am for everyone watching.

Stop finding out about KPI dips three days later.

Connect Metabase, Linear, and Slack once, and Geni will catch and investigate every breach for you every weekday morning.