Turn Leadership Reporting into Agents
Every week someone in Ops or CS leadership assembles the same report: which renewals are at risk, what changed, which accounts need an executive's attention. It takes hours, it's stale by the time it's read, and it waits whenever that person is out. A scheduled agent can do it instead — query FunnelStory at the same time every week, write the summary, and post it where leadership reads it. This guide shows how to choose what to automate, build the first report, and measure the time it gives back.
Step 1: Inventory the recurring reports
List every report your team produces on a schedule, with who reads it and how long it takes:
| Report | Audience | Cadence | Hours per run | Sources today |
|---|---|---|---|---|
| Weekly renewal risk roll-up | VP of CS, CRO | Weekly | 3 | CRM export, spreadsheet, Slack threads |
Start with the report that costs the most hours and has the most stable format. A report whose structure changes every week needs a person; one that answers the same questions every week is ready for an agent.
Step 2: Write down the questions it answers
A good leadership report answers a handful of fixed questions. For a renewal risk roll-up, for example:
- Which renewals in the next 90 days are predicted to churn, and how much ARR is that?
- What new risks appeared this week — pricing, competitors, champions leaving?
- Which large accounts are single-threaded?
- What changed since last week?
Each question becomes a query against FunnelStory's semantic database, which holds everything the report needs in one place:
| Question | Where the answer lives |
|---|---|
| Renewals, ARR, predictions, health | accounts (expires_at, amount, prediction, health_score) |
| New risks and opportunities | needle_movers |
| Relationship coverage | relationship_map_history |
| Account context for the narrative | account_profiles |
| Owners | accounts.assignees, joined to workspace_users |
Step 3: Build the agent
With the MCP server connected, describe the report to Claude and let it build the agent:
"Read the FunnelStory flow guide, then build a draft agent that runs every Monday at 8am Pacific. Answer these questions: [your list from Step 2]. Summarize the answers in under 200 words with the three accounts that most need an executive's attention, and post it to Slack channel
#cs-leadership. Test it before I publish it."
The agent Claude builds typically has:
- a Schedule trigger with a cron expression and timezone;
- one
semantic.querystep per question, so each number is computed, not guessed; - an AGENT step that writes the summary from those results and cites the accounts it names;
- a
slack.send_messageoremail.sendstep to deliver it.
Keep the numbers in query steps and the prose in the AGENT step. Leaders will compare this week's figure with last week's, so the figure must come from the same query every time.
Prefer the canvas? The same agent can be built step by step — see Getting started and the agent examples, which include a scheduled health alert to Slack.
Step 4: Run it next to the manual report
For the first two or three weeks, run the agent alongside the report you're replacing. Compare the numbers line by line. Differences usually come from definitions — which accounts count as "renewing", which ARR field is used — so fix the query, not the summary. When the two match, publish the agent and retire the manual version.
Going further
- Board or QBR decks. Agents can build a PowerPoint from your own template with the
pptx.createfunction. Ask Claude to read thefile://flow/pptx.mdresource over MCP before building one. - A live view instead of a message. For numbers leadership wants to explore rather than read, a custom dashboard or a Data App may fit better than a weekly post.
- Exception alerts. Some questions don't need a weekly cadence. "Tell me when a top-20 account is predicted to churn" is better as an agent with a Signal trigger that fires the moment it happens.
Measure the time it gives back
Track two numbers for each report you automate: the hours of manual work removed per month, and whether the report now arrives on time every time. Add them up across reports to show what automation is worth to your team, and use the same inventory from Step 1 to pick the next one.
Related
- Design an Agent: Detect, Investigate, Act — the same approach for agents that act on accounts
- Triggers and Functions reference
- Vibe coding — building agents with Claude
- Claude Skills for CSMs — on-demand reports in Claude