Freeform Freeform for Craft

Integrations

HubSpot ProImproved in 5.0+

This guide assumes you have a HubSpot account already.

WARNING

Please note this is a complete integration between Freeform and HubSpot and should NOT be used along with HubSpot's "Collected Forms" javascript-based feature. Otherwise, you may observe unintended behavior.

Compatibility

Uses private app on v3 of the REST API.

Endpoints

Maps data to the following endpoints:

  • Deals
  • Contacts
  • Companies

Does your project require something else?   Contact Us

Fields

Maps data to the following field types (of text/number string type only):

  • Standard
  • Custom

Duplicate Check & Update

A duplicate check on records is done in the following way:

  1. Check whether the Contact already exists:
    • Check against Email address as the identifier.
    • If there's a match, update the Contact with new values, where supplied.
    • If no match, create a new HubSpot Contact.
  2. Check whether the Company already exists:
    • Check against Company domain name, which is automatically generated by HubSpot from the Contact email address domain name.
    • If there's a match, update the Company with new values, where supplied.
    • If no match, create a new HubSpot Company.
    • If a new Contact was created, link the contact to the Company.
  3. Create new Deal.
    • Attach the Deal to existing or newly created HubSpot Company and Contact.

Setup Instructions

  • Go to the CRM section in Freeform Settings (Freeform → Settings → CRM).
  • Click the New Integration button at the top right.
  • Select HubSpot (v3) from the Service Provider select dropdown.
  • Enter a name and handle for the integration. e.g. My HubSpot Integration
  • Leave this page open and open a new tab to go to the HubSpot site...
  • Open another browser tab and log into your HubSpot account.
  • Click on the account name at the top right.
  • Select Profile & Preferences from the menu.
  • On the left navigation, click on Integrations, and then select Private Apps.
  • On the next page, click the Create a Private App button, and then choose Private app.
  • You will be taken to a page where you will need to fill out some details:
    • Enter a name for the app in the Name field.
    • Switch to the Scopes tab and add the following:
      CRM Read Write
      crm.objects.companies
      crm.objects.contacts
      crm.objects.deals
  • Click the Create app button at the top right.
  • After the app saves and reloads the page, copy the token it just created.
  • Click the Close button.
  • Flip back to the Freeform CP browser tab.
  • Paste the HubSpot Token value into the Access Token field in Freeform.

Additional Configuration

  • IP Address Field (optional)
    • If you want to have the user's IP address sent over to the Contact in HubSpot, you can specify the custom HubSpot Contact field handle to receive it.
  • Append checkboxes field values on Contact update?
    • If a Contact already exists in HubSpot, enabling this will append additional checkboxes field values to the Contact inside HubSpot, instead of overwriting the options.
  • Append checkboxes field values on Company update?
    • If a Company already exists in HubSpot, enabling this will append additional checkboxes field values to the Company inside HubSpot, instead of overwriting the options.

Click the Save button.

  • After the integration is saved, it'll return you to the list of CRM integrations.
  • Click on the newly created integration.
  • Confirm that there is a green circle with Authorized in the middle of the page.

To use this integration on your form(s), you'll need to configure each form individually.

  • Visit the form inside the form builder.
  • Click on the Integrations tab.
  • Click on HubSpot in the list of available integrations.
  • On the right side of the page:
    • Enable the integration.
    • Select the API endpoints you wish to map to.
    • Map Freeform fields to the HubSpot fields as needed.
Finished!