Why this matters
CSMs operate from notes, Slack, and stale dashboards. A book-of-business digest gives them a prioritized list every week without a BI analyst.
What you get
- Accounts needing outreach
- Expansion and champion signals
- Usage drops and support friction
- Suggested next action per account
Walk through it
Build this week’s digest for each CSM.
I’ll group account signals by CSM owner and write short action briefs.
Endpoint: POST /v1/projects/:project_id/analytics/query
Exact shape: /v1/openapi.json?path=%2Fv1%2Fprojects%2F%7Bproject_id%7D%2Fanalytics%2Fquery&method=post
Custom HogQL goes in the OpenAPI-defined `query` field.
Concept fields:
query: "SELECT properties.csm_owner AS csm, properties.account_id AS account, count() AS events_7d, max(timestamp) AS last_seen FROM events WHERE timestamp > now() - INTERVAL 7 DAY AND properties.account_id IS NOT NULL GROUP BY csm, account ORDER BY csm, events_7d DESC"
The output
The agent returns one digest per CSM with high-signal bullets. It should avoid flooding the CSM with healthy accounts unless there is an expansion opportunity.
Setting it up
Emit account snapshot or usage events with account_id and csm_owner. Provide each CSM’s preferred brief format in the interactive prompt or keep it in your team’s existing reviewed configuration; do not rely on undocumented agent-local state.
This query exposes account-level activity and uses owner-authenticated custom analytics, so run it in a human-controlled session. A runner cannot receive raw accounts or generic HogQL, and this page does not grant authority to contact customers. The reviewer chooses what to share and with whom.
Variations
- “Only show accounts with a health score drop.”
- “Create a version for the VP CS.”
- “Prepare this for the latest seven-day window and let the CSM review it before choosing any recipients.”