Blog · Engineering notes

Notes on running webhooks in production.

Failure modes, architecture, the boring infrastructure choices that decide whether your events arrive at 2am. Written by the people who maintain the plugin.

/ AI integration 2026-07-02 · 8 min

WordPress Abilities API: Expose Plugin Features to AI

What the WordPress Abilities API is, how wp_register_ability() works, and how to expose plugin features to AI agents and MCP clients safely.

#ai#abilities-api#wordpress
Read →
/ AI integration 2026-06-29 · 8 min

WordPress AI Client: wp_ai_client_prompt() Explained

How the WordPress 7.0 AI Client works: provider Connectors, wp_ai_client_prompt(), model fallback chains, and when you still need your own API key.

#ai#wordpress#php
Read →
/ AI integration 2026-06-26 · 9 min

Build an AI Agent in a WordPress Plugin: Architecture

Inside an in-admin AI agent for WordPress: plan-first JSON envelopes, typed ability steps, confirmation gates, undo stacks, and trace logging.

#ai#architecture#wordpress
Read →
/ Architecture 2026-06-25 · 8 min

ActionScheduler_DBStore Deadlock: The Fix & Resolution

ActionScheduler_DBStore::claim_actions throws MySQL deadlocks under concurrent WooCommerce queue runners — why it happens and the exact fix.

#action-scheduler#woocommerce#wordpress
Read →
/ WordPress internals 2026-06-22 · 7 min

Action Scheduler: Prevent Duplicate Scheduled Actions

Stop Action Scheduler queuing duplicate jobs with the $unique parameter and as_has_scheduled_action() — exact signatures, behaviour, and gotchas.

#action-scheduler#wordpress#php
Read →
/ Architecture 2026-06-19 · 8 min

Webhook Retry Policy: Exponential Backoff & Schema

Design a webhook retry policy: exponential backoff timing, what to retry, max attempts, dead-lettering, and the database schema to track deliveries.

#webhooks#architecture#reliability
Read →
/ Gravity Forms 2026-06-18 · 6 min

Gravity Forms Hooks: Developer Reference & Examples

A developer reference to the most useful Gravity Forms hooks: submission, validation, field, entry, and notification filters — with examples.

#gravity-forms#wordpress#webhooks
Read →
/ Comparisons 2026-06-16 · 7 min

WP Webhooks Pro Alternative: Webhook Actions Compared

Looking for a WP Webhooks Pro alternative? A fair comparison of Webhook Actions vs WP Webhooks — delivery reliability, features, free tiers, and pricing.

#comparison#webhooks#wordpress
Read →
/ Comparisons 2026-06-12 · 7 min

WordPress to HubSpot: Plugin vs Zapier vs Webhooks

Three ways to connect WordPress to HubSpot compared: the official HubSpot plugin, Zapier middleware, and direct webhooks — cost, control, and reliability.

#comparison#hubspot#integrations
Read →
/ WordPress internals 2026-06-05 · 8 min

WordPress External Cron: Services, Setup, and Free Options

Fix unreliable WP-Cron with a free external cron service. Covers cron-job.org, EasyCron, UptimeRobot setup, DISABLE_WP_CRON config, and the zero-config Webhook Actions option.

#wordpress#cron#reliability
Read →
/ Gravity Forms 2026-06-02 · 7 min

gform_after_update_entry Hook: Gravity Forms Webhook

How the gform_after_update_entry hook fires on Gravity Forms entry edits — its parameters, original vs updated values, and sending a webhook on update.

#gravity-forms#wordpress#webhooks
Read →
/ WordPress integrations 2026-05-30 · 8 min

wpcf7_mail_sent Hook: Contact Form 7 to Webhook Guide

How wpcf7_mail_sent fires, what get_posted_data() returns, and the reliable way to send Contact Form 7 submissions to any webhook endpoint.

#contact-form-7#wordpress#webhooks
Read →
/ WordPress internals 2026-05-24 · 7 min

as_enqueue_async_action: PHP Signature & Parameters

as_enqueue_async_action documentation: PHP signature, the $unique parameter, plus as_schedule_single_action and cancel functions with code examples.

#action-scheduler#wordpress#background-jobs
Read →
/ Architecture 2026-02-19 · 8 min

Non-Blocking Webhook Architecture in WordPress

How to implement async webhooks in WordPress and WooCommerce. Queue-based dispatch, exponential backoff, failure handling, logging, and production alternatives.

