Monday morning Ghost membership growth report in Slack

By General Input

Start every week with a real read on your publication. Net new free vs paid members, churn, top posts, and one recommendation, posted to Slack.

Integrations

  • Ghost
  • Slack Bot

Type

Agentic Task

Categories

  • Marketing
  • Operations

Build me a weekly Ghost membership growth report that posts to Slack every Monday at 9am Eastern time so the team starts the week with a real read on the publication.

Trigger: a cron schedule, every Monday at 9:00 America/New_York.

This is an agent workflow. The agent should pull data from Ghost, compute the numbers, write a digest, and post it to Slack as a single message.

Data to pull from Ghost (Admin API):

1. Browse Members (Admin API) once, filtered to members created in the last 7 days. Page through all results. Bucket by status so we can split free vs paid signups.

2. Browse Members (Admin API) a second time, filtered to members whose status is canceled and whose status changed in the last 7 days. Page through all results. This is the churn count.

3. Browse Posts (Admin API) for posts published in the last 7 days. Include the published_at timestamp, title, slug, and URL.

4. Browse Newsletters (Admin API) to know which newsletters exist on the site so the agent can attribute signups when a member subscribed via a specific newsletter.

There is no Ghost analytics endpoint in our catalog, so derive every count from these listing operations. Use Ghost's NQL filter syntax on created_at and status to scope the queries to the last 7 days.

Numbers the digest must include:

- Net new free members this week (signups with a free status).

- Net new paid members this week (signups with a paid status).

- Total churn (members whose status flipped to canceled in the last 7 days).

- Weekly churn rate: churned members divided by the total active member count at the start of the week, expressed as a percentage with one decimal.

- Net growth: new members minus churned members.

Content analysis: line up the publish times of the week's posts and newsletters against when signups happened. Pick the top three posts by recency that coincided with a signup spike and call them out with title, URL, and a one-line note on why each one stood out.

End the digest with one specific recommendation for the upcoming week, grounded in what the data showed (for example: 'The Tuesday post on X drove 40 percent of paid signups, double down on that topic next week').

Delivery: use Slack Bot Send a Message to post a single message to the #growth channel. Keep formatting clean using Slack's mrkdwn: bold section headers, short bullet lists, and clickable links to post URLs. Keep numbers concrete and skip filler. No fluff, no padding.

If a given week has zero new members or zero churn, still post the digest and say so plainly. Do not skip the post.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them