WordPress.org

Plugin Directory

RT Connect Webhooks | WordPress Webhooks for Zapier, Make & Pabbly

This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

RT Connect Webhooks | WordPress Webhooks for Zapier, Make & Pabbly

Description

RT Connect Webhooks is a two-way WordPress webhooks plugin that turns your site into a no-code automation hub. Most WordPress webhook plugins only push data out — RT Connect Webhooks also lets external tools push data in, so you can automate WordPress in both directions from a single, clean admin screen with dedicated tabs for Outgoing Webhooks, Incoming Actions, and a full Logs view.

What can you automate with this WordPress webhooks plugin?

  • Send an outgoing webhook the moment something happens on your site — a new user registers, a post is published, a WooCommerce order is placed, a form is submitted, and dozens of other events across the plugins you already run.
  • Generate a secure incoming action URL that Zapier, Make (Integromat), Pabbly Connect, n8n, a form plugin, a mobile app, or any custom script can POST data to, so WordPress can create posts, create users, update memberships, and more — automatically.
  • Connect WordPress to virtually any platform that speaks webhooks and JSON: CRMs, Slack, Discord, spreadsheets, email marketing tools, and custom internal systems.

If you’re searching for a way to connect WordPress to Zapier, connect WordPress to Make, or connect WordPress to Pabbly Connect without writing a custom REST controller, RT Connect Webhooks is the missing bridge between that platform and your site.

Why use RT Connect Webhooks?

  • No-code automation — set up outgoing webhooks and incoming action URLs entirely from a clean, modern admin screen. No shortcodes, no functions.php edits required.
  • Two-way webhooks — most webhook plugins only send data out. RT Connect Webhooks also lets external services send data in to create WordPress content.
  • Built for real integrations — configurable HTTP method, request format, authentication, and headers mean it can talk to almost any third-party API, not just a fixed set of partners.
  • Transparent logging — every request and response is logged, with a one-click “Test” button so you’re never guessing whether a webhook actually fired.
  • Developer-friendly — clean REST API, PHP filters, and action hooks so agencies and developers can extend it for client projects.

Outgoing Webhooks (Triggers) — its own “Outgoing Webhooks” tab

Send a webhook automatically when something happens — WordPress core events (login, register, update, delete users; publish/update/delete posts; new/updated/trashed/deleted comments; emails sent) plus dedicated trigger groups for every popular plugin category, each appearing automatically once that plugin is active:

  • Forms: Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Formidable Forms, Forminator, Ninja Forms, HappyForms, Newsletter, Elementor Pro Forms
  • E-commerce & Payments: WooCommerce, Easy Digital Downloads (customers, downloads, payments, licensing, subscriptions), GiveWP, WP Simple Pay
  • Membership & LMS: Paid Memberships Pro, Paid Member Subscriptions, MemberPress, LearnDash (course/lesson/quiz/topic completion), Profile Builder
  • Marketing & Support: FluentCRM, Fluent Support, AffiliateWP, WP Fusion
  • Site Health: Broken Link Checker, Amelia bookings, bbPress topics

For every outgoing webhook you can configure:

  • HTTP method — POST, GET, PUT, PATCH, or DELETE
  • Request format — JSON, form URL-encoded, or XML
  • Authentication — none, API key (custom header), Bearer token, or Basic Auth
  • Payload signing — optional HMAC-SHA256 signature via a shared secret, sent as an X-Webhook-Signature header, so the receiving service can verify the request really came from your site
  • Custom headers, request timeout, and automatic retry count on failed delivery
  • One-click Test — fire a sample payload at the webhook and see the response instantly, without waiting for a real event

Incoming Actions (Receive Data) — its own “Incoming Actions” tab

Flip the direction: generate a unique, secure URL that any external service — Zapier, Make, Pabbly, a form plugin, a mobile app, a custom script — can POST data to. RT Connect Webhooks then performs the configured task, including:

  • WordPress Core: create/update/delete/search users, create/update/delete/search posts, create/update/delete comments, send an email, create a taxonomy term, or fire your own custom hook
  • LearnDash: complete a course or lesson, enroll or remove a user from a course
  • Paid Memberships Pro: add, remove, or cancel a user’s membership level
  • Profile Builder: approve/unapprove a user, confirm a user’s email
  • FluentCRM: add a contact to a list or tag
  • Easy Digital Downloads: full customer, discount, download, and payment CRUD, plus license (create/update/delete/renew) and subscription (create/update/delete) management when EDD Software Licensing / EDD Recurring are active

