Developer

Developer Docs

51 reference pages — filters, action hooks, and features.

$

/ Features

Feature

Async Delivery Queue

Webhook events are written to a persistent queue and delivered outside the request cycle.

Feature

Smart Retry with Exponential Backoff

Failed deliveries retry automatically with exponential backoff; 4xx failures are classified as permanent.

Feature

Event Identity & Deduplication Headers

Every dispatched event gets a UUID and ISO 8601 timestamp embedded in the payload and request headers.

Feature

Delivery Logs

Every delivery attempt is stored with HTTP status, response body, headers sent, and full attempt history.

Feature

Payload Mapping

Rename, restructure, or exclude fields in the outgoing JSON before dispatch using dot-notation paths.

Feature

Conditional Dispatch

Events are only delivered when payload field values match configured rules; non-matching events are logged as skipped.

Feature

Configurable HTTP Methods

Each webhook can send requests as GET, POST, PUT, PATCH, or DELETE.

Feature

Custom Request Headers

Add static or payload-resolved key/value headers sent with every delivery.

Feature

URL Query Parameters

Append static or payload-resolved query parameters to the endpoint URL at dispatch time.

Feature

Test Delivery

Fire a test webhook instantly or via the queue without triggering real WordPress events.

Feature

Webhook Replay

Re-send any logged event — successful, failed, or condition-skipped — using its original payload.

Feature

REST API

Full operational REST API at `/wp-json/fswa/v1/` for managing webhooks, logs, queue, and tokens.

Feature

API Tokens

Scoped API tokens for REST API access — create tokens with read, operational, or full scope.

Feature

Synchronous Execution

Optionally fire a webhook inline during the WordPress request, bypassing the queue for the first attempt.

Feature

Webhook Chains

A webhook completing with a 2xx response can automatically trigger one or more downstream webhooks.

Feature

Contact Form 7 Integration

Built-in normalization of CF7 submission objects into clean JSON payloads.

Feature

IvyForms Integration

Built-in normalization of IvyForms field objects and enrichment of submission payloads.

Feature

Action Scheduler Support

Automatically uses Action Scheduler (when available) instead of WP-Cron for queue processing.

Feature

Dynamic URLs via Filter

Rewrite the webhook endpoint URL per-event from PHP using the `fswa_webhook_url` filter.

Feature

Developer Extensibility

16 filters and 6 action hooks let you customize every aspect of dispatch, payload, headers, and retry behavior.

Feature Pro

Code Glue

Attach short PHP snippets per webhook+trigger to enrich payloads before dispatch.

Feature Pro

Post-Dispatch Scripting

Run PHP code after a successful delivery to process the response and write data back to WordPress.

Feature Pro

Dynamic URL Templates

Use `{{ field.path }}` placeholders in endpoint URLs — resolved per-event against the live payload.

Feature Pro

Per-Webhook Retry Settings

Override the global maximum retry attempt count for individual webhooks.

Feature Pro

Per-Webhook Backoff Strategy

Choose exponential, linear, or fixed backoff strategy and delay parameters per webhook.

Feature Pro

Unlimited Conditions

Define unlimited condition rules and groups with AND/OR logic between groups.

Feature Pro

External Cron

Replace visitor-triggered WP-Cron with a real system cron for predictable, near-real-time queue processing.

Feature

Activity History

Persistent audit log of every admin and API-token action with actor identity, structured diffs, and AI prompt capture.

/ Filters

Filter

fswa_should_dispatch

Controls whether a webhook should be dispatched for the current trigger event.

Filter

fswa_payload

Filters the base webhook payload after it is built from the WordPress hook arguments, before it is queued.

Filter

fswa_webhook_payload

Filters the per-webhook outgoing payload after field mapping, immediately before HTTP dispatch.

Filter

fswa_webhook_url

Rewrites the webhook endpoint URL per-event before dispatch.

Filter

fswa_headers

Filters the HTTP headers sent with each webhook request.

Filter

fswa_backoff_delay

Controls the retry delay in seconds between failed delivery attempts.

Filter

fswa_max_attempts

Sets the maximum number of delivery attempts before a webhook is marked permanently failed.

Filter

fswa_http_timeout

Sets the total HTTP request timeout in seconds.

Filter

fswa_http_connect_timeout

Sets the TCP connection timeout in seconds (separate from the read timeout).

Filter

fswa_http_args

Filters the full `wp_remote_request()` arguments array before the HTTP call.

Filter

fswa_require_https

Controls whether webhook endpoint URLs must use HTTPS.

Filter

fswa_capture_payload

Filters the payload stored as the example capture — does not affect what is dispatched.

Filter

fswa_normalize_object

Converts custom PHP objects in hook arguments into plain arrays for JSON serialization.

Filter

fswa_queue_batch_size

Sets the number of queue jobs processed per batch run.

Filter

fswa_available_triggers

Filters the grouped list of available triggers returned by the triggers REST endpoint.

Filter

fswa_webhook_data

Filters webhook data before it is returned in REST API responses.

/ Actions

Ready

Stop losing webhooks.
Start logging them.

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