Home Blog Technical Tuesday: HubSpot Integration with Acumatica

Technical Tuesday: HubSpot Integration with Acumatica

Doug Johnson | July 5, 2022

For this week’s Technical Tuesday, I will be explaining how to configure the HubSpot marketing automation system with Acumatica. The process should only take you a few minutes.

Acumatica Environment: 5.30.1367 (feature available only in 5.3 release builds)

Acumatica Data: SalesDemo demo data from partner portal.

Acumatica's Technical Tuesday

Scenario Overview

Business Problem

Acumatica’s Customer Relationship Management (CRM) module allows your salespeople to more effectively manage and close sales opportunities. A CRM system is designed to help sales efficiently manage prospects and existing customers.

Salespeople do not have time to manage a large list of unqualified leads. The activities associated with moving unqualified leads through the sales funnel are usually performed by marketing. The activities associated with doing this are much different from activities performed by sales.

Technical Tuesday: HubSpot Integration with Acumatica

Marketing activities occur at the top of the sales funnel, while sales activities occur further down.

HubSpot Integration with Acumatica

Integration Points

The hand off between marketing and sales is the ideal place to integrate the two systems. The Acumatica interface to HubSpot provides a simple way to configure the information that you need to share when the handoff occurs.

In this example, leads that are qualified in HubSpot are automatically imported into the Acumatica lead screen. These leads can then be automatically assigned for follow up by a sales person.

You may also encounter a situation where leads in Acumatica need to be exported to HubSpot. This would occur if a lead is disqualified (not ready to buy for 1-2 years) or if leads are entered into Acumatica CRM and not in HubSpot.

Demonstration Scenario

This document describes how to quickly configure Acumatica to accept marketing qualified leads from HubSpot. Then if the lead is disqualified, the lead can be updated in HubSpot for nurturing.

Acumatica Implementation

In Acumatica 5.3, HubSpot integration is implemented as a data provider in integration services. This means that you can map HubSpot fields to Acumatica and schedule the import to occur automatically at a predefined interval.

This has mostly been setup for you, so the process we describe in this article is simple configuration. The following steps are discussed.

  1. Configure the provider using information from your HubSpot account
  2. Verify the Import Scenario in Acumatica
  3. Process the Import Scenario to verify functionality
  4. Schedule the Import Scenario to automate the process
  5. Verify the Export Scenario in Acumatica
  6. Process the Export Scenario in Acumatica

Step 1: Configure the HubSpot provider in Acumatica

Navigate to System > Integration > Manage > Data Providers and select the HubSpot provider (as illustrated below). The Provider Type has already been selected, so you only need to add your HubSpot specific information.

HubSpot Integration with Acumatica

1. The Hapikey (HubSpot API Key), can be found by expanding the menu in the top right of your screen when you login to HubSpot and selecting the Integrations option.

HubSpot Integration with Acumatica

Expand the menu, then select Integrations.

HubSpot Integration with Acumatica

From the integrations screen, click the option to ‘Get your HubSpot API Key’ and follow the instructions on the API key page.

2. The List Name in HubSpot is the name of the list that you will monitor in order to bring leads into Acumatica. Within HubSpot navigate to Partner > Lists as illustrated below.

HubSpot Integration with Acumatica

I created a Smart list called Leads for ERP. After leads score enough points (from visiting web pages, entering data, responding to forms, opening emails, etc.), HubSpot automatically moves them to this list.

HubSpot Integration with Acumatica

3. The PortalID is listed on the top right of your screen when you login to HubSpot as illustrated below.

HubSpot Integration with Acumatica

To verify that you have entered the information correctly, click the ‘Schema’ tab, the select Fill Schema Objects, and then select Fill Schema Fields. In most cases the screen will not change, and the absence of an error means that you have entered your account data correctly.

HubSpot Integration with Acumatica

Re-building the schema does two things in addition to testing.

  1. If you have any custom contact properties in Acumatica, this action adds them to the default data provider that ships with the system
  2. It adds Acumatica service fields to the HubSpot as contact properties. This is required before running the integration.

Step 2: Verify the Import Scenario in Acumatica

After establishing the data connection to HubSpot, the next step is to map the HubSpot fields to the fields on the Acumatica lead screen.

To do this navigate to System > Integration > Manage > Import Scenarios. An import scenario called “Import Leads from HubSpot” has already been created for you. So all you have to do is verify the fields or add more if you want to capture more information.

HubSpot Integration with Acumatica

Acumatica allows you to map attributes (see the Appendix 1) and custom fields as well. In this case, I deactivated the Ext Ref Nbr because it was preventing successful import of the email address.

Step 3: Process the Import Scenario

Navigate to System > Integration > Process > import by Scenario and select the Import Leads from HubSpot scenario.

Click ‘Prepare’ and any leads that you have in HubSpot will be gathered into the screen.

Click import and the leads will be loaded into Acumatica. Missing required fields, invalid values, etc. will be flagged and not imported in order to ensure data consistency. In the screen below I successfully imported two records.

When performing the import, Acumatica checks to see if there are existing leads with the same email address. If the system finds a match, then the record is updated. If the system does not find a match, then a new lead is created. If the email address does not exist, then duplicates will be created.

HubSpot Integration with Acumatica

