# Monday revenue standup tying bookings to recognized MRR

> Every Monday morning, your leadership channel gets a written revenue recap that connects what sales closed to what actually landed as recurring revenue.

- Workflow type: agent
- Services: ChartMogul, HubSpot, Slack
- Categories: Finance, Sales
- Published: 2026-08-04

## What it does

- Pulls last week's revenue movements and stacks them against the week before, so you see the direction and not just the number
- Breaks the change into new business, expansion, contraction, churn and reactivation, naming the accounts behind the biggest swings
- Matches the deals your team marked closed won against the recurring revenue that actually showed up, and explains the gap when the two do not line up
- Posts a short written recap to Slack that leads with net new recurring revenue and a one-line verdict on whether you are ahead or behind pace

## What you'll need

- A ChartMogul account with your subscription billing data flowing into it
- A HubSpot account where your sales team marks deals closed won
- A Slack workspace and the channel you want the standup posted to

## Prompt

Every Monday at 8:57am, run a revenue standup for our leadership Slack channel that ties last week's bookings to last week's recognized revenue. Use a cron trigger for this. ChartMogul does not emit outgoing webhooks and is not available as a poll source, so a schedule is the only way to anchor this workflow.

Start in ChartMogul. Use All Key Metrics and MRR to pull the trailing seven days, and pull the seven days immediately before that as well so I have a week-over-week comparison rather than a single snapshot. Then use List Activities for the trailing seven day window and break the MRR-affecting movements out by type: new business, expansion, contraction, churn and reactivation. Keep the customer name and the amount on every movement so you can name accounts later in the write-up. ChartMogul returns money as integers in cents, so convert to whole currency units before writing anything, and page through the activities until the full window is covered.

Then go to HubSpot and use Search Deals to find every deal that moved to closed won inside the same seven day window. Filter on the deal stage being closed won and the close date falling inside the window. Bring back the deal name, the amount, the associated company and the deal owner for each one.

Now write a short narrative that connects the two systems. Cover four things. First, what the sales team closed in the CRM last week, as a booked total and a deal count. Second, how much of that showed up as recognized MRR in ChartMogul, and where the two numbers do not line up, call out the gap and the most likely reason for it, such as annual contracts billed up front, delayed start dates or normal billing lag. Third, which named accounts drove the biggest expansions and the biggest contractions, with the amount next to each name. Fourth, how net new MRR compares with the prior week, given as both an absolute change and a clear direction.

Post the result to the leadership channel using Send a Message in Slack. Lead with the net new MRR number on its own line, then a one-line verdict on whether we are ahead or behind pace, then the narrative kept to a handful of short paragraphs or tight bullets. It should be readable straight in the channel without anyone needing to click through to another system.

One important guardrail. ChartMogul already ships a native Slack destination that posts raw MRR movements, so do not build a metrics dump. The value here is the written interpretation plus the join to HubSpot closed won, which the native integration cannot do. Every number in the message should be traceable back to one of the two systems, and if either system returns nothing for the window, say so plainly rather than reporting a zero as though it were a real result.

## How to customize

- Change the day and time it runs, which defaults to Monday at 8:57am, so it lands just before your leadership meeting
- Point it at a different Slack channel, or send it to more than one
- Widen the reporting window from seven days to a fortnight or a full month
- Tell it your growth target so the verdict line measures against your actual plan rather than just last week

## FAQ

### How is this different from ChartMogul's built-in Slack integration?

ChartMogul's own Slack destination posts raw revenue movements as they happen or as a plain summary. This writes a short narrative instead, and joins it to your CRM, so you can see which closed-won deals actually turned into recurring revenue and which ones have not landed yet. The built-in integration cannot look at your CRM at all.

### Why does the revenue number not match what sales closed?

That gap is the whole point of the recap. Annual contracts billed up front, delayed start dates and normal billing lag all mean a deal can close in one week and show up as revenue in another. The summary calls the difference out and suggests the likely reason rather than leaving you to guess.

### Does this work with annual contracts?

Yes. ChartMogul normalizes annual and multi-year plans into their monthly equivalent, so a large annual deal shows up at its monthly value rather than distorting the week.

### Do I need to be technical to set this up?

No. You connect your ChartMogul, HubSpot and Slack accounts, choose a channel, and pick the time it should run. There is nothing to configure on the billing side.

### Can it run more often than weekly?

Yes. The schedule is a simple setting, so you can run it daily or fortnightly instead. Weekly tends to work best for a leadership standup because it gives the revenue movements enough time to settle.

Use this prompt in General Input: https://www.generalinput.com/prompts/monday-revenue-standup-tying-bookings-to-recognized-mrr