Monday morning beehiiv newsletter report to Sheets and Slack

By General Input

Every Monday at 8am, log last week's newsletter numbers to Google Sheets and post a Slack digest with week-over-week deltas and top performers.

Integrations

  • beehiiv
  • Google Sheets
  • Slack Bot

Type

Deterministic Code

Categories

  • Marketing
  • Operations

Build a code workflow that runs every Monday at 8am (in my local timezone) and produces a weekly beehiiv performance report. The trigger is cron. This is a deterministic pipeline, no drafting or judgement, so please ship it as a code workflow with discrete nodes.

Step 1. Compute the reporting window: the previous Monday 00:00 through Sunday 23:59, plus the equivalent 7-day window before that so we can calculate week-over-week deltas.

Step 2. Call beehiiv Get Post Aggregate Stats scoped to the current 7-day window to grab the top-level totals: sends, unique opens, unique clicks, unsubscribes, and subscriber growth. Call it again for the prior 7-day window so we can compute week-over-week deltas for each metric.

Step 3. Call beehiiv List Posts with the stats expansion enabled and status filter set to confirmed, scoped to the current window, so we get each issue that shipped that week with its per-post stats (recipients, opens, clicks, unsubscribes, top clicked URL).

Step 4. For each issue in the list, build a row with these columns: publish date, post title, sends, open rate, click-to-open rate, unsubscribe rate, and top clicked URL. Use beehiiv Google Sheets Append Values to write those rows to the Newsletter KPIs tab of a Google Sheet the user picks during setup. This builds a permanent historical log.

Step 5. Compose a Slack digest string that leads with the week-over-week deltas on the top-level totals (up/down arrows and percentages), then calls out the best-performing issue of the week (highest click-to-open rate) and the worst-performing issue (lowest open rate), and finishes with a link to the Google Sheet. Post it with Slack Bot Send a Message to a channel the user picks during setup.

Config the user should be prompted for at build time: beehiiv publication id, Google Sheet id and tab name (default: Newsletter KPIs), Slack channel id, and timezone. If no issues shipped in the window, still post the top-level deltas and note that no issues shipped this week.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerA brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensStop cold emails to anyone with a live deal in PipedriveLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery board