

How to Send Zoho CRM Leads to Slack with Zapier
When a new lead is created in Zoho CRM, Zapier automatically posts a formatted notification to a designated Slack channel so your sales team can respond immediately.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Small to mid-size sales teams who add leads manually or via web forms into Zoho CRM and need instant Slack alerts without writing code.
Not ideal for
Teams processing 500+ new leads per month — Make handles the same flow for free and Zapier's task count will push you to a paid plan fast.
Sync type
real-timeUse case type
notificationReal-World Example
A 12-person SaaS sales team captures inbound demo requests directly into Zoho CRM. Before this automation, reps refreshed CRM views manually 4-5 times a day and routinely missed new leads for 2-3 hours. Now, every new lead triggers a Slack message in #new-leads within 2 minutes, showing the lead's name, company, phone, and source so any available rep can claim and call immediately.
What Will This Cost?
Drag the slider to your expected monthly volume.
Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.





Prices shown for annual billing. Based on published pricing as of April 2026.
Estimated ROI
1000
min saved/mo
$583
labor value/mo
Free
no platform cost
Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.
Implementation
Before You Start
Make sure you have everything ready.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Last Name | Last_Name | |
| Company | Company | |
Email | ||
7 optional fields▸ show
| First Name | First_Name |
| Phone | Phone |
| Lead Source | Lead_Source |
| Lead Owner Name | Owner |
| Lead Status | Lead_Status |
| Created Time | Created_Time |
| Lead ID | id |
Step-by-Step Setup
zapier.com > Dashboard > Create Zap
Create a new Zap
Log into your Zapier account at zapier.com. Click the orange 'Create Zap' button in the top-left sidebar. This opens the Zap editor, which shows a two-panel layout: the left panel lists your steps, and the right panel shows the configuration for the currently selected step. You'll start with the trigger step already selected.
- 1Go to zapier.com and sign in
- 2Click 'Create Zap' in the left sidebar
- 3Confirm the editor opens with 'Trigger' as Step 1 on the left panel
Zap Editor > Trigger > App & Event
Set Zoho CRM as the trigger app
In the right panel, type 'Zoho CRM' into the app search box. Click the Zoho CRM logo when it appears — it shows an orange icon with a 'Z'. Zapier will then show you a list of available trigger events for Zoho CRM. You need to pick the event that fires when a new lead record is created.
- 1Type 'Zoho CRM' in the 'Search for apps' field
- 2Click the Zoho CRM option with the orange icon
- 3Under 'Trigger Event', select 'New Lead'
- 4Click 'Continue'
Zap Editor > Trigger > Account > Sign in to Zoho CRM
Connect your Zoho CRM account
Click 'Sign in to Zoho CRM'. A popup window opens asking for your Zoho credentials. After you log in, Zoho will show an OAuth permissions screen listing what Zapier is requesting access to — this includes reading CRM records. Click 'Accept' to grant access. The popup closes and Zapier shows your connected account in a dropdown.
- 1Click 'Sign in to Zoho CRM'
- 2Enter your Zoho email and password in the popup
- 3Click 'Accept' on the Zoho OAuth permissions screen
- 4Select your newly connected account from the dropdown
- 5Click 'Continue'
Zap Editor > Trigger > Configure
Configure the Zoho CRM trigger
The 'Configure' tab for the Zoho CRM trigger may offer optional filter fields like 'Lead Source'. For most teams, leave these blank — Zapier will fire on every new lead regardless of source. If you only want to notify on leads from a specific source (e.g., 'Web Form'), enter that value here. Click 'Continue' when done.
- 1Leave 'Lead Source' blank to capture all new leads, or type a specific source to filter
- 2Click 'Continue'
Zap Editor > Trigger > Test
Test the Zoho CRM trigger
Click 'Test trigger'. Zapier polls your Zoho CRM account and pulls the three most recently created leads. You'll see a list of records in the right panel, each showing fields like First Name, Last Name, Company, Email, Phone, and Lead Source. Click on any record to expand and verify the data looks correct. Select the record you want to use as your test sample.
- 1Click 'Test trigger'
- 2Wait 5-10 seconds for Zapier to pull records from Zoho CRM
- 3Click on a returned lead record to expand its fields
- 4Confirm fields like 'Last Name', 'Company', 'Email', and 'Phone' contain real data
- 5Click 'Continue with selected record'
Zap Editor > Action > App & Event
Add a Slack action step
Click the '+' button below the trigger step in the left panel to add an action. In the right panel, search for 'Slack' and click the Slack app with the multicolor hashtag icon. You'll then choose the action event — what Zapier does in Slack when the trigger fires. For channel notifications, you want 'Send Channel Message'.
- 1Click the '+' icon below Step 1 in the left panel
- 2Type 'Slack' in the app search box
- 3Click the Slack app with the multicolor icon
- 4Under 'Action Event', select 'Send Channel Message'
- 5Click 'Continue'
Zap Editor > Action > Account > Sign in to Slack
Connect your Slack workspace
Click 'Sign in to Slack'. A popup opens where you select your Slack workspace from a dropdown or type your workspace URL. After selecting the workspace, click 'Allow' to grant Zapier permission to post messages. You need to be a Slack member with permission to add apps — workspace owners may need to approve this in Slack's App Directory settings.
- 1Click 'Sign in to Slack'
- 2Select your workspace from the dropdown or enter your workspace URL
- 3Click 'Allow' on the Slack permissions screen
- 4Select your connected workspace from the account dropdown
- 5Click 'Continue'
Zap Editor > Action > Configure > Channel + Message Text
Configure the Slack message
In the 'Configure' tab, set the Channel field to the Slack channel where lead alerts should post — type '#' and the channel name (e.g., #new-leads) or select it from the dropdown. In the 'Message Text' field, compose your notification using dynamic fields from the Zoho CRM trigger. Click the purple lightning bolt icon inside any text field to insert a dynamic value from the lead record. Build a message that includes the lead's name, company, phone, email, and source.
- 1Click the 'Channel' field and select your target channel (e.g., #new-leads)
- 2Click inside the 'Message Text' field
- 3Type '🔔 New Lead: ' then click the lightning bolt icon and select 'First Name' from Zoho CRM
- 4Continue building: add 'Last Name', 'Company', 'Email', 'Phone', and 'Lead Source' on separate lines
- 5Optionally set 'Bot Name' to 'Lead Alerts' and upload a custom icon emoji like ':bell:'
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}Zap Editor > Action > Configure > Advanced Options
Set message formatting options
Scroll down in the Configure tab to find optional fields. Set 'Send as Bot' to 'Yes' so the message appears from your named bot rather than your personal Slack account. You can also enable 'Link Names' to make @mentions clickable and set 'Markdown' to 'Yes' if you want to use bold or italic formatting in your message text. These are optional but make the Slack notification easier to read at a glance.
- 1Set 'Send as Bot' to 'Yes'
- 2Set 'Bot Name' to 'Lead Alerts' or your preferred label
- 3Set 'Markdown' to 'Yes' if your message uses *bold* or _italic_ formatting
- 4Click 'Continue'
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}Zap Editor > Action > Test
Test the Slack action
Click 'Test action'. Zapier sends a real message to your chosen Slack channel using the sample lead data pulled in Step 5. Open Slack immediately and navigate to the channel — you should see the test notification posted within 10-15 seconds. Verify all the fields display correctly: name, company, email, phone, and source. If anything looks wrong (wrong channel, missing field, raw ID instead of a name), go back to Step 8 and fix the configuration.
- 1Click 'Test action'
- 2Open Slack and navigate to your target channel
- 3Confirm the test message appears with correct lead data
- 4If the message looks correct, click 'Continue'
Zap Editor > Publish Zap > Name your Zap
Turn on the Zap
Click 'Publish Zap' in the top-right corner of the editor. Zapier will ask you to name the Zap — use something descriptive like 'Zoho CRM New Lead → Slack #new-leads'. Once published, the Zap status toggles to 'On' (shown as a green switch). Zapier will now poll your Zoho CRM account every 1-15 minutes depending on your plan, and post a Slack message for each new lead it finds.
- 1Click 'Publish Zap' in the top-right corner
- 2Enter a descriptive name: 'Zoho CRM New Lead → Slack #new-leads'
- 3Confirm the Zap status shows a green 'On' toggle
- 4Navigate to My Zaps to confirm it appears in your active Zaps list
This Code by Zapier step formats the Zoho CRM lead record into a Slack Block Kit message — structured cards with bold labels, clickable email links, and a direct CRM link — instead of a plain text wall. Add a 'Code by Zapier' action between the trigger and Slack action, select 'Run JavaScript', paste this code, then use the output fields in your Slack 'Send Channel Message' action's 'Blocks' field instead of 'Message Text'.
JavaScript — Code Step// Code by Zapier — Run JavaScript▸ Show code
// Code by Zapier — Run JavaScript // Input data from Zoho CRM trigger (set these in the Input Data section above the code) // inputData keys: firstName, lastName, company, email, phone, leadSource, ownerName, createdTime, leadId
... expand to see full code
// Code by Zapier — Run JavaScript
// Input data from Zoho CRM trigger (set these in the Input Data section above the code)
// inputData keys: firstName, lastName, company, email, phone, leadSource, ownerName, createdTime, leadId
const firstName = inputData.firstName || '';
const lastName = inputData.lastName || 'Unknown';
const company = inputData.company || 'No company';
const email = inputData.email || '';
const phone = inputData.phone || 'Not provided';
const leadSource = inputData.leadSource || 'Unknown';
const ownerName = inputData.ownerName || 'Unassigned';
const leadId = inputData.leadId || '';
const createdTime = inputData.createdTime ? new Date(inputData.createdTime).toLocaleString('en-US', {dateStyle:'medium', timeStyle:'short'}) : 'Unknown';
// Build Zoho CRM direct link
const crmLink = leadId ? `https://crm.zoho.com/crm/org/leads/${leadId}` : null;
// Slack Block Kit payload
const blocks = [
{
type: 'header',
text: { type: 'plain_text', text: `\uD83D\uDD14 New Lead: ${firstName} ${lastName}`, emoji: true }
},
{
type: 'section',
fields: [
{ type: 'mrkdwn', text: `*Company:*\n${company}` },
{ type: 'mrkdwn', text: `*Source:*\n${leadSource}` },
{ type: 'mrkdwn', text: `*Email:*\n<mailto:${email}|${email}>` },
{ type: 'mrkdwn', text: `*Phone:*\n${phone}` },
{ type: 'mrkdwn', text: `*Owner:*\n${ownerName}` },
{ type: 'mrkdwn', text: `*Created:*\n${createdTime}` }
]
},
crmLink ? {
type: 'actions',
elements: [{
type: 'button',
text: { type: 'plain_text', text: 'View in Zoho CRM', emoji: true },
url: crmLink,
style: 'primary'
}]
} : null
].filter(Boolean);
output = [{ blocksJson: JSON.stringify(blocks) }];Going live
Production Checklist
Before you turn this on for real, confirm each item.
Troubleshooting
Common errors and how to fix them.
Frequently Asked Questions
Common questions about this workflow.
Analysis
Use Zapier for this if your sales team has no technical resources and needs this running in under 30 minutes. The guided Zap builder handles Zoho CRM auth edge cases (regional data centers, SSO conflicts) better than most alternatives because it surfaces auth errors inline with actionable prompts. It's also the right call if your team already uses Zapier for other workflows — consolidating reduces the number of platforms to monitor. The one scenario where you'd skip Zapier entirely: if your team is adding 300+ leads per month. At that volume, you'll exhaust the free tier quickly and the Starter plan cost ($19.99/month) becomes hard to justify for a single notification workflow.
The math is straightforward. Each new lead notification = 1 Zapier task. Zapier also uses tasks for the polling trigger itself on some plan configurations, but for this workflow, assume 1 task per lead. At 100 leads/month, you're at 100 tasks — well within Zapier's free tier (100 tasks/month). At 300 leads/month, you've blown past free and need the Starter plan at $19.99/month. Make's free tier allows 1,000 operations/month and this same workflow runs 2 operations per lead (trigger + Slack action), meaning Make handles 500 leads/month free. At 300 leads/month, Zapier costs $19.99 and Make costs $0. At 500 leads/month, Zapier still costs $19.99 (the plan covers 750 tasks) while Make remains free. The crossover where Make's paid tier becomes relevant is around 500+ leads/month.
Make's scenario builder lets you add conditional branches without extra steps — you can filter by lead source and route to different channels in one module, something Zapier requires a paid Paths add-on for. n8n gives you a self-hosted option with no task limits and a JavaScript function node that can build Slack Block Kit payloads natively, which is more flexible than Zapier's Code step. Power Automate connects to Zoho CRM through a third-party connector (not a first-party integration), which adds friction and reliability concerns — avoid it for this specific workflow. Pipedream offers a genuine webhook option for Zoho CRM via custom HTTP triggers, which means true real-time delivery instead of polling — a meaningful advantage if sub-minute response time matters to your team. Zapier still wins here for non-technical users because its Zap editor catches configuration mistakes before publishing, the Zoho CRM integration is first-party and well-maintained, and troubleshooting is documented in plain English.
Three things you'll hit after setup. First, Zoho CRM's API rate limit is 5,000 API calls per day per org on most plans. Zapier's polling makes one API call every 2-15 minutes regardless of whether new leads exist — that's up to 720 calls/day on a 2-minute poll cycle before any leads are processed. For most teams this is fine, but if you run other Zoho API integrations, the cumulative calls add up. Second, the Zoho CRM 'Lead Source' field is a picklist — if someone manually types a value instead of selecting from the dropdown, the raw text comes through exactly as typed (including typos). Your Slack messages may show 'web form', 'Web Form', and 'WEB FORM' as if they're different sources. Third, Zapier's polling trigger fires based on the lead's 'Created Time' in Zoho CRM. If a lead is created offline and synced later (e.g., from a mobile app with spotty connection), the Created Time reflects the original offline timestamp — Zapier may skip it entirely if it falls outside the recent polling window.
Ideas for what to build next
- →Route leads to rep-specific Slack DMs — Add a Zapier Paths step after the trigger to check Lead Owner Name, then send a direct Slack message to the assigned rep's DM instead of (or in addition to) the shared channel. Each rep gets a personal ping without flooding #new-leads.
- →Create a daily digest instead of per-lead alerts — Replace the instant notification with a Digest by Zapier action that collects all new leads throughout the day and posts a single summary to Slack at 8 AM each morning. Reduces noise on high-volume days while keeping the team informed.
- →Update Zoho CRM when a rep reacts to the Slack message — Build a reverse Zap using the Slack 'New Reaction Added' trigger — when a rep reacts with a specific emoji (e.g., ✅) to a lead notification, Zapier updates the lead's status in Zoho CRM to 'Contacted'. Closes the loop without requiring anyone to open CRM.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup