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.

/ 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: Gravity Forms Update Webhook

gform_after_update_entry fires when a Gravity Forms entry is edited in wp-admin or via API. Parameters, accessing original vs updated values, webhook dispatch, and deduplication.

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

wpcf7_mail_sent Hook: Send CF7 Data to a Webhook

wpcf7_mail_sent fires after Contact Form 7 sends its email. Hook signature, accessing submitted fields, webhook dispatch, reliability risks, and plugin comparison.

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

Action Scheduler PHP API: Scheduling Functions Reference

PHP signatures for as_schedule_single_action, as_enqueue_async_action, and more — $unique, query, 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 for WordPress: Queue, Retry & Delivery

Action Scheduler gives WordPress a persistent job queue with automatic retry. Covers queue runner, concurrency tuning, and webhook delivery.

#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 Concurrent Batches: Filter & Tuning Guide

Tune action_scheduler_queue_runner_concurrent_batches and the batch-size filter to push Action Scheduler past WP-Cron throughput limits — full reference.

#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 Developer Reference: Functions, Constants & CLI

Complete WP-Cron reference for developers — wp_doing_cron, spawn_cron, DISABLE_WP_CRON, WP-CLI cron commands, with examples and production gotchas.

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

WooCommerce Webhooks with Action Scheduler: Reliable Setup

Send WooCommerce order events as reliable webhooks via Action Scheduler. Covers hook binding, payload mapping, conditional dispatch, retry logic, and replay.

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

WordPress Async Background Processing: Jobs Without Blocking

Run WordPress background jobs without blocking HTTP responses. Non-blocking wp_remote_post, Action Scheduler async dispatch, WP-Cron patterns, and reliable webhook delivery.

#wordpress#wp#action
Read →
Stay in the loop

New post every two weeks. No marketing email.

Or pull the RSS · /blog/feed.xml