{"id":2242,"date":"2026-05-29T10:00:00","date_gmt":"2026-05-29T10:00:00","guid":{"rendered":"https:\/\/aaxonix.com\/resources\/?p=2242"},"modified":"2026-06-01T11:04:23","modified_gmt":"2026-06-01T11:04:23","slug":"zoho-crm-make-integration","status":"publish","type":"post","link":"https:\/\/aaxonix.com\/resources\/zoho-crm-make-integration\/","title":{"rendered":"Zoho CRM and Make (Integromat) Integration: Build Multi-Step Automations Beyond Zoho Flow"},"content":{"rendered":"<style>\n.aax-post{font-family:'Poppins',sans-serif;color:#1a2332;max-width:820px;margin:0 auto;line-height:1.75}\n.aax-post h2{font-size:1.55rem;font-weight:600;margin:2.5rem 0 .9rem;color:#0a1628}\n.aax-post h3{font-size:1.15rem;font-weight:600;margin:1.8rem 0 .6rem;color:#1a2332}\n.aax-post p{margin:0 0 1.1rem}\n.aax-post ul,.aax-post ol{margin:0 0 1.1rem;padding-left:1.5rem}\n.aax-post li{margin-bottom:.45rem}\n.aax-post table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.93rem}\n.aax-post th{background:#0a1628;color:#fff;padding:.6rem 1rem;text-align:left}\n.aax-post td{padding:.55rem 1rem;border-bottom:1px solid #e8edf4}\n.aax-post tr:nth-child(even) td{background:#f5f7fb}\n.aax-post .faq-section{background:#f5f7fb;border-radius:10px;padding:1.8rem 2rem;margin:2.5rem 0}\n.aax-post .faq-item{margin-bottom:1.2rem;border-bottom:1px solid #e0e6ef;padding-bottom:1.2rem}\n.aax-post .faq-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}\n.aax-post .faq-question{font-weight:600;color:#0a1628;margin-bottom:.5rem}\n.aax-post .faq-answer{color:#3a4a5c;line-height:1.65}\n.aax-post .aax-cta{background:linear-gradient(135deg,#0a1628 0%,#1a3a5c 100%);border-radius:12px;padding:1.8rem 2rem;margin:2.5rem 0;text-align:center}\n.aax-post .aax-cta p{color:#e8edf4;margin:0 0 1.2rem;font-size:1.05rem}\n.aax-post .aax-cta a{display:inline-block;background:#fff;color:#0a1628;font-weight:600;padding:.65rem 1.6rem;border-radius:6px;text-decoration:none;font-size:.95rem}\n<\/style>\n<div class=\"sp-toc-wrap\"><nav class=\"sp-blog-toc\" id=\"spBlogToc\" style=\"display:none\">\n  <h4><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"8\" y1=\"6\" x2=\"21\" y2=\"6\"\/><line x1=\"8\" y1=\"12\" x2=\"21\" y2=\"12\"\/><line x1=\"8\" y1=\"18\" x2=\"21\" y2=\"18\"\/><line x1=\"3\" y1=\"6\" x2=\"3.01\" y2=\"6\"\/><line x1=\"3\" y1=\"12\" x2=\"3.01\" y2=\"12\"\/><line x1=\"3\" y1=\"18\" x2=\"3.01\" y2=\"18\"\/><\/svg>On this page<\/h4>\n  <ol class=\"sp-toc-list\" id=\"spTocList\"><\/ol>\n<\/nav><\/div>\n<div class=\"aax-post\">\n\n<p>Zoho Flow handles simple two-app automations well, but the moment you need branching logic, error handling routes, or a scenario that connects five apps in sequence, you hit its ceiling. The <strong>Zoho CRM and Make integration<\/strong> opens up a different category of workflow automation entirely. Make (formerly Integromat) gives you a visual canvas where each module processes data and passes it to the next, with full control over filters, routers, iterators, and error handlers. This guide walks through building a production-grade multi-step scenario that moves data from Zoho CRM through Google Sheets, Slack, and Asana, with proper error handling at every stage. You will also learn how to optimize your operations quota, when Make is the right choice over Zoho Flow, and how to test scenarios before they touch live data.<\/p>\n\n<h2>Make vs Zoho Flow: Where Each Tool Fits<\/h2>\n\n<p>Both Make and Zoho Flow connect Zoho CRM to other applications, but they serve different complexity tiers. Zoho Flow is a native Zoho product designed for straightforward app-to-app connections within the Zoho ecosystem. Make is a third-party automation platform built for multi-step, multi-branch workflows that span dozens of applications.<\/p>\n\n<table>\n<thead>\n<tr><th>Capability<\/th><th>Zoho Flow<\/th><th>Make<\/th><\/tr>\n<\/thead>\n<tbody>\n<tr><td>Connected apps<\/td><td>~900 (Zoho-heavy)<\/td><td>2,000+<\/td><\/tr>\n<tr><td>Visual builder<\/td><td>Linear flow<\/td><td>Canvas with branching<\/td><\/tr>\n<tr><td>Error handling<\/td><td>Basic retry<\/td><td>Error routes, break, resume, rollback<\/td><\/tr>\n<tr><td>Data transformation<\/td><td>Limited functions<\/td><td>Full function library (text, math, date, array, JSON)<\/td><\/tr>\n<tr><td>Routers \/ filters<\/td><td>Single path only<\/td><td>Multi-path routers with filter conditions<\/td><\/tr>\n<tr><td>Iterators \/ aggregators<\/td><td>Not available<\/td><td>Built-in modules<\/td><\/tr>\n<tr><td>Webhook triggers<\/td><td>Yes<\/td><td>Yes, with custom parsing<\/td><\/tr>\n<tr><td>Pricing model<\/td><td>Tasks per month<\/td><td>Operations per month<\/td><\/tr>\n<tr><td>Best for<\/td><td>Simple Zoho-to-Zoho links<\/td><td>Complex multi-app automations<\/td><\/tr>\n<\/tbody>\n<\/table>\n\n<p>Use <a href=\"https:\/\/aaxonix.com\/resources\/zoho-flow-automation-india\/\" class=\"sp-content-link\">Zoho Flow<\/a> when your workflow connects two Zoho apps with a single trigger and action. Switch to Make when you need conditional branching, multi-app chains, or error recovery logic that Zoho Flow cannot express.<\/p>\n\n<h2>Setting Up the Zoho CRM and Make Integration<\/h2>\n\n<p>Before building scenarios, you need to establish the connection between Make and your <a href=\"https:\/\/aaxonix.com\/resources\/zoho-crm-complete-setup-guide\/\" class=\"sp-content-link\">Zoho CRM instance<\/a>. Make uses OAuth 2.0 to authenticate with Zoho, so you will not need to manage API keys manually.<\/p>\n\n<h3>Step 1: Create a Make Account and Scenario<\/h3>\n<p>Sign up at make.com and create a new scenario. The scenario canvas opens with a blank starting module. Click the plus icon to add your first module.<\/p>\n\n<h3>Step 2: Add the Zoho CRM Module<\/h3>\n<p>Search for &#8220;Zoho CRM&#8221; in the module library. Make provides verified Zoho CRM modules covering triggers, actions, and searches. Select &#8220;Watch Records&#8221; as your trigger if you want to detect new or updated records automatically.<\/p>\n\n<h3>Step 3: Authorize the Connection<\/h3>\n<p>Click &#8220;Create a connection&#8221; inside the Zoho CRM module. Make redirects you to Zoho&#8217;s OAuth consent screen. Approve the requested scopes (ZohoCRM.modules.ALL, ZohoCRM.settings.ALL at minimum). Once authorized, the connection persists across all scenarios in your Make account.<\/p>\n\n<h3>Step 4: Configure the Trigger Module<\/h3>\n<p>Select the module (Deals, Contacts, Leads) you want to monitor. Set the trigger field, typically &#8220;Modified Time&#8221; or &#8220;Created Time.&#8221; Choose the polling interval. Make checks Zoho CRM at this interval, consuming one operation per check even if no new records are found.<\/p>\n\n<h2>Building a Multi-Step Scenario: CRM to Sheets to Slack to Asana<\/h2>\n\n<p>This scenario demonstrates the kind of multi-app workflow that Make handles and Zoho Flow cannot replicate. When a deal in Zoho CRM reaches &#8220;Closed Won&#8221; status, the scenario logs it in Google Sheets, notifies the team in Slack, and creates an onboarding task in Asana.<\/p>\n\n<h3>Module 1: Zoho CRM Watch Records (Trigger)<\/h3>\n<p>Configure the Watch Records module for the Deals module. Add a filter condition on the Stage field: Stage equals &#8220;Closed Won.&#8221; Set the limit to 10 records per execution cycle. Each matching record triggers the downstream modules independently.<\/p>\n\n<h3>Module 2: Google Sheets Add a Row<\/h3>\n<p>Connect the Google Sheets module after the Zoho CRM trigger. Map the deal fields: Deal Name to Column A, Amount to Column B, Close Date to Column C, Account Name to Column D. Use Make&#8217;s built-in formatDate function to convert Zoho&#8217;s date format to your spreadsheet format: <code>formatDate(deal.Closing_Date; \"DD\/MM\/YYYY\")<\/code>.<\/p>\n\n<h3>Module 3: Slack Send a Message<\/h3>\n<p>Add the <a href=\"https:\/\/aaxonix.com\/resources\/zoho-crm-slack-integration\/\" class=\"sp-content-link\">Slack module<\/a> and select &#8220;Send a Message.&#8221; Choose the target channel (e.g., #won-deals). Build the message using mapped values from the Zoho CRM output. Include the deal amount formatted with the formatNumber function: <code>formatNumber(deal.Amount; 2; \".\"; \",\")<\/code>.<\/p>\n\n<h3>Module 4: Asana Create a Task<\/h3>\n<p>Add the Asana module to create an onboarding task. Map the task name to include the account name from Zoho CRM. Set the due date 14 days from today using the addDays function: <code>addDays(now; 14)<\/code>. Assign it to the onboarding team member and add a description that pulls key deal details.<\/p>\n\n<p>This four-module chain executes in sequence. Each record that matches the trigger condition consumes four operations total, one per module.<\/p>\n\n<h2>Error Handling Routes in Make Scenarios<\/h2>\n\n<p>Production workflows fail. APIs return errors, rate limits kick in, and data formats change. Make provides dedicated error handling routes that let you control what happens when a module fails, rather than letting the entire scenario stop.<\/p>\n\n<h3>Adding an Error Handler<\/h3>\n<p>Right-click any module and select &#8220;Add error handler.&#8221; This creates a separate execution path that activates only when that module throws an error. You can chain error-handling modules together just like regular modules.<\/p>\n\n<h3>Error Handler Types<\/h3>\n<ul>\n<li><strong>Resume:<\/strong> Provides a substitute output value and continues the scenario. Useful when a missing field should default to a placeholder.<\/li>\n<li><strong>Commit:<\/strong> Stops the scenario execution but marks it as successful. Use this when the error is expected and non-critical.<\/li>\n<li><strong>Rollback:<\/strong> Stops execution and marks the scenario run as an error. All preceding modules in the same transaction are rolled back where supported.<\/li>\n<li><strong>Break:<\/strong> Stores the incomplete execution in a queue for manual review. The scenario continues processing other bundles. This is the most useful handler for production CRM integrations where you cannot lose data.<\/li>\n<\/ul>\n\n<p>For the CRM-to-Sheets-to-Slack-to-Asana scenario, add a Break error handler to the Google Sheets module and the Asana module. If either API is temporarily down, the affected bundles queue up and retry automatically after the break interval you specify (default: 15 minutes).<\/p>\n\n<h2>Data Transformation and Mapping in Make<\/h2>\n\n<p>Zoho CRM stores data in its own formats, and target applications expect different structures. Make&#8217;s built-in function library handles the conversion between systems without requiring custom code. This is where Make&#8217;s advantage over <a href=\"https:\/\/aaxonix.com\/resources\/zoho-crm-automation-guide\/\" class=\"sp-content-link\">native Zoho automation tools<\/a> becomes clear.<\/p>\n\n<h3>Common Transformations for Zoho CRM Data<\/h3>\n<ul>\n<li><strong>Date formats:<\/strong> Zoho uses YYYY-MM-DD. Convert with <code>formatDate(value; \"MM\/DD\/YYYY\")<\/code> or any target format string.<\/li>\n<li><strong>Currency handling:<\/strong> Use <code>formatNumber(amount; 2; \".\"; \",\")<\/code> to format deal amounts for display in Slack messages or spreadsheet cells.<\/li>\n<li><strong>Multi-select fields:<\/strong> Zoho returns these as semicolon-separated strings. Use <code>split(value; \";\")<\/code> to convert them into arrays for iteration.<\/li>\n<li><strong>Null handling:<\/strong> Use <code>ifempty(value; \"N\/A\")<\/code> to prevent modules from failing when optional Zoho CRM fields are empty.<\/li>\n<li><strong>Text manipulation:<\/strong> Combine <code>lower()<\/code>, <code>trim()<\/code>, and <code>replace()<\/code> to normalize contact names and email addresses before sending them to other systems.<\/li>\n<\/ul>\n\n<h3>Working with Arrays and Iterators<\/h3>\n<p>When a Zoho CRM record contains line items (common in Quotes, Sales Orders, and Invoices), the data arrives as an array. Use Make&#8217;s Iterator module to process each line item individually, then an Aggregator module to collect the results. For example, iterate over quote line items to create individual rows in a Google Sheet, then aggregate the total to post in a Slack summary.<\/p>\n\n<h2>Operations Quota Optimization<\/h2>\n\n<p>Make charges by operations, where each module execution in a scenario counts as one operation. A scenario with five modules processing ten records uses 50 operations. On the free plan (1,000 operations\/month), this adds up fast. On paid plans, operations scale with your tier but still represent a real cost.<\/p>\n\n<h3>Strategies to Reduce Operations<\/h3>\n<ul>\n<li><strong>Use filters between modules:<\/strong> A filter that stops execution before reaching downstream modules costs zero operations. Place filters immediately after the trigger to eliminate irrelevant records early.<\/li>\n<li><strong>Batch processing:<\/strong> Set the trigger&#8217;s limit parameter higher (e.g., 100 records per cycle) and reduce the polling frequency. Processing 100 records in one execution cycle is cheaper than polling 100 times for one record each.<\/li>\n<li><strong>Use webhooks instead of polling:<\/strong> Polling consumes one operation per check regardless of results. Configure a <a href=\"https:\/\/aaxonix.com\/resources\/zoho-crm-api-webhooks-india\/\" class=\"sp-content-link\">Zoho CRM webhook<\/a> to push data to Make only when relevant events occur, eliminating empty polling operations.<\/li>\n<li><strong>Consolidate scenarios:<\/strong> If two scenarios watch the same Zoho CRM module, combine them into one scenario with a router. The trigger fires once, and the router branches without additional trigger operations.<\/li>\n<li><strong>Use the Aggregator module:<\/strong> Instead of sending ten individual Slack messages (10 operations), aggregate results into one summary message (1 operation after the aggregator).<\/li>\n<\/ul>\n\n<h3>Monitoring Operations Usage<\/h3>\n<p>Make&#8217;s dashboard shows operations consumed per scenario and per execution. Set up notifications at 80% of your monthly quota. Review the scenario execution logs weekly to identify modules that run frequently but produce no useful output, then add filters to eliminate those runs.<\/p>\n\n<h2>When to Use Make vs Zoho Flow vs Custom API<\/h2>\n\n<p>The choice between Make, Zoho Flow, and a custom <a href=\"https:\/\/aaxonix.com\/resources\/zoho-crm-integrations-india\/\" class=\"sp-content-link\">Zoho CRM integration<\/a> depends on three factors: workflow complexity, technical capacity, and budget.<\/p>\n\n<table>\n<thead>\n<tr><th>Scenario<\/th><th>Recommended Tool<\/th><th>Reason<\/th><\/tr>\n<\/thead>\n<tbody>\n<tr><td>New Zoho CRM contact syncs to Zoho Campaigns<\/td><td>Zoho Flow<\/td><td>Two Zoho apps, one trigger, one action<\/td><\/tr>\n<tr><td>Closed deal creates Google Sheet row, Slack notification, and Asana task<\/td><td>Make<\/td><td>Multi-app chain with data transformation<\/td><\/tr>\n<tr><td>CRM record update triggers conditional logic across 3 branches<\/td><td>Make<\/td><td>Router with filter conditions<\/td><\/tr>\n<tr><td>Bi-directional sync between Zoho CRM and external database<\/td><td>Custom API<\/td><td>Requires conflict resolution logic<\/td><\/tr>\n<tr><td>Quarterly report pulls from CRM, formats PDF, emails to stakeholders<\/td><td>Make<\/td><td>Scheduled execution with data aggregation<\/td><\/tr>\n<tr><td>Simple CRM field update triggers email notification<\/td><td>Zoho Flow<\/td><td>Single action, native integration sufficient<\/td><\/tr>\n<\/tbody>\n<\/table>\n\n<p>Make sits in the middle ground between Zoho Flow&#8217;s simplicity and a full custom API build. For teams that need multi-app workflows but lack developer resources to build and maintain API integrations, Make delivers the complexity handling without the code maintenance burden.<\/p>\n\n<h2>Testing and Deploying Make Scenarios<\/h2>\n\n<p>Never deploy a Make scenario to production without testing it against real Zoho CRM data structures. Make provides several tools that reduce the risk of errors in live execution.<\/p>\n\n<h3>Run Once Mode<\/h3>\n<p>Click &#8220;Run once&#8221; to execute the scenario a single time with live data. Each module shows its input and output in the execution inspector. Check every mapped field to confirm the data arrives in the expected format. Pay attention to null values, unexpected array structures, and date format mismatches.<\/p>\n\n<h3>Using Test Records<\/h3>\n<p>Create a test deal in Zoho CRM with known values, including edge cases: a deal with no contact associated, a deal with special characters in the name, a deal with zero amount. Run the scenario against each test record and verify every downstream module handles the data correctly.<\/p>\n\n<h3>Scheduling<\/h3>\n<p>Once tested, set the scenario to run on a schedule. Options include immediate (processes as soon as data is available), at regular intervals (every 15 minutes, hourly), or on specific days. For CRM integrations, a 15-minute interval balances timeliness with operations cost.<\/p>\n\n<h3>Version History<\/h3>\n<p>Make maintains a version history for each scenario. Before making changes to a production scenario, note the current version number. If the update causes errors, you can revert to the previous version without rebuilding from scratch.<\/p>\n\n<p>For a full overview of all available options, explore our complete guide to Zoho integrations.<\/p>\n<div class=\"faq-section\">\n<h2>Frequently Asked Questions<\/h2>\n<div class=\"faq-item\">\n<p class=\"faq-question\">Can Make connect to Zoho CRM&#8217;s custom modules and custom fields?<\/p>\n<p class=\"faq-answer\">Yes. Make&#8217;s Zoho CRM module reads your instance&#8217;s schema dynamically. Custom modules appear in the module selector, and custom fields appear in the field mapping interface. If you add a new custom field to Zoho CRM, refresh the module connection in Make to pull the updated schema.<\/p>\n<\/div>\n<div class=\"faq-item\">\n<p class=\"faq-question\">How many operations does a typical Zoho CRM scenario use per month?<\/p>\n<p class=\"faq-answer\">A scenario with five modules running every 15 minutes processes approximately 2,880 trigger checks per month. If 10% of those checks find matching records and each record passes through all five modules, you consume roughly 2,880 + (288 x 5) = 4,320 operations monthly. Use webhook triggers instead of polling to reduce the trigger operations to only the records that match.<\/p>\n<\/div>\n<div class=\"faq-item\">\n<p class=\"faq-question\">Is Make more expensive than Zoho Flow for simple workflows?<\/p>\n<p class=\"faq-answer\">For simple two-app workflows within the Zoho ecosystem, Zoho Flow is more cost-effective. It is included in many Zoho plans and charges by tasks rather than operations. Make becomes more economical when you need to connect non-Zoho apps or require features like routers, error handling routes, and iterators that Zoho Flow does not offer.<\/p>\n<\/div>\n<div class=\"faq-item\">\n<p class=\"faq-question\">Can I trigger a Make scenario from a Zoho CRM workflow rule?<\/p>\n<p class=\"faq-answer\">Yes. Create a webhook trigger in Make, which gives you a unique URL. In Zoho CRM, create a workflow rule that fires a webhook action pointing to that URL. This approach is more efficient than polling because Make only processes data when Zoho CRM sends it, saving operations on your Make plan.<\/p>\n<\/div>\n<div class=\"faq-item\">\n<p class=\"faq-question\">What happens if Make is down while Zoho CRM sends a webhook?<\/p>\n<p class=\"faq-answer\">Make&#8217;s webhook infrastructure queues incoming requests. When the service recovers, queued webhooks process in order. For critical workflows, add a secondary notification (email or SMS via a separate Zoho Flow) that alerts you if the Make scenario has not executed within the expected timeframe.<\/p>\n<\/div>\n<\/div>\n\n<div class=\"aax-cta\">\n<p>Aaxonix builds multi-app Zoho CRM integrations using Make, Zoho Flow, and custom APIs, matched to your workflow complexity and budget. Book a free consultation to get a no-obligation review of your current automation stack and a recommended integration architecture.<\/p>\n<a href=\"https:\/\/aaxonix.com\/contact\/\">Book a free consultation<\/a>\n<\/div>\n\n<p>The Zoho CRM and Make integration fills a specific gap: workflows too complex for Zoho Flow but not complex enough to justify custom development. Start with the four-module scenario described above, test it thoroughly, and expand from there. As your automation requirements grow, Make&#8217;s routers, error handlers, and data transformation functions scale with you, keeping your CRM data flowing accurately across every application your team depends on.<\/p>\n\n<\/div>","protected":false},"excerpt":{"rendered":"<p>On this page Zoho Flow handles simple two-app automations well, but the moment you need branching logic, error handling routes, or a&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2241,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[511],"tags":[60,294,593,592,10,167],"class_list":["post-2242","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-zoho","tag-automation","tag-integration","tag-integromat","tag-make","tag-zoho-crm","tag-zoho-flow"],"_links":{"self":[{"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/posts\/2242","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/comments?post=2242"}],"version-history":[{"count":3,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/posts\/2242\/revisions"}],"predecessor-version":[{"id":5521,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/posts\/2242\/revisions\/5521"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/media\/2241"}],"wp:attachment":[{"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/media?parent=2242"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/categories?post=2242"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/tags?post=2242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}