Each incoming action can require its own auth token, so only requests that know the secret are accepted.

Logging & Troubleshooting — its own “Logs” tab

Every outgoing delivery and every incoming request is recorded in a single searchable log with a Direction column (incoming or outgoing), the HTTP status code, number of attempts, and the full response body — viewable in a detail popup without leaving the settings page. The admin screen keeps Outgoing Webhooks, Incoming Actions, and Logs in separate tabs so each direction of your webhook automation stays easy to manage on its own. Clear the log at any time.

Built for Developers

  • REST API at /wp-json/rtcw/v1/ for managing webhooks, incoming actions, and logs programmatically
  • rtcw_payload filter to modify an outgoing payload before it’s sent
  • rtcw_event_dispatched action that fires after an event has been sent to all matching webhooks
  • RTCW_Webhooks::manual_trigger( $event, $data ) to fire a webhook event from your own PHP code
  • Admin UI built entirely on WordPress’s own @wordpress/components React library, so it looks and feels native to WordPress

Common Use Cases

  • Send a webhook to Zapier or Make whenever a new WordPress user signs up
  • Notify Slack, Discord, or a CRM when a WooCommerce order is placed
  • Create a WordPress post automatically from a Google Sheets row, Airtable record, or form submission
  • Sync new WordPress users into an email marketing tool or CRM
  • Trigger your own custom PHP logic from any external event without writing a REST controller from scratch

Developer Notes

All admin REST endpoints require the manage_options capability (cookie auth + X-WP-Nonce, or an authenticated application password). The incoming-action delivery endpoint is public and secured separately, per action, with its own auth token.

  • GET /wp-json/rtcw/v1/webhooks — list outgoing webhooks
  • POST /wp-json/rtcw/v1/webhooks — create an outgoing webhook (url, enabled, events[], secret, method, content_type, auth_type, auth_key_name, auth_key_value, auth_token, auth_username, auth_password, custom_headers[], timeout, retry_count)
  • PUT /wp-json/rtcw/v1/webhooks/{id} — update an outgoing webhook
  • DELETE /wp-json/rtcw/v1/webhooks/{id} — delete an outgoing webhook
  • POST /wp-json/rtcw/v1/webhooks/{id}/test — send a one-off test payload
  • GET /wp-json/rtcw/v1/events — list available trigger events (WooCommerce-aware)
  • GET /wp-json/rtcw/v1/logs — recent delivery logs (incoming and outgoing)
  • DELETE /wp-json/rtcw/v1/logs — clear the delivery log
  • GET /wp-json/rtcw/v1/incoming-actions — list incoming actions
  • POST /wp-json/rtcw/v1/incoming-actions — create an incoming action (label, action_type, target_hook, auth_token, enabled)
  • PUT /wp-json/rtcw/v1/incoming-actions/{id} — update an incoming action
  • DELETE /wp-json/rtcw/v1/incoming-actions/{id} — delete an incoming action
  • GET /wp-json/rtcw/v1/incoming-action-types — list available incoming action types
  • POST /wp-json/rtcw/v1/incoming/{key} — public endpoint external services call to deliver data into an incoming action (send an X-RTCW-Token header if the action requires one)

Building the admin app from source: the React source lives in src/. Requires Node.js.

npm install
npm run start — watch mode while developing
npm run build — production build into `build/` (already built and committed for this release)

Installation

  1. Upload the rt-connect-webhooks folder to the /wp-content/plugins/ directory, or install the zip directly via Plugins Add New Upload Plugin.
  2. Activate the plugin through the Plugins screen in WordPress.
  3. Go to Settings RT Connect Webhooks to add your first outgoing webhook or incoming action.
  4. Use the Test button to confirm an outgoing webhook is reachable before relying on it.
  5. Copy an incoming action’s URL into Zapier, Make, Pabbly, or any service that can send a webhook, and start receiving data into WordPress.

