Table of Contents

  1. Why use WP Zapier instead of Zapier’s WordPress app
  2. What you need
  3. How the data moves
  4. Create the Catch Hook first
  5. Create the WP Zapier outbound event
  6. Test the webhook before Zoho
  7. Send the record to Zoho CRM
  8. Map the WordPress fields
  9. Test the Zoho action and publish
  10. Common mistakes
  11. Other useful triggers
  12. Conclusion

A WordPress Zoho CRM integration should start when something real happens on your site: a user registers, a form is submitted, or an order is paid. Zapier’s native WordPress app only covers a few core events and often polls. WP Zapier & Webhooks Integration sends those events as a webhook, and Zapier writes the record into Zoho CRM.

This is the current walkthrough. The earlier how-to stays live at How to Connect WordPress to Zoho CRM and Automate Your Business. The Catch Hook setup order, the Zapier plan requirement, and the field names WP Zapier actually sends are current as of 15 September 2026.


Why use WP Zapier instead of Zapier’s WordPress app

Zapier’s WordPress app can watch a handful of core events. It does not expose WP Zapier’s plugin triggers, so WooCommerce orders, Paid Memberships Pro level changes, and form submissions never reach it.

WP Zapier 2.4.1 creates an Outbound Event, posts the payload to a Catch Hook URL, and lets Zapier map that payload into Zoho. That is the supported path for this WordPress Zoho CRM integration.

Related webhook notes live in Getting Started: WP Zapier.


What you need

Do not use Zapier’s WordPress trigger for this walkthrough.


How the data moves

Vintage still life of a registration card and fountain pen, a brass hook catching a rolled paper message, and an open leather card-file on a wooden desk.
WordPress writes the record, Zapier catches the webhook, and Zoho CRM files the lead.

Three pieces have to line up:

  1. WordPress fires an Outbound Event.
  2. Zapier catches it on a unique Catch Hook URL.
  3. Zoho CRM creates or updates a module entry.

Start with User Register. It is the cleanest first lead. Do not start with User Login; that floods Zoho with repeat visits.


Create the Catch Hook first

The webhook URL does not exist until Zapier has a Catch Hook trigger. Create the Zap before you finish the WordPress event.

  1. In Zapier, click Create, then Zap. The older Make a Zap label is gone.
  2. For the trigger app, search Webhooks by Zapier.
  3. Set the event to Catch Hook.
  4. Click Continue.
  5. Leave Pick Off A Child Key blank.
  6. Open the Test tab and copy the webhook URL.

Zapier’s current Catch Hook documentation places that URL on the Test tab, after the event is selected. Do not expect the URL before Catch Hook is chosen.

Leave this Zap editor tab open.


Create the WP Zapier outbound event

  1. In WordPress, go to WP Zapier → Outbound Events → Add New.
  2. Title it clearly, for example New User to Zoho CRM.
  3. Set Trigger to User Register.
  4. Paste the Catch Hook URL into Webhook URL.
  5. Set Webhook Status to Enabled.
  6. Publish the event.

The core triggers in 2.4.1 are User Login, User Register, Update Profile, Save Post, and Save Page. WooCommerce and Paid Memberships Pro add their own triggers when those plugins are active. You can also add a Conditional Dispatch rule if you only want certain roles or emails to send.

If you collect leads from a form instead of a WordPress user account, use Gravity Forms – After form submission or Ninja Forms – After form submission as the trigger instead.


Test the webhook before Zoho

Zapier can only map fields it has already received.

  1. Register a test user on the WordPress site, or submit the chosen form.
  2. Return to Zapier and click Test trigger.
  3. Confirm you see fields such as user_email, first_name, last_name, display_name, and user_id.

If the test is empty, the event is disabled, the URL is wrong, or the WordPress action has not run yet. Trigger it again, then retest. Zapier only shows recent hooks from the past hour.

WP Zapier does not send the user’s password. Version 2.4.1 removed that from the register payload.


Send the record to Zoho CRM

  1. Add an action step.
  2. Choose Zoho CRM.
  3. Choose Create/Update Module Entry. That action creates a lead if none exists and updates it if Zoho finds a match on a unique field.
  4. Connect the Zoho account. Select the correct Zoho domain (zoho.com, zoho.eu, zoho.in, and so on) before you sign in.
  5. Choose the module. Leads is the usual first choice. Use Contacts only if these people are already customers.

A plain Create Module Entry action will insert duplicates every time the same email registers again. Use Create/Update unless you have a reason not to.


Map the WordPress fields

WP Zapier names user fields like this:

  • first_name maps to Zoho First Name.
  • last_name maps to Zoho Last Name.
  • user_email maps to Zoho Email.
  • display_name is the fallback for Last Name if last_name is empty.
  • user_url can map to Website.
  • roles can map to a custom field or description.

Most standard Lead layouts still require Last Name. If your test user has no last name, map display_name into Last Name so the test does not fail with a missing-field error. If your layout also requires Company, map a fixed value such as your site name.

Mark Email as unique in Zoho if you want Create/Update to match on email. That is Zoho’s usual duplicate key for Leads and Contacts.

For a WooCommerce order trigger, map billing first name, last name, and email from the order payload instead of the WordPress user object.

Pro Tip: If last_name is empty at registration, map display_name into Zoho Last Name so the test does not fail.


Test the Zoho action and publish

  1. Click Test action.
  2. Open Zoho CRM and confirm the test lead exists, with the mapped email.
  3. Name the Zap.
  4. Click Publish.

If Zapier asks you to upgrade, that is expected: this Zap uses premium apps.


Common mistakes

Using Zapier’s WordPress app as the trigger

That skips WP Zapier’s outbound events. The Catch Hook URL never receives the plugin payload.

Copying the webhook URL before Catch Hook is selected

The URL is generated after you choose Catch Hook and continue to the Test tab.

Testing Zapier before WordPress has fired

Register the user first, then click Test trigger.

Publishing a Zap that cannot run on the free plan

Zoho CRM and Webhooks by Zapier are premium. Finish the mapping, then publish on a paid plan or trial.

Creating a new lead on every profile update

Use Create/Update Module Entry and a unique Email field, or you will stack duplicates.

Starting with User Login

Login events repeat. Use User Register, a form submission, or WooCommerce New Order for CRM records.


Other useful triggers

Once the first Zap is live, the same Catch Hook pattern works for:

  • WooCommerce – New Order: create a Contact from billing details.
  • WooCommerce – Order Status Changed: update a Deal stage after payment.
  • PMPro – After Change Level: keep membership status on the Contact. The plugin sends the user plus membership_level_id. See How to Use pmpro_changeMembershipLevel() Safely if you also change levels in code.
  • PMPro – Order Added: send membership order data, including invoice workflows such as How to Automate WordPress Invoices with Zapier.

Two-way sync is a separate setup. WP Zapier can receive data to create, update, or delete WordPress users. That inbound webhook is not required for this WordPress-to-Zoho lead flow.


Conclusion

A reliable WordPress Zoho CRM integration is a Catch Hook, an enabled WP Zapier outbound event, and a Create/Update Module Entry action with Last Name and Email mapped.

Start with one User Register Zap, confirm a test lead in Zoho, then add store or membership triggers only after that path is clean.

If you get stuck on the webhook or the Zoho mapping, Yoohoo support can check the outbound event.

What would you send first: new users, paid orders, or membership level changes?

Stay in the loop!

15% off your next purchase, just for you 🎁

Sign up to receive your exclusive discount, and keep up to date on our latest news, products & offers!

We don’t spam, ever! Read our privacy policy for more info.