Fruxon logo
Fruxon
Front Office

The account went quiet in March. Nobody noticed until November.

Health signals, QBR prep, renewal outreach — the account work that only gets done for the accounts somebody remembers. An agent watches every account on the same schedule and hands the at-risk ones to the CSM with the reasoning attached.

Why renewals slip

A CSM covering forty accounts is doing real work on eight of them.

Not through negligence — through arithmetic. The signals that predict a churn are spread across product usage, ticket volume, invoice history and the date of the last real conversation, and no one is reading four systems for forty accounts every week. So the review happens when the renewal date shows up in a report, which is the one moment when nothing can be done about it.

An account, on a schedule

What it does every week, for every account, whether or not anyone asks.

It reads the account across the systems that hold it

Product usage from your Postgres or BigQuery, ticket volume and sentiment from the helpdesk, invoice and payment history, the last logged touch in Salesforce or HubSpot. One run per account, on the same schedule, with no favourites.

It writes the read, not just the score

A health number nobody can interrogate gets ignored by the second month. It produces the QBR pack, the usage narrative and the draft outreach, each citing the query or the ticket it came from, so a CSM can disagree with it specifically.

It stops before it speaks for you

Anything that commits the company — a discount, a roadmap promise, a renewal term, telling a customer they're at risk — is a gated action. It drafts and waits rather than sending.

The at-risk accounts go to a person, with the case attached

Not a flag on a dashboard. The CSM or AE gets the account, what changed, which signal moved, and the draft — on Slack, in time to do something about it.

What that needs underneath

Coverage that doesn't depend on who remembered.

One run per account, each with its own trace

Collection Pipelines map an agent across a list — your account table, a CRM view, a spreadsheet — as one isolated run per row. Each carries its own history, latency and cost, so “what did it look at for this customer” has an answer.

Drafts, not sends

Renewal outreach, QBR decks and check-in emails arrive as drafts on the owner's channel. Approve, edit, or ignore. The agent's job is that the draft exists on Monday for all forty accounts, not that it goes out unread.

Cost and coverage per account

Tag each run with the account it served and get cost, error rate and p95 split per account, side by side. Useful for the review, and unusually useful if you run this on behalf of someone else's book of business.

When it isn't sure

It doesn't decide who gets a discount.

Commercial judgment is the part of this job that must stay with a person, and the agent is configured to know it. Pricing and term questions route to whoever owns pricing; a renewal that needs a concession stops and asks rather than drafting one. Everything upstream of that decision — the reading, the assembly, the evidence — is already done by the time the question reaches them.

Gated actions on anything that commits the company: discounts, terms, roadmap promises, at-risk outreach

Routed by expertise — pricing to the person who owns pricing, product questions to the person who owns the roadmap

The whole case travels with the ask, so the answer is one line rather than an hour of digging

Systems

Your CRM, your warehouse, your helpdesk, your billing.

Connect a system once for the whole organization and every agent can use it from then on — with credentials held at the org and referenced by name, never pasted into a prompt.

Slack

GitHub

Jira

Google Drive

Salesforce

MongoDB

Notion

Linear

Grafana

Discord

Google Chat

Confluence

PostgreSQL

HubSpot

Airtable

Shopify

Stripe

Datadog

Sentry

GCP

BigQuery

Slack

GitHub

Jira

Google Drive

Salesforce

MongoDB

Notion

Linear

Grafana

Discord

Google Chat

Confluence

PostgreSQL

HubSpot

Airtable

Shopify

Stripe

Datadog

Sentry

GCP

BigQuery

Google Calendar

Gmail

Mixpanel

Monday

MySQL

SAP

Zendesk

Zoho CRM

Google Maps

Google Ads

Coralogix

Telegram

Apollo

Mailchimp

Calendly

Redis

Supabase

GCP Logging

gVisor

Loops

Typeform

Google Calendar

Gmail

Mixpanel

Monday

MySQL

SAP

Zendesk

Zoho CRM

Google Maps

Google Ads

Coralogix

Telegram

Apollo

Mailchimp

Calendly

Redis

Supabase

GCP Logging

gVisor

Loops

Typeform

Don't see yours? Import tools from any MCP server or request an integration.

Renewal questions, answered plainly

Mostly about what it's allowed to say to a customer.

Only if you let it, and most teams don't at first. The default posture for this job is draft-and-hand-over: it writes the outreach and puts it in front of the account owner. Sending is a separate permission you grant per action.

No. A score is one number and this produces the reading behind it — which query moved, which tickets, which invoice — because the CSM has to act on the reasoning, not the number. If you already have a health score, the agent can read it as one more signal.

You tell it, in the same documents your team already uses, and it asks when a case doesn't fit them. The first month of escalations is effectively an interview about how your team actually judges an account.

It'll say so. A run that can't reach a signal reports the gap rather than scoring around it, and a malformed record fails on its own instead of taking the batch down.

Build the agent. We'll run the rest.