<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>WP Webhooks — Engineering Notes</title>
    <link>https://wpwebhooks.org/blog/</link>
    <description>Engineering notes on WordPress webhooks: architecture, reliability, delivery, retries, and integrations. New post every week.</description>
    <language>en-us</language>
    <atom:link href="https://wpwebhooks.org/blog/feed.xml" rel="self" type="application/rss+xml" />
    <lastBuildDate>Thu, 10 Sep 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>WordPress Pipedrive Integration: API, Token and Limits</title>
      <link>https://wpwebhooks.org/blog/wordpress-pipedrive-integration/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-pipedrive-integration/</guid>
      <pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Integrations</category>
      <description>A WordPress Pipedrive integration on the REST API: the x-api-token header, search-then-create for persons and leads, and the token budget behind every call.</description>
    </item>
    <item>
      <title>n8n WordPress Trigger: Polling vs Webhooks</title>
      <link>https://wpwebhooks.org/blog/n8n-wordpress-trigger/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/n8n-wordpress-trigger/</guid>
      <pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress automation</category>
      <description>There is no n8n WordPress trigger node, so most workflows poll. Where that works, the events it is structurally blind to, and the WP-Cron objection answered.</description>
    </item>
    <item>
      <title>WP Fusion Alternative: When a Webhook Is the Better Fit</title>
      <link>https://wpwebhooks.org/blog/wp-fusion-alternative/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wp-fusion-alternative/</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress automation</category>
      <description>An honest WP Fusion alternative guide: what user sync and tag gating actually do, what the tiers cost, and when an outgoing webhook is the better tool.</description>
    </item>
    <item>
      <title>WordPress Zoho CRM Integration: OAuth, Upsert, Limits</title>
      <link>https://wpwebhooks.org/blog/wordpress-zoho-crm-integration/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-zoho-crm-integration/</guid>
      <pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Integrations</category>
      <description>A WordPress Zoho CRM integration on the v8 API: Self Client OAuth, the refresh-token cap, per-datacentre hosts, and the upsert that never duplicates a lead.</description>
    </item>
    <item>
      <title>WordPress Salesforce Integration: API, OAuth and Limits</title>
      <link>https://wpwebhooks.org/blog/wordpress-salesforce-integration/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-salesforce-integration/</guid>
      <pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Integrations</category>
      <description>A WordPress Salesforce integration built directly on the REST API: the client credentials flow, upserting by external ID, and the org-wide API limits.</description>
    </item>
    <item>
      <title>Gravity Forms to HubSpot: Send Entries to the CRM API</title>
      <link>https://wpwebhooks.org/blog/gravity-forms-hubspot-integration/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/gravity-forms-hubspot-integration/</guid>
      <pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Integrations</category>
      <description>Gravity Forms HubSpot integration in code: the gform_after_submission signature, private app tokens, contact properties, and the real rate limits.</description>
    </item>
    <item>
      <title>Gravity Forms to Salesforce Without an Elite Licence</title>
      <link>https://wpwebhooks.org/blog/gravity-forms-salesforce-integration/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/gravity-forms-salesforce-integration/</guid>
      <pubDate>Sun, 30 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Integrations</category>
      <description>Gravity Forms Salesforce integration explained: what the official Elite add-on does, and how gform_after_submission sends leads on any licence.</description>
    </item>
    <item>
      <title>Uncanny Automator Alternative: When to Use a Webhook</title>
      <link>https://wpwebhooks.org/blog/uncanny-automator-alternative/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/uncanny-automator-alternative/</guid>
      <pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress automation</category>
      <description>An honest Uncanny Automator alternative guide: what app credits actually meter, where recipes win, and when a plain outgoing webhook is the cheaper path.</description>
    </item>
    <item>
      <title>WordPress Form to Google Sheets: The Sheets API v4 Way</title>
      <link>https://wpwebhooks.org/blog/wordpress-form-to-google-sheets/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-form-to-google-sheets/</guid>
      <pubDate>Wed, 26 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress integrations</category>
      <description>Send WordPress form entries to Google Sheets with the API: service account auth, the sharing step that 403s, valueInputOption, and the 60 writes per minute cap.</description>
    </item>
    <item>
      <title>OttoKit (SureTriggers) Alternative: Webhooks vs Tasks</title>
      <link>https://wpwebhooks.org/blog/ottokit-suretriggers-alternative/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/ottokit-suretriggers-alternative/</guid>
      <pubDate>Sun, 23 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress automation</category>
      <description>An OttoKit and SureTriggers alternative guide: what a monthly task allowance meters, and when self-hosting the delivery is the better fit.</description>
    </item>
    <item>
      <title>Contact Form 7 to Airtable: Send Entries With the API</title>
      <link>https://wpwebhooks.org/blog/contact-form-7-to-airtable/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/contact-form-7-to-airtable/</guid>
      <pubDate>Thu, 20 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress integrations</category>
      <description>Send Contact Form 7 entries to Airtable with the REST API: personal access token auth, field mapping, typecast, the 10-record cap and 5 req/s limit.</description>
    </item>
    <item>
      <title>Contact Form 7 to Notion: Create a Page From Each Entry</title>
      <link>https://wpwebhooks.org/blog/contact-form-7-to-notion/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/contact-form-7-to-notion/</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress integrations</category>
      <description>Send Contact Form 7 entries to Notion: create a page per submission with typed properties, the Notion-Version header, rate limits and the 2,000-char cap.</description>
    </item>
    <item>
      <title>WordPress Form to Slack: Post Every Entry to a Channel</title>
      <link>https://wpwebhooks.org/blog/wordpress-form-to-slack/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-form-to-slack/</guid>
      <pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress integrations</category>
      <description>Send WordPress form entries to Slack: completion hooks for CF7, Gravity Forms and WPForms, Block Kit payloads, the 1 msg/s limit and why to queue it.</description>
    </item>
    <item>
      <title>WordPress Stripe Webhook: Verify Signatures Correctly</title>
      <link>https://wpwebhooks.org/blog/stripe-webhook-wordpress/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/stripe-webhook-wordpress/</guid>
      <pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress integrations</category>
      <description>WordPress Stripe webhook guide: verify the Stripe-Signature header against the raw body, survive canonical redirects, and handle duplicate, out-of-order events.</description>
    </item>
    <item>
      <title>post_submitbox_misc_actions: Docs &amp; Block Editor Fix</title>
      <link>https://wpwebhooks.org/blog/post-submitbox-misc-actions/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/post-submitbox-misc-actions/</guid>
      <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress internals</category>
      <description>post_submitbox_misc_actions documentation: the exact signature, why the hook never fires in the block editor, and the PluginPostStatusInfo equivalent that does.</description>
    </item>
    <item>
      <title>WooCommerce SMS Order Notification: Build It on Twilio</title>
      <link>https://wpwebhooks.org/blog/woocommerce-sms-order-notification-twilio/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/woocommerce-sms-order-notification-twilio/</guid>
      <pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress integrations</category>
      <description>Build WooCommerce SMS order notifications on Twilio: the right status hook, E.164 phone normalisation, per-segment cost maths, and signed delivery callbacks.</description>
    </item>
    <item>
      <title>WPForms Webhooks Addon: Setup and a Free Alternative</title>
      <link>https://wpwebhooks.org/blog/wpforms-webhook/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wpforms-webhook/</guid>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress integrations</category>
      <description>WPForms webhook setup: the Elite-only Webhooks addon, and the free wpforms_process_complete hook for when you need your own payload and headers.</description>
    </item>
    <item>
      <title>Twilio Verify WordPress: Build an SMS &amp; Email 2FA Flow</title>
      <link>https://wpwebhooks.org/blog/twilio-verify-wordpress-2fa/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/twilio-verify-wordpress-2fa/</guid>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress integrations</category>
      <description>Add Twilio Verify 2FA to WordPress: the two API calls, the REST routes that wrap them, and the abuse controls Twilio will not handle for you.</description>
    </item>
    <item>
      <title>DISABLE_WP_CRON Is Set to True: WP-Cron Spawning Fix</title>
      <link>https://wpwebhooks.org/blog/disable-wp-cron-warnings/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/disable-wp-cron-warnings/</guid>
      <pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress internals</category>
      <description>The DISABLE_WP_CRON constant is set to true, WP-Cron spawning is disabled, and Maximum simultaneous queues already in progress — what each warning means.</description>
    </item>
    <item>
      <title>woocommerce_checkout_order_created Hook: Docs &amp; Timing</title>
      <link>https://wpwebhooks.org/blog/woocommerce-checkout-order-created/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/woocommerce-checkout-order-created/</guid>
      <pubDate>Fri, 31 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress internals</category>
      <description>woocommerce_checkout_order_created documentation: the signature, where it sits in the checkout hook sequence, and why it never fires on the blocks checkout.</description>
    </item>
    <item>
      <title>LLM API Pricing 2026: Real Cost Per Call, Compared</title>
      <link>https://wpwebhooks.org/blog/llm-api-pricing-cost-per-call/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/llm-api-pricing-cost-per-call/</guid>
      <pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>AI integration</category>
      <description>LLM API pricing compared across OpenAI, Google, Anthropic and Chinese models like Kimi K3 — with the token math for what one real AI call costs.</description>
    </item>
    <item>
      <title>action_scheduler_run_queue: Queue Runner Hook Docs</title>
      <link>https://wpwebhooks.org/blog/action-scheduler-run-queue-hook/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/action-scheduler-run-queue-hook/</guid>
      <pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress internals</category>
      <description>action_scheduler_run_queue is the WP-Cron hook behind every Action Scheduler queue pass: how it is registered, its every_minute schedule, and how to trigger it.</description>
    </item>
    <item>
      <title>Elementor Forms Webhook: Send Submissions Anywhere</title>
      <link>https://wpwebhooks.org/blog/elementor-forms-webhook/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/elementor-forms-webhook/</guid>
      <pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress integrations</category>
      <description>Elementor forms webhook setup, two ways: the built-in Webhook action in Elementor Pro, and the elementor_pro/forms/new_record hook when you need real control.</description>
    </item>
    <item>
      <title>wp_actionscheduler_actions: Table Schema &amp; Columns</title>
      <link>https://wpwebhooks.org/blog/action-scheduler-database-tables/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/action-scheduler-database-tables/</guid>
      <pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress internals</category>
      <description>wp_actionscheduler_actions database schema — every column in the actions, claims, groups and logs tables, their indexes, and how the queue runner uses them.</description>
    </item>
    <item>
      <title>WP Engine Alternate Cron: How WordPress Cron Really Runs</title>
      <link>https://wpwebhooks.org/blog/wp-engine-cron-jobs/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wp-engine-cron-jobs/</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress internals</category>
      <description>WP Engine Alternate Cron explained: what it changes, how it curls wp-cron.php every minute, and when you still need a real system cron job.</description>
    </item>
    <item>
      <title>WordPress Job Queue: Build Your Own or Use a Library</title>
      <link>https://wpwebhooks.org/blog/wordpress-job-queue/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-job-queue/</guid>
      <pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>How a WordPress job queue really works: the queue table, safe claiming, retry limits, and when Action Scheduler beats writing your own worker.</description>
    </item>
    <item>
      <title>Gemini JSON Mode Can Drop the Final Closing Brace</title>
      <link>https://wpwebhooks.org/blog/gemini-json-mode-truncated-response/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/gemini-json-mode-truncated-response/</guid>
      <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>AI integration</category>
      <description>A real bug post-mortem: Gemini’s JSON mode returned our agent’s envelope without its closing brace — twice, deterministically — and the conservative repair that recovers it without ever inventing content.</description>
    </item>
    <item>
      <title>ivyforms/form/after_submission Webhook: Hook Reference</title>
      <link>https://wpwebhooks.org/blog/ivyforms-after-submission-webhook/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/ivyforms-after-submission-webhook/</guid>
      <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>ivyforms/form/after_submission documentation: hook parameters, numeric field IDs, a wp_remote_post code example, and reliable async webhook dispatch.</description>
    </item>
    <item>
      <title>AI Agent Capability Drift: When the Prompt Lies About Tools</title>
      <link>https://wpwebhooks.org/blog/ai-agent-capability-drift/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/ai-agent-capability-drift/</guid>
      <pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>AI integration</category>
      <description>A real bug post-mortem: a class_exists check made our agent’s prompt advertise tools the executor silently dropped — and the three fixes that shipped in 2.2.0.</description>
    </item>
    <item>
      <title>as_schedule_single_action: Signature &amp; Parameters</title>
      <link>https://wpwebhooks.org/blog/as-schedule-single-action-reference/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/as-schedule-single-action-reference/</guid>
      <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress internals</category>
      <description>as_schedule_single_action documentation: full PHP signature, the timestamp and $unique parameters, return value, and code examples for delayed jobs.</description>
    </item>
    <item>
      <title>WordPress to Zapier Webhook: Trigger Zaps from Any Hook</title>
      <link>https://wpwebhooks.org/blog/wordpress-zapier-webhook/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-zapier-webhook/</guid>
      <pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress integrations</category>
      <description>Connect WordPress to Zapier: send any post, form, or WooCommerce event to a Zap via webhook — Catch Hook setup, payload format, and a self-hosted alternative.</description>
    </item>
    <item>
      <title>as_schedule_recurring_action: Signature &amp; Interval</title>
      <link>https://wpwebhooks.org/blog/as-schedule-recurring-action-reference/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/as-schedule-recurring-action-reference/</guid>
      <pubDate>Sat, 04 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress internals</category>
      <description>as_schedule_recurring_action documentation: PHP signature, first-run timestamp, interval seconds, group and $unique parameters, with recurring code examples.</description>
    </item>
    <item>
      <title>WordPress Abilities API: Expose Plugin Features to AI</title>
      <link>https://wpwebhooks.org/blog/wordpress-abilities-api-ai-agents/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-abilities-api-ai-agents/</guid>
      <pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>AI integration</category>
      <description>What the WordPress Abilities API is, how wp_register_ability() works, and how to expose plugin features to AI agents and MCP clients safely.</description>
    </item>
    <item>
      <title>WordPress AI Client: wp_ai_client_prompt() Explained</title>
      <link>https://wpwebhooks.org/blog/wordpress-ai-client-wp-ai-client-prompt/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-ai-client-wp-ai-client-prompt/</guid>
      <pubDate>Mon, 29 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>AI integration</category>
      <description>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.</description>
    </item>
    <item>
      <title>Build an AI Agent in a WordPress Plugin: Architecture</title>
      <link>https://wpwebhooks.org/blog/wordpress-ai-agent-plugin-architecture/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-ai-agent-plugin-architecture/</guid>
      <pubDate>Fri, 26 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>AI integration</category>
      <description>Inside an in-admin AI agent for WordPress: plan-first JSON envelopes, typed ability steps, confirmation gates, undo stacks, and trace logging.</description>
    </item>
    <item>
      <title>ActionScheduler_DBStore Deadlock: The Fix &amp; Resolution</title>
      <link>https://wpwebhooks.org/blog/woocommerce-action-scheduler-mysql-deadlocks/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/woocommerce-action-scheduler-mysql-deadlocks/</guid>
      <pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>ActionScheduler_DBStore::claim_actions throws MySQL deadlocks under concurrent WooCommerce queue runners — why it happens and the exact fix.</description>
    </item>
    <item>
      <title>as_has_scheduled_action: Prevent Duplicate Actions</title>
      <link>https://wpwebhooks.org/blog/action-scheduler-prevent-duplicate-actions/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/action-scheduler-prevent-duplicate-actions/</guid>
      <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress internals</category>
      <description>as_has_scheduled_action() checks whether a matching action is already pending — signature, the hook, args and group parameters, return value, and dedup gotchas.</description>
    </item>
    <item>
      <title>Webhook Retry: Exponential Backoff &amp; Database Schema</title>
      <link>https://wpwebhooks.org/blog/webhook-retry-policy-exponential-backoff/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/webhook-retry-policy-exponential-backoff/</guid>
      <pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>Design a webhook retry policy: exponential backoff timing, what to retry, max attempts, dead-lettering, and the database schema to track deliveries.</description>
    </item>
    <item>
      <title>Gravity Forms Hooks: Developer Reference &amp; Examples</title>
      <link>https://wpwebhooks.org/blog/gravity-forms-hooks-reference/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/gravity-forms-hooks-reference/</guid>
      <pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Gravity Forms</category>
      <description>A developer reference to the most useful Gravity Forms hooks: submission, validation, field, entry, and notification filters — with examples.</description>
    </item>
    <item>
      <title>WP Webhooks Pro Alternative: Features &amp; Pricing Compared</title>
      <link>https://wpwebhooks.org/blog/wp-webhooks-alternative/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wp-webhooks-alternative/</guid>
      <pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Comparisons</category>
      <description>A WP Webhooks Pro alternative, compared honestly: free tiers, pricing, delivery reliability, retries and logging — what each plugin actually does.</description>
    </item>
    <item>
      <title>HubSpot WordPress Plugin vs Zapier vs Direct Webhooks</title>
      <link>https://wpwebhooks.org/blog/wordpress-hubspot-integration-methods/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-hubspot-integration-methods/</guid>
      <pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Comparisons</category>
      <description>The HubSpot WordPress plugin, Zapier and a direct webhook compared: what each one actually syncs, what it costs, and where the official plugin stops.</description>
    </item>
    <item>
      <title>WordPress External Cron: Services, Setup, and Free Options</title>
      <link>https://wpwebhooks.org/blog/wordpress-external-cron-services/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-external-cron-services/</guid>
      <pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress internals</category>
      <description>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.</description>
    </item>
    <item>
      <title>gform_after_update_entry Hook: Gravity Forms Webhook</title>
      <link>https://wpwebhooks.org/blog/gravity-forms-gform-after-update-entry-webhook/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/gravity-forms-gform-after-update-entry-webhook/</guid>
      <pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Gravity Forms</category>
      <description>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.</description>
    </item>
    <item>
      <title>wpcf7_mail_sent Hook: Contact Form 7 to Webhook Guide</title>
      <link>https://wpwebhooks.org/blog/wordpress-wpcf7-mail-sent-hook/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-wpcf7-mail-sent-hook/</guid>
      <pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress integrations</category>
      <description>How wpcf7_mail_sent fires, what get_posted_data() returns, and the reliable way to send Contact Form 7 submissions to any webhook endpoint.</description>
    </item>
    <item>
      <title>as_enqueue_async_action: PHP Signature &amp; Parameters</title>
      <link>https://wpwebhooks.org/blog/action-scheduler-api-functions/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/action-scheduler-api-functions/</guid>
      <pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>WordPress internals</category>
      <description>as_enqueue_async_action documentation: PHP signature, the $unique parameter, plus as_schedule_single_action and cancel functions with code examples.</description>
    </item>
    <item>
      <title>WooCommerce Webhooks via Action Scheduler: Retry &amp; Replay</title>
      <link>https://wpwebhooks.org/blog/woocommerce-webhooks-action-scheduler/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/woocommerce-webhooks-action-scheduler/</guid>
      <pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>Send WooCommerce order events as reliable webhooks with Action Scheduler — async queue, retries with backoff, conditional dispatch, and one-click replay.</description>
    </item>
    <item>
      <title>WordPress Background Jobs: Async Queue Without Blocking</title>
      <link>https://wpwebhooks.org/blog/wordpress-async-background-processing/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-async-background-processing/</guid>
      <pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>Process WordPress background jobs asynchronously — non-blocking dispatch, an Action Scheduler queue, retries with backoff, and reliable webhook delivery.</description>
    </item>
    <item>
      <title>action_scheduler_queue_runner_concurrent_batches Docs</title>
      <link>https://wpwebhooks.org/blog/action-scheduler-concurrent-batches-filter/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/action-scheduler-concurrent-batches-filter/</guid>
      <pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>action_scheduler_queue_runner_concurrent_batches filter docs: official parameters, batch-size tuning, and code examples for Action Scheduler.</description>
    </item>
    <item>
      <title>Send Gravity Forms Submissions to n8n via Webhook</title>
      <link>https://wpwebhooks.org/blog/gravity-forms-to-n8n-webhook/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/gravity-forms-to-n8n-webhook/</guid>
      <pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>Forward Gravity Forms entries to n8n with a reliable, retry-capable webhook — payload mapping, HMAC signing, error handling, and end-to-end test recipe.</description>
    </item>
    <item>
      <title>WP-Cron Documentation: Every Function, Constant &amp; CLI</title>
      <link>https://wpwebhooks.org/blog/wp-cron-developer-reference/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wp-cron-developer-reference/</guid>
      <pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>The WP-Cron documentation WordPress never wrote: wp_schedule_event, wp_doing_cron, spawn_cron, DISABLE_WP_CRON, and every WP-CLI cron command.</description>
    </item>
    <item>
      <title>Action Scheduler WordPress: Full Docs &amp; Reference</title>
      <link>https://wpwebhooks.org/blog/action-scheduler-wordpress/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/action-scheduler-wordpress/</guid>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>Action Scheduler WordPress documentation: queue runner, retry logic, concurrency tuning, and webhook delivery — official function reference.</description>
    </item>
    <item>
      <title>Contact Form 7 Webhook: Send Submissions to Any URL</title>
      <link>https://wpwebhooks.org/blog/contact-form-7-webhook/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/contact-form-7-webhook/</guid>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>Contact Form 7 webhook setup: the wpcf7_mail_sent hook, field mapping, and queued delivery with retries, so every submission reaches its endpoint.</description>
    </item>
    <item>
      <title>gform_after_submission: Gravity Forms Hook Documentation</title>
      <link>https://wpwebhooks.org/blog/gravity-forms-gform-after-submission-webhook/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/gravity-forms-gform-after-submission-webhook/</guid>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>gform_after_submission documentation: the exact hook signature, the argument count that breaks it, reading entry field IDs, and dispatching without blocking.</description>
    </item>
    <item>
      <title>From do_action to HTTP: WordPress Webhook Delivery</title>
      <link>https://wpwebhooks.org/blog/wordpress-webhook-delivery-engineering/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-webhook-delivery-engineering/</guid>
      <pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>How WordPress webhook plugins discover hooks, register listeners, and build delivery payloads. Engineering internals with real code.</description>
    </item>
    <item>
      <title>WordPress Cron Job: Why WP-Cron Fails (And How to Fix)</title>
      <link>https://wpwebhooks.org/blog/cron-job-for-wordpress/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/cron-job-for-wordpress/</guid>
      <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>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.</description>
    </item>
    <item>
      <title>Create and Manage WordPress Webhooks via REST API</title>
      <link>https://wpwebhooks.org/blog/create-manage-wordpress-webhooks-rest-api/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/create-manage-wordpress-webhooks-rest-api/</guid>
      <pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>Learn how to create and manage WordPress webhooks via REST API. Control endpoints, enable/disable integrations, and automate setups without code deployments.</description>
    </item>
    <item>
      <title>WordPress Webhooks REST API: Retry, Replay &amp; Delivery Logs</title>
      <link>https://wpwebhooks.org/blog/wordpress-webhooks-rest-api/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-webhooks-rest-api/</guid>
      <pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>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.</description>
    </item>
    <item>
      <title>WordPress Webhook Retry, Replay &amp; Dead-Letter Queue</title>
      <link>https://wpwebhooks.org/blog/wordpress-webhook-retry-replay-system/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/wordpress-webhook-retry-replay-system/</guid>
      <pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>Learn how to build reliable WordPress webhooks using payload storage, automatic retries for failures, and replay for successful events that need reprocessing.</description>
    </item>
    <item>
      <title>WP-Cron Isn&apos;t Enough: Build Reliable WordPress Webhooks</title>
      <link>https://wpwebhooks.org/blog/async-webhooks-wordpress-wp-cron-not-enough/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/async-webhooks-wordpress-wp-cron-not-enough/</guid>
      <pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>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.</description>
    </item>
    <item>
      <title>Why WordPress Webhooks Fail in Production (And the Fix)</title>
      <link>https://wpwebhooks.org/blog/why-wordpress-webhooks-silently-fail-in-production/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/why-wordpress-webhooks-silently-fail-in-production/</guid>
      <pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>WordPress webhooks work locally but drop events in production. Four root causes — WP-Cron, queues, retry logic, observability — and the production fix.</description>
    </item>
    <item>
      <title>WordPress Async Request: Non-Blocking Webhook Dispatch</title>
      <link>https://wpwebhooks.org/blog/async-webhooks-wordpress/</link>
      <guid isPermaLink="true">https://wpwebhooks.org/blog/async-webhooks-wordpress/</guid>
      <pubDate>Thu, 19 Feb 2026 00:00:00 GMT</pubDate>
      <dc:creator>Mateusz Skorupa</dc:creator>
      <category>Architecture</category>
      <description>How a WordPress async request really works: non-blocking dispatch, queue-based delivery, exponential backoff, failure handling and logging in WooCommerce.</description>
    </item>
  </channel>
</rss>