Thursday, 4 pm. The forecast call is tomorrow at 9. Your CRM shows 2.6 million in open pipeline against 1.5 million of quota left, which looks comfortable until you notice that the two biggest-value problems are a 900,000 deal whose close date has already passed and a 600,000 deal nobody has touched in a month. Nobody lied. Nobody updated either. AI prompts for sales ops are most useful in exactly this gap: reading an export faster than you can, listing what looks wrong, and drafting the questions for each rep. They are least useful when you ask the model to be the source of a number.
This pack keeps one rule. Rules and arithmetic come from you; the model reads, flags, and drafts. These are untested templates, I haven't run them on a live CRM, and the examples are invented. The arithmetic in the worked example was run with a short script, and I paste its real output below. For the rep's side of the same pipeline, see prompts for sales reps. For post-sale accounts, see prompts for customer success managers.
How do I run a CRM hygiene audit with AI?
Start by writing down what "clean" means, in testable rules. A model cannot enforce a standard you haven't stated, and "keep the CRM tidy" is not one. Here is a prompt that takes an export and applies your rules.
You are helping a sales operations analyst audit a CRM export.
TODAY: [DATE]
HYGIENE RULES (apply exactly, do not invent others):
1. Close date must not be in the past for an open deal.
2. An open deal needs a logged activity in the last [N] days.
3. Every open deal needs a next step that names an action and a date.
"Follow up", "check in" and "TBD" do not count.
4. Stage must be supported by the last activity (see STAGE EVIDENCE).
5. Amount must be present and above zero.
STAGE EVIDENCE (what must have happened to be in each stage):
- Discovery: [e.g. first call held]
- Proposal: [e.g. proposal sent, with date]
- Negotiation: [e.g. pricing or contract under discussion with the buyer]
DATA (CSV, one row per open deal; columns: id, owner, stage, amount,
close_date, last_activity_date, next_step, last_activity_note):
[PASTE]
OUTPUT:
1. A table: deal id, owner, rule(s) broken, the exact field value that
broke it.
2. Count of deals broken per rule, and per owner.
3. For stage-evidence flags only: quote the last_activity_note and say
what is missing. If the note is empty, write NO EVIDENCE.
RULES:
- Use only the CSV. Do not guess at missing values.
- Do not recommend closing, deleting or merging anything. List only.
- Do not compute totals or percentages; I will do that.
The "do not compute" line is deliberate. Counts per rule are fine, but money totals belong to your spreadsheet. If your export is large, split it into batches of a few hundred rows and merge the results yourself, because long tables are where models start skipping rows.
Check the model with a script that knows the rules
A second opinion is cheap here. The rules above are mechanical, so you can encode them and compare. Here is the shape of the check I ran on six invented deals (stale threshold 21 days, today 9 Oct 2026):
Open deals: 6 Total: 2600000 CRM-weighted: 1640000
Coverage vs remaining quota 1500000: 1.73x unweighted
D-102 Negotiation 900000 close date 14d in the past; no activity for 27d; no next step
D-104 Proposal 600000 no activity for 29d; next step too vague to test
D-106 Discovery 150000 close date 7d in the past; no next step
Value on flagged deals: 1650000 (63% of open pipeline)
Weighted value on unflagged deals only: 530000
That output is from invented data; it's not a benchmark for any real pipeline. What it shows is useful anyway. The CRM's own stage-weighted number says 1.64 million. Strip out the three deals that fail basic hygiene and the weighted value drops to 530,000. That gap is the argument to make at the forecast call, and a model should not be the one producing it.
How do I prepare a pipeline review that isn't a status recital?
Pipeline reviews go wrong when managers ask every rep to narrate every deal. Use the model to shrink the agenda to the deals where the data and the story disagree.
Prepare a pipeline review agenda for [TEAM] for [WEEK].
INPUTS:
- Hygiene audit results (from my script, already computed): [PASTE]
- Deals with a close date that moved more than once this quarter,
with the history: [PASTE or NONE]
- Deals above [AMOUNT] regardless of flags: [LIST]
- Deal notes written by reps (verbatim): [PASTE]
OUTPUT:
1. At most 8 deals to discuss, ordered by value flagged. For each:
- Why it is on the list (quote the field or note).
- Two questions for the rep that can be answered with a fact,
a date or a name. No "how are you feeling about this deal".
- What would change my view (the evidence that would move it up
or down).
2. Deals NOT on the list and the one-line reason, so the team knows
they were considered.
3. Single-threaded deals (only one contact in the notes) and any deal
with no economic buyer named.
RULES:
- Do not rate deals as likely or unlikely to close.
- Do not use win-rate benchmarks or "industry average" claims.
- If the notes contradict the CRM stage, say so and quote both.
The questions are the useful part. "What is the date of the next call with the buyer, and who is on it?" gets an answer. "What's the risk?" gets "pricing, probably".
Keep a record of questions that surfaced real problems and feed them back as examples next quarter. That's where your own team's patterns live, and it beats any generic list.
How do I draft forecast commentary I can defend?
Forecast commentary fails in two ways: it repeats the number, or it explains the number with a confidence the data doesn't have. Give the model your figures and ask it to separate what is known from what is assumed.
Write forecast commentary for [PERIOD] for [AUDIENCE: sales leadership].
FIGURES (computed by me; do not recalculate or round differently):
- Quota remaining: [X]
- Commit: [X] (definition: [YOUR DEFINITION])
- Best case: [X] (definition: [YOUR DEFINITION])
- Open pipeline total and weighted: [X] / [X]
- Deals that moved out of the period this week, with amounts: [LIST]
- Deals pulled in, with amounts: [LIST]
DEFINITIONS section from last quarter's forecast (so wording is
consistent): [PASTE OR NONE]
Produce:
1. Three sentences of commentary: what changed since last week, the
biggest single swing, the biggest unknown.
2. A list headed "Assumptions in this forecast" with each assumption
marked CONFIRMED (with source) or UNCONFIRMED.
3. A list headed "What would make this number wrong", each item tied
to a named deal or event in my inputs.
RULES:
- No probability of hitting quota. No "likely" or "unlikely".
- Do not describe any customer's intent. Quote the notes if needed.
- If a definition is missing, write [MISSING: definition of commit].
Write your commit and best-case definitions down once and keep them stable. Changing the meaning of "commit" mid-quarter makes week-on-week comparisons meaningless, and a model will happily write fluent commentary over the top of that.
Can AI standardise rep notes and next steps?
Yes, as a suggestion tool. Reps write notes in their own style, and the CRM ends up with entries like "spoke to him, going well". Ask the model to propose a structured version, but make the rep approve it.
Rewrite this rep note into the team's note format. Do not add facts.
FORMAT:
- Who was present (names and roles, only if stated)
- What the buyer said about problem, budget, timeline, decision process
(quote, or write NOT DISCUSSED)
- What we agreed (action, owner, date, only if stated)
- Next step: action and date, or NO NEXT STEP
NOTE:
[PASTE]
If the note is too vague to fill a field, write NOT DISCUSSED instead of
guessing, and list the questions the rep should answer.
"NOT DISCUSSED" is a useful thing to put on a rep's screen. It shows which deals have gone three calls without anyone asking about budget.
A worked example (illustrative)
An invented scenario to show the output shape, not a real run. Using the six invented deals above, you paste the audit results into the pipeline review prompt along with these rep notes: for D-102, "Procurement said they will revert". For D-104, "Sent proposal, following up". For D-106, "Demo done, waiting".
What a good agenda looks like (shape):
1. D-102 (Negotiation, 900000). On the list because: close date 14 days
past, no activity in 27 days, next step empty. Note says "Procurement
said they will revert" but no date for when.
Ask the rep: (1) What date did procurement say they would revert, and
who told you? (2) Who is the economic buyer and when did you last
speak to them?
What would change my view: a dated reply from procurement, or a call
booked with the buyer.
2. D-104 (Proposal, 600000). No activity for 29 days; next step is "Follow
up". Ask: What exact date was the proposal sent, and what was the last
thing the buyer replied?
3. D-106 (Discovery, 150000). Close date 7 days past, no next step. Note
says "waiting" with no named person or date. Ask: Waiting for whom,
for what?
Not on list: D-101, D-103, D-105 (no flags; next steps dated).
The model hasn't said which deals will close. It has said which ones can't currently be defended. Whether D-102 is real is the rep's call, and you'll know after the call.
Failure modes to check for
| What goes wrong | Why | What to do |
|---|---|---|
| Wrong totals | Models slip on long columns | Compute in a sheet or script; paste results |
| Rows silently skipped | Large pastes get summarised | Batch the export; compare row counts |
| Invented rules | Model adds its own "best practices" | State rules; say "do not invent others" |
| Stage judged on tone | Notes read warm, so it infers progress | Require quoted evidence for stage |
| Fake benchmarks | "Typical win rate is 20%" | Ban benchmarks in the rules |
| Pasted customer data | Names and contacts in a chat | Codes, minimal fields, approved tools only |
| Bulk edits from the chat | List treated as an instruction | Output lists only; humans approve changes |
What not to automate
- The forecast number. Commit and best case are accountability, and a person owns them.
- Deletes and merges. Changing CRM history affects reporting; review each batch.
- Judging a rep. Hygiene flags are about data. Performance conversations need your words.
- Definitions. What counts as commit, stage entry or a qualified deal is a decision for the team, not a prompt.
- Customer data in unapproved tools. Strip fields, use codes, or run the check locally. The PII redaction post shows one way to do the stripping, and the AI use policy template helps you decide what is allowed.
If you want the model to follow rules rather than improvise, the lesson on avoiding hallucinations explains why "use only these facts" works, and giving context covers what to put in the inputs. For spreadsheet-based checks, spreadsheets vs Python with AI helps you pick the tool, and the prompt library has a status report template you can adapt for weekly pipeline notes.



