Loading tutorials…
Loading tutorials…
One Zap. Five different outcomes depending on the trigger payload. This is where Filter by Zapier and Paths by Zapier earn their keep — and where most DIY setups stack conditions wrong and end up routing nothing.
Who this is forOperators with 3+ multi-step Zaps that need to branch (e.g., "if enterprise plan, do A; if free plan, do B"). If you find yourself duplicating Zaps to handle small condition changes, Paths is the right tool.
What you'll need
Step 1
Filter = skip this run entirely if condition not met. Paths = branch into 2-5 different action sequences. Pick wrong and you over-engineer or under-engineer.
Filter by Zapier: one condition. If the condition is met, the rest of the Zap runs. If not, the run ends. Use when: you want to ignore some trigger events entirely.
Paths by Zapier: branch the Zap into 2-5 paths based on conditions. Each path has its own action sequence. Use when: different conditions lead to different downstream actions.
Rule of thumb: if all branches share most of the same actions, use Filter inside individual actions or use Paths with overlapping logic. If branches diverge entirely, use Paths.
Cost: Filter steps consume 0 Tasks. Paths steps consume 0 Tasks. Only the action steps inside the matched branch consume Tasks. This makes Filter+Paths the cheapest way to control Task usage.
Step 2
Click "+" between trigger and action 1 → search "Filter" → choose "Filter by Zapier" → "Only continue if..." Configure conditions with the (field, operator, value) pattern.
In your Zap editor, click the "+" between the trigger and the first action.
Search the action picker for "Filter." Choose "Filter by Zapier."
Choose "Only continue if..." (the default and almost always what you want).
Configure the condition: pick a trigger field, pick an operator (exists, equals, contains, greater than, etc.), pick or type a value.
For multiple conditions joined by AND: add them in the same Filter step. For OR logic: add a second condition group ("Or") — Zapier shows this as a separate row group.
Click "Test step." Zapier shows whether the current sample passes or fails the filter. If your sample fails but you expected it to pass, the condition logic is wrong.
Step 3
After your trigger (and any initial shared actions), add a Paths step. Configure 2-5 branches with mutually exclusive conditions.
Click "+" → search "Paths" → choose "Paths by Zapier."
You now see two starter branches: Path A and Path B. Each branch is a mini-Zap.
For each branch, click in and configure the condition first. Use the (field, operator, value) pattern.
Critical: make conditions mutually exclusive. If a record could match both Path A and Path B, only Path A will run (paths evaluate top-down). Hidden records will be missed by all paths.
Inside each branch, add the actions for that path. Each branch can have its own multi-step chain.
Add additional paths with the "+ Add a Path" button. Max 5 paths per Paths step on Pro; higher tiers allow more.
For a "catch-all / else" path: configure conditions so the last path matches anything not caught by earlier paths.
Step 4
Generate trigger events that should match each branch, then verify in Zap History that the correct path executed.
You cannot trust Paths logic without testing every branch with real data.
Generate one trigger event for each branch. For three branches (enterprise, paid, free), submit three real records, one per tier.
Open Zap → History. For each run, expand the Paths step and verify the chosen branch matches your intent.
For each chosen branch, expand the action steps and verify they ran. Verify destination apps received the correct records.
If a record went down the wrong branch, your condition logic is inverted or has a missing case. Fix in the editor and retest.
Step 5
Records that match none of your paths silently disappear. Add a final 'catch-all' path that logs them so you notice the gap.
Default Paths behavior: if a record matches no branch, the Zap ends without running any actions. No error, no log entry indicating "skipped."
This is the silent-failure mode most DIY setups never catch.
Add a final Path with a permissive condition — usually "trigger field exists" or "Path field does not equal A and does not equal B."
Inside this catch-all path, add a single Slack or email notification: "Zap [name] received a record that matched no path. Investigate."
Now any gap in your condition logic becomes visible within an hour instead of invisible forever.
Step 6
Open Zapier → Settings → Usage. Compare Task burn rate over 7 days before/after the Paths/Filter rollout. Expect 30-60% reduction on chatty Zaps.
Before turning the Zap on at full volume, check current Task usage in Zapier → Settings → Usage.
Estimate expected Task usage after Paths/Filters: count actions per branch, multiply by expected branch volume.
After 7 days live, compare actual vs. estimated. If the reduction is smaller than expected, your filter conditions are too permissive.
Common pattern: a 5-step Zap firing 1,000 times/mo at 5,000 Tasks/mo drops to 2,000 Tasks/mo after adding a Filter that skips 60% of events that should not trigger downstream actions.
Common mistakes
Overlapping Path conditions
What goes wrong: Path A condition matches the same records as Path B condition. Only Path A runs (top-down evaluation). Path B silently catches nothing. Hours of work wasted on a branch that never executes.
How to avoid: Make conditions mutually exclusive. If Path B should run only when Path A doesn't, add 'Path A condition is FALSE' as an explicit Path B condition.
Filter conditions with empty-string comparison
What goes wrong: You filter on 'email equals empty.' But the trigger sends null, not empty string. Filter passes everything through, including the records you wanted to block. Bad data flows downstream.
How to avoid: Use 'exists' or 'does not exist' rather than equality comparisons against empty/null. Test the filter with a record you expect to fail to verify it actually fails.
No catch-all path
What goes wrong: Records matching no branch vanish silently. You think the Zap caught everything but quietly miss 5-15% of records. Reports show fewer leads than your source app shows.
How to avoid: Add a final catch-all path that notifies a Slack channel or logs to a sheet. Any uncaught record now becomes visible within an hour.
Treating Filter as "stop processing this branch only"
What goes wrong: You add a Filter inside one Path expecting it to skip just that branch. Instead, the whole Zap halts when the Filter fails. Other branches that should have run never get the chance.
How to avoid: Filter inside a Path halts that path only — but be aware that 'halt path' looks identical to 'skip run' in Zap History. If you need fine-grained control, restructure with more specific Path conditions instead.
Operator confusion: contains vs equals vs matches
What goes wrong: You filter 'email contains @gmail.com' but operator selected is 'equals.' Filter fails every Gmail address. Hundreds of records skipped over a 6-month run.
How to avoid: Always re-read the operator before saving. Common ones: 'exactly matches' (case-sensitive), '(text) contains' (substring), 'exists' (not null/empty). Test with one record of each type.
Forgetting to bump plan when Paths is needed
What goes wrong: You design a Paths-based Zap on Starter and discover at publish time that Paths is not available. Refactoring to nested Filters wastes 2-3 hours and produces fragile logic.
How to avoid: Paths requires Professional ($73/mo at writing). If your automation needs branching, upgrade before designing. The math: Pro saves more in cleaner logic than it costs.
Recap
Done — what's next
How to set up multi-step Zaps in Zapier
Read the next tutorial
Hand it off
Designing the right condition tree is judgment work, not button-clicking. Specialists who have built 100+ branched Zaps recognize patterns DIYers do not. EverestX automation specialists typically rebuild a 5-Zap stack in 1-2 weeks, dropping Task usage 40-60% in the process — usually $400-800 total at $14-16/hr.
See specialist rates
Up to 5 paths on Professional, up to 10 on Team, and unlimited on Company. If you find yourself needing more than 5, the logic usually means you have two separate decision trees and should split into two Zaps.
No. Filter by Zapier, Paths by Zapier, and any built-in 'Format' or 'Lookup' steps using Zapier-native tools consume 0 Tasks. Only successful action steps to external apps count toward your plan limit.
Yes, but think hard before doing it. Nested Paths get hard to debug fast. If you need second-level branching, consider whether the inner Path could be replaced with a simple Filter, or whether the whole flow should be split into two Zaps.
In-flight runs use the condition at the time they started. New runs after the edit use the new condition. There is no mid-run re-evaluation. Edit during low-traffic periods to minimize confusion.
Not directly. The cleanest path is to duplicate the entire Zap, then delete the branches you do not need. Or rebuild the branch from scratch — usually faster for short chains.
Zapier
One trigger, three or four actions. Easy to draw on a whiteboard, easy to break in production. This walks through chaining, naming, and the error scenarios that hit you on day 30, not day 1.
Zapier
Default Zapier behavior on errors: fire once, fail silent, halt the Zap. Lose data. This walks through auto-replay, dedicated error Zaps, fallback paths, and the monitoring discipline that catches breaks within an hour — not after the next quarterly review.
Zapier
If your app sends data and Zapier needs to receive it instantly, polling won't cut it. Webhooks by Zapier handle the instant case — once you get past the auth, payload-shape, and parsing gotchas that bite every first-timer.
HubSpot Marketing Hub
Lead scoring is the most-built and least-used feature in HubSpot. Most setups generate scores that nobody references because they don't match how sales actually qualifies. Here's the model that earns sales trust — and the decay rules most owners skip.
Klaviyo
Most stores send to 'everyone who bought.' That's a list, not a segment. RFM + Predictive CLV segmentation is what separates email-as-newsletter from email-as-channel — typically 15-30% revenue lift on the same list.