Integrating Marketo with Hopin

  • Updated



Which plans is the Hopin<>Marketo integration available on?

The Marketo integration is available on Pro, Business and Enterprise plans.

You can find an overview of our Hopin licenses on our pricing page, feel free to contact our sales team if you'd like to discuss an upgrade.

What are the capabilities of the Hopin<>Marketo integration?

Hopin's integration with Marketo supports the following workflows:

1. Pulling registrations from Marketo to Hopin, and pushing magic links back to Marketo.
2. Pushing registrations to Marketo as a custom activity.
3. Pushing 'attended' status to Marketo as a custom activity.

Note: If you are using Marketo to send your magic links, the Magic Links/Manage Invitations tab in the Event Dashboard will not update the ticket status to Invited. You will need to use Marketo to track if you have sent the invitations. However, once a registrant accepts their magic link, their Hopin magic link status will change to Registered.

Integration guide

All of the above capabilities are available in the steps that follow, if you do not wish to use one of those capabilities, you can leave that configuration screen empty and move to the next screen.

There are three key parts to setting up the Marketo integration:

  • Configuring the integration in Hopin
  • Setting up a webhook in Marketo (if you wish to import registrations from Marketo)
  • Setting up custom activities in Marketo (if you wish to export registrations or attendance to Marketo)

Configuring the integration in Hopin

1. Login to your Hopin account, choose the relevant organization in the left-hand menu, and select the 'Integrations' tab.

2. Scroll to the Marketo integration click on it and then click Install application


3. A window will pop up and ask you to create a new Marketo authentication.


4. To authorize your Marketo instance, you'll need the Marketo API endpoint domain, client id and client secret. To get the API endpoint domain, in Marketo go to Admin > Web Services and copy the Rest API endpoint, but do not include the 'rest' part at the end of the URL.

To get the client id and client secret, you'll need to have an API role and user on your Marketo instance, and create an Installed Service in Launchpoint. The docs for doing that are here. If you already have an API user and installed service, you can find the client id and client secret at Admin > Launchpoint > View Details.

The API user will need to have access to the following permissions for the integration to be set up:

  • Access API > Read-Write Person
  • Access API > Read-Write Activity
  • Access API > Read-Write Activity Metadata




5. Once you've authenticated your Marketo instance, click 'Next'.


6. If you wish to push registrations from Hopin to Marketo, you can do so via a custom activity (if you don't need this step, you can click 'Next' and skip the screen). If you don't have a custom activity set up for this action, you'll need to set one up. Marketo's custom activity documentation is here. In this case we've set up a custom activity that we have called 'Registered to event', and we choose that custom activity from the dropdown in the 'Export registrations' screen.


7. Click next and proceed to the Export Attendance screen. If you wish to record event attendance in Marketo, you'll also need to have a custom activity set up for this purpose (you can skip this screen if you don't want to record attendance).