FAQ

Does this plugin work with Zapier, Make, or Pabbly?

Yes. Outgoing webhooks send standard JSON (or form/XML) payloads that any of these platforms can catch with a webhook trigger. Incoming actions accept POST requests from any of these platforms to create WordPress content.

Do I need WooCommerce for this to work?

No. WooCommerce is optional — if it’s active, an extra “WooCommerce Order Created” trigger becomes available automatically. Every other feature works on a plain WordPress install.

Can I secure my webhooks?

Yes. Outgoing webhooks support HMAC-SHA256 payload signing plus API key, Bearer token, or Basic Auth headers. Incoming action URLs can require a matching auth token before they’ll process a request.

What happens if a webhook delivery fails?

RT Connect Webhooks automatically retries failed deliveries (the number of attempts is configurable per webhook) and logs the outcome, including the response code and body, so you can see exactly what happened.

Can I trigger a webhook from my own PHP code?

Yes. Call RTCW_Webhooks::manual_trigger( $event, $data ) from your theme or plugin, or hook into rtcw_event_dispatched and rtcw_payload to extend the built-in behavior.

Is there a REST API?

Yes, a full REST API is available under /wp-json/rtcw/v1/ for managing webhooks, incoming actions, and logs — see the Developer Notes section below.

Are incoming and outgoing webhooks separated in the admin screen?

Yes. The settings screen is organized into three tabs — Outgoing Webhooks, Incoming Actions, and Logs — each with its own item count, so you can manage what your site sends out and what it accepts in without the two lists mixing together.

What’s the difference between an outgoing webhook and an incoming action?

An outgoing webhook fires from WordPress out to another service — e.g. WordPress notifies Zapier the moment a new user registers. An incoming action works the other way: it gives you a secure URL that Zapier, Make, Pabbly, or any script can POST into, so an external event (a form submission, a spreadsheet row, a payment) can create or update something in WordPress. Most sites use both directions together.

Can I connect WordPress to Zapier without using Zapier’s own WordPress app?

Yes. RT Connect Webhooks sends standard webhook payloads that Zapier’s generic “Webhooks by Zapier” trigger can catch directly, and its Incoming Actions accept Zapier’s outgoing webhook action — so you get full two-way automation without relying on Zapier’s more limited native WordPress integration.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“RT Connect Webhooks | WordPress Webhooks for Zapier, Make & Pabbly” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

3.8.0

  • The admin screen is now organized into three separate tabs — Outgoing Webhooks, Incoming Actions, and Logs — instead of one long scrolling page, so each direction of webhook traffic has its own dedicated view with a live item count.
  • SEO and clarity pass on the plugin description, FAQ, and section headings.

3.7.0

  • Plugin-specific trigger and incoming-action groups (WooCommerce, LearnDash, EDD, Contact Form 7, and every other integration group) are no longer hidden when that plugin isn’t installed — they now always show up in the picker, grayed out and disabled with a “plugin not active” tag, so you can see the full feature set before installing anything.
  • The flat trigger-matching list used internally still only includes events from plugins that are actually active, so nothing can silently be selected for a plugin that isn’t there.

3.6.0

  • Added two more real Contact Form 7 events: mail failed to send, and before-mail-is-sent (in addition to form submitted and spam detected).
  • Added two more real Ninja Forms events: email action sent, and submission saved (in addition to form submitted) — these fire from Ninja Forms’ own per-action hooks (ninja_forms_run_action_email / ninja_forms_run_action_save).
  • Confirmed WordPress-core action/trigger parity with popular automation plugins: create/delete/search/retrieve users, create/delete/search/retrieve posts (custom post types supported via post_type), create/update/delete comments, send email, create taxonomy terms + term meta, receive data on a custom URL via Incoming Actions’ “Fire Custom WordPress Hook”, and triggers for user login/register/update/delete, new/updated/deleted post, new/updated/trashed/deleted comment, email sent, and custom WordPress hook calls.

