Sales ops · Pipeline hygiene
RelayB2B salesA morning pipeline check that nudges deal owners before the forecast call
Forecast calls go wrong when half the pipeline has a close date from last month. This playbook sets up a Relay that checks every open deal each morning, nudges the owner, and only edits the CRM when you allow it.
Valnora & Elric team6 min read
- Format
- Playbook
- Steps
- 7
- Solution
- Relay
- Parts used
- 6
Most forecast calls spend the first twenty minutes on hygiene: deals with close dates from last month, deals with no next step, deals nobody has touched in three weeks. Sales ops sends a reminder on Monday, half the team fixes their deals on Wednesday night, and the forecast is built on whatever is left.
This playbook sets up a Relay, an AI coworker with its own instructions and access, that does the checking every weekday morning and nudges each owner directly. It works with HubSpot or Salesforce. Names and figures below are illustrative.
Step 1: Agree the three checks
Write them down with sales leadership before building anything. A good starting set:
- No next step. An open deal past the first stage with an empty next step field.
- Stale close date. The close date is in the past and the deal is still open.
- No activity in 14 days. No logged call, email or meeting on the deal for 14 days.
Keep them few and plain. You can write each one as a rule in plain language, so the dashboard and the Relay use the same definition. Leave out anything that needs judgement, such as "amount looks too high".
Step 2: Create the Relay and its schedule
Start from a sales or operations specialization and edit the instructions. Give it a schedule trigger: cron at 08:00 in the team’s time zone, Monday to Friday. If a run is missed, the Relay catches up at the next opportunity rather than skipping the day.
On its allowlist, add only what it needs: the HubSpot or Salesforce connection to read deals, owners and activities, and Slack to message owners. Reads always run, so checking 300 deals needs no approval.
Step 3: Group the nudges by owner
The instructions matter more than the model here. Tell the Relay to:
- Group findings by deal owner, so each person gets one message.
- Name each deal, its stage and the exact issue, with the date that triggered it.
- Ask a question the owner can answer in one line.
- Skip any deal already nudged in the last two days unless it changed.
What the solution produces
Morning nudge to one deal owner (illustrative)
MessageMorning Arjun, three of your open deals need a look before Thursday’s forecast call.
Northwind Logistics · Proposal · close date 30 Sep has passed. Is it slipping to October or lost?
Halden Foods · Discovery · no activity logged since 22 Sep (20 days). Still live?
Kestrel Labs · Negotiation · no next step set. What is agreed with legal?
Reply here or update the deal. I check again tomorrow at 08:00.
Field fix proposed under Operate (illustrative)
Record- Deal
- Northwind Logistics · Proposal · owner Arjun
- Issue
- Close date 30 Sep is in the past
- Evidence
- Owner replied in Slack at 09:12: "pushed to end of October, they want a pilot first".
- Change
- Close date 30 Sep → 31 Oct. Next step set to "Pilot scope call".
- Not changed
- Stage, amount and probability stay as the owner set them.
Slack messages are write calls. Under Assist, each message waits for approval, so the sales ops lead approves the morning batch in one sitting for the first weeks. Email always needs an approval, whatever the autonomy level, so if some owners prefer email, those drafts wait too. Keep the recipient policy on internal only; the Relay has no reason to write outside the company.
Step 4: Log every finding
Relays read and query tables but do not write rows directly. Build a small workflow that takes a deal, owner and issue and writes or updates a row in a hygiene table: first seen, nudged on, resolved on. Add it to the Relay’s allowlist and mark it to run on its own, since it only writes to your own table.
Each morning the Relay runs the workflow for new findings and marks resolved ones. Every run is traced block by block in Logs.
The morning pipeline check
Relay · Pipeline hygiene
- 01Weekday scheduleCron at 08:00 in the sales team’s time zone, Monday to Friday.
- 02Open dealsReads open deals, owners, stages, close dates and last activity from HubSpot or Salesforce.
- 03Three hygiene checksNo next step, close date in the past, or no logged activity in 14 days.
- 04Nudge ownersOne grouped Slack message or email per owner. Slack waits for approval under Assist; email always does.
Workflow · Log and fix
- 05Hygiene log workflowRun by the Relay to write one row per finding to the hygiene table.
- 06Hygiene tableDeal, owner, issue, first seen, nudged on and resolved on.
- 07Pipeline hygiene panelOpen issues by owner and stage, and days each issue has been open.
Step 5: Show the backlog on a dashboard
Point a dashboard panel at the hygiene table: open issues by owner, by stage and by check, with how many days each has been open. Add it to the forecast call agenda. A scheduled report can send the same view to sales leadership as a PDF every Monday.
How to measure it
120 → 35
Open hygiene issues after three weeks
Illustrative, for a team of ten reps with about 300 open deals.
1 message
Nudges per owner per morning
Grouped, so a rep with five issues gets one message, not five.
Illustrative example. Figures show how the workflow is measured; they are not customer results.
Step 6: Move to Operate for safe field fixes only
After a few weeks, the pattern is clear: owners reply "pushed to end of October" in Slack and then forget to change the CRM. That is when Operate helps.
Under Operate, write calls run without waiting. Narrow what that means in the instructions: the Relay may update the close date and next step fields, and only when the owner said so in writing. Stage, amount and probability stay with the owner. Each change records the evidence it acted on, and every executed call goes to the audit log, so sales ops can see who changed what and why.
If a fix looks wrong, the kill switch pauses the Relay at once, and you can drop it back to Assist while you adjust the instructions. Under Observe, it still checks and reports but makes no writes at all, which is also a good way to trial it on a second team.
Controls and governance
Approvals before action
Relays never send email or book meetings without an approval, under any autonomy setting. An approval covers the exact payload the reviewer saw and expires if nobody decides.
Audit trail
Proposals, approvals, declines and executed actions are written to the workspace audit log, which admins can export.
Run logs
Every workflow run records each block’s inputs, outputs and errors, so a reviewer can trace how a result was reached.
Roles and permission groups
Admin, write and read roles per workspace, plus permission groups that limit which models, blocks and integrations a team can use.
Deployed versions
Workflows run from a deployed version, so a change is reviewed before it reaches production runs.
SSO and SCIM
Sign in through your identity provider with SAML 2.0 or OIDC, and provision people with SCIM.
More on how Agent Serve handles access, data and audit on the security page.
What to watch in the first month
- Nudge fatigue. If reps start ignoring messages, cut the checks to the two that matter most for the forecast.
- Owner mapping. A deal owner without a Slack match gets nothing. The Relay should list these to sales ops instead.
- Definition drift. If leadership changes "14 days" to "10 days", change the rule once so the panel and the Relay stay in step.
For coaching reps on the calls behind these deals, see sales call coaching with Agent Live. For keeping KPI definitions consistent across teams, see one definition per KPI.
Questions teams ask
Can the Relay move deals to Closed Lost?
Do not allow it. Keep stage, amount and probability out of the fields it may change, and tell it so in its instructions. Stage changes are a judgement call for the owner.
Does the Relay write to the hygiene table itself?
No. Relays read and query tables but do not write rows directly. The Relay runs an allowlisted workflow that writes the row.