Pipeline Hygiene Agent
Finds the dead deals your forecast is still counting
- 8hard rules
- Things it must never do, enforced in every run
- 5handover rules
- Conditions where it stops and gives the work to a person
- 12output fields
- A structured result, not a paragraph you have to re-read
- ≤6steps per run
- Bounded work: at most 4 tool calls, enforced by the runtime
Read-only by design. This agent has no path to sending, spending, publishing or committing anything. Where that limit is the product, removing it would remove the reason to trust the output.
Overview
Every sales forecast is built from a pipeline nobody has cleaned, and the distortion runs one way: optimistic. Deals that died months ago sit open at 60% because closing them as lost is an admission and moving the date is free. A rep with a quarter to save pushes six close dates into the last week, and the forecast dutifully adds them up.
The signals that a deal is dead are not in the deal record — they are in the absence of things. No meeting in seven weeks. No reply to the last three emails. The champion's title changed. Nothing has moved except the close date, which has moved four times. Every one of those is a fact the CRM already holds and no forecast report looks at.
This agent reads for those signals and reports two numbers side by side: the forecast as submitted, and the forecast with the deals that show no sign of life removed. The gap between them is the conversation.
It edits nothing. A tool that silently closes a rep's opportunities gets switched off within a week, and it deserves to — the rep may know something the CRM does not. It gives the sales leader the list and the question to ask.
Benefits
A forecast you can commit to
Because you know what it is standing on.
Coaching conversations with evidence
Specific deals and specific facts, not a feeling.
Time back on the living deals
Which is what the dead ones are costing.
What it does
Reads the silence, not the stage
A deal at 'Negotiation' with no contact in seven weeks is not at negotiation. The stage field is the last thing to be updated.
Counts how often the date has moved
A close date pushed four times is the single strongest signal in a CRM, and no report shows it.
Two forecasts, side by side
As submitted, and with the deals showing no sign of life removed. The gap is the conversation.
Flags the departed champion
The contact who changed role or left. The deal usually died that day and nobody recorded it.
Finds quarter-end bunching
Six deals landing in the last week of the quarter is a pattern, not a coincidence.
Edits nothing
It never closes, restages or reweights a deal. The rep may know something the CRM does not, and the question belongs to a person.
What this changes
What this changes about your week
- It takes over
- Testing whether the deals behind a forecast are still alive.
- Done today by
- A sales leader, from memory, on the forecast call.
- How often
- Weekly, and it decides the number reported to the board.
- Typical manual effort
- Every deal needs its activity history read, not its stage field.
Why Sales in particular. The signals a deal has died are absences — no reply, no movement, a close date pushed four times. Forecasting tools compute a number from the pipeline; none of them question the pipeline.
Runs unattended
Started by you or by an event, and it finishes on its own. Nothing waits for someone to be at a desk.
The same standard every time
The two-hundredth item is held to the bar the first one was. Consistency is the part people cannot sustain.
It cannot act on its own
Pipeline Hygiene Agent has no path to sending, spending or committing. That limit is why its output is safe to act on.
How it runs
This agent runs server-side through the PROMIVO runtime. Each run is logged step by step and every tool call is permission-checked before it executes.
- 1InputValidated against the agent input schema
- 2Modelclaude-sonnet-5 with automatic fallback
- 3Toolsextract_structured_data
- 4PermissionsRuns READ actions automatically; anything higher waits for approval
- 5OutputStructured result matching the output schema
- 6LoggingTokens, duration and every step recorded
Demo
Demo dataIllustrative sample output, abridged.
Input
{
"deals": [],
"currency": "USD",
"periodEnds": "2026-09-30",
"silenceThresholdDays": 30
}Output
{
"gap": 1130000,
"bunching": "9 deals worth 1.2m close in the final 4 days of the quarter. Last quarter, 2 of 8 deals dated that way actually closed in the period.",
"escalate": true,
"disclaimer": "An analysis of your own CRM records against the rule stated above. No deal has been changed, nobody has been contacted, no deal is declared lost, and the second forecast is the same pipeline with stated exclusions rather than a more accurate prediction.",
"championRisk": [
"OPP-4380: the named champion's title changed in June. The deal has not moved since. Worth one call before it is forecast again."
],
"noSignOfLife": [
{
"stage": "Negotiation",
"value": 340000,
"account": "Harbour Logistics",
"reference": "OPP-4412",
"askTheOwner": "Who replied last, and when? The stage says negotiation and nobody there has answered an email since July.",
"closeDateChanges": 4,
"daysSinceInboundReply": 51
}
],
"escalationReason": "40% of forecast value sits in deals showing no sign of life, and one deal above materiality has had its close date moved four times.",
"signalsNotChecked": [
"Meeting history is missing for 14 deals, so silence was assessed on email reply alone for those."
],
"classificationRule": "No inbound reply for 30+ days, or no stage movement for 45+ days with the close date pushed more than twice.",
"forecastAsSubmitted": 2840000,
"coachingObservations": [
"Across one owner's deals, close dates have moved an average of 2.8 times. Evidence for a conversation about how dates are set, not a conclusion about the person."
],
"forecastExcludingSilent": 1710000
}Requirements
Integrations
No integrations required.
Before you start
- Open deals: value, stage, close date and its history, owner
- Last activity per deal — meetings, emails, replies
- Contact roles, where you track them
- Requires the All-Access plan or higher
Use cases
Before the forecast call
What the number rests on, deal by deal.
Quarter-end review
Which commits are real and which are hope.
A new sales leader
The state of the pipeline you just inherited.
Board reporting
A number with its assumptions stated.
Pricing
All-Access
Billed monthly through your PROMIVO subscription. Cancel at any time.
Runs consume your plan allowance for agent executions and tokens. See plan limits
FAQ
Will it close or change deals?
No, and it must not. A rep often knows something the CRM does not — a procurement freeze, a conversation off-system. It reports; the rep answers; the leader decides.
Does it judge individual reps?
It reports on deals, not on people. Where a pattern appears across one person's deals it says so as a coaching observation with the evidence, and never as a performance conclusion.
What if our CRM data is thin?
It says which signals it could not check rather than filling the gaps. A confident answer built on missing data is worse than no answer.
Reviews
Reviews open once customers have run this agent.
Need this agent to work differently?
Tell us what to change and our team will scope a customised version for your business.
Customize this agent