Skip to content

Spot at-risk customers early and get the next best action for each

Starts every week or when a CRM export arrives. Ends with a health tier, the revenue at risk, a play with steps and a customer email draft.

Bring the step you are stuck on: 30 minutes, a straight answer and the next step. If you would rather have it built, a reply within 5 working days.

The route

Account manager

7 steps: 2 rule steps, 2 AI steps and 1 person step

Copy, share, discuss

Copy

Available once this workflow passes its checks.

Share

todkett.com/automations/customer-support/customer-health-score/

Discuss

Opens when the first workflow passes its checks. No GitHub account? Ask about this by form.

How the library, the tracks and the talk work: the community page.

At a glance

Starts when
A weekly schedule, or a CRM or analytics export posted to one webhook.
Input
Account data from a CRM or analytics export.
Output
A health tier, the revenue at risk, a play with steps and a customer email draft.
AI
Uses AIReading notes, the small capped adjustment, the play and the email draft.
Tools
Webhook from a CRM or analytics export, OpenRouter, Google Sheets
Last stress test
No recorded run yet

01Steps

The steps

7 steps: 2 rule steps, 2 AI steps and 1 person step. Your first renewals are coming and nobody owns customer success. Usage, tickets and notes live in different tools, so churn shows up at renewal time.

  1. 01Trigger

    Account export

    Account data from a CRM or analytics export.

  2. 02Rule step

    Fixed health score

    Score health out of 100 with fixed weights: seats, usage trend, support, NPS, champion, last review meeting and renewal runway.

  3. 03AI step

    AI reads the notes

    AI reads the account manager's notes for risks and expansion signals and suggests an adjustment, with a reason.

  4. 04Rule step

    Cap and overrides

    Code caps the adjustment at 15 points either way and applies the overrides for risky renewals.

  5. 05AI step

    AI writes the play

    AI writes a play with steps and a customer email draft.

  6. 06Person step

    Account manager reviews

    The account manager reviews the play and sends the email draft.

  7. 07Output

    Tier, play and draft

    Tier, revenue at risk, the play and the email draft.

    Account manager

02Where AI is used

Where AI is used, and what stays with you

AI reads, judges or drafts. Fixed rules check, decide and route. A person approves anything that goes out.

AI step

Steps 03, 05

Reading notes, the small capped adjustment, the play and the email draft.

Notes hold signals the numbers miss. The score itself is fixed arithmetic.

What the model reads

  • The account manager's notes, for risks and expansion signals.

What it never sees or decides

  • The health score: fixed arithmetic from seats, usage, support, NPS, champion, reviews and renewal runway.
  • More than 15 points either way: code caps any adjustment.
  • A risky renewal shown as healthy: overrides in code prevent it.
  • The customer's inbox: the account manager sends the email.

Model calls: Not counted from the workflow yet. It is counted before this page goes live.

Fixed rules

They check, decide and route. 2 rule steps.

  • 02Fixed health score
  • 04Cap and overrides

A person

  • 06The account manager reviews the play and sends the email draft.

03Checks

Checks around the AI

What runs before the model, and what checks its answer after, in plain words. Build these into your version too.

  1. 01The score is fixed arithmetic.
  2. 02The AI adjustment is capped at 15 points either way.
  3. 03An open P1 within 60 days of renewal, or a champion gone within 90 days, can never show as healthy.
  4. 04Expansion is flagged by rule: 90% or more of seats used and usage growing.
  5. 05At most 100 accounts per run.

04The 8 checks

Stress test

The 8 checks we run on every workflow, and you can run too. A check marked Not needed says why.

Status
Not yet0 of 7 that apply have a recorded pass
Last run
No recorded run yet
Model review
Still open

Checks marked Not yet are still open. 2 of them were seen in the workflow design on 23 Oct 2026; a check shows Passed only once its test run is recorded.

  1. ST1Test set

    Status: Not yet

    No recorded test yet.

  2. ST2Prompt attack

    Status: Not yet

    No recorded test yet.

  3. ST3Run twice

    Status: Not needed

    Returns a result only: writes and sends nothing

  4. ST4Failure recovery

    Status: Not yet

    No recorded test yet.

  5. ST5Load and limits

    Status: Not yet

    No recorded test yet.

  6. ST6Failure alert

    Status: Not yet

    No recorded test yet.

  7. ST7Human sign-off

    Status: Not yet

    Seen in the workflow design on 23 Oct 2026. The recorded test run is still open.

  8. ST8Rules around the AI

    Status: Not yet

    Seen in the workflow design on 23 Oct 2026. The recorded test run is still open.

