Account Health Scorecard
One Low / Medium / High grade per account — every component sourced, every grade defensible.
Sample output for this workflow will appear here once it is captured.
Run the workflow in Claude, ChatGPT, or Phoenix Playground using the buttons below to see real output.
Overview
Grade one customer Low / Medium / High in 90 seconds with the top-2 evidence points per component. Adoption (40%), sponsor coverage (20%), intent posture (20%), and sentiment proxies (20%) — every component sourced to a specific HG signal, every grade defensible to your VP. Renewal-cycle weight scored "unknown" unless you pass a CRM date, because `company_contracts` is GSI-outsourcing data, not your renewal with the customer.
Use cases
New CSM lead, 30-account book, week one priorities
Maya inherited 30 accounts. She doesn't know which are healthy and which are quietly slipping. She runs this against all 30, gets a single Low/Medium/High grade per account with the top-2 evidence points each, and uses the output to triage: focus on the 4 Lows, schedule QBR refreshes on the 8 Mediums, leave the 18 Highs to their existing rhythm.
Same composite, every surface
Account-health scorecard, reference-advocacy finder, and expansion-sequencing all compose the `csm-health-scoring` skill — so "healthy enough for a reference" and "healthy enough to expand" use identical math. No drift between workflows.
View workflow prompt
# Account Health Scorecard
## Parameters
- `{{domain}}` *(required)* — Customer company domain. Example: `acme.com`
- `{{your_product}}` *(required)* — Your product or category — anchors intent topic resolution. Example: `HG Insights`
- `{{prior_contacts}}` *(optional)* — Comma-separated sponsor names from CRM (for sponsor-coverage scoring). Skip absence inference if empty.. Example: `Jane Doe, John Smith`
- `{{our_contract_renewal_date}}` *(optional)* — CRM-supplied renewal date (YYYY-MM-DD). If absent, renewal weight is scored "unknown" — company_contracts cannot fill this gap.. Example: `2027-03-15`
## Purpose
Grade {{domain}}'s health as Low / Medium / High from 4 components per the `csm-health-scoring` skill: adoption (40%), sponsor coverage (20%), intent posture (20%), sentiment proxies (20%). Renewal-cycle weight is "unknown" unless {{our_contract_renewal_date}} is supplied — `company_contracts` is GSI-outsourcing data, not your product renewal.
## Process
1. **Adoption** — `company_install_time_series` for {{domain}} filtered to {{your_product}}, `timeRange: last_12_months`. Capture `current_intensity` + `intensity_momentum`. Optionally corroborate with `company_technographic.productLocations`.
2. **Sponsor coverage** — `contact_search` against {{prior_contacts}}; compute match-rate. If {{prior_contacts}} empty, score as "unscored" + flag the gap in the output.
3. **Intent posture** — resolve {{your_product}}'s category → topic_ids via `list_intent_topics`. Call `company_intent` for {{domain}} with `limit: 200`. Post-fetch filter `topics[]`; check `trend`.
4. **Sentiment proxies** — `company_firmographic` for strategic events (M&A, RIF, new CIO in last 90d). `company_fai` for relevant-function intensity stability over 12m.
5. **Compose** — per `csm-health-scoring` rubric: weighted blend → composite 0-100 → Low (<40) / Medium (40-69) / High (≥70). If a component is stale (per `hg-recent-signals`), score "unscored" + reduce max possible composite.
## Output Format
- `# 🩺 {{domain}} — Health: <Low|Medium|High> (composite N/100)`
- `## Components` — 4 bullets, one per component: pts/40 or pts/20, evidence, source citation
- `## Recommended next step` — one action tied to the lowest-scoring component
## Quality Checklist
- Every component cites its source tool
- Stale components are marked "unscored", not silently zeroed
- Renewal-cycle scored "unknown" if {{our_contract_renewal_date}} empty (never compute from `company_contracts`)
- Composite math follows the `csm-health-scoring` rubric exactly