You can use webhooks in Zoho to send data back to your WordPress site using WP Fusion. Using webhooks you can create new users on your WordPress site based on workflow rules in Zoho, or update existing users’ meta data and tags.
Webhooks are managed in Zoho under Setup >> Workflow Rules. If you’re already logged into your Zoho account, you should be able to access this page by following this link.
For this tutorial, we’ll be showing you how to create a new WordPress user when a specific tag is applied to a Zoho contact. See below for additional options when constructing the URL parameters.
From the Workflow Rules screen, first create a new Workflow Rule:
The module should be Contacts. You can specify a rule name and description to help organize your Workflow Rules.
The first step, When, specifies when the Workflow Rule should apply. Select “On a record action”, and choose “Field update” as in the screenshot above.
For the field to be used as the trigger, select “Tag”, and then press Done to move on to the next step.
Create a condition, so that the rule is only processed when the desired tag is applied. In this case we’re using the tag Import to WordPress. Then click Next.
For the first action, create an action to remove the tag Import to WordPress. This will stop the workflow from running multiple times on contacts who have already been imported. Then add a Webhook action:
The URL to Notify should be the URL to your WordPress site, followed by
ACCESSKEY is the access key provided at the bottom of the General Settings tab in the WP Fusion settings on your site.
Then, under URL Parameters add a parameter for contact_id, and select Contacts and Contact Id from the dropdowns to the right. This will send the contact ID of the contact to be imported. Then click Save and Associate to continue.
After setting everything up, your Workflow Rule should look like the screenshot above. Go ahead and save the Workflow Rule.
Now, every time the tag Import to WordPress is applied to a contact, a new WordPress user will be created based on their contact data in Zoho. If the user already exists on the site, they will be updated (no duplicate users will be created).
Zoho provides a wide variety of options for triggering a Workflow Rule. You can send webhooks when tags are applied, when contacts are added, when contacts are updated, and using date triggers. For a full list of options in structuring the webhook URL, see the sections below:
To update a user’s tags
To update an existing WordPress user’s tags from the contact record, the URL for the webhook should look like the following:
To update a user’s tags and meta data
To update a user’s tags and pull any new meta data from Zoho for that contact, the URL for the webhook should look like the following:
Create a new user
To create a new user, use the following URL:
You can also specify additional parameters in user creation. For example, to send the user a welcome email containing a link to log in on your site, use the following:
You can also specify a specific user role to be assigned to the new user. For example, to set the new user to the “customer” role, use the following:
Note that you have to have registered a “customer” role on your site for this to work. By default users will be assigned the role of “subscriber”.
The add method will update a user if an existing user already exists. It will not create a duplicate user.
user_passon your website, the new users will be given the usernames and passwords stored in their Zoho contact record.
New user accounts will be created with an automatically generated password. If you’d like to use this password in your email marketing, you can send the password back to Zoho after it has been generated.
In the Webhooks section of the General settings tab, check the box for Return Password, and select a field in Zoho where the password should be stored.
After a new user is created, their automatically generated password will now be saved back to their contact record, and you can use a merge field to include it in an email. The username will be the contact’s email address.