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.

Agentic Task
PostHogNotionSlackProductOperationsAI ReportsDaily DigestsContent Generation

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?
A short executive summary at the top, a section per KPI with the week-over-week numbers and a written explanation, a 'what likely caused this' section that references your PostHog annotations, and a 'what to watch next week' closer. Headings and bullets, not a wall of text.
Do I need to set up the PostHog queries myself?
No. The agent writes the queries from the metric names you describe (weekly active users, new signups, activation rate, retention, top trending events). You can edit the prompt later to add or remove metrics.
Can I use this with a different long-form home, like Confluence or Google Docs?
Yes. Swap the Notion step for your tool of choice when you set the workflow up. The Slack TL;DR step stays the same and will link to wherever the report lives.
What if a metric is flat or missing data that week?
The agent calls it out in the narrative rather than hiding it. If a metric is missing entirely, it flags the gap so you can investigate the underlying event.
Will this work if my team uses PostHog Cloud EU or a self-hosted instance?
Yes. PostHog Cloud US, Cloud EU, and self-hosted instances are all supported as long as your account can run product analytics queries.

Stop rewriting the same weekly product update.

Connect PostHog, Notion, and Slack once. Every Monday at 8am, Geni ships the review for you.