Track PayPal subscription revenue and churn every Monday

Every Monday at 8am, get the recurring revenue numbers PayPal does not show you, plus every subscription that quietly stopped paying.

Agentic Task
PayPalGoogle SheetsSlack BotFinanceOperationsAI ReportsNotifications & Alerts
PromptCreate

Every Monday at 8am on a cron schedule, build the recurring revenue report that PayPal does not give me natively, append it to a running history in Google Sheets, and post a narrative summary to Slack.

Start in Google Sheets. Use Get Values to read the tracking tab that lists the PayPal subscription IDs we monitor. This sheet is the registry of subscriptions. PayPal has no operation that lists every subscription on an account, so never try to fetch all subscriptions directly. Always iterate over the IDs read from the sheet.

For each subscription ID, call PayPal Get Subscription to capture the current status (ACTIVE, SUSPENDED, CANCELLED, or EXPIRED), the plan ID, the billing amount and currency, the subscriber name or email, and the next billing date. If the plan name or pricing detail is not present on the subscription record, call Get Plan for that plan ID to fill it in.

Then call List Subscription Transactions for each subscription over the last seven days to confirm which subscriptions actually collected money in that window. A subscription can read as ACTIVE while quietly failing to bill, so treat the transaction list as the source of truth for money collected and the status field as the source of truth for lifecycle state. Total up what was genuinely collected across all subscriptions.

Read last week's snapshot row from the same sheet and compare it against what you just gathered. Compute the total active count, new subscriptions that were not present in last week's snapshot, subscriptions that moved to CANCELLED, subscriptions that moved to SUSPENDED, and estimated monthly recurring revenue. When estimating MRR, normalize every active subscription's billing amount to a monthly figure: divide annual plans by 12, multiply weekly plans by 52 and divide by 12, and count monthly plans as they are. Only count subscriptions that are currently active.

Append this week's snapshot to the same sheet with Append Values, one row per week, containing the run date, active count, new, cancelled, suspended, total collected in the last seven days, and estimated MRR. Keep the column order identical every week so the tab becomes a running MRR history that can be charted.

Finally, post the narrative summary to Slack with Send a Message. Write a few short sentences someone can read on their phone, leading with estimated MRR and how it moved against last week. Name every subscription that moved to SUSPENDED or CANCELLED, with the subscriber name or email and the monthly amount at risk. Frame the suspended ones as recoverable revenue rather than lost revenue: PayPal automatically retries failed recurring payments and suspends the subscription after repeated failures, so a suspended subscription usually means a payment problem that someone can fix this week by reaching out. Cancelled subscriptions should be reported as confirmed churn.

If the sheet contains no prior snapshot row, treat this run as the baseline: append the row as normal and say in the Slack message that this is the first snapshot, so there is no week over week comparison yet. If an individual subscription ID cannot be read from PayPal, keep going with the rest and list the failed IDs at the end of the Slack message rather than failing the whole report.

Example output

Weekly subscription report, 9 Aug Estimated MRR is $12,480, up $310 from last week. 47 subscriptions active, 3 new this week, and $11,905 actually collected over the last seven days. Needs attention: 2 subscriptions moved to SUSPENDED. Acme Design Co ($149/mo) and R. Patel ($49/mo) both failed their retries this week. That is $198 of monthly revenue that is usually recoverable if someone reaches out before the plan closes out. Cancelled: 1. Northwind Ltd ($99/mo) cancelled on 6 Aug after 14 months.

What does this prompt do?

  • Checks every subscription you track and records its current status, plan, and billing amount.
  • Confirms which subscriptions actually collected money in the last seven days, so a plan that looks active but stopped billing does not slip past you.
  • Works out active count, new, cancelled, suspended, and your estimated monthly recurring revenue, compared against last week.
  • Adds this week's numbers as a new row in your spreadsheet, building a revenue history you can chart over time.
  • Posts a short written summary to Slack naming everyone who went suspended or cancelled, since suspended usually means a failed payment you can still save.

What do I need to use this?

  • A PayPal business account that bills customers on subscriptions.
  • A Google Sheet with a tab listing the subscription IDs you want tracked, one per row. This list is how the report knows what to check.
  • A Slack workspace and a channel where the weekly report should land.

How can I customize it?

  • Change the day and time, for example Friday afternoon instead of Monday morning.
  • Send it to a different Slack channel, or as a direct message to just the founder.
  • Adjust the reporting window, or add an extra callout when estimated revenue drops by more than a set percentage.

FAQs

Why can't I just get this from PayPal?
PayPal gives you individual transactions and subscription records, but it has no built-in reporting for recurring revenue, churn, or how those numbers move week to week. This report builds that history for you by taking a snapshot every week and comparing it to the last one.
What does a suspended subscription actually mean?
PayPal automatically retries a recurring payment when it fails, and suspends the subscription after repeated failures. So suspended usually means a card problem rather than a customer who chose to leave, which is why the summary calls those out separately. Reaching out that same week often recovers the revenue.
How does it know which subscriptions to look at?
It reads the list of subscription IDs from a tab in your Google Sheet. You add a subscription ID there once and it gets tracked from then on, which also means you can deliberately exclude test or internal subscriptions.
Will this change anything in my PayPal account?
No. It only reads subscription and payment information from PayPal. The only things it writes are the new row in your spreadsheet and the summary message in Slack.
Do I need a paid Google Workspace account?
No, a regular Google account works. You just need a spreadsheet you can share with the workflow.

Related templates

Build a credential rotation checklist when someone leaves

When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.

1Password
Rippling
Slack Bot
+1
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agorapulse
HubSpot
Slack Bot
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Clean up HubSpot contacts from your Amazon SES suppression list

Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.

Amazon SES
HubSpot
Slack Bot
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task

Stop guessing what your PayPal subscriptions are actually worth.

Get a written revenue readout every Monday, plus an early warning on the subscriptions you can still save.