Beginner~8 min setupCommunication & CRMVerified April 2026
Slack logo
Zoho CRM logo

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-time

Use case type

notification

Real-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.

/mo
505005K50K

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.

Zoho CRM account with at least one existing lead record — needed to pull test data during Zap setup
Zoho CRM user role must have API access enabled — check under Zoho CRM > Settings > Developer Space > APIs
Slack account with permission to add third-party apps to your workspace — if restricted, a Slack admin must approve the Zapier app first
The target Slack channel must already exist before setup — Zapier cannot create channels, only post to them
Zapier account on any plan — Free tier works but polls every 15 minutes; Starter plan ($19.99/month) reduces polling to 2 minutes

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Last NameLast_Name
CompanyCompany
EmailEmail
7 optional fields▸ show
First NameFirst_Name
PhonePhone
Lead SourceLead_Source
Lead Owner NameOwner
Lead StatusLead_Status
Created TimeCreated_Time
Lead IDid

Step-by-Step Setup

1

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.

  1. 1Go to zapier.com and sign in
  2. 2Click 'Create Zap' in the left sidebar
  3. 3Confirm the editor opens with 'Trigger' as Step 1 on the left panel
What you should see: The Zap editor opens. The left panel shows '1. Trigger' highlighted in blue. The right panel says 'Set up trigger' with a search box for apps.
2

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.

  1. 1Type 'Zoho CRM' in the 'Search for apps' field
  2. 2Click the Zoho CRM option with the orange icon
  3. 3Under 'Trigger Event', select 'New Lead'
  4. 4Click 'Continue'
What you should see: The trigger event field shows 'New Lead' and the right panel advances to the 'Account' tab asking you to connect your Zoho CRM account.
Common mistake — Zoho CRM has separate regional data centers (US, EU, IN, AU, CN). If you sign into the wrong region during auth, the trigger will connect but return zero leads. Match the region to where your Zoho account was created.
Zapier
+
click +
search apps
Slack
SL
Slack
Set Zoho CRM as the trigger …
Slack
SL
module added
3

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.

  1. 1Click 'Sign in to Zoho CRM'
  2. 2Enter your Zoho email and password in the popup
  3. 3Click 'Accept' on the Zoho OAuth permissions screen
  4. 4Select your newly connected account from the dropdown
  5. 5Click 'Continue'
What you should see: Your Zoho CRM account email appears in the account dropdown with a green checkmark. The panel advances to the 'Configure' tab.
Common mistake — If your Zoho account uses SSO (Google or SAML), the OAuth popup may fail silently. Use Zoho's 'Sign in with password' option temporarily, or generate an app-specific password in Zoho's security settings.
Zapier settings
Connection
Choose a connection…Add
click Add
Slack
Log in to authorize
Authorize Zapier
popup window
Connected
green checkmark
4

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.

  1. 1Leave 'Lead Source' blank to capture all new leads, or type a specific source to filter
  2. 2Click 'Continue'
What you should see: The panel advances to the 'Test' tab. Zapier is ready to pull a sample lead from your Zoho CRM account.
5

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.

  1. 1Click 'Test trigger'
  2. 2Wait 5-10 seconds for Zapier to pull records from Zoho CRM
  3. 3Click on a returned lead record to expand its fields
  4. 4Confirm fields like 'Last Name', 'Company', 'Email', and 'Phone' contain real data
  5. 5Click 'Continue with selected record'
What you should see: A lead record appears with populated fields. The panel shows green text: 'We found a lead!' and lists 10-20 field values from your Zoho CRM lead.
Common mistake — If the test returns no records, Zoho CRM must have at least one lead created in the last 24 hours. Add a test lead directly in Zoho CRM, then click 'Test trigger' again. Zapier does not look back further than recent records.
Zapier
▶ Turn on & test
executed
Slack
Zoho CRM
Zoho CRM
🔔 notification
received
6

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'.

  1. 1Click the '+' icon below Step 1 in the left panel
  2. 2Type 'Slack' in the app search box
  3. 3Click the Slack app with the multicolor icon
  4. 4Under 'Action Event', select 'Send Channel Message'
  5. 5Click 'Continue'
