Weekly MailForge email performance digest in Slack

By General Input

Every Monday at 8am, roll up last week's MailForge campaigns into a Slack summary and log the numbers to Google Sheets for historical tracking.

Integrations

  • MailForge
  • Slack
  • Google Sheets

Type

Agentic Task

Categories

  • Marketing
  • Operations

Build me an agent workflow that runs on a cron trigger every Monday at 8am in my local timezone. Its job is to produce a weekly recap of last week's email marketing performance from MailForge, post it to a Slack channel, and log the underlying numbers to a Google Sheet so we can track trends over time.

Steps the agent should take on each run:

1. Call MailForge List Campaigns to fetch every campaign sent in the last seven days. Ignore anything whose status indicates it is a draft or a test, and ignore campaigns whose name contains "test" or "draft". Only include campaigns that were actually sent to real recipients.

2. For each remaining campaign, call MailForge Get Campaign Stats to pull opens, clicks, bounces, unsubscribes, complaints, and total recipients. Compute open rate and click rate as percentages of delivered recipients (delivered = sent minus bounces), rounded to one decimal place. Never show raw open or click counts as the headline metric, always the percentage.

3. Before writing the recap, read the last four weeks of rows from the Google Sheet (if any exist) so the agent has prior-week context. Use this to describe trends: if this week's average open rate or click rate is meaningfully up or down versus the trailing average, call it out. Also flag any single campaign whose bounce rate or complaint rate is clearly above the recent norm.

4. Write a short narrative summary for Slack. Structure:

- A one-line headline with the week range and the number of campaigns sent.

- Two or three sentences on how the week went overall, including the trend versus prior weeks.

- A ranked list of campaigns by engagement (weight opens and clicks together, clicks more heavily). For each campaign show: name, recipients, open rate %, click rate %, and any bounce or complaint outlier callouts.

- A final line highlighting the single best-performing campaign and, if applicable, one that underperformed.

5. Post the summary to Slack using Send a Message. The target channel should be a configurable input on the workflow so users can pick their marketing channel. Format the per-campaign block as a readable list (bullets or a mrkdwn table-style layout), not a wall of text.

6. Append one row per campaign to a Google Sheet tab using Google Sheets Append Values. The spreadsheet id and tab name should also be configurable inputs. Columns in order: Week Ending (Sunday of the reporting week), Campaign Name, Sent Date, Recipients, Delivered, Open Rate %, Click Rate %, Bounces, Unsubscribes, Complaints. Percentages should be written as numbers like 34.2, not strings with a percent sign, so they stay chart-friendly.

Behavior notes:

- If MailForge returns zero qualifying campaigns for the week, still post a short Slack message saying no campaigns went out, and skip the Google Sheets write.

- If Google Sheets or Slack fails, log the error clearly and keep the run visible in history so I can retry.

- Do not send emails or write anything back into MailForge. This workflow is read-only on MailForge.

Inputs to expose on the workflow: Slack channel, Google Sheet id, Google Sheet tab name, timezone (default America/New_York).

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageWin back LiveChat visitors whose chats went unansweredLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seats