#async#wordpress#woocommerce
Read →
/ Architecture 2026-02-28 · 10 min

Why WordPress Webhooks Fail in Production (And the Fix)

WordPress webhooks work locally but drop events in production. Four root causes — WP-Cron, queues, retry logic, observability — and the production fix.

#wordpress#webhook#reliable
Read →
/ Architecture 2026-03-03 · 7 min

WP-Cron Isn't Enough: Build Reliable WordPress Webhooks

WP-Cron fires on page loads, not on a schedule. Webhooks drop silently under load. Build an async dispatch queue with retry logic — full architecture and code.

#wordpress#wp#reliable
Read →
/ Architecture 2026-03-09 · 7 min

WordPress Webhook Retry, Replay & Dead-Letter Queue

Learn how to build reliable WordPress webhooks using payload storage, automatic retries for failures, and replay for successful events that need reprocessing.

#wordpress#webhook#api
Read →
/ Architecture 2026-03-19 · 10 min

WordPress Webhooks REST API: Retry, Replay & Delivery Logs

Retry failed webhooks, replay any event, and monitor queue health from a REST API — no wp-admin. Full endpoint reference for the WP Webhooks plugin.

#wordpress#webhook
Read →
/ Architecture 2026-03-26 · 8 min

Create and Manage WordPress Webhooks via REST API

Learn how to create and manage WordPress webhooks via REST API. Control endpoints, enable/disable integrations, and automate setups without code deployments.

#create#wordpress#manage
Read →
/ Architecture 2026-03-30 · 12 min

WordPress Cron Job: Why WP-Cron Fails (And How to Fix)

WordPress cron job not running? WP-Cron only fires on page load. Replace it with a real system cron in two lines — full setup with WP-CLI and Action Scheduler.

#cron#wp#wordpress
Read →
/ Architecture 2026-04-22 · 14 min

From do_action to HTTP: WordPress Webhook Delivery

How WordPress webhook plugins discover hooks, register listeners, and build delivery payloads. Engineering internals with real code.

#wordpress#do#webhook
Read →
/ Architecture 2026-05-07 · 13 min

Action Scheduler WordPress: Full Docs & Reference

Action Scheduler WordPress documentation: queue runner, retry logic, concurrency tuning, and webhook delivery — official function reference.

#action#as#wordpress
Read →
/ Architecture 2026-05-07 · 11 min

Contact Form 7 to Webhook: Send CF7 to Any Endpoint

Send Contact Form 7 submissions to n8n, Zapier, or any webhook URL. wpcf7_before_send_mail hook, field mapping, retry on failure — with Webhook Actions.

#contact#cf7#wpcf7
Read →
/ Architecture 2026-05-07 · 12 min

gform_after_submission Hook Reference: Gravity Forms Webhook

Complete gform_after_submission reference — hook parameters, accessing entry fields, async dispatch patterns, and Webhook Actions plugin setup.

#gform#gravity#wordpress
Read →
/ Architecture 2026-05-17 · 8 min

action_scheduler_queue_runner_concurrent_batches Docs

action_scheduler_queue_runner_concurrent_batches filter docs: official parameters, batch-size tuning, and code examples for Action Scheduler.

#action#woocommerce#wp
Read →
/ Architecture 2026-05-17 · 8 min

Send Gravity Forms Submissions to n8n via Webhook

Forward Gravity Forms entries to n8n with a reliable, retry-capable webhook — payload mapping, HMAC signing, error handling, and end-to-end test recipe.

#gravity#gform#n8n
Read →
/ Architecture 2026-05-17 · 8 min

WP-Cron Documentation: Every Function, Constant & CLI

The WP-Cron documentation WordPress never wrote: wp_schedule_event, wp_doing_cron, spawn_cron, DISABLE_WP_CRON, and every WP-CLI cron command.

#wordpress#wp#spawn
Read →
/ Architecture 2026-05-24 · 8 min

WooCommerce Webhooks via Action Scheduler: Retry & Replay

Send WooCommerce order events as reliable webhooks with Action Scheduler — async queue, retries with backoff, conditional dispatch, and one-click replay.

#woocommerce#wordpress
Read →
/ Architecture 2026-05-24 · 8 min

WordPress Background Jobs: Async Queue Without Blocking

Process WordPress background jobs asynchronously — non-blocking dispatch, an Action Scheduler queue, retries with backoff, and reliable webhook delivery.

#wordpress#wp#action
Read →