How do you make your Wordpress site talk to your CRM and Webinar systems?
I'm working with a new client that uses webinars as both a lead generating tactic and a service to existing members. We're setting up Base CRM for them to track the activities of their current customers and new leads, especially when they register for and attend new webinars.
Our goal is to integrate their Wordpress website with Base so that when new prospects or existing customers register for and attend GoToWebinar webinars, that activity is noted in their contact record in Base. We're using a great service called Zapier to do this, as it's a relatively inexpensive ($20/mo) way to integrate a wide variety of applications.
Currently, their email marketing program directs registrants to GoToWebinar to sign up using the standard webinar form. While Zapier has a trigger in GoToWebinar that's fired when a new registrant is created, the Base action set in Zapier is all based on lead or contact IDs to determine which records to annotate.
So unless your registrant knows their Base ID, this isn't going to work. What we have to do is start with our own Gravity Forms registration form that can pass the user's Base ID to Zapier in a way that triggers both the GoToWebinar registration and the new note on the contact record in Base. If the registrant isn't already in Base, then we'll create them as a new lead.
Part I: Setup and New Leads
Step 1: Add User Meta Fields
Add a Base ID meta field to the user accounts of all customers in Wordpress. We used Extra User Details to add this field and made it visible to WordPress admins only. While Cimy User Extra Fields is a popular way to collect this kind of extra data, it's not easily accessible from Gravity Forms.
We called our field simply "base_id" and added it to all user records. While we're at it, we added "job_title" and "organization" to flesh out our Base lead information.
Step 2: Create a Gravity Form
Next, create a Gravity Form with all the fields you want to capture from registrants. If you want to get fancy, you can populate the form with existing user metadata like first and last name, organization, job title, etc. Add hidden fields for the user's Base ID and WordPress user ID, then populate those with the metadata values from Wordpress. If you have the Gravity Forms User Registration plugin, you can also add an action to update the user's information based on the content of the form.
Once you've created the Zap in step 4, you can paste the webhook url back into the Zapier settings field on the Gravity Form. If you don't have the Zapier settings option, you'll need to install the addon from the Gravity Forms add-on page.
Step 3: Create a new Base Lead source
Create a new lead source in Base called "Webinar Signup." You'll need this to filter new webinar leads into GoToWebinar and avoid running the zap for other types of leads.
Step 4: Create the Zap for new leads
In Zapier, create a new Zap that links Gravity Forms to Base for any form submissions that don't include a Base ID. This could be for new users that don't yet have a Base ID, or for visitors that don't have a user account. Paste the webhook URL back into the Gravity Form Zapier settings, and configure the Zap to only run with the text of the Base ID field is exactly nothing.
Next, you'll want to map all of the form fields to fields in the new Base lead form. Make sure you set the lead source to the "Webinar Signup" source that you created in Step 3.
Insert your webinar ID into the Extra Description field so you can access it later. As of now, Zapier does not have access to Base custom fields so you have to use the description field. After the initial registration, you won't need this value any more, so it won't matter if Base users overwrite it.
Save your Zap and test it with new form data from Gravity Forms. You should now see new leads created every time your form is submitted.
To Be Continued:
In our next post, we'll connect GoToWebinar to Zapier to register new leads and existing users for webinars automatically. Stay tuned!