You can do a Universal Search on the name that you just imported and click the lead to see the results.

HubSpot Integration with Acumatica

Step 4: Schedule the Import Scenario

To schedule the import scenario to happen on a recurring basis, do the following:

1. Navigate to System > Integration > Schedule > Import Scenarios.

2. Click the scheduler button

3. Select Add

HubSpot Integration with Acumatica

4. Complete the automation schedule form

HubSpot Integration with Acumatica

In this case I schedule the import to occur every 30 minutes. In the ‘Conditions’ tab, the system automatically set the condition that Name Equals Import Leads From HubSpot so not all automation schedules are processed every 30 minutes. The information in the Filter Values tab was also automatically set.

Next we will verify the export scenario.

Step 5: Verify (and Modify) the Export Scenario in Acumatica

The Acumatica integration also includes a process to export data to HubSpot.

To review the scenario navigate to System > Integration > Manage > Export Scenarios. An export scenario called “Export Leads to HubSpot” has already been created for you. So all you have to do is verify the fields or add more if you want to push more information.

Revision Two HQ - Export Scenarios.

Notes about the export process:

  • Export selects leads that have been modified since last export
  • Export adds leads to a specific list in HubSpot or updates existing records if it finds the email address already exists in that list

In the Source Restrictions Tab of the Export Scenario, we limit the records that are selected for export. In addition to the built in restrictions, I added one to limit data pushed back to HubSpot to include only records Sales has marked for nurturing.

HubSpot Integration with Acumatica

The screen shot above shows the source restrictions and highlights two changes:

  1. Duplicate checking is turned off by default in the SalesDemo data, so I unchecked the validation
  2. Added a new condition to check for records that Sales has marked for nurturing

Step 6: Process the Export Scenario in Acumatica

In order to test the export process, navigate to one of the records that you imported and set the Status to suspended and the Reason to nurture.

HubSpot Integration with Acumatica

This change will cause the record to satisfy the source restrictions in the export scenario. You can also change some of the other information that you have mapped in the export scenario.

Navigate to System > Integration > Process > Export by Scenario

  • Select “Export Leads to HubSpot” scenario
  • Click Prepare

HubSpot Integration with Acumatica

The result of clicking prepare is that only a single record (the one you selected for nurturing, should appear in the export.

  • Click Export

HubSpot Integration with Acumatica

When I look up my contact in HubSpot, I see the changes that have been made to the record. In this case I changed the title in addition to changing the status of my record.

As with the import scenario, you can schedule the export scenario to run automatically. This is done on System > Integration > Schedule > Export Scenarios.

Other Notes

  • Developer notes: https://www.youtube.com/watch?v=ClQvXwDXfN4&feature=youtu.be
  • Recommended: Create separate lists for import and export processes in HubSpot. This will help you see which records have been imported/exported and take action. In order to do this, you will need to create a new provider because the provider is specific to a HubSpot list.


Acumatica’s built-in integration with HubSpot allows your marketing and sales organizations to completely manage the entire sales funnel.

The bi-directional integration ensures:

  • A clean hand-off between sales and marketing activities
  • Marketing has the right tools to build, nurture, and manage the top of the funnel
  • Sales has the right tools to manage an opportunity pipeline and close deals
  • Information maintained in HubSpot and Acumatica is shared and up-to-date

By separating tasks into best of breed systems, sales and marketing can operate at full efficiency. Marketing can use HubSpot to create drip marketing campaigns with automatic opt-out, lead scoring, easy email creation, and a plethora of reports detailing key metrics such as open and click rates. Sales can use Acumatica to create proposals that include customer specific pricing, up-to-date inventory, and track all pipeline activities. Real-time information sharing among sales teams closes deals faster and ensures everybody is on the same page.

APPENDIX 1: Adding Attributes to your HubSpot Sync

Attributes are user-defined fields that you can add to objects in Acumatica. In this example we want to store the Twitter username in Acumatica for our leads.

To do this we:

  1. Create an attribute for storing this Twitter ID
  2. Assign our attribute from step one to the appropriate business object
  3. Modify the HubSpot import scenario to bring over the Twitter name from HubSpot

Step 1: Create an attribute in Acumatica

Navigate to Configuration > Common Settings > Attributes and create a text field as shown below.

HubSpot Integration with Acumatica

Step 2: Associate the attribute with the Lead object

Navigate to Organization > Customer Management > Configuration > Setup > Contact & Lead Classes and link the Twitter attribute as shown below. In Acumatica, each lead class can have different attributes, so you may need to link your new attribute to several different contact & lead classes.

HubSpot Integration with Acumatica

Step 3: Modify the HubSpot import scenario

Navigate to System > Integration > Manage > Import Scenarios and enter the syntax in the screen shot below.

HubSpot Integration with Acumatica

Line 1: Select the Attribute target object, select the attribute ID, then type the name of the attribute you want to reference in the Source Field / Value field as shown above. Acumatica automatically adds the line <key: AttributeID>   = above this line.

Line 2: Select the Attribute target object, select the value field, then select ‘Twitter Username’ from the fields available from HubSpot. When you save the screen, the value changes from the HubSpot label “Twitter Username” to the internal API name “twitterhandle.”

Blog Author

VP, Product Management at Acumatica.

Receive blog updates in your Inbox.