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-Signatureheader, 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_payloadfilter to modify an outgoing payload before it’s sentrtcw_event_dispatchedaction that fires after an event has been sent to all matching webhooksRTCW_Webhooks::manual_trigger( $event, $data )to fire a webhook event from your own PHP code- Admin UI built entirely on WordPress’s own
@wordpress/componentsReact 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 webhooksPOST /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 webhookDELETE /wp-json/rtcw/v1/webhooks/{id}— delete an outgoing webhookPOST /wp-json/rtcw/v1/webhooks/{id}/test— send a one-off test payloadGET /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 logGET /wp-json/rtcw/v1/incoming-actions— list incoming actionsPOST /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 actionDELETE /wp-json/rtcw/v1/incoming-actions/{id}— delete an incoming actionGET /wp-json/rtcw/v1/incoming-action-types— list available incoming action typesPOST /wp-json/rtcw/v1/incoming/{key}— public endpoint external services call to deliver data into an incoming action (send anX-RTCW-Tokenheader 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
- Upload the
rt-connect-webhooksfolder to the/wp-content/plugins/directory, or install the zip directly via Plugins Add New Upload Plugin. - Activate the plugin through the Plugins screen in WordPress.
- Go to Settings RT Connect Webhooks to add your first outgoing webhook or incoming action.
- Use the Test button to confirm an outgoing webhook is reachable before relying on it.
- 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 intortcw_event_dispatchedandrtcw_payloadto 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.
ContributorsTranslate “RT Connect Webhooks | WordPress Webhooks for Zapier, Make & Pabbly” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
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. Runnpm install && npm run buildyourself 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_groupsandrtcw_run_incoming_actionfilters 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_groupsfilter 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_payloadfilter,rtcw_event_dispatchedaction, and a publicmanual_trigger()method for developers.
2.0.0
- Rebuilt the admin settings screen as a React app using
@wordpress/componentsinstead of plain PHP forms. - Added a
rtcw/v1REST API backing the new UI (webhook CRUD, events list, logs). - Removed the old
admin-post.phpform handlers in favor of the REST API.
1.0.0
- Initial release: outgoing webhooks for user registration, post publish/update, and WooCommerce orders.
