Weekly Mixpanel funnel regression audit into Linear

By General Input

Every Monday at 9am, audit your Mixpanel funnels for week-over-week drops, file Linear tickets for each regression, and post a summary to Slack.

Integrations

  • Mixpanel
  • Linear
  • Slack Bot

Type

Agentic Task

Categories

  • Product
  • Engineering

Build an agent workflow that runs every Monday at 9am in my local timezone and audits my Mixpanel funnels for week-over-week regressions, then files fix-it tickets in Linear so the product team walks into standup with a punch list.

Trigger: cron, weekly on Monday at 9:00 (default timezone America/Los_Angeles, expose it as an input).

Inputs to expose on the workflow:

- funnel_ids: optional list of Mixpanel funnel IDs. If empty, audit every saved funnel in the project.

- absolute_threshold_pp: default 5 (percentage points).

- relative_threshold_pct: default 15 (percent). A step is flagged if EITHER threshold is crossed.

- min_prior_step_entries: default 200. Skip funnels or steps below this to avoid statistical noise.

- linear_team_id: which Linear team the tickets get filed in.

- slack_channel: the product channel to post the summary to.

- dedupe_open_issues: default true. If an open Linear issue already exists for the same funnel + step, add a comment with this week's numbers instead of creating a duplicate.

What the agent should do each run:

1. Use Mixpanel List Saved Funnels to resolve the set of funnels to audit (either the configured list or every saved funnel).

2. For each funnel, call Mixpanel Query Saved Funnel twice: once for the last 7 completed days (current window) and once for the 7 days before that (prior window). Use the funnel's project timezone.

3. For each step, compute current step-conversion, prior step-conversion, absolute change in percentage points, and relative change. Skip the funnel entirely if prior-window entries into the funnel are below min_prior_step_entries. Skip individual steps whose prior entries are below min_prior_step_entries.

4. Flag any step where step-conversion dropped by more than absolute_threshold_pp OR by more than relative_threshold_pct in relative terms.

5. For each flagged step, call Mixpanel Query Segmentation on the entry event of that step for the current 7-day window, broken down separately by device, browser, referrer, and app version. Identify the top 3 segments where the conversion drop is most concentrated (compare each segment's current-window rate to the prior-window rate; require enough volume per segment).

6. For each meaningful regression, create a Linear issue in linear_team_id using Linear Create Issue with:

- Title: "Funnel regression: {funnel_name} — {step_name} down {X}pp WoW" (use a hyphen, not an em dash).

- Description (Markdown): current vs prior step-conversion with absolute and relative deltas, current vs prior entries, the top segments driving the drop as a bulleted breakdown, and a direct link back to the Mixpanel funnel report.

- Priority: earlier steps map to higher priority. Step 1 or 2 -> Urgent (1), step 3 or 4 -> High (2), later steps -> Normal (3). Expose this mapping as an override.

7. Deduplication: before creating, if dedupe_open_issues is true, search open Linear issues in the team for a title containing the funnel and step. If one exists, add a comment with this week's numbers instead of filing a new ticket.

8. Post exactly one Slack Bot Send a Message to slack_channel that lists every ticket filed this run (funnel, step, delta, Linear URL). If nothing was flagged, post a short 'No funnel regressions this week' note instead. Never send more than one Slack message per run.

Guardrails: respect Mixpanel Query API rate limits (back off on 429). Never file a ticket for a step whose prior-window volume was under min_prior_step_entries. Round conversion rates to one decimal place in the ticket title and body.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them