Zapier
The complete guide
The world's largest no-code automation platform. 7,000+ apps, AI Agents, ready-made Zap Recipes, and 300 million Zaps running every month.
What is Zapier? The OG of automation
Zapier is the world's largest no-code automation platform. Founded in 2011, it has since become the industry standard for connecting apps and creating automated processes. Think of it as "If This Then That on steroids" — but with AI, branching logic, and a built-in database.
The core idea is simple: every Zap is made of aTrigger (an event that triggers the automation) andAction (an action performed as a result). For example: when a new lead arrives from Facebook Ads (Trigger) — send a welcome email and update the CRM (Actions). You can chain multiple Actions after a single trigger, and build branching Zaps with full conditional logic.
Zapier's big advantage is the number of integrations: 7,000+ apps ready to connect — from Gmail and Slack to niche tools only Zapier supports. If an app exists and has an API, it almost certainly has a connector in Zapier. This makes it the first choice for connecting tools that aren't in Make.com or n8n.
Comparison: Zapier vs Make.com vs n8n
| Criterion | Zapier | Make.com | n8n |
|---|---|---|---|
| Apps / Integrations | 7,000+ 🏆 | 2,000+ | 400+ |
| Ease of use | Very easy 🏆 | Easy | Medium |
| Minimum paid price | $19.99/month | $9/month 🏆 | $20/month (Cloud) |
| Self-hosted | No | No | Yes, free 🏆 |
| Free tier | 100 Tasks | 1,000 Ops 🏆 | Free (Self-hosted) |
| Built-in AI | Zapier AI 🏆 | Limited | AI Agent Node |
| Logic complexity | Medium | High 🏆 | Very high 🏆 |
| Recommended for | Niche apps, non-technical | Medium volume, visual | High volume, privacy |
The practical conclusion: Zapier wins when you need an integration for an app only it supports, or when the user isn't technical at all. Make.com wins on price-to-value. n8n wins for high volume and for those who want full control over their data.
Zapier pricing (2026)
| Plan | Tasks / month | Price | What's included |
|---|---|---|---|
| Free | 100 | $0 | Single-step Zaps, no Multi-step |
| Starter | 750 | $19.99 | Multi-step Zaps, Filters, Formatter |
| Professional | 2,000 | $49 | Paths, Autoreplay, Custom Logic, Webhooks |
| Team | 50,000 | $69 | Unlimited Users, Shared Workspace, Premier Support |
The first Zap — Gmail to Google Sheets
In the following example we'll build a complete Zap: every new email in Gmail with a specific Label → a new row in Google Sheets → a Slack message to the team. This is one of the most common automations and demonstrates the basic logic of every Zap.
Step 1 — choose a Trigger
Go tozapier.com, click "Create Zap". In the Trigger search field type "Gmail". Choose the Event: New Email Matching Search. Connect your Google account. In the Search field set the filter — for example: label:clients or subject:order. Click "Test Trigger" — Zapier will load a sample email so you can map fields in the next steps.
Step 2 — Action: Google Sheets
Click "+" to add an Action. Search "Google Sheets" and choose Create Spreadsheet Row. Connect a Google account. Select the relevant Spreadsheet and Sheet. Now map fields: drag from the email (Trigger data) to each column in the sheet — Subject, From, Body, Date, etc. Click Test to make sure the row is created.
Step 3 — Action: Slack
Click "+" again. Search "Slack" and choose Send Channel Message. Connect a Slack account. Choose a channel (for example: #team). Write the message content using dynamic data from the Trigger: "New email in Sheets: {{Subject}} from {{From Name}}".
Step 4 — Test, Publish, Activate
Click "Test" on each step. Then click "Publish" — the Zap moves from Draft to active. From now on, for every matching email, the Zap runs automatically. You can turn it off, edit, and re-enable it at any time from the Dashboard.
After the Trigger, add a Filter Step so the Zap runs only under specific conditions. For example: only emails from a certain Domain, only Sheets rows where the Status column equals "New". Filters are an essential tool for any real Zap.
Anatomy of a Zap — all the building blocks
An advanced Zap can include six different step types. Understanding each step is the key to building real automations, not just two-step Zaps.
Trigger — the starting point
Every Zap starts with a Trigger — an event that starts the automation. The three types of Triggers:
- App Event — an event in an app (a new lead, a new order, a new email, a new row in a sheet)
- Schedule — a Zap that runs on a schedule: hourly, daily, weekly. Ideal for periodic reports
- Webhook — receiving data from any source via HTTP Request. The most flexible — lets you connect any system with an API
Actions — what the Zap does
You can chain an unlimited number of Actions. Each Action is an operation in another app: creating a record, sending an email, updating a field, posting a message.
Filter — conditional logic
A Filter stops the Zap if a certain condition isn't met. For example: "continue only if the Amount value is greater than 1000". It lets you filter and pinpoint exactly when the Zap runs.
Paths — if/else branching
Paths let you branch into different routes by different values. For example: if Status = "VIP" → path A; if Status = "Standard" → path B. This is the feature that turns a simple Zap into a real automation with business logic.
Delay — a scheduled wait
A Delay pauses the Zap for a set time before continuing. Useful when you want: "send a reminder 24 hours after signup" or "check for an update 30 minutes after the action".
Formatter — data transformation
Formatter is a built-in Step that lets you format and transform data. See the separate section below.
Code Step — Python or JavaScript
For those who want full flexibility — Code Step lets you write Python or JavaScript inside the Zap. See the separate section below.
Zapier Formatter — no-code data transformation
Formatter is one of the most useful Steps in Zapier — it lets you change, clean and organize data before it reaches the next step. Here are the main functions:
Text — string operations
- Split Text — splitting a string into parts by a separator (space, comma, |)
- Trim Whitespace — removing extra whitespace from the start and end
- Find & Replace — replacing one string with another
- Extract Pattern — extracting a value by Regex
- Capitalize / Uppercase / Lowercase — changing case
- Remove HTML — removing HTML tags from text
Numbers — numeric operations
- Format Number — formatting a number with commas, decimal points
- Convert Currency — currency conversion (using an external API)
- Math Operations — addition, multiplication, percentages
Dates — date operations
- Format Date — converting between formats (DD/MM/YYYY, YYYY-MM-DD, Unix timestamp)
- Convert Timezone — time-zone conversion
- Add/Subtract Time — calculating a future or past date
Utils — utilities
- Line-items to Text — converting a list to a string
- JSON Stringify / Parse — handling JSON inside the Zap
- URL Encode / Decode — encoding/decoding URLs
A practical example — splitting a Contact field into separate parts:
Input: "John Smith | john@example.com | +972501234567"
Formatter: Split Text
Separator: " | "
Segment Index: All Parts
Output:
Part 1 → "John Smith"
Part 2 → "john@example.com"
Part 3 → "+972501234567"
→ you can map each part to a separate field in the CRM
You can chain several Formatter Steps in a series. For example: Trim Whitespace → Uppercase → Extract Pattern. This lets you do fully complex data cleaning with no code.
Zapier AI — AI Actions, Agents and OpenAI Integration
In 2024–2026 Zapier invested heavily in integrating AI into the platform. Here are the main features:
AI Actions — connecting AI Agents to the real world
AI Actions lets you talk to Zapier in free text — "send an email to X with this summary" — and Zapier builds and runs the Zap automatically. It lets you connect Zapier to AI agents like ChatGPT and Claude, so the Agent can perform real-world actions (sending emails, updating a CRM, creating tasks) directly through a conversational interface.
OpenAI / ChatGPT Integration
You can add an OpenAI (ChatGPT) Action inside any Zap. A full example of classifying and routing emails:
Trigger: Gmail — New Email (Inbox)
↓
Action 1: ChatGPT
Model: gpt-4o
Prompt: "Classify the following email into one category:
Sales / Support / Spam.
Summarize in 2 sentences.
Email: {{Body Plain}}"
↓
Action 2: Paths (by {{ChatGPT Response}})
├── Path "Sales":
│ → HubSpot: Create Deal
│ → Slack #sales: "New lead from {{From}}"
├── Path "Support":
│ → Zendesk: Create Ticket
│ → Slack #support: "New ticket: {{Subject}}"
└── Path "Spam":
→ Gmail: Move to Trash
Claude / Anthropic Integration
Just like OpenAI, you can connect Anthropic's Claude. Claude excels at analyzing long text, writing, and complex logic. Especially useful for analyzing contracts, processing reports, and creating marketing content.
AI by Zapier — without a separate OpenAI account
"AI by Zapier" is a built-in Action that provides basic AI capabilities without you having to pay for the ChatGPT API. It includes: text summarization, translation, categorization, entity extraction (names, dates, phone numbers) from unstructured text.
Zapier AI Agents (Beta)
Zapier Agents are AI Agents that can plan and execute Zaps autonomously. You define a goal in natural language, and the Agent decides which Zaps to run, in what order, and how to handle exceptions. This is a significant step beyond linear automation toward an agent that can respond to unexpected situations.
From: {{1. From Name}}
Subject: {{1. Subject}}
Body: {{1. Body Plain}}"
Every AI operation (ChatGPT, Claude, AI by Zapier) counts as one additional Task. A Zap that includes Trigger + ChatGPT + Slack consumes 2 Tasks per run. On lower plans this can add up fast — plan your volume ahead.
Webhooks and custom integrations
Webhooks are the feature that turns Zapier into a solution for any system — even if it has no ready-made Connector. There are two types:
Catch Hook (Inbound Webhook)
Zapier gives you a unique URL. Every HTTP POST sent to that URL triggers the Zap. Useful for connecting:
- custom apps you developed
- legacy systems that have no ready-made Connector
- local e-commerce platforms not on the Zapier list
- scripts and Bots that send events
Custom Request (Outbound Webhook)
Zapier sends an HTTP Request (GET/POST/PUT/DELETE) to any API you choose. It lets you connect any service with an API — even if it has no ready-made Connector. You can set Headers, Authentication, a custom Body.
Example — a custom Application → Zapier → CRM + Slack:
# your app sends a POST:
POST https://hooks.zapier.com/hooks/catch/YOUR_ID/abc123/
Content-Type: application/json
{
"event": "new_signup",
"user_email": "user@company.com",
"plan": "pro",
"source": "landing_page_b"
}
→ Zapier receives → triggers a Zap:
Action 1: HubSpot — Create Contact (email, plan)
Action 2: Slack #signups — "New signup: user@company.com (Pro)"
Action 3: Google Sheets — Log signup event
Zapier Tables — a built-in database
Zapier Tables is a database built into Zapier itself — with no need for an external Google Sheets, Airtable, or any separate tool. Suitable for storing leads, orders, contacts, and action logs.
Main uses for Tables
- Leads and contacts — storing incoming lead data with date, source, status
- Orders and deals — tracking e-commerce orders
- An action log — logging every Zap that ran for Audit purposes
- A Queue for Automation — rows that another Zap processes later
Zapier Interfaces — a Frontend for automation
An Interface is a visual interface (a web page or a form) connected directly to Tables. You can build a lead interface, an internal dashboard, or a customer form — without writing HTML. When someone fills out the form, the data is saved in a Table and triggers a Zap.
Combining the three tools gives you a Frontend (Interface) + Backend (Zap) + Database (Table) — all within Zapier. Suitable for internal projects, internal tools, and simple customer portals.
Code Step — Python and JavaScript inside the Zap
When the logic becomes too complex for Formatter, Code Step comes into play. You can write Python or JavaScript — with full access to the data of the Trigger and previous Actions.
Python — processing contact data
# Zapier Code Step - Python
# purpose: cleaning and processing incoming lead data
from datetime import datetime
# input_data comes automatically from the Trigger / previous Steps
email = input_data.get('email', '').lower().strip()
name = input_data.get('name', '').strip()
phone = input_data.get('phone', '').replace(' ', '').replace('-', '')
# computing a lead score (simple)
domain = email.split('@')[-1] if '@' in email else ''
lead_score = 80 if domain not in ['gmail.com', 'yahoo.com', 'hotmail.com'] else 40
# a welcome message
welcome_msg = f"Hi {name.split()[0]}! Welcome to our service."
output = {
'normalized_email': email,
'normalized_phone': phone,
'first_name': name.split()[0] if name else '',
'lead_score': lead_score,
'company_email': domain not in ['gmail.com', 'yahoo.com'],
'welcome_message': welcome_msg,
'processed_at': datetime.now().strftime('%Y-%m-%d %H:%M')
}
JavaScript — dynamic pricing calculation
// Zapier Code Step - JavaScript
// purpose: computing the price after a discount by customer type
const quantity = parseInt(inputData.quantity) || 1;
const unitPrice = parseFloat(inputData.unit_price) || 0;
const customerType = inputData.customer_type || 'standard';
// a discount table by customer type
const discounts = {
vip: 0.20,
partner: 0.15,
returning: 0.10,
standard: 0.00
};
const discount = discounts[customerType] || 0;
const subtotal = quantity * unitPrice;
const discountAmount = subtotal * discount;
const total = subtotal - discountAmount;
const vat = total * 0.17; // VAT
output = {
subtotal: subtotal.toFixed(2),
discount_pct: `${(discount * 100).toFixed(0)}%`,
discount_amount: discountAmount.toFixed(2),
total_before_vat: total.toFixed(2),
vat_amount: vat.toFixed(2),
total_with_vat: (total + vat).toFixed(2),
currency: 'ILS'
};
Code Step in Zapier runs in a restricted environment: no internet access, no importing external libraries (in Python: only the Standard Library). Maximum runtime: 30 seconds. For more complex processing, consider n8n which allows full npm packages.
Zap Recipes — ready-made Templates
Zapier offers a Template library with thousands of ready-made Zaps. Click a Template → connect accounts → activate. Here are the most popular categories:
- Lead Generation — Facebook Leads → CRM, Google Forms → HubSpot, Typeform → Mailchimp
- Social Media — RSS → Twitter/LinkedIn, Blog post → Social posts, YouTube → Slack notification
- E-commerce — Shopify → QuickBooks, WooCommerce → Slack, New order → Fulfillment
- HR & Onboarding — New hire form → Slack intro, Job applicant → Notion database
- Project Management — Slack keyword → Trello card, Email → Asana task, Notion → Calendar
Zapier vs Make vs n8n — a decision guide
The most common question: "which tool to choose?" Here are the situations where each tool is the right choice:
Choose Zapier when:
- A niche app that only Zapier supports — a specific ERP, a niche B2B tool, a special platform
- A completely non-technical user — Zapier is built for people with no technical background; the interface is the simplest
- Setup speed matters more than price — a Zap works within 10 minutes with no learning curve
- Zapier AI Agents — for integrating AI Agents that trigger automations in natural language
Choose Make.com when:
- Medium volume (2,000–50,000 Operations) and you're looking for good price-to-value
- You need a visual interface with drag-and-drop and a full Flowchart
- The logic is complex with loops, aggregators and list processing
Choose n8n when:
- Very high volume (hundreds of thousands of Executions) and Self-hosting eliminates costs
- Data privacy is critical — all data stays on your server
- You're a developer and want full JavaScript, npm packages, and Custom Nodes
5 practical projects with Zapier
Here are 5 projects of varying difficulty you can build and run in a short time:
🟢 Project 1 — capturing leads from a web form (beginners)
Goal: every form submission creates a row in Sheets and sends a welcome email.
Trigger: Typeform / Google Forms — New Response
Action 1: Google Sheets — Create Row (name, email, date, source)
Action 2: Gmail — Send Email to the form submitter ("Thanks for reaching out, we'll get back to you within 24 hours")
Action 3: Slack — Message to #leads ("New lead: {{Name}} — {{Email}}")
Setup time: about 15 minutes.
🟡 Project 2 — Social Listening + AI Digest (intermediate)
Goal: tracking RSS Feeds and creating an automatic weekly digest.
Trigger: Schedule by Zapier — every Friday at 08:00
Action 1: RSS by Zapier — Fetch items from multiple feeds (TechCrunch, Hacker News, G2)
Action 2: ChatGPT — "Summarize the following 5 headlines into 3 key points: {{items}}"
Action 3: Slack #weekly-digest — send the summary as a Block Kit message
Action 4 (optional): Gmail — send the summary to a mailing list
🟡 Project 3 — automatic Contact Enrichment (intermediate)
Goal: every new lead in the CRM is automatically enriched with business information.
Trigger: HubSpot — New Contact Created
Action 1: Clearbit (or Hunter.io) — Enrich Company by Domain
Action 2: Formatter — Format data (Capitalize company name, clean phone)
Action 3: HubSpot — Update Contact (Company Size, Industry, LinkedIn URL)
Action 4: Slack #sales — "New enriched lead: {{Name}} — {{Company}} ({{Employee Count}} employees)"
🔴 Project 4 — AI Email Responder (advanced)
Goal: classifying incoming emails and creating an automatic draft reply.
Trigger: Gmail — New Email (Inbox, exclude newsletters)
Action 1: ChatGPT — "Classify as Sales/Support/Partnership. If Support, create a professional reply"
Action 2: Paths (by Classification):
- Support → Gmail: Create Draft with the ChatGPT reply (for manual approval before sending)
- Sales → HubSpot: Create Deal + Slack #sales notification
- Partnership → Notion: Create Page + Tag @founder
Note: Set up a Draft rather than direct sending — test for a few days before switching to full automation.
🔴 Project 5 — a full E-commerce Pipeline (advanced)
Goal: full automation of the order process — from purchase to shipping.
Trigger: Shopify — New Order
Action 1: Code Step (Python) — calculating inventory, checking items in the order
Action 2: Paths:
- In stock → Gmail: Order Confirmation to the customer + QuickBooks: Create Invoice
- Out of stock → Gmail: Backorder Notice to the customer + Slack #ops: "Out of stock: {{Product}}"
Action 3: Google Sheets — Log order (Order ID, Customer, Total, Status, Date)
Action 4 (Delay 24h): Gmail — "Your order is on the way! Tracking number: {{Tracking}}"
A quick cheat sheet — Zapier
Formatter Functions Reference
| Function | Category | Use |
|---|---|---|
| Split Text | Text | Splitting "Full Name" into First + Last |
| Find & Replace | Text | Cleaning extra characters |
| Trim Whitespace | Text | Removing extra whitespace |
| Extract Pattern | Text | Extracting phone numbers/emails by Regex |
| Format Date | Date/Time | Converting between date formats |
| Convert Timezone | Date/Time | UTC → Asia/Jerusalem |
| Format Number | Numbers | 1000 → 1,000.00 |
| JSON Stringify | Utils | Object → JSON string |
| Remove HTML | Text | HTML email body → clean text |
| URL Encode | Utils | Encoding params for a URL |
The 20 most popular Zaps
- Gmail → Google Sheets (log emails)
- Facebook Lead Ads → HubSpot / CRM
- Calendly → Google Calendar + Zoom
- Typeform → Mailchimp + Slack
- Shopify New Order → QuickBooks + Email
- Slack Keyword → Trello/Asana Task
- RSS Feed → Twitter/LinkedIn
- Google Forms → Notion Database
- WooCommerce → Google Sheets Log
- Stripe Payment → HubSpot Deal Won
- New HubSpot Contact → Slack + Email
- Airtable Record → Gmail
- Gmail → ChatGPT Summarize → Notion
- LinkedIn Lead Gen → CRM
- Jira Issue → Slack + Email
- GitHub PR → Slack Notification
- Zendesk Ticket → Slack #support
- Paypal Payment → Google Sheets
- Gmail → Trello Card
- Schedule → Google Analytics Report → Email
Webhook Testing — a quick guide
# testing a Zapier Catch Hook with curl
# 1. create a Zap with Trigger: Webhooks — Catch Hook
# 2. get the unique URL (for example):
# https://hooks.zapier.com/hooks/catch/123456/abcdef/
# 3. send a test POST:
curl -X POST https://hooks.zapier.com/hooks/catch/123456/abcdef/ \
-H "Content-Type: application/json" \
-d '{
"name": "First test",
"email": "test@example.com",
"event": "signup",
"timestamp": "2026-04-16T10:00:00Z"
}'
# 4. in Zapier click "Test Trigger" — you'll see the data that was sent
# 5. map fields to the next Actions
Tips for managing Tasks and saving costs
- Use a Filter before expensive Actions — Filters don't cost Tasks; put them before Code/AI Steps
- Batch Processing with Tables — instead of a Zap per record, accumulate in a Table and process in batches
- Check Zap History — the dashboard shows how many Tasks were consumed; spot wasteful Zaps
- Autoreplay on Professional+ — when a Zap fails, Zapier retries automatically — saving Tasks on temporary errors
- Zap Versioning — save versions before big changes so you can roll back if needed
Keep learning — automation platforms
Compare the automation platforms and choose the right tool for your needs — or learn Prompt Engineering to improve the AI integration inside your Zaps.