What you should see: The action event field shows 'Send Channel Message' and the panel advances to the 'Account' tab asking you to connect Slack.
7

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.

  1. 1Click 'Sign in to Slack'
  2. 2Select your workspace from the dropdown or enter your workspace URL
  3. 3Click 'Allow' on the Slack permissions screen
  4. 4Select your connected workspace from the account dropdown
  5. 5Click 'Continue'
What you should see: Your Slack workspace name appears in the account dropdown. The panel advances to the 'Configure' tab with Slack message fields.
Common mistake — Zapier posts as a bot called 'Zapier' by default. If your Slack workspace restricts third-party app installs, you'll get a 'not_allowed_token_type' error. A Slack admin must approve the Zapier app at slack.com/apps before this step will succeed.
8

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.

  1. 1Click the 'Channel' field and select your target channel (e.g., #new-leads)
  2. 2Click inside the 'Message Text' field
  3. 3Type '🔔 New Lead: ' then click the lightning bolt icon and select 'First Name' from Zoho CRM
  4. 4Continue building: add 'Last Name', 'Company', 'Email', 'Phone', and 'Lead Source' on separate lines
  5. 5Optionally set 'Bot Name' to 'Lead Alerts' and upload a custom icon emoji like ':bell:'
What you should see: The Message Text field shows a mix of static text and purple dynamic field pills. The preview in the field should read something like: '🔔 New Lead: Jane Kim | Acme Corp | [email protected] | +1-555-0192 | Source: Web Form'
Common mistake — Zoho CRM returns the lead owner as a numeric ID (e.g., '4890123000000012345'), not a name. Do not drop this ID raw into the Slack message — it will confuse your team. Use the 'Lead Owner Name' field instead, which Zoho provides as a separate mapped value in the trigger output.
Message template
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}
9

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.

  1. 1Set 'Send as Bot' to 'Yes'
  2. 2Set 'Bot Name' to 'Lead Alerts' or your preferred label
  3. 3Set 'Markdown' to 'Yes' if your message uses *bold* or _italic_ formatting
  4. 4Click 'Continue'
What you should see: The Configure tab shows your channel, message text, and formatting options filled in. The panel advances to the 'Test' tab.
Common mistake — Map fields using the variable picker — don't type field names manually. Hand-typed variable names often have invisible spacing errors that produce blank output.
Message template
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}
10

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.

  1. 1Click 'Test action'
  2. 2Open Slack and navigate to your target channel
  3. 3Confirm the test message appears with correct lead data
  4. 4If the message looks correct, click 'Continue'
What you should see: A formatted message appears in your Slack channel from 'Lead Alerts' (or your chosen bot name) showing the test lead's details. No error banners appear in Zapier.
Common mistake — This test posts a real message to a real Slack channel — not a sandbox. If your #new-leads channel is actively used by the team, either test in a private channel first or give the team a heads-up that a test message is coming.
11

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.

  1. 1Click 'Publish Zap' in the top-right corner
  2. 2Enter a descriptive name: 'Zoho CRM New Lead → Slack #new-leads'
  3. 3Confirm the Zap status shows a green 'On' toggle
  4. 4Navigate to My Zaps to confirm it appears in your active Zaps list
What you should see: The Zap appears in your My Zaps dashboard with a green 'On' badge. The next time a new lead is added to Zoho CRM, a Slack notification will fire automatically.
Common mistake — Free Zapier plans poll every 15 minutes. If your team needs faster alerts, you need a paid plan (Starter or above) to get 2-minute polling. There is no true instant trigger for Zoho CRM on Zapier — it always polls.

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

VerdictWhy Zapier for this workflow

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.

Cost

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.

Tradeoffs

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 DMsAdd 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 alertsReplace 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 messageBuild 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

Was this guide helpful?
Slack + Zoho CRM overviewZapier profile →