Integrating HubSpot with your LMS

Academy of Mine provides clients with a HubSpot Integration that allows you to track student activity and progress in the LMS, and trigger changes in HubSpot data accordingly. For example, this can be used to update HubSpot Contacts details with changing user or course information, or even to track and sync progress data for specific course enrollments of a student (Deal properties in HubSpot can be leveraged to track a particular student x course enrollment combination and update it with detailed progress information). 

This integration will recognize LMS events such as New Account Created, Account Details Updated, Course Completed, and more, and pass data along to HubSpot, allowing you to keep your Contacts and Deals synced. Note: the data changes and storage is specifically in relation to Contacts and Deals in HubSpot.

In this guide, we will go through how to activate and configure your HubSpot integration. 

In this article:

Step 1:  Open HubSpot Integration Settings

  1. From the Admin Dashboard, select the Integrations tab
  2. Locate the HubSpot integration option and click Manage 
  3. Here, you can see the information that you'll need to configure and add from HubSpot in the following steps

Step 2: Configure HubSpot Keys & Add to AOM

  1. Open a new tab and navigate to your HubSpot Portal.
  2. Once you have logged into your HubSpot Portal, open a new tab once again and navigate to HubSpot Developers. This is where you are going to configure the keys needed by the AOM LMS.
  3. You will need to create an "app developer account" in HubSpot Developers if you haven't already. To create a developer account, click the Create app developer account button.
  4. Click the Continue with this user button.
  5. Then click the Create an account button.
  6. HubSpot will now ask you some questions about your account. Please answer those questions accordingly and click Finish signing up.
  7. After the signup is completed, you'll be redirected to the Home Page. Here, select Create an app. A popup will appear on your screen but you can click Skip for now.
  8. The next step is to configure your app. Change the "Public app name" to any name you prefer.
  9. Go to the Auth tab and locate the Client ID and Client Secret codes. Copy-paste the "Client ID" and "Client Secret" into the appropriate fields on the AOM LMS HubSpot Settings page that you have open. Then, be sure to enable the HubSpot Integration in AOM by toggling the Enable HubSpot? switch. You do not have to click Save & Authorize yet; we will do this in a bit once all details are correctly set up.
  10. Now you'll need to copy the Redirect URI from the same HubSpot Integration Settings page on the AOM LMS and paste it inside the HubSpot App Configuration page. After doing so, click on the Save button on the HubSpot App Configuration page.
  11. This is what the HubSpot Integration Settings page on AOM should look like after all these steps (with your own Client ID and Secret of course). 
  12. Now we can finally click the Save & Authorize button to connect your AOM LMS to HubSpot. This will redirect you to a HubSpot Connection Page. Select the non-developer account and click Choose Account. 
  13. After that, you will see the Connect App page. Click Connect App and Confirm the authorization of the application. 
  14. You will now be redirected to your LMS and an "Authorized Successfully" message should show.

Step 3: Set Up Actions & Mappings 

Now that the HubSpot integration is connected, let's move on to configuring the actions and mappings. Actions determine the different events that are going to trigger changes in HubSpot, and the mappings are   how HubSpot is going to get updated when an event is triggered.

Set Up Actions

We will now set up the actions inside the Actions tab according to your needs. This is where you will determine the different events that are going to trigger changes in HubSpot. It is essentially where you will determine when HubSpot data is going to be updated, and which thing we are updating in HubSpot (Contact or Deal). In the next step, we will add more details on how each HubSpot object is going to get created/updated but for now you will want to think about the different events that should trigger a change.

  1. Within the HubSpot integration settings in AOM, click Actions
  2. Click +Setup Action and choose desired events and actions from the dropdown menus. Click Save once you have chosen the event in AOM and the corresponding HubSpot update. Click +Setup Action again to add another action 

Set Up Mappings

Now, in order to actually configure how HubSpot is going to get updated when an Event is triggered, we will need to configure the Mappings. The Actions set up in the last step tells us when HubSpot data should get updated as well as which object in HubSpot, but it has not told us anything about the specific details of how to update the data. This is what we will do here in the Mappings tab. Click on the Mappings tab in the HubSpot Settings page on the AOM LMS. Without mappings, the user activity data is not going to be sent to HubSpot, so we will need to set it up carefully. It is what will allow HubSpot to understand what to do with the data that is coming in.

There are two types of mappings:

  • a) Contact Mapping: Used to create and update HubSpot contacts.
  • b) Deal Mapping: Used to update HubSpot Deals.

To set these up:

  1. Click on the Mappings tab in the HubSpot Settings
  2. To add Contact Mapping: Click the Add New button, add the AOM LMS properties that you wish to sync with HubSpot Contacts, and link each to the desired associated HubSpot Contact property you want to create/update. These mappings should be laid out for user properties and can also be provided for course field mappings. Note that mapping course fields is optional.
  3. Once done, click the Save Mapping button.
  4. To add Deal Mapping: To start, you'll need to set up the Deal Identifier Property Mapping. This mapping will determine what is identified as a Deal in HubSpot. Click the Add New button, select the type of LMS object we are looking to get data from, select the specific property of that object, and finally the HubSpot property that we want to map it to. In the example below, we are using studentEmail x courseId as the Deal Identifier.

    NOTE: If the Identifier Property Mapping is wrongly configured, the Deal will not get updated in HubSpot.
  5. The next thing is to set up which information from the course will get updated within the HubSpot Deal. Select the course property you wish to sync data for and add the HubSpot deal property next to it.
  6. Click the "Save Mapping" button to save your changes. 

You are now all set! Every time on of the Actions is triggered, the related HubSpot entity will get created/updated.