Webhook Actions · v2.2.1

Say what you want. Get a working automation.

“When someone submits my contact form, add them to my CRM.” Type that into Build with AI — the built-in agent plans the integration, builds it, test-fires it against your site's real data, and hands you the switch. Runs on a free Gemini key. No code. No per-task subscription.

Install Free Plugin
  Free & open source   GPLv2   5★ · 2 reviews
How it works

Describe it. Watch it build. Flip the switch.

01 / DESCRIBE

One plain sentence.

No trigger names, no field paths, no documentation detour. "When an order is completed, create a deal in HubSpot." The agent figures out the WordPress side.

02 / IT BUILDS

And proves it works.

It proposes a plan you can review, creates the webhook disabled, captures a real payload from your site, maps the fields, probes your endpoint, and fires a test delivery.

03 / YOU DECIDE

Nothing goes live without you.

Review what was built and flip the switch. Changed your mind? Undo the last change with one click. Prefer clicking things together yourself? The full manual editor is right there.

next_step

From install to your first working automation in about two minutes.

What changes for you

You just became the integrations department.

01 / SHIP BEFORE COFFEE

Two-week projects become a sentence.

The wiring job that used to mean quotes, tickets, and a specialist is now something you type. Review the plan, flip the switch, take the credit.

02 / SOUND SENIOR

Your builds come out engineered, not glued.

Queued, retried, logged, replayable — every automation ships on infrastructure a ten-year integrations engineer would sign off on. Nobody has to know it took you a minute.

03 / DELEGATE THE BORING

Describe once. Adjust in one line.

"Actually, only orders over $50." "Rename that field before it sends." The agent edits what it built — or open the manual editor and fine-tune by hand when you feel like it.

04 / BRING YOUR OWN AGENT

Claude Code and Cursor can run it for you.

The same toolset is exposed over MCP and a token-scoped REST API, so your coding agent can build, inspect logs, and retry deliveries — without ever touching admin credentials.

your_move

The senior engineer is included. You bring the sentence.

The engine underneath

The toolkit a senior engineer would insist on. The AI already uses it.

Queue, retry, logs, replay, credentials vault, conditions — the agent builds on these instead of generating fragile glue code. And every one of them is still there when you want manual control.

01 / QUEUE

Nothing blocks the request

Your event is enqueued in under 5ms and drained by background workers — checkout never waits on a slow endpoint. WP-Cron → Action Scheduler → System Cron → External Cron (Pro).

02 / RETRY

Failures fix themselves

A flaky endpoint retries on its own — 1m → 2m → 4m → 8m, capped at 1h, 5 attempts by default. (Pro) tune it per webhook.

03 / LOG

You can always see what happened

Every attempt is recorded: payload, response, status, latency, attempt count. Filter by hook, endpoint, status, or time window.

04 / REPLAY

Recover with one click

Failed delivery? Replay it. Re-run a window. Re-evaluate a skipped event after fixing its conditions — from the admin or the REST API.

05 / IDENTITY

Downstream dedup is free

Every event carries a v4 UUID plus X-Event-Id and X-Webhook-Id headers, so receivers deduplicate and stay idempotent without inspecting the payload.

06 / FILTER

Only the events that matter

Fire only when order.total > $50, only when a product is in the cart, only when it's real traffic. Free includes one condition; (Pro) unlimited with AND/OR groups.

The log

Every move it makes, written down.

Click any row to see the exact request body, response body, headers, and full attempt history. Failed? Replay it. And it's not just deliveries — every change the AI agent makes lands in the Activity History, so you always know who did what, human or machine.

Status pending → processing → delivered / failed
History Full attempt timeline per event
Identity Event UUID · X-Event-Id · X-Webhook-Id
Search By hook, endpoint, status, time window
Audit Activity History for every admin, API, and agent action
Smart retry & replay — failed delivery retried automatically, recoverable from the log with one click
zero_risk

Nothing to lose: new webhooks start disabled, and every change can be undone.

For developers

WordPress already broadcasts everything. That surface is your integration layer.

WordPress already broadcasts everything important as an action — orders placed, forms submitted, posts published, users registered, subscriptions renewed. This plugin turns that action surface into your integration surface. Any do_action on your site — including ones a plugin update ships next month — becomes a trigger you can map and send anywhere.

No vendor SDK. No custom integration plugin per service. No glue code rotting in functions.php. The hook itself is the API — and the toolkit around it (queue, retries, idempotent headers, scoped REST tokens, a full delivery log, replay) makes the WordPress side of your stack finally look like the rest of it.

The AI is optional. Everything the agent does you can click together by hand, script over the token-scoped REST API, or drive from an external agent via MCP — same engine either way. Full plugin spec · API reference

Pricing

Own the whole pipeline for free. Pay only to go further.

Build with AI ships in the free plugin — a free Google AI Studio key is enough to run it. The free plugin runs production webhooks on unlimited sites — async queue, retries, the full delivery log, replay, the REST API, payload mapping, and one condition. Pro unlocks unlimited conditions with AND/OR groups, per-webhook retry and backoff, Code Glue PHP snippets, {{ field.path }} dynamic URL templates, and a built-in External Cron that replaces WP-Cron entirely.

