

How to Send Zoho CRM Follow-up Reminders to Slack with Zapier
Automatically sends a Slack message to a sales rep when a follow-up task or scheduled activity is due in Zoho CRM.
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 (5–30 reps) who live in Slack and need due-date nudges without checking Zoho CRM manually.
Not ideal for
Teams with more than 200 follow-up tasks per month — Make handles that volume for free and Zapier will hit task limits fast.
Sync type
scheduledUse case type
notificationReal-World Example
A 12-person B2B software sales team uses this to ping reps in a shared #follow-ups Slack channel every time a Zoho CRM task hits its due date. Before this, reps forgot to check the CRM activity tab and roughly 20% of follow-up tasks slipped past their due date by a day or more. After setup, missed follow-ups dropped to near zero within the first two weeks.
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 | ||
| Task Subject | Subject | |
| Due Date | Due_Date | |
| Task Owner | Owner | |
5 optional fields▸ show
| Contact Name | Who_Id |
| Task Status | Status |
| Priority | Priority |
| Task ID | id |
| Description | Description |
Step-by-Step Setup
zapier.com > Dashboard > Create Zap
Create a New Zap and Name It
Log in to zapier.com and click the orange 'Create Zap' button in the top-left sidebar. Give the Zap a specific name at the top of the editor — something like 'Zoho CRM Due Tasks → Slack Reminder'. Naming it now saves confusion if you build multiple CRM Zaps later. You'll land in the Zap editor with a trigger step waiting to be configured.
- 1Click 'Create Zap' in the left sidebar
- 2Click the untitled name field at the top and type 'Zoho CRM Due Tasks → Slack Reminder'
- 3Click the '1. Trigger' block to open the trigger configuration panel
Zap Editor > Trigger > App & Event
Set Zoho CRM as the Trigger App
In the trigger panel, search for 'Zoho CRM' in the app search box. Select the official Zoho CRM app published by Zoho Corporation — there are third-party variants, avoid them. Next, click the 'Trigger Event' dropdown and choose 'New Task'. This event fires whenever Zapier polls Zoho CRM and finds a task that didn't exist on the previous poll — typically every 5–15 minutes on paid plans.
- 1Type 'Zoho CRM' in the 'Search for apps' field
- 2Select 'Zoho CRM' by Zoho Corporation from the results
- 3Click the 'Trigger Event' dropdown
- 4Select 'New Task' from the list
- 5Click '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 you to authorize Zapier. Log in with your Zoho credentials and click 'Accept' to grant access. Once authorized, Zapier redirects back to the editor and shows your connected account email. If your organization uses a custom Zoho domain or Zoho One SSO, make sure you log in through the correct region — Zoho splits accounts by data center (US, EU, IN, AU, JP).
- 1Click 'Sign in to Zoho CRM'
- 2Enter your Zoho CRM email and password in the popup
- 3Click 'Accept' on the Zoho permissions screen
- 4Confirm your account email appears in the account selector
- 5Click 'Continue'
Zap Editor > Trigger > Test > Test Trigger
Test the Zoho CRM Trigger
Click 'Test trigger' to pull in a real task from your Zoho CRM account. Zapier fetches the three most recently created tasks and shows them as sample records. Click through the samples to find one with a realistic due date — you'll use this data to build the filter and Slack message in later steps. If no tasks appear, create a test task in Zoho CRM first, then re-run the test.
- 1Click 'Test trigger'
- 2Review the sample task records Zapier pulls in
- 3Click each sample to inspect the fields — look for 'Due Date', 'Subject', 'Status', and 'Contact Name'
- 4Select the sample that best represents a real follow-up task
- 5Click 'Continue with selected record'
Zap Editor > + > Filter
Add a Filter: Only Tasks Due Today
Click the '+' icon between the trigger and where the action will go, then choose 'Filter'. This step prevents the Zap from sending Slack messages for every new task — only tasks due today should fire a notification. Set the filter condition to: 'Due Date' contains today's date formatted as YYYY-MM-DD. Because Zapier's filter does exact string matching, you need to use Zapier's built-in date formatting via the 'Formatter' utility or match the format Zoho CRM outputs in the Due Date field.
- 1Click the '+' plus icon between the trigger and action steps
- 2Click 'Filter' from the options
- 3In 'Field', select 'Due Date' from the Zoho CRM trigger data
- 4Set the condition to '(Text) Contains'
- 5In the value field, insert today's date using Zapier's date token: type {{zap_meta_human_now}} or use a Formatter step to output today in YYYY-MM-DD format
- 6Click 'Continue'
Zap Editor > + > Formatter by Zapier > Date / Time > Format
Add a Formatter Step to Clean the Due Date
Insert a 'Formatter by Zapier' step before the Filter step. Choose 'Date / Time' as the transformation type, then 'Format' as the action. Set the input to today's datetime (use {{zap_meta_human_now}}) and set the output format to 'YYYY-MM-DD'. This gives you a clean date string like '2025-03-14' that you can reliably compare against the Zoho CRM Due Date field. Reorder this step to sit between the trigger and the filter.
- 1Click the '+' icon right after the trigger step
- 2Search for 'Formatter by Zapier' and select it
- 3Choose 'Date / Time' as the event
- 4Set 'Transform' to 'Format'
- 5Set 'Input' to {{zap_meta_human_now}}
- 6Set 'To Format' to 'YYYY-MM-DD'
- 7Click 'Continue' and test — confirm output is today's date only, no time
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}This Code by Zapier step runs after the Zoho CRM trigger and before the Filter step. It formats the task's due date, constructs a direct CRM link, and adds a priority emoji prefix — three things Zapier's standard field mapping can't do in one step. Paste this into a 'Code by Zapier' action set to 'Run Javascript', mapping inputData fields to the Zoho CRM trigger outputs for Subject, Due_Date, Priority, Owner, Who_Id, and id.
JavaScript — Code Stepconst { subject, dueDate, priority, owner, contactName, taskId } = inputData;▸ Show code
const { subject, dueDate, priority, owner, contactName, taskId } = inputData;
// Format today's date as YYYY-MM-DD for filter comparison
const today = new Date();... expand to see full code
const { subject, dueDate, priority, owner, contactName, taskId } = inputData;
// Format today's date as YYYY-MM-DD for filter comparison
const today = new Date();
const todayStr = today.toISOString().split('T')[0];
// Map priority to emoji prefix
const priorityEmoji = {
'High': '🔴',
'Medium': '🟡',
'Low': '🟢'
};
const emoji = priorityEmoji[priority] || '⚪';
// Build the Slack message text
const slackMessage = `${emoji} Follow-up due today: *${subject}* with ${contactName} — Assigned to: ${owner} | Priority: ${priority}`;
// Build direct Zoho CRM task link (replace ORG_ID with your actual org ID)
const orgId = '3892710'; // <-- update this to your Zoho org ID
const taskLink = `https://crm.zoho.com/crm/org${orgId}/tab/Tasks/${taskId}`;
// Is this task actually due today?
const isDueToday = dueDate === todayStr;
return {
slackMessage,
taskLink,
todayStr,
isDueToday,
priorityEmoji: emoji
};Zap Editor > Filter Step > Edit > Value Field
Update the Filter to Use the Formatter Output
Go back to your Filter step and update the value field. Instead of the raw date token, map in the output from the Formatter step you just created — it should appear in the dropdown as something like '2. Formatter > Output'. Now the filter compares Zoho CRM's Due Date field against a clean YYYY-MM-DD string. Test the filter again with your sample task to confirm it passes.
- 1Click on the Filter step to open it
- 2Click into the value field on the right side of the condition
- 3Delete the previous date token
- 4Click the data picker icon and select '3. Formatter — Output' (or whichever step number applies)
- 5Click 'Continue' and retest the filter
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}Zap Editor > + > Action > Slack > Send Channel Message
Add Slack as the Action App
Click the '+' icon after the filter and add an action step. Search for 'Slack' and select it. Choose 'Send Channel Message' as the action event if you want reminders in a shared team channel, or 'Send Direct Message' if reminders should go only to the assigned rep. For most sales teams, a dedicated #follow-ups channel works better — it creates visibility and accountability.
- 1Click '+' after the Filter step
- 2Search for 'Slack' and select the official Slack app
- 3Choose 'Send Channel Message' as the action event
- 4Click 'Continue'
- 5Click 'Sign in to Slack' and authorize Zapier in the popup
- 6Select your Slack workspace from the account dropdown
- 7Click 'Continue'
Zap Editor > Action > Slack > Configure > Channel + Message Text
Configure the Slack Message
Set the 'Channel' field to your target Slack channel (e.g., #follow-ups). Build the message text by mapping in fields from the Zoho CRM trigger: task Subject, Contact Name, Due Date, and Task Owner. Write the message so a rep can immediately understand what action is needed. A format like '🔔 Follow-up due today: [Subject] with [Contact Name] — assigned to [Owner]' gives all the context in one line. Optionally add a direct link to the Zoho CRM record using the Record ID.
- 1Click the 'Channel' field and type or select '#follow-ups' (or your preferred channel)
- 2Click into the 'Message Text' field
- 3Type: '🔔 Follow-up due today: '
- 4Click the data picker and insert 'Subject' from the Zoho CRM trigger
- 5Type ' with ' then insert 'Contact Name'
- 6Type ' — Assigned to: ' then insert 'Task Owner'
- 7Optionally add a CRM record URL: type 'https://crm.zoho.com/crm/org[YOUR_ORG_ID]/tab/Tasks/' and append the Task ID field
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}Zap Editor > Action > Test > Test Action
Test the Full Zap
Click 'Test action' to send a real Slack message using your sample Zoho CRM task data. Open your Slack workspace and check the target channel — you should see the formatted reminder message appear within 10–15 seconds. Review the message carefully: confirm the task subject, contact name, owner, and date all look correct. If any fields show as 'undefined' or blank, go back to the message configuration and re-map those fields.
- 1Click 'Test action'
- 2Open your Slack workspace in a separate tab
- 3Navigate to the #follow-ups channel
- 4Confirm the test message appears with all fields populated
- 5If a field is blank, click 'Edit' on the action step and remap it
Zap Editor > Publish > Turn On
Turn On the Zap
Click the 'Publish' button in the top-right corner of the Zap editor to activate it. Toggle the Zap to 'On'. Zapier will now poll Zoho CRM for new tasks every 5–15 minutes (depending on your plan). Every new task with today's due date that passes the filter will trigger a Slack message. Monitor the Zap History tab for the first 24 hours to confirm tasks are being picked up and messages are sending without errors.
- 1Click 'Publish' in the top-right corner
- 2Click the toggle to set the Zap status to 'On'
- 3Navigate to 'Zap History' from the left sidebar
- 4Wait 15 minutes and refresh — confirm at least one successful run appears if tasks were due today
- 5Click any run to inspect the trigger data and action output
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 is non-technical, already pays for a Zapier plan, and has fewer than 150 follow-up tasks per month. The guided Zap builder handles the Zoho CRM connection, the date filter, and the Slack message in about 25 minutes with no code required. The one scenario where you'd pick something else immediately: if your team needs reminders at a specific time of day (like 9 AM sharp), Zapier's polling model won't cut it — use a Zoho CRM workflow rule with a webhook trigger into Make or n8n instead.
The math is straightforward. This Zap uses 4 tasks per run: trigger poll, Formatter step, Filter step, Slack message. At 50 follow-up tasks per day (roughly 1,100/month), you're consuming about 4,400 tasks/month. Zapier's Starter plan includes 750 tasks/month for $19.99. Professional gives you 2,000 tasks for $49. At 1,100 tasks/month you need the Professional plan at minimum. Make's free tier handles 1,000 operations/month — the equivalent workflow in Make runs in 3 operations per task, so you'd cover about 333 tasks/month for free, or use Make's Core plan at $9/month for 10,000 operations to handle the same 1,100 tasks for under $9. Zapier costs 5x more at this volume.
Here's how the competitors compare on this specific use case. Make has a native Zoho CRM 'Watch Records' module with a real-time webhook option — no polling delay, tasks fire instantly when due. n8n has a Zoho CRM node and lets you write a single JS function to handle date formatting, filtering, and message construction in one step rather than three separate Zapier steps. Power Automate can connect to Zoho CRM only via HTTP connector (no native Zoho module), which adds significant setup complexity — skip it here. Pipedream lets you schedule a daily workflow at exactly 8:59 AM that queries Zoho CRM's API for all tasks due today and sends one Slack message per rep — far cleaner than per-task polling. Zapier still wins for one reason: if your team has a Zapier subscription already and nobody wants to learn a new tool, the time cost of switching outweighs the monthly savings.
Three things you'll hit after setup. First, Zoho CRM's Task Owner field returns a nested object in some API responses — the top-level mapping shows a user ID, not a name. You have to drill into the 'Name' sub-property in the Zapier data picker or you'll get a numeric ID in your Slack message. Second, if your sales team creates tasks in bulk (e.g., after importing a lead list), all those tasks fire through the Zap simultaneously on the next poll — this can flood your Slack channel with dozens of messages at once. Add a Delay by Zapier step to throttle them. Third, Zapier deduplication relies on task ID — if a task gets deleted and recreated in Zoho CRM (which some CRM admins do when fixing data), Zapier treats the new record as fresh and fires a second reminder for the same follow-up.
Ideas for what to build next
- →Add a Snooze or Escalation for Overdue Tasks — Build a second Zap using the 'Updated Task' trigger in Zoho CRM to catch tasks that pass their due date with Status still 'Not Started'. Send a follow-up Slack message to the rep's manager if a task is more than 24 hours overdue.
- →Log Reminder Sent Back to Zoho CRM — Add a second action step after the Slack message that updates the Zoho CRM task with a note like 'Slack reminder sent on [date]'. This creates an audit trail in the CRM so managers can see which reps were notified.
- →Send a Daily Digest Instead of Per-Task Messages — Replace this per-task Zap with a scheduled Make scenario that runs once each morning, collects all tasks due that day using Zoho CRM's search module, and posts a single formatted Slack digest per rep. This reduces Slack noise significantly for teams with 10+ daily follow-ups.
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