0 passed · 1 not needed · 7 not yet

What we test

We show what we tested, never the test data. The example below is made up.

05Test replay

How to test it

Before you trust a workflow, try to break it. The sample record runs the route step by step. Each break test below gets its own replay once its recorded run exists.

Record
ACCT-0074
Data
Sample run, made-up data
  1. 01Account export

    Fernway account: 90% of seats used, usage growing

    Done
  2. 02Fixed health score

    Score computed with fixed weights

    Done
  3. 03AI reads the notes

    Notes read; an adjustment suggested, with a reason

    Done
  4. 04Cap and overrides

    Adjustment capped; open P1 within 60 days of renewal: not healthy

    Done
  5. 05AI writes the play

    Play with steps and a customer email drafted

    Done
  6. 06Account manager reviews

    Held for the account manager

    Waiting for a person
  7. 07Tier, play and draft

    Tier, revenue at risk, play and draft; expansion flagged by rule

    Account manager
    Arrived

ACCT-0074 reached the last station: Account manager. Tier, revenue at risk, play and draft; expansion flagged by rule.

Sample run on made-up data. No stress-test run is recorded yet, so this plays the example, not a test. Nothing runs live.

The break tests for this workflow

  • ST3

    Same input sent twice

    Returns a result only: writes and sends nothing.

    Not needed
  • ST2

    Instructions hidden in the input

    No recorded run to replay yet.

    Not yet
  • ST4

    A connected service fails

    No recorded run to replay yet.

    Not yet
  • ST8

    The AI returns a broken answer

    Seen in the workflow design. No recorded run to replay yet.

    Not yet

06Example

The example, in and out

Made-up data, written to show the steps; no recorded run stands behind it yet. Fernway is a made-up small software company, and its address ends in .example, so it cannot belong to a real business.

InputExample

Example on made-up data: a Fernway customer account with 90% of seats used, usage growing, an open P1 ticket and renewal in 45 days.

OutputExample

Fixed health score computed. Any AI adjustment capped at 15 points. Override applied: an open P1 within 60 days of renewal, so the account cannot show as healthy. Expansion flagged by rule. A play and a customer email draft for the account manager.

07Limits

When not to automate this

  • It does not predict churn as a fact. The score is fixed arithmetic plus a small capped adjustment.
  • It needs usage, ticket and renewal data together in one export.

08What you need

What you need to run it

Each connected tool and the access it needs
ToolAccess
Your CRM or analytics toolPost an account export to one webhook, or allow a weekly read
OpenRouterOne API key with a credit limit, for the notes and drafting steps
Google SheetsOptional: write a test log
Where it runs
In n8n, self-hosted or n8n cloud.
Model calls
Not counted from the workflow yet. It is counted before this page goes live.
Running costs
Yours, paid to each service directly. Scope in writing first. A quote before any build. No prices on the site yet.

How to adapt it

Changes we have made or tested on this workflow.

  1. 01Run it weekly on a schedule, or post a CRM export to its webhook.

What changed

  1. ContentFirst version, written from the 23 Oct 2026 catalog.

09FAQ

Questions people ask about it

Does AI decide the health score?

No. The score is fixed arithmetic out of 100 from seats, usage trend, support, NPS, champion, the last review meeting and renewal runway. AI may move it by at most 15 points, with a reason.

Can a risky renewal show as healthy?

No. An open P1 within 60 days of renewal, or a champion gone within 90 days, can never show as healthy.

Does it email customers?

No. It drafts the customer email for the account manager to review and send.

10Related

Stuck on your version of this workflow?

Bring the step that does not work. In 30 minutes you get a straight answer and the next step. If you would rather have it built, tell us your tools and the rules you already follow. Scope in writing first. A quote before any build. No prices on the site yet.