/Open source
Free
The whole delivery pipeline, on unlimited sites.
$0free forever
Download
Async queue + automatic retries
Full delivery log + one-click replay
REST API with scoped tokens
Payload mapping + 1 condition
Per-event dynamic URLs (via filter)
GPLv2 — unlimited installs
/1 site
Starter
All Pro features for a single production site.
$149/yr
Billed $149/yr — save $79
Get Starter
All Pro features
1 production site
Unlimited local/dev installs
Priority email support
1 year of updates
Most Popular
/Most popular
Business
The right fit for growing teams and stores.
$249/yr
Billed $249/yr — save $99
Get Business
All Pro features
10 production sites
Unlimited local/dev installs
Priority email support
1 year of updates
/75 sites
Agency
For agencies and platforms running at scale.
$499/yr
Billed $499/yr — save $209
Get Agency
All Pro features
75 production sites
Unlimited local/dev installs
Priority email support
1 year of updates
FAQ

Things engineers always ask.

Don't see yours? Open an issue on GitHub or check the full reference in the API docs.

What is Webhook Actions, and how does it relate to WP webhooks? +
Webhook Actions is the free WordPress plugin behind this site. It turns any do_action — from core, WooCommerce, Contact Form 7, Gravity Forms, or any other plugin — into a first-class event: captured, mapped into a JSON payload, dispatched to any HTTPS endpoint with retry and logging, and exposed over a token-authenticated REST API. It's how WP webhooks should have worked out of the box.
Do I need an API key for Build with AI? Is it free to run? +
The AI builder needs a model to talk to, and there are free options. If your WordPress 7.0 site already has an AI provider connected (Settings → Connectors), the builder uses it with no extra setup and stores no keys. Otherwise connect your own Anthropic, OpenAI, or Google key — a free Google AI Studio key gives you Gemini at no cost and takes about two minutes to get. If a provider gets rate-limited mid-build, the agent falls back to another connected provider and keeps going.
Is my data safe with the AI builder? +
Yes. Provider API keys are encrypted in the Credentials Vault and never returned over the API. Stored webhook credentials are never sent to the AI model, and captured payload values whose field names look sensitive (passwords, tokens, keys) are redacted before any prompt is built. The agent's changes run locally in the plugin — the model only proposes the plan, and nothing goes live without your confirmation.
Can I trigger on any plugin’s action, including ones that don’t exist yet? +
Yes. The plugin treats the entire WordPress action surface as your integration surface. Any do_action — already running on your site, or shipped by an update next month — can be picked up as a trigger, mapped, and delivered. No SDK, no custom integration plugin, no vendor-specific code; the hook itself is the API.
How does delivery actually work behind the scenes? +
A do_action fires inside WordPress. The plugin captures its arguments, normalizes PHP objects into clean JSON, applies your field mapping and conditions, queues the event in your own database, and dispatches it asynchronously — with retry, exponential backoff, idempotency headers (X-Event-Id, X-Webhook-Id), and a full request/response log on every attempt.
Can I send to n8n, Make, Zapier, or HubSpot? +
Yes. Any tool that accepts an HTTPS webhook works out of the box — n8n, Make, Zapier, Pipedrive, Notion, Airtable, Slack, or any internal service. Pro adds dynamic URL templates like https://api.hubapi.com/crm/objects/2026-03/deals/{{ _hs_deal_id }} so a single webhook can PATCH a specific remote record per event.
Does this work without WP-Cron? +
Yes. When Action Scheduler is available (for example via WooCommerce), the plugin uses it for queue processing automatically — the same reliable background runner WooCommerce uses for production stores. Otherwise the queue runs on WP-Cron by default, but you are not tied to it: point a real system cron (server crontab) at the queue for time-based reliability, and Pro adds built-in External Cron — a managed runner that is automatically enabled with no configuration. You can also dispatch synchronously, sending the first attempt on the same request that fires the event (failures still fall back to the queue and retry normally) — handy for low-volume or time-sensitive hooks, though it blocks page load until that first attempt finishes, so the queued runners are still recommended under load.
How does retry actually work? +
Failed deliveries retry automatically with exponential backoff — roughly 1m → 2m → 4m → 8m, capped at one hour between attempts, with 5 attempts by default before an event is marked permanently failed. 5xx and 429 responses retry; 4xx and 3xx are marked permanently failed immediately. Every attempt is logged. Pro lets you tune attempts and backoff per webhook.
What’s the difference between free and Pro? +
The free plugin covers the entire delivery pipeline: queue, retries, logging, REST API, conditional dispatch (one condition), payload mapping, custom headers and URL params, and the X-Event-Id / X-Webhook-Id headers. Pro adds {{ field.path }} URL templates, Code Glue PHP snippets per webhook+trigger, unlimited conditions with AND/OR groups, per-webhook retry and backoff settings, and built-in External Cron — a managed heartbeat monitor that runs the delivery queue on a reliable schedule, automatically enabled with no configuration needed.
Ready

Your next automation is
one sentence away.

$ wp plugin install flowsystems-webhook-actions --activate