Zapier CRM Series
Zapier CRM Series · 01 / 07Live-testedRun on real accounts with sample data

Lead Router

Reads a new lead’s region and company size, then assigns it: round-robin within two territories, an enterprise override, and a fallback for anything it can’t place. The result is written back to Zoho CRM and posted to the right Slack channel.

TriggerNew or updated lead in Zoho CRM (instant)
Steps21
ToolsZoho CRM · Zapier Tables · Formatter · Paths · Slack
BuiltAug – Sep 2026
All 7 builds
The Lead Router Zap in the Zapier editor
The Zap itself. Click to see all of it.

Leads wait while nobody hands them out

When routing is manual, a manager eyeballs a spreadsheet or reps grab whatever is newest. Leads sit, follow-up slows, and busy reps end up with more than their share.

This Zap removes that step. The moment a lead lands in Zoho CRM it reads two fields, Region and No. of Employees, decides who owns the lead, writes that into an Assigned Rep field and notifies the right channel.

Four paths, no overlaps

RouteConditionAssigned toSlack
EnterpriseMore than 1,000 employees, any regionRep C, every time#rep-c-enterprise
WestRegion = West, 1,000 or fewerAlternates Rep A1 / A2#rep-a-leads
EastRegion = East, 1,000 or fewerAlternates Rep B1 / B2#rep-b-leads
FallbackAny other region, or blank“Unassigned”#unassigned-fallback

Each condition explicitly excludes the others, so overlap is impossible whatever order Zapier evaluates the paths in.

Trigger, guard, split

1Zoho CRM triggerInstantNew/Updated Module Entry on Leads. There is no trigger literally called “Updated Lead”; this generic one is the real answer.
2Loop guardFilterContinue only if Assigned Rep is empty. Without it, the Zap’s own write-back would trigger it again.
3Paths4 branchesEnterprise, West, East, Fallback.
4Round-robin branches5 steps eachRead whose turn it is from Zapier Tables, assign that rep, flip the value with a Formatter lookup, save it back, post to Slack.
5Enterprise and Fallback2 steps eachUpdate the lead, post to Slack.
Zapier Tables RoundRobinState table
RoundRobinState: one row per territory, tracking whose turn is next.
Formatter lookup table flipping reps
The flip: a Formatter lookup table swaps A1 for A2 and back.

Six real leads, one per edge case

Created one at a time in Zoho’s UI, because bulk imports don’t reliably fire instant triggers. Two per territory prove the rotation persists between runs.

CaseLeadResult
West, twiceTwo West leadsRep A1, then Rep A2
East, twiceIncluding Kettlewell InteriorsRep B1, then Rep B2
Enterprise overrideOmnicore Global Industries, 15,000 employees, WestRep C, regardless of region
FallbackSilverline Ventures, Region “Central”Unassigned, flagged in Slack
Slack rep-a-leads channel alternating reps
#rep-a-leads: West leads alternating between A1 and A2.
Slack enterprise channel message
#rep-c-enterprise: a 1,200-employee lead goes straight to Rep C.
Slack fallback channel
#unassigned-fallback: a lead with an unrecognized region.
Zoho CRM lead record with Assigned Rep set
Kettlewell Interiors after routing: Region East, Assigned Rep B2.

What actually tripped me up

A picklist’s options and its stored data are different things

The Region dropdown only offered “option1” and “option2”, even though the imported leads already had West and East stored correctly. The field’s list of choices hadn’t been populated. Editing the picklist fixed it; the data was never broken.

A trigger that watches updates reacts to its own writes

Writing Assigned Rep back onto the lead counts as an update, which the trigger also watches. A filter right after the trigger lets through only leads that haven’t been routed yet.

Every write is a potential trigger.

Filter: Assigned Rep does not exist
The loop guard, tested on a lead with Assigned Rep still empty.

Round-robin needs memory Zapier doesn’t have

Every run starts fresh. A two-row Zapier Table holds whose turn is next, and each run reads it, uses it, flips it and saves it.

One branch was quietly missing a step

West, East and Fallback each ended with a Slack post. Enterprise didn’t. I caught it while auditing the build for this write-up, not by testing.

Audit the build, not just the results.

Publish silently disabled

The Publish button greyed out with no error until a banner explained the Zap was open in a second tab. Closing the tab fixed it.

Copied text kept its old wording

The East branch’s Slack message said “New West lead”, copied from the West branch. Caught by reading the actual test output.

TaskFlow and every company and person shown are fictional mock data. Built on Zoho CRM Free, Slack and a Zapier Professional trial; the Zaps are switched off now the trial has ended, and every screenshot comes from the real Zapier, Zoho and Slack accounts.

All work

Hiring, or have a process to automate?

Let’s talk.

Send a few lines about the role, or what keeps slipping through.

Write to me

ralphmatthewmarty@gmail.com

Or message me

WhatsApp +63 919 947 0840

Or connect

LinkedIn

Replies within one business day · UTC+8

Good to know

Based in

Central Luzon, PH (UTC+8)

Looking for

Full-time remote roles; contract too

Works

Remote; hybrid or on-site in the Philippines