

How to Send Zoho CRM VIP Case Alerts to Slack with Power Automate
Automatically posts a Slack message to your support channel whenever a high-value or VIP account opens a new case in Zoho CRM, so your 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
Support teams already inside the Microsoft 365 ecosystem who need instant Slack alerts when enterprise or VIP accounts raise cases in Zoho CRM.
Not ideal for
Teams without a Microsoft 365 license — Make handles the same flow for free and with a simpler Zoho webhook setup.
Sync type
real-timeUse case type
notificationReal-World Example
A 20-person SaaS support team handles 300+ cases a month, but their top 40 enterprise accounts expect a response within 15 minutes. Before this flow, a rep had to manually check Zoho CRM every hour and tag teammates in Slack by hand — critical cases sat unnoticed for 45–90 minutes. Now, the moment a VIP account opens a case, a formatted alert fires to #vip-support with the account name, case priority, and a direct link to the record.
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
Import this workflow directly into Power Automate
Copy the pre-built Power Automate blueprint and paste it straight into Power Automate. All modules, filters, and field mappings are already configured — you just need to connect your accounts.
Before You Start
Make sure you have everything ready.
Optional
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Case Subject | Subject | |
| Account Name | Account_Name | |
| Priority | Priority | |
| Case Owner | Owner | |
| Case ID | id | |
| Account Tier | Account_Tier | |
| Case URL | ||
2 optional fields▸ show
| Case Status | Status |
| Description | Description |
Step-by-Step Setup
Zoho CRM > Setup > Automation > Actions > Webhooks
Configure a Webhook in Zoho CRM for New Cases
Zoho CRM will push case data to Power Automate the instant a new case is created. To do this, you set up a Webhook inside Zoho's automation rules. Log into Zoho CRM, go to Setup > Automation > Actions > Webhooks, and click New Webhook. You will name it, paste the Power Automate trigger URL here in step 3, and configure it to fire on Case creation.
- 1Log into Zoho CRM and click the gear icon (Setup) in the top right
- 2In the left sidebar, expand 'Automation' and click 'Actions'
- 3Select 'Webhooks' from the submenu
- 4Click '+ New Webhook' in the top right
make.powerautomate.com > + Create > Automated cloud flow
Create a New Automated Flow in Power Automate
Head to make.powerautomate.com and sign in with your Microsoft 365 account. Click '+ Create' in the left sidebar, then choose 'Automated cloud flow'. This flow type triggers on an external event — in this case, an incoming HTTP request from Zoho CRM. Name the flow something like 'Zoho VIP Case → Slack Alert' so it is easy to identify later.
- 1Go to make.powerautomate.com and sign in
- 2Click '+ Create' in the left sidebar
- 3Select 'Automated cloud flow'
- 4Enter a flow name such as 'Zoho VIP Case → Slack Alert'
- 5In the trigger search box, type 'HTTP' and select 'When a HTTP request is received' — then click Create
Flow canvas > When a HTTP request is received > Use sample payload to generate schema
Define the JSON Schema for the Zoho Case Payload
Inside the 'When a HTTP request is received' trigger block, click 'Use sample payload to generate schema'. Paste in a sample JSON object that matches what Zoho will send. This tells Power Automate how to parse incoming fields like Case Subject, Account Name, Priority, and Case Owner so you can reference them in later steps as dynamic content.
- 1Click inside the 'When a HTTP request is received' trigger block
- 2Click 'Use sample payload to generate schema'
- 3Paste the sample JSON below into the dialog box
- 4Click 'Done' — Power Automate generates the schema automatically
Flow canvas > + New step > Control > Condition
Add a Condition to Filter for VIP Accounts Only
Not every case should trigger an alert. Click '+ New step', search for 'Condition', and select the 'Condition' control action. Set the left-hand value to the 'accountTier' field from the Zoho payload (dynamic content). Set the operator to 'is equal to' and the right-hand value to 'VIP'. Cases that do not match this condition will exit through the 'No' branch and no Slack message will be sent.
- 1Click '+ New step' below the trigger
- 2Search for 'Condition' and select it under the Control category
- 3Click the left-hand 'Choose a value' field and select 'accountTier' from dynamic content
- 4Set the operator dropdown to 'is equal to'
- 5Type 'VIP' in the right-hand value field
Flow canvas > Save > When a HTTP request is received > HTTP POST URL
Save the Flow and Copy the Trigger URL
Now that the trigger has a downstream action (the Condition block counts), you can save the flow and retrieve the HTTP POST URL. Click 'Save' in the top right. After saving, click back into the 'When a HTTP request is received' trigger block — the HTTP POST URL field now shows a long URL. Copy it.
- 1Click 'Save' in the top right of the flow canvas
- 2Click back into the 'When a HTTP request is received' trigger block
- 3Click the copy icon next to the HTTP POST URL field
- 4Paste this URL into a temporary note — you will need it in the next step
Zoho CRM > Setup > Automation > Actions > Webhooks > [Your Webhook]
Paste the Trigger URL into the Zoho Webhook
Go back to the Zoho CRM webhook form you opened in step 1. Paste the Power Automate HTTP POST URL into the 'URL to Notify' field. Set the Method to POST and the content type to JSON. In the 'Parameters' section, add the case fields you want to forward: Case Subject, Account Name, Priority, Case Owner, Case ID, Account Tier, and Case URL.
- 1Return to the Zoho CRM webhook form
- 2Paste the Power Automate URL into 'URL to Notify'
- 3Set Method to 'POST'
- 4Under Parameters, add each field: caseSubject, accountName, priority, caseOwner, caseId, accountTier, caseUrl
- 5Click 'Save'
Zoho CRM > Setup > Automation > Workflow Rules > + Create Rule
Attach the Webhook to a Zoho CRM Workflow Rule
The webhook alone does nothing until it is attached to a workflow rule that fires on case creation. In Zoho CRM, go to Setup > Automation > Workflow Rules and click '+ Create Rule'. Set the module to Cases, the trigger to 'Record Action > Create', and add a filter for Account Tier equals VIP. In the Actions section, add the webhook you just created.
- 1Go to Setup > Automation > Workflow Rules
- 2Click '+ Create Rule'
- 3Set Module to 'Cases' and name the rule 'VIP Case Webhook'
- 4Set Trigger to 'Record Action' and select 'Create'
- 5Under Conditions, add: Account Tier | is | VIP
- 6Under Actions, click 'Webhooks' and select your webhook
- 7Click 'Save and Activate'
Flow canvas > Condition > Yes branch > + Add an action > Slack > Post message (V2)
Add the Slack Connection in Power Automate
Back in your Power Automate flow canvas, click inside the 'Yes' branch of the Condition block and click '+ Add an action'. Search for 'Slack' and select 'Post message (V2)'. If you have not connected Slack before, Power Automate will prompt you to sign in and authorize the Slack bot. Authorize it with an account that has access to your support channel.
- 1Click '+ Add an action' inside the Yes branch
- 2Search for 'Slack' in the action search bar
- 3Select 'Post message (V2)'
- 4Click 'Sign in' when prompted and authorize with your Slack account
- 5After authorization, you should see a green checkmark and your workspace name
Flow canvas > Slack > Post message (V2) > Channel Name + Message Text
Configure the Slack Message with Case Details
Set the Channel Name field to your support Slack channel (e.g., #vip-support). In the Message Text field, build a formatted alert using dynamic content from the Zoho payload. Include the account name, case subject, priority, assigned owner, and a direct link to the case in Zoho CRM. Slack supports basic markdown — use *bold* for the account name and priority to make the alert scannable.
- 1Set Channel Name to your support channel, e.g. 'vip-support'
- 2Click the Message Text field
- 3Build the message using dynamic content tokens — example format below
- 4Use the expression editor if you need to combine static text with dynamic fields
make.powerautomate.com > My flows > [Flow Name] > Run history
Test the Flow End-to-End with a Real Case
Create a test case in Zoho CRM manually — use an account with Account Tier set to VIP and fill in a subject like 'TEST — Power Automate Integration Check'. Within 5–15 seconds, the webhook should fire, hit Power Automate, pass the VIP condition, and post a Slack message. In Power Automate, click 'My flows', open your flow, and scroll down to 'Run history' to confirm the run succeeded.
- 1In Zoho CRM, create a new Case with Account Tier = VIP
- 2Wait 10–15 seconds, then check your Slack #vip-support channel
- 3Go to make.powerautomate.com > My flows and open your flow
- 4Click the most recent entry in 'Run history'
- 5Verify each step shows a green checkmark — expand any red step for error details
make.powerautomate.com > My flows
Turn On the Flow and Remove the Test Case
If the test passed, your flow is already live — Automated cloud flows turn on immediately after saving. Confirm the flow status shows 'On' in make.powerautomate.com > My flows. Delete or update the test case in Zoho CRM so it does not skew your support metrics. Notify your support team that the alert system is active.
- 1Go to make.powerautomate.com > My flows
- 2Confirm your flow shows a green 'On' status badge
- 3Return to Zoho CRM and delete or close the test case you created
- 4Post a note in #vip-support letting the team know the bot is live
Paste this expression into the Message Text field of the Slack action using Power Automate's expression editor (click the function icon 'fx' next to the field). It truncates the case description to 200 characters, uppercases the priority for visual emphasis, and falls back gracefully if the description field is empty — avoiding a blank or broken Slack message.
JavaScript — Code Step// Power Automate expressions for the Slack Message Text field▸ Show code
// Power Automate expressions for the Slack Message Text field // Use these in the expression editor (fx) or compose them as a string // 1. Truncate case description to 200 characters with ellipsis
... expand to see full code
// Power Automate expressions for the Slack Message Text field
// Use these in the expression editor (fx) or compose them as a string
// 1. Truncate case description to 200 characters with ellipsis
if(
greater(length(triggerBody()?['description']), 200),
concat(substring(triggerBody()?['description'], 0, 200), '...'),
coalesce(triggerBody()?['description'], 'No description provided.')
)
// 2. Uppercase priority for visual emphasis in Slack
toUpper(triggerBody()?['priority'])
// 3. Full composed Slack message string (paste into Message Text via expression editor)
concat(
'🚨 *VIP Case Alert* — ', triggerBody()?['accountName'], '
',
'*Subject:* ', triggerBody()?['caseSubject'], '
',
'*Priority:* ', toUpper(triggerBody()?['priority']),
' | *Owner:* ', triggerBody()?['caseOwner'], '
',
'*Link:* ', triggerBody()?['caseUrl'], '
',
'_"',
if(
greater(length(coalesce(triggerBody()?['description'], '')), 200),
concat(substring(triggerBody()?['description'], 0, 200), '...'),
coalesce(triggerBody()?['description'], 'No description provided.')
),
'"_'
)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 Power Automate for this if your team lives in Microsoft 365 and already has Power Automate licenses through that subscription. You get the HTTP trigger, the Slack connector, and Zoho CRM connector all in one place without paying for a separate automation tool. It also makes sense if your IT department requires all integrations to go through Microsoft's tenant governance — Power Automate gives admins visibility and DLP controls that Zapier or Make do not. Where you would skip Power Automate: if your team has no Microsoft 365 subscription, you will pay $15/user/month just for the plan that includes the HTTP trigger. Make does this exact flow for free on their starter plan.
Cost math: this flow runs once per VIP case created. At 100 VIP cases/month, you use 100 Power Automate runs. The Microsoft 365 Business Standard plan includes 6,000 Power Platform requests/user/month — so at that volume, this flow costs you $0 on top of your existing license. If you are on the standalone Power Automate Per User plan at $15/month, you get 40,000 runs/month, making the effective cost under $0.001 per case alert. Make's free tier covers 1,000 operations/month and this flow uses 3–4 operations per run, so you would hit the ceiling at around 250 VIP cases/month before needing Make's $9/month Core plan. For most teams, Power Automate wins on cost if the Microsoft license is already in place.
Here is how the competitors stack up for this specific use case. Make has a native Zoho CRM module with a 'Watch Records' trigger that uses polling (every 15 minutes on free, every 1 minute on paid) — no webhook configuration required, which is meaningfully simpler to set up. Zapier has a 'New Case' trigger for Zoho CRM that also polls, and the UI is faster to configure than Power Automate's flow canvas, but Zapier charges per task and at 100 cases/month you are looking at $19.99/month on the Starter plan. n8n requires self-hosting or a cloud plan and the Zoho CRM node needs API credentials configured manually — more setup, but you own the infrastructure. Pipedream's Zoho CRM source supports webhooks natively with less configuration than Power Automate. Power Automate is still the right call when Microsoft 365 is already the company standard, governance matters, or you want to fan the alert out to both Slack and Microsoft Teams in the same flow with minimal extra work.
Three things you will hit after go-live. First, Zoho's webhook payload does not include a direct hyperlink field by default — you have to construct the case URL manually using your org ID and case ID, and if your org ID is wrong, every link in Slack will 404. Get your org ID from Zoho Setup > Company Settings before building the webhook. Second, Power Automate's Slack connector posts as the authenticated user, not a bot — your Slack admins may flag this as a security concern since the integration token is tied to a real person's account. Use a dedicated service account to avoid this. Third, if your Zoho CRM instance uses custom field API names (common when Account Tier was added as a custom field), the field name in the webhook payload will have a suffix like Account_Tier__c or use an internal ID — not the display label. Always click 'Test' on the Zoho webhook and inspect the raw JSON before building your Power Automate schema.
Ideas for what to build next
- →Add a Slack Thread Reply When the Case is Resolved — Build a second flow triggered by Zoho CRM case status changes. When a VIP case status moves to 'Closed', post a threaded reply in Slack on the original alert message using the case ID as the thread timestamp key.
- →Escalate Unacknowledged Cases After 15 Minutes — Add a Delay action after the Slack post, then check if the Zoho case still has no owner activity using the Zoho CRM 'Get a record' action. If unacknowledged, post a second Slack message tagging the support manager directly.
- →Log All VIP Case Alerts to a SharePoint List for Reporting — After the Slack Post action in the Yes branch, add a 'Create item' action using the SharePoint connector. Log the account name, case ID, timestamp, and priority — this gives your support team a running audit trail without needing to export from Zoho.
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