Zoho Flow is Zoho's native iPaaS (Integration Platform as a Service) offering, positioned as a lower-cost alternative to Zapier, Make, and enterprise iPaaS platforms. It is part of the broader Zoho ecosystem (Zoho One includes Flow) and provides native, deep integrations with all Zoho products. Unlike enterprise iPaaS like MuleSoft or Boomi, Zoho Flow is primarily designed for workflow automation (trigger-action patterns) rather than complex ETL, API management, or ESB patterns. The platform supports 1,000+ cloud and on-premises app connectors. [src1, src5]
| Property | Value |
|---|---|
| Vendor | Zoho |
| System | Zoho Flow (SaaS, continuously updated) |
| API Surface | REST (webhooks, outgoing webhooks, Deluge scripting) |
| Current Version | 2026 (SaaS - no versioned releases) |
| Editions Covered | Free, Standard, Professional |
| Deployment | Cloud (with on-prem agent for hybrid) |
| API Docs | Zoho Flow Help |
| Status | GA |
Zoho Flow provides multiple integration surfaces for connecting applications and automating workflows. [src1, src6]
| API Surface | Protocol | Best For | Max Throughput | Rate Limit | Real-time? | Bulk? |
|---|---|---|---|---|---|---|
| App Triggers | Polling / Webhooks | Reacting to events in connected apps | Varies by app | 300 exec/min | Depends on poll interval (5-15 min) | No |
| Webhook Triggers | HTTPS/JSON | Real-time inbound event processing | Per-webhook | 100 exec/min | Yes | No |
| Outgoing Webhooks | HTTPS (GET/POST/PUT/PATCH/DELETE) | Calling external REST APIs from flows | Per-action | Subject to Deluge limits | Yes | No |
| Deluge Custom Functions | Script execution | Complex data transformation, calculations | Per-function | 5,000 stmts/exec, 2,000 API calls/day | Yes | No |
| Subflows | Internal | Reusable automation modules | Per-subflow | Same as parent flow | Yes | No |
| On-Prem Agent | HTTPS tunnel | Local databases, scripts, legacy apps | Agent-limited | Professional plan only | Yes (via agent) | Limited |
| Limit Type | Value | Applies To | Notes |
|---|---|---|---|
| App trigger execution rate | 300/minute | Per app trigger | Throttled beyond this rate [src3] |
| Webhook trigger execution rate | 100/minute | Per webhook trigger | Excess requests queued or dropped [src3] |
| Deluge statements per execution | 5,000 | Custom function scripts | Loop iterations multiply statement count [src4] |
| Deluge recursive function calls | 75 | Per function execution | Nested function calls within a single function [src4] |
| Deluge invokeUrl timeout | 40 seconds | Per outgoing API call | Socket timeout error if exceeded [src4] |
| Deluge invokeUrl response size | 5 MB | Per API response | Larger payloads are truncated [src4] |
| Email attachment size | 15 MB | sendmail task | Per email sent from Deluge [src4] |
| Limit Type | Value | Window | Edition Differences |
|---|---|---|---|
| Monthly tasks (Free) | 100 | Monthly | 5 flows max, 15-min polling [src2] |
| Monthly tasks (Standard) | 5,000-5,000,000 | Monthly | Unlimited flows, 15-min polling, custom functions [src2] |
| Monthly tasks (Professional) | 10,000-5,000,000 | Monthly | Unlimited flows, 5-min polling, premium apps, on-prem, auto rerun [src2] |
| Deluge webhook/API calls | 2,000 | Per day | invokeUrl, getUrl, postUrl combined [src4] |
| Deluge integration tasks | 2,000 | Per day | API calls to Zoho services [src4] |
| Deluge sendmail | 500 | Per day per user | Email sending limit [src4] |
Zoho Flow uses different authentication mechanisms depending on the integration surface. App connections use OAuth 2.0 exclusively; outgoing webhooks support multiple auth methods. [src1, src6]
| Flow | Use When | Token Lifetime | Refresh? | Notes |
|---|---|---|---|---|
| OAuth 2.0 (app connections) | Connecting to any supported cloud app | Managed by Zoho Flow | Automatic | Zoho Flow handles token refresh transparently [src1] |
| API Key (outgoing webhook) | Simple API authentication | Varies by target API | N/A | Key passed as header or query param [src6] |
| Basic Auth (outgoing webhook) | Username/password auth | N/A | N/A | Base64 encoded credentials in header [src6] |
| OAuth v1.0a (outgoing webhook) | Legacy OAuth services | Varies | Varies | For older APIs [src6] |
| OAuth v2 (outgoing webhook) | Modern API authentication | Varies by provider | Yes | Full OAuth 2.0 flow with token management [src6] |
START - User needs iPaaS / workflow automation
|-- Primarily within Zoho ecosystem?
| |-- YES
| | |-- Budget-conscious?
| | | |-- YES --> Zoho Flow (native Zoho integration, 40-76% cheaper than Zapier)
| | | |-- NO --> Zoho Flow Professional (on-prem, 5-min polling, premium apps)
| | |-- Need complex data transformations?
| | |-- YES --> Zoho Flow + Deluge custom functions
| | |-- NO --> Zoho Flow Standard (drag-and-drop builder)
| |-- NO - primarily third-party integrations
| |-- Need 3,000+ app connectors?
| | |-- YES --> Zapier (7,000+ connectors)
| | |-- NO
| |-- Need visual data mapping / complex branching?
| | |-- YES --> Make (superior visual workflow builder)
| | |-- NO
| |-- Need enterprise API management / ESB?
| | |-- YES --> MuleSoft, Boomi, or Workato
| | |-- NO --> Zoho Flow (cost-effective, 1,000+ connectors)
|-- On-premises integration required?
| |-- YES --> Zoho Flow Professional with On-Prem Agent
| |-- YES + enterprise scale --> MuleSoft / Boomi / SAP Integration Suite
|-- Volume requirements?
|-- < 100 tasks/month --> Zoho Flow Free
|-- 100-10K tasks/month --> Zoho Flow Standard ($29/mo) or Professional ($49/mo)
|-- > 10K tasks/month --> Zoho Flow Professional with add-ons, or Zapier/Make
|-- > 100K tasks/month with transformation --> Enterprise iPaaS (MuleSoft, Boomi)
| Capability | Zoho Flow | Zapier | Make (Integromat) | Notes |
|---|---|---|---|---|
| Connectors | 1,000+ | 7,000+ | 1,800+ | Zapier dominates long-tail SaaS |
| Starting price | $0/mo (100 tasks) | $0/mo (100 tasks) | $0/mo (1,000 ops) | Zoho most affordable at scale |
| Pro price (10K tasks) | $49/mo | $69/mo (per 25 users) | ~$19/mo | Make cheapest per-task; Zoho cheapest per-org |
| Licensing model | Per organization (unlimited users) | Per team (max 25 users) | Per organization | Zoho best value for large teams |
| Task counting | Per action executed | Per action executed | Per operation | All three count similarly |
| Min polling interval | 5 min (Professional) | 1 min (paid plans) | 1 min (paid) | Zapier fastest polling |
| Custom scripting | Deluge | Python, JavaScript | JavaScript | Zoho's Deluge is proprietary |
| On-premises | Yes (Professional) | Limited (1 system) | No native | Zoho strongest for hybrid |
| Error handling | Auto rerun (Professional) | Limited, predefined | Advanced branching | Zoho auto rerun is unique |
| Subflows | Yes (reusable modules) | No native | Yes (scenarios) | Zoho and Make support modular flows |
| AI features | Zia (NL flow builder) | AI by Zapier | No native AI | Zoho and Zapier offer AI assistance |
| Uptime SLA | 99.9% | 99.9% | 99.9% | All three offer same SLA |
Navigate to zoho.com/flow and sign up. The Free plan provides 100 tasks/month and 5 flows for evaluation. For production use, the Professional plan ($49/month for 10,000 tasks) is recommended. [src2]
# Plan selection guide:
# Free: 100 tasks/mo, 5 flows, 15-min polling, base apps only
# Standard: 5K+ tasks/mo, unlimited flows, 15-min polling, custom functions
# Professional: 10K+ tasks/mo, unlimited flows, 5-min polling, premium + on-prem + auto rerun
Verify: Log in to Zoho Flow dashboard and confirm your plan under Settings > Subscription.
In Zoho Flow, go to Settings > Connections > Create Connection. Select the application and complete the OAuth authorization flow. [src1]
# Connection setup:
# 1. Click "Create Connection" in Settings > Connections
# 2. Search for the target application
# 3. Click "Connect" and complete OAuth authorization in popup
# 4. Name the connection for easy identification
# 5. (Optional) Share connection with other org members
Verify: The connection appears as "Active" in the Connections list.
Create a new flow from the dashboard. Select a trigger app and event, then add action steps. Use the drag-and-drop builder for field mapping. [src1]
# Flow structure:
# TRIGGER: New Row in Google Sheets (polls every 5-15 min based on plan)
# |
# +--> ACTION 1: Create Contact in Zoho CRM
# | Map: Sheet Column A --> CRM First Name
# | Map: Sheet Column B --> CRM Email
# |
# +--> ACTION 2: Send Notification in Slack
# Map: "New contact: " + Sheet Column A
#
# Task consumption: 2 tasks per trigger execution (2 actions)
Verify: Click "Test" in the flow builder. Green checkmarks on each successful action.
Use the Decision element for branching logic, and add Deluge custom functions for complex data transformations. [src7]
// Example Deluge custom function: format phone number
phone = input.phone_number.replaceAll("[^0-9]", "");
if(phone.startsWith("1") && phone.length() == 11)
{
return "+" + phone;
}
else if(phone.length() == 10)
{
return "+1" + phone;
}
else
{
return phone;
}
Verify: Test the custom function in the Deluge editor with sample input.
Enable auto rerun on the Professional plan. Set up error notification emails and review flow history for failures. [src1, src5]
# Error handling configuration:
# 1. In flow settings, enable "Auto Rerun" (Professional plan)
# 2. Set retry attempts (default: 3)
# 3. Configure error notification email
# 4. Review History tab for execution logs
# 5. Flow history retention: 30d (Free), 60d (Standard), 90d (Professional)
Verify: Deliberately trigger an error and confirm auto rerun attempts appear in history.
# Input: JSON payload with event data
# Output: Zoho Flow webhook trigger response
import requests # requests==2.31.0
ZOHO_FLOW_WEBHOOK_URL = "https://flow.zoho.com/webhook/your-webhook-id"
payload = {
"event": "new_order",
"order_id": "ORD-12345",
"customer_email": "[email protected]",
"total": 149.99
}
response = requests.post(
ZOHO_FLOW_WEBHOOK_URL,
json=payload,
headers={"Content-Type": "application/json"},
timeout=30
)
if response.status_code == 200:
print(f"Webhook triggered successfully: {response.json()}")
else:
print(f"Webhook failed: {response.status_code} - {response.text}")
// Input: JSON payload with event data
// Output: Webhook trigger confirmation
// [email protected]
const fetch = require("node-fetch");
const ZOHO_FLOW_WEBHOOK_URL = "https://flow.zoho.com/webhook/your-webhook-id";
async function triggerZohoFlow(eventData) {
const response = await fetch(ZOHO_FLOW_WEBHOOK_URL, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(eventData),
});
if (!response.ok) {
throw new Error(`Webhook failed: ${response.status} ${response.statusText}`);
}
return response.json();
}
triggerZohoFlow({
event: "new_order",
order_id: "ORD-12345",
total: 149.99,
}).then(console.log).catch(console.error);
# Input: Zoho Flow webhook URL + JSON payload
# Output: 200 OK with execution confirmation
curl -X POST "https://flow.zoho.com/webhook/your-webhook-id" \
-H "Content-Type: application/json" \
-d '{
"event": "new_order",
"order_id": "ORD-12345",
"customer_email": "[email protected]",
"total": 149.99
}'
# Expected response:
# {"status":"success","request_id":"..."}
| Flow Configuration | Trigger Executions/Month | Actions per Flow | Monthly Tasks Consumed | Minimum Plan |
|---|---|---|---|---|
| Simple 1-trigger, 1-action | 100 | 1 | 100 | Free |
| 1-trigger, 3-actions | 500 | 3 | 1,500 | Standard |
| 1-trigger, 5-actions | 1,000 | 5 | 5,000 | Standard |
| 1-trigger, 10-actions with subflow | 2,000 | 10 | 20,000 | Professional (20K tier) |
| Multiple flows, 15 total actions | 5,000 | 15 | 75,000 | Professional (100K tier) |
| Error | Meaning | Cause | Resolution |
|---|---|---|---|
| Task limit exceeded | Monthly task quota exhausted | More executions than plan allows | Upgrade plan or purchase task add-ons; flows suspended until reset |
| Webhook rate limit | >100 exec/min on webhook trigger | High-volume webhook source | Implement queuing on sender side; batch events |
| Connection expired | OAuth token refresh failed | Remote app revoked access | Reauthorize in Settings > Connections |
| Deluge timeout | invokeUrl exceeded 40 seconds | Slow external API response | Optimize external API; consider async pattern |
| Deluge statement limit | >5,000 executed statements | Complex logic or large loop | Refactor to reduce iterations; move processing externally |
| Deluge daily limit | >2,000 API calls in 24h | High-volume API operations | Batch API calls; consider direct API integration |
| Invalid field mapping | Target field type mismatch | Date as string, number as text | Add Deluge custom function for type conversion |
| On-prem agent offline | Agent lost connection | Network issue, agent stopped | Restart agent; check firewall for outbound HTTPS |
Set task usage alerts at 75% and 90% of quota. Monitor in Settings > Usage. [src2, src3]Share all production connections with at least one admin user. [src3]Use webhook triggers for time-sensitive flows, or upgrade to Professional for 5-min polling. [src2]Schedule high-volume batch operations for off-peak hours. Consider direct API integration for high-volume scenarios. [src4]// BAD - Zoho Flow is a workflow automation tool, not an ETL platform
// Scenario: Syncing 50,000 records daily from database to CRM
// Problem: 50,000 records x 2 actions/record = 100,000 tasks/month
// exceeds most plans and hits rate limits
// GOOD - Use Zoho Flow for event-driven automation; direct API for bulk
// For < 1,000 records: Zoho Flow with polling trigger
// For 1,000-10,000 records: Zoho Flow with webhook + batching
// For > 10,000 records: Direct API integration or Zoho DataPrep / dedicated ETL
// BAD - A 20-action flow consumes 20 tasks per execution
// 1,000 triggers/month x 20 actions = 20,000 tasks consumed
// Also harder to debug and maintain
// GOOD - Break into focused subflows with error isolation
// Main flow: trigger + 3 actions + call subflow (5 tasks per execution)
// Subflow: handles complex logic (only called when needed)
// Use Decision elements to skip unnecessary actions
// BAD - 15-min polling on Standard plan for order processing
// Customer places order at 10:01
// Polling at 10:00 just ran, next poll at 10:15
// 14-minute delay before flow triggers
// GOOD - Configure webhook trigger for instant execution
// Source system sends POST to Zoho Flow webhook URL on order creation
// Flow triggers within seconds (subject to 100/min rate limit)
// Falls back to polling only for apps that don't support webhooks
Calculate: (actions per flow) x (monthly triggers) x (number of flows) = total monthly tasks. [src2, src3]If >50% of connections are to Zoho apps, Zoho Flow is ideal; otherwise, evaluate Zapier or Make. [src5]Invest in Deluge training upfront. Use Zoho's Deluge playground for testing. [src7]Load test with realistic volumes. Monitor Usage dashboard for 2 weeks after launch. [src3, src4]Check if your organization has Zoho One - Flow may already be included. [src2]# Zoho Flow does not have a CLI or direct API for diagnostics.
# All monitoring is done through the web dashboard.
# Check flow execution history:
# Dashboard > Select Flow > History tab
# Shows: execution date, status (success/failed), task count, duration
# Check task usage:
# Settings > Subscription > Usage
# Shows: tasks consumed / total, remaining tasks, reset date
# Check connection status:
# Settings > Connections
# Shows: connection name, app, status (Active/Expired), owner
# Check webhook URL:
# Flow editor > Webhook trigger step > Copy URL
# Test: send a sample POST request and check History tab
# Monitor on-prem agent:
# Settings > On-Prem Agent
# Shows: agent name, status (Online/Offline), last heartbeat
# Debug Deluge custom functions:
# Flow editor > Custom Function step > Edit > Test
# Use info statements for logging: info "debug: " + variable;
| Feature | Release Date | Status | Impact | Notes |
|---|---|---|---|---|
| Subflows (reusable modules) | 2025-H1 | GA | New capability | Modular, reusable flow components |
| Outgoing webhooks | 2025-H1 | GA | New capability | GET/POST/PUT/PATCH/DELETE to external APIs |
| Zia AI flow builder | 2025-H2 | GA | Enhancement | Natural language to flow generation |
| On-premises agent | 2024 | GA | New capability | Bridge between cloud Flow and local systems |
| Custom functions (Deluge) | 2023 | GA | Core feature | Scripting within flows for data transformation |
| Zoho Flow launch | 2019 | GA | Platform launch | Initial release with basic trigger-action automation |
| Use When | Don't Use When | Use Instead |
|---|---|---|
| Your stack is primarily Zoho products | You need 3,000+ connectors for long-tail SaaS | Zapier (7,000+ connectors) |
| Budget is primary concern, large team | You need complex visual data mapping | Make (superior visual scenario builder) |
| You need on-premises connectivity | You need enterprise API management or ESB | MuleSoft, Boomi, or Workato |
| Custom scripting within flows acceptable | Your developers require Python/JavaScript in flows | Zapier (Python/JS) or Make (JS modules) |
| Monthly volume under 50,000 tasks | High-volume ETL (50K+ records/day) | Direct API integration or dedicated ETL |
| Already have Zoho One subscription | Need sub-minute polling or <1s trigger latency | Custom webhook integration or enterprise iPaaS |
| Capability | Zoho Flow | Zapier | Make | MuleSoft | Notes |
|---|---|---|---|---|---|
| Target user | SMB, Zoho-ecosystem | SMB to mid-market | SMB to mid-market | Enterprise | Zoho & Zapier easiest |
| Connectors | 1,000+ | 7,000+ | 1,800+ | 1,500+ | Zapier dominates breadth |
| Pricing (10K tasks) | $49/mo (org) | $69/mo (25 users) | ~$19/mo | $1,250+/mo | Make cheapest per-task |
| Custom scripting | Deluge (proprietary) | Python, JavaScript | JavaScript | Java, DataWeave | Standard languages advantage |
| On-premises | Yes (agent) | Limited | No | Yes (Mule runtime) | Zoho and MuleSoft strongest |
| Visual builder | Drag-and-drop | Linear steps | Visual canvas | Anypoint Studio | Make best visual tool |
| Error handling | Auto rerun + manual | Manual retry | Error branching | Full exception handling | Make most flexible |
| API management | No | No | No | Yes (full gateway) | Only MuleSoft provides governance |
| Bulk data | No native | No native | No native | Yes (batch, streaming) | Lightweight iPaaS lack bulk |
| AI assistant | Zia | AI by Zapier | No | Composer (beta) | Zoho and Zapier offer AI |
| Subflows | Yes | No | Yes | Yes | Zapier lacks modularity |
| Compliance | GDPR, SOC 2 | GDPR, SOC 2, HIPAA | GDPR, SOC 2 | GDPR, SOC 2, HIPAA, PCI | MuleSoft most compliant |