Treat WordPress as a first-class event source for automation. Deliver structured, durable, and observable webhook events to n8n, Make, Zapier, or any API — with retries, unique event identity, and full delivery logging built in.
The real problem isn’t just “sending a webhook.” It’s missing **event durability**, **retry guarantees**, and a **feedback loop into WordPress** when deliveries fail.
do_action event as durable webhook events.Instead of fragile point-to-point integrations, treat WordPress as a resilient event source that can power automation workflows with confidence.
Each event gets a UUID and timestamp for traceability, idempotency, and reliable auditing in external systems.
Full operational REST API for delivery logs, retry triggers, queue status, and webhook management — usable by CI/CD pipelines, external dashboards, and AI agents.
Events are stored and processed independently of request cycles — enabling durable delivery and faster front-end response times.
Exponential backoff and classification of permanent vs retryable failures reduce data loss and increase success rates.
Track every attempt with HTTP status codes, response bodies, and automated audit trails — not guesswork.
Transform structured JSON before dispatch so it matches the schema expected by your automation platform or API.
Filters and actions allow you to adjust dispatch logic, headers, timeouts, and error handling for production needs.
Any native or custom do_action — from user registration to WooCommerce order completion.
Structured JSON payloads are built and stored for durable processing — outside the request lifecycle.
The event is dispatched asynchronously, retried automatically on failures, and logged for observability.
No listener code. No custom integration. Configure the hook in the admin panel — the plugin handles the rest.
Send WooCommerce order data to your ERP system on every new order, status change, or refund.
Automatically push new user registrations and profile updates to HubSpot, Salesforce, or any CRM via webhook.
Notify Slack, update a spreadsheet, or trigger an n8n workflow every time a post or custom post type is published.
Fire webhooks from any custom do_action in your theme or plugin — membership events, form submissions, anything. See the Contact Form 7 to webhook example for a full walkthrough.
Push WordPress events to internal APIs, message queues, or microservices for processing outside the WordPress stack.
AI agents and CI/CD pipelines inspect delivery logs, retry failed events, and manage webhook configuration programmatically via scoped API tokens — no admin session required.
Workflow Automation
App Integration
Visual Automation
Any HTTP Endpoint
Any system that accepts HTTP POST requests with JSON payloads works out of the box. Configure the URL, add an optional authorization header, and you're connected.
Webhook requests are dispatched outside the main request lifecycle. User-facing pages are never slowed down by outbound HTTP calls. For a deeper technical explanation of non-blocking architecture, see Async Webhooks Without Blocking in WordPress, and for why most webhook implementations silently fail in production, see Why WordPress Webhooks Silently Fail in Production.
Jobs are queued in a custom database table and processed in batches. Designed for system cron or a token‑protected REST endpoint for reliable, high‑frequency processing — with WP‑Cron as a fallback. For a deeper look at why WP‑Cron isn’t reliable for background jobs and how async webhook queues improve reliability and scalability in WordPress, see our technical article: Async Webhooks in WordPress — Why WP‑Cron Is Not Enough. To set up a proper cron job for WordPress — including system crontab, WP-CLI, and Action Scheduler — see Cron Job for WordPress: WP-Cron Limits and Real Fixes.
Failed deliveries retry with increasing delays: 1 min, 2 min, 4 min, 8 min — up to 1 hour. Default 5 attempts, configurable via filter. For a full walkthrough of retry and replay architecture, see Inside My Webhook Retry & Replay System.
Payloads follow a consistent structure: hook name, arguments, timestamp, site URL. Field mapping lets you reshape data for any external schema.
Built on WordPress APIs — wp_remote_post for HTTP, dedicated custom tables for fast storage and queries. Developer-friendly with filters and actions to customize every aspect. No external dependencies.
10 filters and 2 actions let you customize every aspect: dispatch conditions, payload transformation, headers, timeouts, and error handling.
fswa_should_dispatch
fswa_payload
fswa_normalize_object
fswa_headers
fswa_require_https
fswa_max_attempts
fswa_queue_batch_size
fswa_http_timeout
fswa_http_connect_timeout
fswa_http_args
fswa_available_triggers
fswa_success
fswa_error
Some plugins pass objects with private properties — or require additional PHP calls — to produce the data you actually want in the payload. fswa_normalize_object lets you intercept any such object before serialization and return a plain array instead. A common case is Contact Form 7, which fires wpcf7_mail_sent with a WPCF7_ContactForm instance whose submission data is only accessible via a separate API call.
The filter fires per object in the hook arguments. Return the original $data for any object you don't need to handle — the plugin's default serializer takes over. See the CF7 to webhook example for the full integration walkthrough.
The plugin exposes a full operational REST API (/wp-json/fswa/v1/) that powers the admin interface and can also be used directly by external tools, automation systems, AI agents, and CI/CD pipelines. Endpoints cover delivery logs, event inspection, retry and replay triggers, queue status, webhook configuration, and API token management. Secured with scoped tokens (read, operational, full) passed as X-FSWA-Token, Authorization: Bearer, or a query parameter. See the full REST API reference, the REST API guide for monitoring, recovery, and CI/CD usage patterns, or Create and Manage WordPress Webhooks Programmatically for the control layer — creating, updating, listing, and deleting webhooks via API without touching wp-admin.
Because the API exposes operational endpoints for logs, queue jobs, webhooks, and triggers, external agents can treat WordPress as programmable event infrastructure — without requiring an admin session.
Monitor delivery health
Retry failed events automatically
Inspect logs to debug integrations
Enable / disable webhooks during deployments
Query queue metrics for alerting
Example: a Claude Code agent analyzes delivery logs and retries failed integrations. A CI/CD pipeline disables webhook triggers before a deployment and re-enables them after. An external dashboard polls queue health metrics via API token.
woocommerce_order_status_completedwoocommerce_new_orderwoocommerce_product_set_stockuser_register, profile_update, wp_login, wp_logout),
you can enable "Include User Data"."Solid plugin. Super easy to set up and it just works. If you need reliable webhooks this makes the whole process a lot easier."Axel — WordPress.org review
Install Flow Systems Webhook Actions and make event delivery in WordPress deterministic, retry-safe, and observable.