---
title: "Developer Docs — Webhook Actions for WordPress"
description: "Reference and how-to docs for the Webhook Actions WordPress plugin — guides, features, AI abilities, filters, and action hooks with code examples."
url: "https://wpwebhooks.org/docs/"
---

[WP Webhooks](https://wpwebhooks.org/)/ Docs

/Developer

# Developer Docs

85 pages — how-to guides, features, AI abilities, filters, and action hooks.

## / How to

How to

Get a free Google AI Studio API key

Get a free Gemini API key from Google AI Studio in about two minutes and connect it to Build with AI — no credit card required.

[https://wpwebhooks.org/docs/get-google-ai-studio-api-key/](https://wpwebhooks.org/docs/get-google-ai-studio-api-key/)

## / Features

Feature

Action Scheduler Support

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

[https://wpwebhooks.org/docs/action-scheduler/](https://wpwebhooks.org/docs/action-scheduler/)

Feature

Activity History

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

[https://wpwebhooks.org/docs/activity-history/](https://wpwebhooks.org/docs/activity-history/)

Feature

AI Dev Trace

A diagnostic panel for Build with AI that records the exact prompts, raw requests, and raw responses exchanged with the AI model — API keys always redacted.

[https://wpwebhooks.org/docs/ai-dev-trace/](https://wpwebhooks.org/docs/ai-dev-trace/)

Feature

Any Hook as a Trigger

Use any WordPress do\_action hook as a webhook trigger — no built-in integration needed.

[https://wpwebhooks.org/docs/any-hook-integration/](https://wpwebhooks.org/docs/any-hook-integration/)

Feature

API Tokens

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

[https://wpwebhooks.org/docs/api-tokens/](https://wpwebhooks.org/docs/api-tokens/)

Feature

Async Delivery Queue

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

[https://wpwebhooks.org/docs/async-queue/](https://wpwebhooks.org/docs/async-queue/)

Feature

Build with AI

An in-admin AI agent that turns plain-language requests into working, tested webhook integrations — plan-first, with confirmation before anything goes live.

[https://wpwebhooks.org/docs/build-with-ai/](https://wpwebhooks.org/docs/build-with-ai/)

Feature Pro

Code Glue

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

[https://wpwebhooks.org/docs/code-glue/](https://wpwebhooks.org/docs/code-glue/)

Feature

Conditional Dispatch

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

[https://wpwebhooks.org/docs/conditional-dispatch/](https://wpwebhooks.org/docs/conditional-dispatch/)

Feature

Configurable HTTP Methods

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

[https://wpwebhooks.org/docs/http-methods/](https://wpwebhooks.org/docs/http-methods/)

Feature

Contact Form 7 Integration

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

[https://wpwebhooks.org/docs/cf7-integration/](https://wpwebhooks.org/docs/cf7-integration/)

Feature

Credentials Vault

Store reusable authentication secrets encrypted at rest and reference them from webhooks instead of pasting raw Authorization headers.

[https://wpwebhooks.org/docs/credentials-vault/](https://wpwebhooks.org/docs/credentials-vault/)

Feature

Custom Request Headers

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

[https://wpwebhooks.org/docs/custom-headers/](https://wpwebhooks.org/docs/custom-headers/)

Feature

Delivery Logs

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

[https://wpwebhooks.org/docs/delivery-logs/](https://wpwebhooks.org/docs/delivery-logs/)

Feature

Developer Extensibility

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

[https://wpwebhooks.org/docs/developer-extensibility/](https://wpwebhooks.org/docs/developer-extensibility/)

Feature Pro

Dynamic URL Templates

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

[https://wpwebhooks.org/docs/dynamic-url-templates/](https://wpwebhooks.org/docs/dynamic-url-templates/)

Feature

Dynamic URLs via Filter

Rewrite the webhook endpoint URL per-event from PHP using the \`fswa\_webhook\_url\` filter.

[https://wpwebhooks.org/docs/dynamic-urls/](https://wpwebhooks.org/docs/dynamic-urls/)

Feature

Event Identity & Deduplication Headers

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

[https://wpwebhooks.org/docs/event-identity/](https://wpwebhooks.org/docs/event-identity/)

Feature Pro

External Cron

Replace unreliable visitor-triggered WP-Cron with a fully managed external pinger — no server crontab needed.

[https://wpwebhooks.org/docs/external-cron/](https://wpwebhooks.org/docs/external-cron/)

Feature

Internationalization (i18n)

The entire admin interface and all server-side strings are translatable — English by default, with Polish, Simplified Chinese, and Dutch bundled, plus WPML and Polylang compatibility.

[https://wpwebhooks.org/docs/internationalization/](https://wpwebhooks.org/docs/internationalization/)

Feature

IvyForms Integration

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

[https://wpwebhooks.org/docs/ivyforms-integration/](https://wpwebhooks.org/docs/ivyforms-integration/)

Feature

Payload Mapping

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

[https://wpwebhooks.org/docs/payload-mapping/](https://wpwebhooks.org/docs/payload-mapping/)

Feature Pro

Per-Webhook Backoff Strategy

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

[https://wpwebhooks.org/docs/per-webhook-backoff/](https://wpwebhooks.org/docs/per-webhook-backoff/)

Feature Pro

Per-Webhook Retry Settings

Override the global maximum retry attempt count for individual webhooks.

[https://wpwebhooks.org/docs/per-webhook-retry/](https://wpwebhooks.org/docs/per-webhook-retry/)

Feature Pro

Post-Dispatch Scripting

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

[https://wpwebhooks.org/docs/post-dispatch-scripting/](https://wpwebhooks.org/docs/post-dispatch-scripting/)

Feature

REST API

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

[https://wpwebhooks.org/docs/rest-api/](https://wpwebhooks.org/docs/rest-api/)

Feature

Smart Retry with Exponential Backoff

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

[https://wpwebhooks.org/docs/smart-retry/](https://wpwebhooks.org/docs/smart-retry/)

Feature

Synchronous Execution

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

[https://wpwebhooks.org/docs/synchronous-execution/](https://wpwebhooks.org/docs/synchronous-execution/)

Feature

Test Delivery

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

[https://wpwebhooks.org/docs/test-delivery/](https://wpwebhooks.org/docs/test-delivery/)

Feature Pro

Unlimited Conditions

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

[https://wpwebhooks.org/docs/unlimited-conditions/](https://wpwebhooks.org/docs/unlimited-conditions/)

Feature

URL Query Parameters

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

[https://wpwebhooks.org/docs/url-query-params/](https://wpwebhooks.org/docs/url-query-params/)

Feature

Webhook Chains

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

[https://wpwebhooks.org/docs/webhook-chains/](https://wpwebhooks.org/docs/webhook-chains/)

Feature

Webhook Replay

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

[https://wpwebhooks.org/docs/webhook-replay/](https://wpwebhooks.org/docs/webhook-replay/)

## / AI Abilities

AI Ability

assign\_credential

Assign a vault credential to a webhook — Reference a stored vault credential from a webhook by id (the secret is injected at dispatch time and never exposed).

[https://wpwebhooks.org/docs/ability-assign-credential/](https://wpwebhooks.org/docs/ability-assign-credential/)

AI Ability Pro

assign\_snippet

Assign a Code Glue snippet to a webhook — Attach a snippet to a webhook+trigger as its pre-dispatch (payload transform) or post-dispatch (after-response side effects) Code Glue and enable it.

[https://wpwebhooks.org/docs/ability-assign-snippet/](https://wpwebhooks.org/docs/ability-assign-snippet/)

AI Ability

create\_chain

Create a webhook chain — Create a named chain that wires 2xx completions of one webhook to downstream webhooks.

[https://wpwebhooks.org/docs/ability-create-chain/](https://wpwebhooks.org/docs/ability-create-chain/)

AI Ability

create\_chain\_link

[Add a chain link — Add a source→target edge to a chain.](https://wpwebhooks.org/docs/ability-create-chain-link/)

AI Ability Pro

create\_snippet

Create a Code Glue snippet — Create a Code Glue PHP snippet (inert until assigned to a webhook).

[https://wpwebhooks.org/docs/ability-create-snippet/](https://wpwebhooks.org/docs/ability-create-snippet/)

AI Ability

create\_webhook

Create a webhook — Create a new webhook (always created DISABLED until the user enables it).

[https://wpwebhooks.org/docs/ability-create-webhook/](https://wpwebhooks.org/docs/ability-create-webhook/)

AI Ability Pro

delete\_snippet

Delete a Code Glue snippet — Permanently delete a Code Glue snippet.

[https://wpwebhooks.org/docs/ability-delete-snippet/](https://wpwebhooks.org/docs/ability-delete-snippet/)

AI Ability

delete\_webhook

Delete a webhook — Permanently delete a webhook and its triggers / mapping.

[https://wpwebhooks.org/docs/ability-delete-webhook/](https://wpwebhooks.org/docs/ability-delete-webhook/)

AI Ability

enable\_webhook

Enable / disable a webhook — Enable (go live) or disable a webhook.

[https://wpwebhooks.org/docs/ability-enable-webhook/](https://wpwebhooks.org/docs/ability-enable-webhook/)

AI Ability

get\_logs

Get delivery logs — Read recent delivery logs (optionally for one webhook) to verify what was sent and how the endpoint responded.

[https://wpwebhooks.org/docs/ability-get-logs/](https://wpwebhooks.org/docs/ability-get-logs/)

AI Ability Pro

get\_snippet

Get a Code Glue snippet — Get a single Code Glue snippet by id, including its full PHP code.

[https://wpwebhooks.org/docs/ability-get-snippet/](https://wpwebhooks.org/docs/ability-get-snippet/)

AI Ability

get\_trigger\_schema

Get captured payload + mapping for a trigger — Return the last captured example payload, field mapping and conditions for a webhook+trigger so the agent can map against the real payload shape.

[https://wpwebhooks.org/docs/ability-get-trigger-schema/](https://wpwebhooks.org/docs/ability-get-trigger-schema/)

AI Ability

get\_webhook

Get a webhook — Get a single webhook by id, including triggers, mapping, conditions, headers and credential assignment.

[https://wpwebhooks.org/docs/ability-get-webhook/](https://wpwebhooks.org/docs/ability-get-webhook/)

AI Ability

list\_credentials

List credentials — List vault credentials (names, types and masked hints only — secrets are never returned).

[https://wpwebhooks.org/docs/ability-list-credentials/](https://wpwebhooks.org/docs/ability-list-credentials/)

AI Ability Pro

list\_snippets

List Code Glue snippets — List saved Code Glue PHP snippets (id, name, tags — use get\_snippet for the code).

[https://wpwebhooks.org/docs/ability-list-snippets/](https://wpwebhooks.org/docs/ability-list-snippets/)

AI Ability

list\_triggers

List available triggers — List every WordPress do\_action hook discovered on this site (runtime + static scan) that can be used as a webhook trigger.

[https://wpwebhooks.org/docs/ability-list-triggers/](https://wpwebhooks.org/docs/ability-list-triggers/)

AI Ability

list\_webhooks

List webhooks — List all configured webhooks with their triggers and status.

[https://wpwebhooks.org/docs/ability-list-webhooks/](https://wpwebhooks.org/docs/ability-list-webhooks/)

AI Ability Pro

preview\_snippet

Preview (test-run) a Code Glue snippet — Test-run a snippet (by snippet\_id, or raw code) against a real captured payload WITHOUT dispatching anything.

[https://wpwebhooks.org/docs/ability-preview-snippet/](https://wpwebhooks.org/docs/ability-preview-snippet/)

AI Ability

probe\_endpoint

Probe a target endpoint — Make a guarded test HTTP call to validate an endpoint before going live.

[https://wpwebhooks.org/docs/ability-probe-endpoint/](https://wpwebhooks.org/docs/ability-probe-endpoint/)

AI Ability

set\_conditions

Set conditions — Set conditional-dispatch rules for a webhook+trigger so only matching events leave the site.

[https://wpwebhooks.org/docs/ability-set-conditions/](https://wpwebhooks.org/docs/ability-set-conditions/)

AI Ability

set\_mapping

Set field mapping — Set the payload field mapping for a webhook+trigger (rename / restructure / exclude / type-cast fields with dot-notation paths).

[https://wpwebhooks.org/docs/ability-set-mapping/](https://wpwebhooks.org/docs/ability-set-mapping/)

AI Ability

test\_dispatch

Test-dispatch a webhook — Send a synchronous test delivery for a webhook using a provided or captured payload, and return the HTTP result so the agent can verify the integration end to end.

[https://wpwebhooks.org/docs/ability-test-dispatch/](https://wpwebhooks.org/docs/ability-test-dispatch/)

AI Ability Pro

update\_snippet

Update a Code Glue snippet — Update an existing Code Glue snippet's name, code or tags.

[https://wpwebhooks.org/docs/ability-update-snippet/](https://wpwebhooks.org/docs/ability-update-snippet/)

AI Ability

update\_webhook

Update a webhook — Update an existing webhook (endpoint, method, triggers, headers, credential).

[https://wpwebhooks.org/docs/ability-update-webhook/](https://wpwebhooks.org/docs/ability-update-webhook/)

## / Filters

Filter

fswa\_ability\_definitions

Filters the ability definitions that make up the AI agent toolset and the WordPress Abilities / MCP exposure.

[https://wpwebhooks.org/docs/fswa-ability-definitions/](https://wpwebhooks.org/docs/fswa-ability-definitions/)

Filter

fswa\_ability\_permitted

Filters whether the current request may invoke a Webhook Actions ability through the Abilities API surface.

[https://wpwebhooks.org/docs/fswa-ability-permitted/](https://wpwebhooks.org/docs/fswa-ability-permitted/)

Filter

fswa\_ai\_transport

Overrides the LLM transport the Build with AI agent talks through, bypassing built-in provider resolution.

[https://wpwebhooks.org/docs/fswa-ai-transport/](https://wpwebhooks.org/docs/fswa-ai-transport/)

Filter

fswa\_available\_triggers

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

[https://wpwebhooks.org/docs/fswa-available-triggers/](https://wpwebhooks.org/docs/fswa-available-triggers/)

Filter

fswa\_backoff\_delay

Controls the retry delay in seconds between failed delivery attempts.

[https://wpwebhooks.org/docs/fswa-backoff-delay/](https://wpwebhooks.org/docs/fswa-backoff-delay/)

Filter

fswa\_capture\_payload

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

[https://wpwebhooks.org/docs/fswa-capture-payload/](https://wpwebhooks.org/docs/fswa-capture-payload/)

Filter

fswa\_headers

[Filters the HTTP headers sent with each webhook request.](https://wpwebhooks.org/docs/fswa-headers/)

Filter

fswa\_http\_args

Filters the full \`wp\_remote\_request()\` arguments array before the HTTP call.

[https://wpwebhooks.org/docs/fswa-http-args/](https://wpwebhooks.org/docs/fswa-http-args/)

Filter

fswa\_http\_connect\_timeout

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

[https://wpwebhooks.org/docs/fswa-http-connect-timeout/](https://wpwebhooks.org/docs/fswa-http-connect-timeout/)

Filter

fswa\_http\_timeout

[Sets the total HTTP request timeout in seconds.](https://wpwebhooks.org/docs/fswa-http-timeout/)

Filter

fswa\_max\_attempts

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

[https://wpwebhooks.org/docs/fswa-max-attempts/](https://wpwebhooks.org/docs/fswa-max-attempts/)

Filter

fswa\_normalize\_object

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

[https://wpwebhooks.org/docs/fswa-normalize-object/](https://wpwebhooks.org/docs/fswa-normalize-object/)

Filter

fswa\_payload

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

[https://wpwebhooks.org/docs/fswa-payload/](https://wpwebhooks.org/docs/fswa-payload/)

Filter

fswa\_queue\_batch\_size

[Sets the number of queue jobs processed per batch run.](https://wpwebhooks.org/docs/fswa-queue-batch-size/)

Filter

fswa\_require\_https

[Controls whether webhook endpoint URLs must use HTTPS.](https://wpwebhooks.org/docs/fswa-require-https/)

Filter

fswa\_should\_dispatch

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

[https://wpwebhooks.org/docs/fswa-should-dispatch/](https://wpwebhooks.org/docs/fswa-should-dispatch/)

Filter

fswa\_webhook\_data

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

[https://wpwebhooks.org/docs/fswa-webhook-data/](https://wpwebhooks.org/docs/fswa-webhook-data/)

Filter

fswa\_webhook\_payload

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

[https://wpwebhooks.org/docs/fswa-webhook-payload/](https://wpwebhooks.org/docs/fswa-webhook-payload/)

Filter

fswa\_webhook\_url

[Rewrites the webhook endpoint URL per-event before dispatch.](https://wpwebhooks.org/docs/fswa-webhook-url/)

## / Actions

Action

fswa\_cron\_token\_regenerated

Fires immediately after the external cron secret is regenerated.

[https://wpwebhooks.org/docs/fswa-cron-token-regenerated/](https://wpwebhooks.org/docs/fswa-cron-token-regenerated/)

Action

fswa\_error

Fires after a webhook delivery fails — covers both HTTP error responses and transport errors.

[https://wpwebhooks.org/docs/fswa-error/](https://wpwebhooks.org/docs/fswa-error/)

Action Pro

fswa\_glue\_post\_dispatch

Fires after a successful (2xx) delivery with the full response and both pre/post-mapping payloads.

[https://wpwebhooks.org/docs/fswa-glue-post-dispatch/](https://wpwebhooks.org/docs/fswa-glue-post-dispatch/)

Action Pro

fswa\_glue\_error

Fires when an assigned Code Glue snippet errors during a real dispatch (the delivery itself proceeds with the unmodified payload).

[https://wpwebhooks.org/docs/fswa-glue-error/](https://wpwebhooks.org/docs/fswa-glue-error/)

Action

fswa\_skipped

Fires when a webhook is skipped because its conditions did not pass.

[https://wpwebhooks.org/docs/fswa-skipped/](https://wpwebhooks.org/docs/fswa-skipped/)

Action

fswa\_success

Fires after a webhook is delivered successfully (2xx response received).

[https://wpwebhooks.org/docs/fswa-success/](https://wpwebhooks.org/docs/fswa-success/)

Action

fswa\_webhook\_response

Fires after every HTTP response is received — success or error — with full response context.

[https://wpwebhooks.org/docs/fswa-webhook-response/](https://wpwebhooks.org/docs/fswa-webhook-response/)

Action

fswa\_webhook\_saved

Fires after a webhook is created or updated via the REST API.

[https://wpwebhooks.org/docs/fswa-webhook-saved/](https://wpwebhooks.org/docs/fswa-webhook-saved/)

/Ready

## Your next automation is  
one sentence away.

[Install Plugin→](https://wordpress.org/plugins/flowsystems-webhook-actions/) [See the Plugin →](https://wpwebhooks.org/wordpress-webhook-plugin/)

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

## Structured data

```json
{"@context":"https://schema.org","@type":"TechArticle","name":"Developer Docs — Webhook Actions for WordPress","description":"Developer reference for the Webhook Actions WordPress plugin — 85 pages covering how-to guides, features, AI abilities, filters, and action hooks with code examples.","url":"https://wpwebhooks.org/docs/","isPartOf":{"@type":"WebSite","name":"WP Webhooks","url":"https://wpwebhooks.org"},"about":{"@type":"SoftwareApplication","name":"Webhook Actions","applicationCategory":"WordPress Plugin"}}
```
