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

Lead Scoring: Marketing → Sales

Scores each new Zoho CRM lead from 0 to 90 on budget, urgency, company size and engagement, then routes it. Sales-ready leads alert sales, nurture leads alert marketing, incomplete leads are flagged, and the rest are recorded quietly.

TriggerNew or updated lead in Zoho CRM (polling)
Steps4 shared + 4 branches
ToolsZoho CRM · Formatter · Paths · Slack
Result7 of 7 live scenarios correct
All 7 builds
The Lead Scoring and MQL→SQL Handoff Zap in the Zapier editor
The Zap itself. Click to see all of it.

Not every raised hand deserves a call

An MQL has shown interest but isn’t ready to buy. An SQL has budget, urgency and the right size. Sending an MQL to sales wastes a call; leaving an SQL in a nurture sequence lets a hot prospect cool off.

This Zap catches the moment a lead crosses that line and routes it immediately, instead of at next week’s pipeline review.

Four fields, one number, four doors

FieldConditionPoints
Budget$20,000++30
Budget$5,000–$20,000+15
UrgencyReady this quarter+25
UrgencyEvaluating, 6 months+10
Company size200+ employees+20
Company size50–199+10
Company sizeUnder 50+5
EngagementDownloaded pricing or requested a demo+15

SQL · 65–90

Urgent Slack alert to sales, CRM updated.

MQL · 35–64

Keep-nurturing alert, CRM updated.

Unqualified · 0–34

CRM updated, no alert.

Needs More Info

Budget or urgency blank: never scored, flagged to marketing.

Every point value is a multiple of 5, so every score is too. That decided which exact boundary values to test.

One formula decides everything

1Zoho CRM triggerPollingNew or updated lead.
2Loop guardFilterLead Status is empty, or equals “Needs More Info”.
3ScoreFormatterOne spreadsheet-style formula, wrapped in a blank-field guard that returns −1.
4RoutePathsChecks only the score, never the raw fields.
5Each branchCRM + SlackUpdate status and score; Slack alert on three of four.

Step 3 · Formatter formula with the blank-field guard

IF(OR([Budget]="",[Urgency]=""), -1, <score formula>)
Full Zap canvas
A real run: the Needs More Info branch fires while the other three sit out.

Seven leads, seven outcomes

LeadScoreOutcomeWhat it proves
BrightPeak Retail90SQLMaximum score
Solvano Freight60MQL1,200 employees; also routed to Rep C by the Lead Router
Cascade Health Partners65SQLExact SQL threshold
Northline Logistics35MQLExact MQL threshold
Marrow Creative Studio30UnqualifiedOne step below MQL
Fernwood Design Co.5UnqualifiedMinimum score
Kettlewell Interiors—Needs More InfoMissing urgency, correctly not scored
Zoho record Cascade score 65 SQL
Cascade Health Partners: exactly 65, SQL.
Zoho record Northline score 35 MQL
Northline Logistics: exactly 35, MQL.
Slack MQL alert
The resulting alert in #sql-handoffs.

Three bugs, each traced from a real run

The checkbox that wasn’t true or false

A checked Engagement box scored 0. The formula compared against lowercase “true”; Zoho actually sends “True”. I found it by reading the resolved formula in a real run instead of guessing from the field type.

Read what the run actually received.

Resolved formula in run details
The resolved formula gave it away.
Corrected formula
Fixed: compare against “True”.

A routing rule I couldn’t inspect

A lead with blank urgency scored 25 and landed in Unqualified. The Paths rules looked right, but Zapier doesn’t show what a path rule saw at runtime. I moved blank detection into the formula, which returns −1, and made every path check only that number.

Move logic to a layer you can observe.

Wrong result: Unqualified
The wrong result, live: 25 and Unqualified.

A filter gap and a platform limit, from one test

Filling in Kettlewell’s urgency never re-scored it. First, the loop guard only allowed a blank status, and Kettlewell’s was already “Needs More Info”, so I widened it. Even then it didn’t fire: across the build, new-lead tests fired 6 of 6 and updated-lead tests 0 of 4. The instant trigger that fixes this needs a paid Zoho plan, so it’s documented as a limitation; the logic itself was confirmed by step-level tests.

Zoho timeline showing the edit
Zoho’s timeline: the edit is real; the Zap never saw it.

CRM naming collisions

Zoho reserves “Lead Score”

It belongs to Zoho’s own scoring feature, so the field became “Qualification Score”.

A leftover Blueprint on Lead Status

An inactive process from account setup was attached to the field; removed before reusing it for MQL/SQL.

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