Weekly Supabase metrics report in Slack and Notion

By General Input

Every Monday at 9am ET, turn last week's Supabase analytics into a written executive summary posted to Slack and archived as a full report in Notion.

Integrations

  • Supabase
  • Slack
  • Notion

Type

Agentic Task

Categories

  • Product
  • Operations

Build me an agent workflow that runs every Monday at 9am ET (cron trigger) and produces a written weekly metrics report from my Supabase analytics tables, posted to Slack and archived in Notion.

Inputs the user should configure when installing: (1) the list of Supabase tables to report on, defaulting to signups, active_users, conversions, and churn_events, with the timestamp column for each table (default created_at); (2) the Slack channel for the headline summary, defaulting to #product-metrics; (3) the Notion parent page ID where each weekly report should be created as a child page (the 'Weekly Reports' page).

Each Monday run, the agent should: 1) Compute the two date ranges in ET. 'Last week' = the most recent Monday 00:00 ET through the following Sunday 23:59 ET that has already finished. 'Prior week' = the seven days immediately before that. 2) For each configured table, call Supabase Get Many Rows twice, once filtered to the last-week range and once to the prior-week range, using a gte/lte filter on the configured timestamp column (e.g. created_at=gte.<start>&created_at=lte.<end>). Page through results if needed so totals are complete. 3) For each table, compute the row count for last week, the row count for the prior week, the absolute delta, the percent change, and any notable distribution shifts the agent can see in the raw rows (for example a spike concentrated on one day, or an unusual jump in a specific segment if relevant columns exist).

Then the agent should write a short executive summary that leads with the two or three most important shifts that week. Important means largest absolute or percent change, sustained anomaly, or a reversal of a recent trend. Do not always lead with the same KPI; pick leads based on what actually moved. Call out anomalies worth investigating in a separate 'Worth a look' section. If a table is empty or returned no rows, flag that as a data gap rather than reporting it as zero.

Output destinations: (a) Post the headline summary to Slack using Send a Message in the configured channel. The Slack message should be short and scannable: a one-line headline, three bullets for the leading shifts, and a link to the Notion page. (b) Create a Notion page using Create a Page as a child of the configured 'Weekly Reports' parent. The page title should be 'Weekly Metrics Report — <week start> to <week end>'. The body should contain the full long-form report: the executive summary, a section per KPI with last week vs prior week numbers and the percent change, the 'Worth a look' anomalies, and a short 'What we'll be watching next week' closing paragraph.

Important constraints: do not ask the user to write SQL. Build the date filters on the agent's side using the timestamp column name they provided. Always include the Notion page link in the Slack post so anyone in the channel can jump to the full report. If the Supabase query for any table fails, post the Slack summary with the other tables and clearly note which table failed so the report still ships.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in productionScreen chartered vessels for AIS gaps and sanctions red flags