Weekly product KPI narrative in Notion and Slack
Every Monday at 8am, get a written PostHog weekly review published to Notion, with a 3-bullet TL;DR posted to Slack. No more piecing the story together by hand.
Every Monday at 8am in my timezone, generate a weekly product KPI narrative and publish it as a Notion page with a Slack announcement. This should run as an agent because the value is the written synthesis across multiple PostHog queries, not just the raw numbers.
Trigger: cron, every Monday at 08:00 in my local timezone.
Step 1: Pull metrics from PostHog using Execute HogQL Query. For each metric, compute the trailing 7 days vs the prior 7 days and the percentage change:
- Weekly active users (distinct users with any event in the window).
- New signups (count of the signup event).
- Activation rate (share of new signups who completed the activation event within 24 hours of signing up). Ask me at setup time for the signup event name and the activation event name.
- Retention of last week's signups (share of users who signed up in the prior 7-day window and came back in the most recent 7-day window).
- Top 5 trending events (events with the largest absolute or percentage change in count week over week, excluding extremely low-volume events).
Step 2: Pull PostHog annotations using List Annotations for the trailing 7 days so the narrative can reference shipped features, marketing pushes, incidents, or experiments that may explain movement.
Step 3: Write a real narrative report in markdown, not just tables. Structure:
- Executive summary (3 to 5 sentences capturing the headline of the week).
- One section per KPI with the numbers, the week-over-week delta, and a written explanation of what moved and why.
- A 'What likely caused this' section that ties movements to the PostHog annotations from Step 2 where it's plausible. Be honest when the cause is unclear.
- A 'What to watch next week' section with 2 to 4 specific things to keep an eye on, based on this week's signals.
Step 4: Use Notion Create a Page to publish the report into my 'Weekly Product Reviews' database (ask me for the database id at setup). Title the page with the date range, for example 'Weekly Product Review — Week of {start_date}'. Render the markdown as proper Notion blocks (headings, bullets, callouts) so it's skimmable.
Step 5: Use Slack Send a Message to post to the channel I specify at setup. The message should include the Notion page URL and a 3-bullet TL;DR drawn from the executive summary. Keep it short enough to read on mobile.
At setup, ask me for: PostHog project id, signup event name, activation event name, my timezone, the Notion database id for 'Weekly Product Reviews', and the Slack channel for the announcement.
Avoid hallucinating numbers. Every figure in the narrative must come directly from a HogQL query result. If a query returns no data or fails, surface that explicitly in the report instead of inventing a value.
Additional information
What does this prompt do?
- Pulls last week's product KPIs from PostHog and compares them to the prior week: weekly active users, new signups, activation rate, retention of last week's signups, and the top 5 trending events.
- Writes a real narrative, not just a table. Explains what moved, points to product or marketing annotations that likely caused it, and calls out what to watch next week.
- Publishes the full review as a new page in your Notion 'Weekly Product Reviews' database, formatted with headings and bullets so it's easy to skim.
- Posts a short Slack announcement to the channel of your choice with a 3-bullet TL;DR and a link to the Notion page.
What do I need to use this?
- A PostHog workspace with at least 2 weeks of events flowing in, plus the events you use to measure signup and activation.
- A Notion workspace with a database called 'Weekly Product Reviews' (or similar) that the agent can write to.
- A Slack workspace and the channel where you want the Monday announcement to land.
How can I customize it?
- Change the day and time. Friday end-of-day, Monday morning, or the first business day of the month all work.
- Swap which metrics get tracked. You can add revenue, paid conversions, feature adoption, or any HogQL-friendly metric.
- Pick a different Notion database, a different Slack channel, or add a second channel for leadership versus the wider team.
Frequently asked questions
What does the Notion page actually look like?
Do I need to set up the PostHog queries myself?
Can I use this with a different long-form home, like Confluence or Google Docs?
What if a metric is flat or missing data that week?
Will this work if my team uses PostHog Cloud EU or a self-hosted instance?
Stop rewriting the same weekly product update.
Connect PostHog, Notion, and Slack once. Every Monday at 8am, Geni ships the review for you.