8. Click 'Next', and proceed to the Import Registrations screen. If you wish to import registrations from Marketo to Hopin, you'll need two fields on your Person object in Marketo: a field that contains Hopin's Ticket Integration Code (we'll explain where to find this value in the 'Testing' section of this document), and a field that can receive Hopin's magic link (the link that is tied to an email, ticket and event, and allows your registrant to access your event). These fields should be set up with a "string" type. It's recommended that you set these up as custom fields in Marketo so that it's clear what their purpose is. 


9. Click 'Next' and proceed to the final Marketo Webhook URL screen. Copy the webhook URL (you might want to paste it into a notebook because we'll need it in a few steps from now).
Note: If the URL field is empty, please click 'Finish', then Unlink the integration and connect it again; this should resolve the issue.


10. Click 'Finish' and you'll get a confirmation that the integration is connected. Now we move to the Marketo side!


Setting up a Webhook in Marketo

We'll set up the Webhook in Marketo first, since we just copied the webhook URL. Again, if you're not importing registrations from Marketo, you can skip this section.

1. Login to your Marketo dashboard, navigate to 'Admin' and search for 'Webhooks'. Create a Webhook and ensure it contains the following values:

  • URL: Paste the Marketo Webhook URL you copied in the previous step.
  • Request type: 'POST'
  • Template: lead_id={{lead.Id}}
  • Request Token Encoding: Form/Url
  • Response type: JSON

Then hit 'Save'.


2. If you don't already have one, create a Program and a List within your Program. You can then configure a trigger that will allow your webhook to be activated. In this case we'll take the example of a Marketo form, which when completed causes a person to be added to a List, which then activates the Webhook. You can start by adding a Form to your Program.


3. The form will need to have a field that contains Hopin's Ticket Integration Code(s). If you only have a single ticket for your event, you could add this as a hidden field in the form that pushes the Ticket Integration Code to the field you have chosen to hold this value. If you have multiple ticket types, you can have a select dropdown that holds the Integration Codes as stored values, which push the stored values to your Ticket Integration Code field when the form is completed:


4. When you've saved and approved the form, add it as a trigger in the 'Smart List' screen of a Smart Campaign:


5. Then in the 'Flow' screen you can select 'Add to list' that is actioned when the form is completed, and a Call Webhook for the Webhook you set up previously.


6. With that, you've completed setting up the import of registrations to Hopin!

Setting up custom activities in Marketo

As a reminder, the Marketo documentation for custom activities is here. Custom activities in Marketo allow you to define triggers that will result in a workflow being performed in Marketo. In this case we'll be pushing a registration to a List, or an attended status to a Program member. You can skip this section if you're only importing registrations from Marketo.

1. If you don't already have one, create a Program and a List within your program. You can then configure a Smart Campaign to be triggered on your custom event. The custom event trigger should contain the name of your Hopin event, as below, and should use 'starts with' rather than 'in', as Marketo sometimes puts spaces on the end of the event name.


2. In the next screen ('Flow'), you can use 'Add to list' to push the registrations from Hopin into a Marketo list in your program.


3. Activate the Smart Campaign in the 'Schedule' tab.


4. You're now ready to start receiving registrations from Hopin! You can set up your attended status custom activity in the same way.

Testing the Marketo integration

Now we can test both the import and export of data.

Importing registrations from Marketo into Hopin

Let's test our import registrations setup.

1. You'll need to make sure the correct Ticket Integration Code is being used when a registration is created. To find the ticket 'integration code':

In your event dashboard, navigate to the Registrations > Tickets tab.

Copy the ticket URL, paste it anywhere and copy the 'code' part of the URL (the 'xeTWv3xjdXo2yw89L71K7Jprcke' in the image below).

2. You'll now need to make sure that when a person is added to your Marketo list, the Ticket Integration Code is added to the field that you have created for that purpose. In this example, we'll use the Ticket Integration Code as a Stored Value on a dropdown in a Marketo form.


3. You'll then need to make sure that the Stored Value is being added to the correct field, by choosing the field you have selected for the Hopin Ticket Integration Code in the Marketo 'Field'.


4. When you're done, 'Finish' and 'Close and Approve' the form, then embed it somewhere that you can use it for a test (you can easily do this using Google Sites).




5. Complete the form, and verify that the registration has been added to your List in Marketo.



6. If you look at the person in your list, you should see that the Hopin Ticket Integration Code has been added to the correct field, and that (if everything has been set up correctly) the Magic Link field has also been populated by Hopin.


7. You can then check the 'Magic Links' page in your Hopin event to confirm that the person has been added there as well.


8. Congrats, you've successfully set up registration imports!

Exporting registrations

If you'd like to test a registration export, you can follow the below steps.

1. Go to the 'Attendees' page in Hopin and remove your own event registration, if you have one.


2. Use the 'Preview Event' button it the top right corner to enter your event, and click the 'Join event' button.


3. You're now registered for your event, and you can go and check that this has been pushed to Marketo correctly.


4. If you have an issue here, one common problem to check for is a space on the end of your Hopin event name. You can handle this by using 'starts with' instead of 'in' when setting up the trigger for your Smart Campaign.


5. You're done!


Feel free to reach out to us at in case you have questions or need assistance.

Was this article helpful?