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.
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?
How does it figure out what caused the move?
Can I watch more than one metric with this?
Does the Linear ticket get assigned automatically?
What time zone does the schedule use?
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.