Webhook Automations
How to Send an Email Automatically When a Webhook Is Received
To send an email whenever an external service delivers a webhook to your WordPress site, build a Zapify automation with the A webhook is received trigger and the Send an email action. Zapify gives the trigger a public endpoint — POST|GET /wp-json/zapify/v1/hook/{key} — that anything able to post JSON can call: Stripe, Paddle, GitHub, Zapier, or your own script. Receiving webhooks is free (up to three sources) and needs no code.
What this automation does
This automation connects one trigger to one action:
- Trigger: A webhook is received (Webhooks)
- Action: Send an email (WordPress)
When a request reaches the endpoint for this trigger, Zapify sends the email you configure, and you can drop values from the incoming payload straight into it. For how incoming webhooks, sources, and deduplication work in depth, see Zapify Webhooks.
How to create this automation
Everything is built in the Zapify visual builder. You will also need access to the external service (or script) that will send the webhook, so you can paste in the endpoint URL.
Step 1: Create a new automation
- In the WordPress admin, go to Zapify → Automations.
- Click Add New to open the builder.
- Name it clearly, for example Email the team when a webhook arrives.

Step 2: Add the trigger
- Click Add Trigger.

- Choose Webhooks as the app.

- Select A webhook is received.

Step 3: Get the endpoint URL and configure the trigger
The builder shows the endpoint for this trigger. It has the shape:
POST|GET https://your-site.com/wp-json/zapify/v1/hook/{key}
The {key} is a long random string (16–64 alphanumeric characters). Treat the URL as a credential — anyone who has it can send data to this automation.
Configure the trigger:
| Field | What it does |
|---|---|
| Listen on | Choose This trigger's own URL (the default — a private endpoint just for this automation), or a shared source so one URL can feed several automations. |
| Event type | Optional. Leave empty to accept every delivery; enter an event name (or a comma-separated list) to run only for matching events. |
Copy the endpoint URL and paste it into the sending service's webhook settings.
You can optionally turn on Require a signature and set a Signing secret on the trigger so Zapify only accepts requests signed with that shared secret — this incoming verification is available on the free build, alongside the secret key in the URL, rate limiting (60 requests per key per minute, 300 per address per minute), a 512 KB body cap, and per-delivery deduplication.
PRO feature
Signing your outgoing webhooks and reusable auth profiles (webhook_auth), retry policies (webhook_retries), and dry-run/bulk replay (webhook_replay) are part of Zapify PRO. Verifying incoming request signatures, shown above, is free.
Step 4 (optional): Create a reusable source
A source is one endpoint that many automations can listen on, each narrowing by event type — useful when a provider sends every event to a single URL. The free build supports up to three sources.
- Go to Zapify → Settings → Webhooks.
- Add a new incoming source and copy its URL/key.
- Back in the trigger, set Listen on to that source and use Event type to pick the events this automation should handle.
PRO feature
Unlimited webhook sources (webhook_sources) is a Zapify PRO feature. The free build allows up to three incoming sources.
Step 5: Capture a sample with Listen mode
Before you can map payload values into the email, Zapify needs to see what the service sends. Use Listen mode: Zapify captures the next real delivery and builds the token list from that payload, so you pick from actual field names instead of guessing. Send one test delivery from the service (or a tool that can POST JSON) while Listen is active.
Step 6: Add the Send an email action
- Click Add Action.

- Choose WordPress as the app.

- Select Send an email.

Step 7: Configure the email and map payload tokens

Fill in the email fields:
- To — the recipient team or inbox.
- Subject — for example,
Webhook received. - Message — the body of the notification.
Use the token button ({ }) to insert values from the delivery. The trigger always offers Received at, Raw body, Event type, and External ID; once you have captured a sample with Listen mode, every field from that payload appears as a token too.


Step 8: Set it live and save
New automations start as a Draft. Set both the trigger and the action to Live, then click Save. The endpoint only drives the automation once it is live.

How to test it
- Send a delivery to the endpoint URL — from the external service, or with a tool that can POST JSON.
- Check the recipient's inbox.
- If nothing arrives, open Zapify → Logs to see whether the delivery reached the endpoint and why the run did or did not continue.
See Troubleshooting for common causes.
Conclusion
The A webhook is received trigger turns any service that can post JSON into a notification source, and the Send an email action delivers the alert — free, for up to three sources, with payload values pulled in through Listen-mode tokens. To understand sources, deduplication, and the outgoing Send a webhook action, see Zapify Webhooks; to compare what free and PRO include, see Zapify Free vs Pro.
FAQs
Can Zapify send an email when a webhook is received?
Yes. Add the A webhook is received trigger to an automation and pair it with the Send an email action. Zapify generates a public endpoint at /wp-json/zapify/v1/hook/{key}; whenever a request reaches it and the automation is live, Zapify sends the email you configured. Receiving webhooks and emailing are both free.
How many incoming webhook sources can I use on the free plan?
The free build supports up to three incoming webhook sources. A source is one URL that can feed many automations, each narrowing by event type, so three sources goes a long way — a single source can drive several automations. Removing the three-source limit requires Zapify PRO (webhook_sources).
How do I put webhook data into the email?
Use Listen mode on the trigger to capture a real delivery. Zapify reads that sample payload and turns each field into a token. In the Send an email action, open the token ({ }) menu and insert the fields you want, alongside the always-available Received at, Raw body, Event type, and External ID tokens.
Is the webhook endpoint secure?
The endpoint carries a long random key (16–64 alphanumeric characters) that acts as its credential, so keep the URL secret. Zapify also rate-limits it — 60 requests per key per minute and 300 per address per minute — and caps bodies at 512 KB. Verifying incoming signed requests with a shared secret is available on the free build; signing your own outgoing webhooks (webhook_auth) is a Zapify PRO feature.
What happens if the same webhook is delivered twice?
Zapify records a deduplication key for each delivery with a unique index, so if a provider retries and the same delivery arrives more than once, the automation still runs only once. This prevents duplicate emails when a service re-sends a webhook it was not certain you received.