Zapier7 min read

Zapier email: placement check between zaps

Zapier makes automation easy. What it does not make easy is knowing whether your automated emails actually reached the inbox. Add a webhook step and fix that in five minutes.

Zapier is the default answer for "connect tool A to tool B and send an email." That accessibility is also the risk: a marketing manager who cannot read an SPF record can, in under five minutes, wire up a Zap that fires thousands of emails from a Gmail account that was never warmed for bulk. The emails leave. Zapier reports success. The recipients never see them.

The fix is a webhook step between the trigger and the Send Email action. The webhook creates a placement test on the exact email content, waits for results, and either lets the send proceed or blocks it with a Slack alert.

Where Zapier email goes wrong

Most Zapier email mistakes are authentication, not content. A zap that uses Email by Zapier sends from zapiermail.com — Gmail and Outlook know that domain is used by thousands of senders and treat it with suspicion. Always prefer Gmail, Outlook, Mailchimp or a dedicated ESP action over the built-in sender.

The Zapier email tools in order of risk

Not all Zapier email actions are created equal. Here is how we rank them for production use:

  • Email by Zapier — Lowest deliverability. Shared sending domain. Acceptable for internal alerts to a few teammates, bad for customer-facing email.
  • Gmail — Good for low-volume personalised email. Daily sending limits apply (2,000 from Workspace, 500 from personal). Bad for marketing bulk.
  • Outlook / Microsoft 365 — Similar to Gmail. Fine for low-volume, bad for bulk.
  • Mailchimp, SendGrid, Mailgun, Brevo, Postmark — Best. Dedicated sender reputation, proper authentication, bulk-friendly.
  • Webhooks by Zapier — The actual fix. Use this to call your ESP's transactional API with full control over headers.

The placement-check pattern

Before the Send step, insert two actions:

  1. Webhooks by Zapier → POST to /api/tests. Body contains subject, from, and HTML. Save the returned token to the zap context.
  2. Delay by Zapier → Delay For five minutes. This is a free built-in action; it does not count against your task quota as a separate task.
  3. Webhooks by Zapier → GET /api/tests/:token. Parse the response. The score lives at score.
  4. Filter by Zapier — only continue if score is greater than 70. Otherwise the zap halts and you can add a Slack step on the opposite branch.
  5. Your real Send step runs only when the filter passes.

Example webhook configuration

In the Webhooks by Zapier POST step, configure the following:

URL: https://check.live-direct-marketing.online/api/tests
Method: POST
Data Pass-Through: false
Data:
  subject: {{Subject from Trigger}}
  from: campaigns@yourbrand.com
  html: {{HTML body from Trigger}}
Headers:
  Content-Type: application/json
  Accept: application/json

Zapier will serialise the Data fields as JSON automatically when Content-Type is set. The response appears in the step output as structured fields; you can reference token in later steps via {{Token}}.

Native integration in beta

A native integration is in private beta. It will appear in the Zapier app directory as a single Check Placement action — no webhooks, no delay guesswork, automatic zap halt on low scores.

→ Join the beta waitlist

Zapier task costs

Each webhook step is one task. Each delay is zero tasks. Each filter is zero tasks. So a placement-guarded zap costs exactly two extra tasks per run versus an unguarded one. For most plans this is negligible.

If the zap fires 50 times a day, that is 100 extra tasks per day, 3,000 per month — well inside the Professional plan. If your volume is higher and Zapier tasks become a cost center, graduate to Make or n8n where operations are 10x cheaper.

Common mistakes we see

Sending with Gmail from a free @gmail.com address

Free Gmail addresses cannot be customised with SPF / DKIM / DMARC beyond Google's defaults. Deliverability to Outlook and Yahoo is poor for anything that looks like bulk. Use a Workspace domain or switch to an ESP.

No Filter step — just "soft warning"

Some users add the placement test but skip the filter, on the assumption "it is just a warning." This is the same as not testing at all. The value is in blocking the send. Be strict: placement below threshold, halt.

Testing with different content than the real send

If you test with a generic subject line and send a campaign with an emoji and three exclamation marks, you tested nothing. Pass the exact content through the test.

Does Delay by Zapier count against my task quota?

No. Only task-consuming actions count, and Delay is free. This makes the placement pattern cost-effective even on the Starter plan.

Can I do this with Webhooks on the Free plan?

Webhooks by Zapier is available on all paid plans. On Free, use a lightweight alternative: a Google Apps Script webhook or a Cloudflare Worker as a proxy.

What score threshold should I use?

For warm domains, 80. For new domains, 70. For high- stakes transactional (password reset, receipt), 90. Tune over time based on observed behaviour.

Will this slow down my user-facing email?

Yes — by exactly the Delay duration. For transactional email where latency matters, do not gate the send on a placement test. Instead run a daily scheduled zap that sends a dummy transactional email and alerts if placement drops.
Related reading

Check your deliverability across 20+ providers

Gmail, Outlook, Yahoo, Mail.ru, Yandex, GMX, ProtonMail and more. Real inbox screenshots, SPF/DKIM/DMARC, spam engine verdicts. Free, no signup.

Run Free Test →

Unlimited tests · 20+ seed mailboxes · Live results · No account required