Zapier CRM Series
Seven Zapier automations for one fictional B2B sales team, from the first lead to keeping customers. Built for ₱0 on Zoho CRM Free, Slack and a Zapier trial, and each one tested live against records I created in the CRM.
The builds, in pipeline order
Lead to customer
Lead Router
Round-robin and territory routing, with a guard that stops the Zap re-triggering itself.
Lead Scoring: Marketing → Sales
A 0–90 score from four fields, routed four ways, and incomplete leads flagged instead of scored.
Stalled Deal Detector
A daily scan of every open deal with stage-specific nudge and escalation thresholds.
Client Onboarding
Closed Won triggers a team post, a Slack checklist and a welcome email, two ways.
Weekly Pipeline Report
Raw and weighted pipeline by stage, logged to Sheets and posted to Slack every Monday.
Customer Health & Churn Alerts
Usage, tickets and payment status combined into one 0–100 score with three risk tiers.
Two-CRM Contact Sync
Two one-way Zaps that sync both directions without looping, after three designs.
Across the series
What seven builds taught me
Every write is a potential trigger
Loop prevention came up four times, solved four ways: an empty-field filter, a widened status filter, a sheet write-back guard, and a timestamp window.
Zapier’s search returns one record
Getting every deal meant calling Zoho’s API directly, then reshaping the response into parallel arrays so Looping could handle it.
Test the boundary
Scores of exactly 35, 65 and 70, deals at exactly 10 and 14 days. That’s where off-by-one mistakes show up.
Free plans have walls; most have doors
Zoho Free can’t add fields, so I repurposed existing ones. Where a limit was real, like polling triggers, I documented it.
Show 2 moreHide them
Fix time at the source
Three builds hit timezone bugs. Each was fixed in the account or format settings, not with an extra conversion step.
Read the run, not the summary
Most root causes came from opening a step’s real input and output: a “True” instead of “true”, a count instead of a flag, a stale sample.
Amounts appear in ₱ because that’s the CRM’s currency setting; the lead-scoring budget ranges were defined in $. The Zaps are switched off now the trial has ended; every screenshot comes from the real Zapier, Zoho and Slack accounts.
Hiring, or have a process to automate?