Prerequisites: finish Capture and qualify. Then skim Loops & processing many records and Runs, debugging & publishing, so per-record cost and run history already make sense.By the end you can: stand up a scheduled sweep that flags and tasks drifted deals on its own, with no false positives and no manual cleanup.
The mental model
Hygiene runs on a clock, not on a click. A scheduled workflow fires on its own, finds the records that have drifted, and acts on them. But it only flags the deal and creates a task. It never auto-closes a deal. Holding that line keeps a false positive cheap. A deal flagged in error costs an owner one glance, not a lost record. Two things can go wrong, and each has a specific fix. The first is false positives, where the system flags deals that are actually fine. When that happens, people stop trusting it. So you tune the age threshold per stage instead of applying one global age to every deal. The second is runaway loop cost, where a sweep does far more work than expected. When that happens, finance stops trusting you. To prevent it, keep the Find records filter tight. Then cap the test run before you let the sweep loose on the whole pipeline. The cost depends on where the writes happen. Logic and lookup blocks are free. You spend nothing to find the records and step through them. Those free blocks are the Recurring schedule trigger, Find records, the Loop, and an If condition. You pay only on the branch that writes. That branch holds the Update record flag and the Create task for the owner. Putting those writes behind the condition is what keeps a quiet week cheap.Build the scheduled sweep
These steps build the path’s flagship sweep at lesson altitude. That is enough to grasp the shape and the credit math. The full configuration tables, variable mapping, and test plan live in the Challenge guide, Stale-deal sweep.1
Wake the workflow on a schedule
Add the Recurring schedule trigger and set it to run weekly, early on Monday, in the time zone your reps actually work in. Pick the team’s zone rather than the workspace default. For example, use
Europe/London for a team in Europe, the Middle East, and Africa (EMEA). That way “Monday morning” lands the same for everyone, and the sweep finishes before the pipeline review.2
Find only the open, owned deals
Add a Find records block on the Deals object and filter hard. Restrict it to open stages such as
Qualified, Proposal, and Negotiation. Require an Owner, and add a wide activity bound so you never pull the whole pipeline. A tight filter is your main defense against a loop credit blow-up. Every record it returns becomes one loop iteration.3
Cap the test run at five records
Set the Find records limit to
5 while you build. An untuned sweep over a four-thousand-deal pipeline can fire four thousand task writes in a single run. So you watch the credit math on five records first. Raise the limit only after a clean test, and keep the stage filter narrow.4
Loop over the matches
Add a Loop block and point it at the records from the find step. Inside the loop, the current deal appears as the loop’s
Current item, and the blocks inside the loop read from it. The loop itself is free, but what runs inside it is not. So every block that writes lives inside the loop, and the condition before it decides whether it runs.5
Gate on a stage-specific age
Inside the loop, work out a cutoff date that depends on the deal’s stage. Then add an If condition that continues only when the deal’s last interaction falls before that cutoff. A
Qualified deal idle for eight days is genuinely stale. Flagging a Proposal deal at the same age just trains reps to ignore the flag. Stage-specific thresholds are how you keep false positives near zero. A condition that stops a run is free.6
Flag the deal and task the owner
On the true branch only, add an Update record block to set a Needs review flag. Then add a Create task block assigned to the deal owner and linked to the deal. Name the deal and stage in the task text, such as
Stale deal review: Acme renewal (Proposal). That way the owner, Priya Sharma, opens straight into context. The flag write is idempotent, which means re-running it has no extra effect. Re-running the sweep on an already-flagged deal just re-sets the same value.7
Publish and watch the first runs
Use the Run test button to fire the trigger by hand instead of waiting for Monday. Then read the run in history to confirm the writes happened only on the stale branch. I check this weekly for the first month. A sweep that flags the wrong deals erodes trust faster than no sweep at all.
Each stale deal costs only the two writes on the true branch, the flag and the task. The schedule, find, loop, and condition stay free, and fresh deals cost nothing. For per-block credit amounts and your plan’s monthly allowance, see Credits & pricing explained rather than assuming a number from another page. Per-workflow credit caps were removed in the new engine. So the only lever that matters is keeping the stale count honest, with a tight filter and accurate per-stage thresholds.
Modules
Work these in order, or jump to the one that hurts most. Each is a complete, follow-along build you ship into your own workspace.Stale-deal sweep
Surface aging deals with a stage-specific age threshold, flag each and task the owner, and keep false positives at zero.
Dedupe on create
Catch duplicates the instant a record is created, not in a quarterly cleanup.
Daily renewal watch at 90, 60, and 30 days
Never miss a renewal: a daily watch fires owner tasks at three windows before the date.
Hand off closed-won deals to Customer Success
Hand off cleanly the moment a deal closes, so nothing falls between sales and onboarding.
Daily pipeline digest to Slack
Report without a standup, in one Slack post that spends no AI credits.