3.5.0

  • Expanded Incoming Actions for the plugins that already had trigger support, to match the same breadth: LearnDash (complete lesson, enroll/unenroll from a course, in addition to complete course), Paid Memberships Pro (cancel membership, in addition to add/remove), and Easy Digital Downloads (update/delete discount, create/update/delete download, create/update/delete payment, and — where EDD Software Licensing / EDD Recurring are active — create/update/delete/renew license and create/update/delete subscription).

3.4.0

  • Removed the @wordpress/components dependency entirely — every part of the admin UI (buttons, toggles, selects, panels, notices, modal) is now our own hand-built component in src/components/ui/Controls.js. Only @wordpress/element (React) and @wordpress/i18n (translations) remain, since those are required to mount into the WordPress admin.
  • Massively expanded WooCommerce triggers: pending, processing, on-hold, completed, cancelled, refunded, failed order statuses, plus customer created, stock changed, and added-to-cart.
  • Added a couple more real events for Contact Form 7 (spam detected) and Gravity Forms (entry updated), alongside the existing WPForms, Ninja Forms, and Elementor Pro Forms submission triggers.
  • This release ships source-only — the build/ folder is intentionally not included. Run npm install && npm run build yourself before activating (see Development section below).

3.3.0

  • Massively expanded the trigger catalog to mirror popular WordPress automation plugins: user login/update/delete, comments (new/updated/trashed/deleted), email sent, and full plugin groups for Paid Member Subscriptions, Profile Builder, Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Fluent Support, FluentCRM, Formidable Forms, Forminator, HappyForms, Newsletter, Ninja Forms, Elementor Pro Forms, GiveWP, Easy Digital Downloads (customers, downloads, payments, licensing, subscriptions), AffiliateWP, Amelia, Broken Link Checker, LearnDash (course/lesson/quiz/topic), MemberPress, Paid Memberships Pro, WP Fusion, WP Simple Pay, and bbPress.
  • Massively expanded Incoming Actions to include: create/update/delete/search users, create/update/delete/search posts, create/update/delete comments, send email, create taxonomy terms, LearnDash course completion, Paid Memberships Pro membership add/remove, Profile Builder approve/unapprove/confirm email, FluentCRM add-to-list/tag, and Easy Digital Downloads customer/discount management.
  • New rtcw_available_incoming_action_groups and rtcw_run_incoming_action filters so developers can register their own incoming action types.

3.2.0

  • Redesigned “Add New Webhook” as a custom, own-built UI (no third-party component library, no external font/link imports — system font stack only).
  • Expanded the Events picker into collapsible groups covering many third-party plugins: WooCommerce, Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Formidable Forms, Forminator, Ninja Forms, Elementor Pro Forms, Easy Digital Downloads, AffiliateWP, LearnDash, MemberPress, and bbPress — each group only appears when that plugin is active.
  • New rtcw_available_event_groups filter so developers can register their own plugin’s events into the same grouped picker.

3.1.0

  • Changed: the plugin now has its own root-level admin menu item instead of living under Settings.
  • Changed: the admin screen now talks to WordPress via admin-ajax.php instead of the REST API — no REST routes are used for the settings UI.
  • New: “Custom WordPress Action Hook” trigger — configure any webhook to fire whenever a specific WordPress action runs (e.g. wp_login, acf/save_post), with the hook’s arguments included in the payload, matching the “fire on any WordPress hook” behavior of similar automation plugins.

3.0.0

  • New: Incoming Actions — receive data from external services at a unique URL and create a post, create a user, or fire a custom hook.
  • New: per-webhook HTTP method, body format (JSON/form/XML), authentication (API key/Bearer/Basic), custom headers, timeout, and retry count.
  • New: one-click “Test” button to send a sample payload to any configured webhook.
  • New: log detail modal and an incoming/outgoing direction column in the delivery log.
  • New: rtcw_payload filter, rtcw_event_dispatched action, and a public manual_trigger() method for developers.

2.0.0

  • Rebuilt the admin settings screen as a React app using @wordpress/components instead of plain PHP forms.
  • Added a rtcw/v1 REST API backing the new UI (webhook CRUD, events list, logs).
  • Removed the old admin-post.php form handlers in favor of the REST API.

1.0.0

  • Initial release: outgoing webhooks for user registration, post publish/update, and WooCommerce orders.