Show details for Connect your storefront to HubSpot

Connect your storefront to HubSpot

Send customers, departments and orders from your storefront to HubSpot automatically, as Contacts, Companies and Deals.

Connect your storefront to HubSpot

Send customers, departments and orders from your storefront to HubSpot automatically, as Contacts, Companies and Deals.

Guide7 min readVideo13-step guideUpdated 15 Oct 2026

Overview

Connect: HubSpotConnect: HubSpot is Infigo's integration module that automatically synchronises customer and order data with HubSpot CRM. links your storefront to your HubSpot account. Customers, departments and orders are sent to HubSpot as they happen, so nobody has to copy them across by hand.

What it does

  • Customers become Contacts - a customer who registers is sent with their email, name, phone, company and address. If HubSpot already has a contact with the same email, that contact is reused and its details are not changed.
  • Departments become Companies - a new department is sent as a Company when its first customer is sent, and its customers' Contacts are linked to it. You can switch this off to send Contacts only.
  • Orders become Deals (optional) - with deals on, every order placed on your storefront creates a Deal on the customer's Contact, with the order total as the amount, in the pipeline and stage you choose.
  • Your own fields (optional) - a MegaScriptA MegaScript is a custom script built in Infigo's Connect: Scripting workflow engine that runs on storefront events (such as Place Order) to drive advanced, bespoke logic — for example pushing order... can replace the standard fields for Contacts, Companies or Deals with the HubSpot properties you need.

How it works

  • One way - data goes from your storefront to HubSpot. Nothing in your storefront is changed from HubSpot.
  • In the background - records are sent after the registration or order is complete. If HubSpot cannot be reached, registrations and orders still go through and the problem is logged.
  • A private app token - you connect with an access token from a HubSpot private app with four scopes: crm.objects.contacts.read, crm.objects.contacts.write, crm.objects.companies.write and crm.objects.deals.write.

Good to know

  • Records are created once. Later changes to a customer, department or order are not sent, and nothing is deleted in HubSpot.
  • Existing records are not sent on their own. Departments that existed before you connected do not get a Company. Customers who existed before are not sent when you connect, but with Create deals on, their next order creates their Contact.
  • Products and order lines are not sent. A Deal carries the order total, not the individual items.
  • Deals link to the Contact. A Deal is associated with the customer's Contact, not directly with the Company.
  • Moving a customer to another department links their Contact to the new department's Company.
  • Already sending orders to HubSpot another way? If your storefront used an earlier HubSpot script, ask Infigo Customer Support to switch it off when you turn on Create deals, or every order will create two Deals.

Before you begin

  • Ask Infigo Customer Support to enable Connect: HubSpot for your storefront.
  • In HubSpot, only a user with full administrator permissions can create a private app (HubSpot now lists private apps as legacy apps).
  • If you send orders as Deals, find the IDs of the pipeline and stage you want in your HubSpot deal pipeline settings.

Step-by-step

  1. Open Connect Plugins

    Go to Configuration > Plugins > Connect Plugins. Connect: HubSpot is listed on the Installed Plugins tab with two buttons: Configure opens its settings, and Check Connection tests the link to HubSpot. If it is not listed there, it has not been enabled for your storefront yet.

    Connect: HubSpot - Configure / Check Connection

    Connect: HubSpot - Configure / Check Connection
  2. Turn it on for your storefront

    Go to Configuration > Settings > Connect Settings. Under Enabled Connect PluginInfigo's Connect Plugins facilitate seamless integration with third-party Management Information Systems (MIS) and other production platforms, allowing order data and artwork to flow between Infigo..., tick Connect: HubSpot and click Save. Back on Connect Plugins it now shows Enabled.

    Enabled Connect Plugin: Connect: HubSpot

    Enabled Connect Plugin: Connect: HubSpot
  3. Create a private app in HubSpot

    Your storefront connects to HubSpot with a private app access token. In HubSpot, only a user with full administrator permissions can create a private app; HubSpot now lists private apps as legacy apps. On the app's scopes, tick crm.objects.contacts.read, crm.objects.contacts.write, crm.objects.companies.write and crm.objects.deals.write. Create the app and copy its access token, which starts with pat-. Treat it like a password.

    The four scopes the token needs

    The four scopes the token needs
  4. Paste the access token

    On Connect Plugins, click Configure next to Connect: HubSpot to open Connect: HubSpot Settings. Under HubSpot connection, paste the token into Access token. Leave APIA programmatic interface that lets one system talk to another using structured requests and responses. URL as https://api.hubapi.com, which is the same for every HubSpot account.

    Access token: your private app token

    Access token: your private app token
  5. Choose whether departments become companies

    Create companies is ticked by default. Each department created from now on then gets a HubSpot Company, made when the first customer in it is sent, and that department's Contacts are linked to it. Departments that existed before you connected do not get a Company. Untick it to send Contacts only. Leave Association category (HUBSPOT_DEFINED) and Association type id (1) as they are.

    Create companies (on by default)

    Create companies (on by default)
  6. Leave field mapping on None (optional)

    Field mapping is optional. With None, the standard fields are sent: email, name, phone, company and address for a Contact; the department name for a Company; and name, amount, pipeline and stage for a Deal. To send different HubSpot properties, choose a MegaScript here. It replaces the standard fields for that record type entirely, and More Information shows an example.

    Optional: replace the default fields

    Optional: replace the default fields
  7. Turn on deals for placed orders

    Deals are off by default. Tick Create deals to create a HubSpot Deal for every order placed on your storefront. Enter Deal pipeline and Deal stage as the IDs HubSpot uses for them, not their display names. The defaults are default and closedwon. HubSpot shows each pipeline's and stage's ID in its deal pipeline settings, so check them there. The stage must belong to the pipeline, and both are required while deals are on.

    Create deals + pipeline and stage ids

    Create deals + pipeline and stage ids
  8. Save and check the connection

    Click Save, then go back to Connect Plugins and click Check Connection next to Connect: HubSpot. Your storefront makes a test call to HubSpot with your token. If it works, you see Connect Connection was successful for plugin: Mis.HubSpot.

    Check Connection

    Check Connection
  9. Know what is sent, and when

    From now on, a new department becomes a Company (created when its first customer is sent), a customer who registers becomes a Contact, and, with deals on, each placed order becomes a Deal. Contacts are matched on email first: if HubSpot already has a contact with that email, it is reused and its details are not changed. Everything is sent in the background. If HubSpot cannot be reached, registrations and orders still go through and the problem is logged.

    What is sent, and when

    What is sent, and when
  10. See a new customer arrive as a Contact and Company

    Your departments are in Customers > Departments. When a customer registers and creates a new department, HubSpot gets a Company with the department name and a Contact linked to it. The Contact carries the customer's email, name, phone, company and address, using the billing address when there is one. Blank fields are left out. Registering into an existing department creates the Contact only; it is linked to that department's Company if the department has one in HubSpot.

    Each new department -> a HubSpot Company

    Each new department -> a HubSpot Company

    Example: the Contact and Company

    Example: the Contact and Company
  11. See a placed order arrive as a Deal

    With Create deals on, each placed order creates one Deal, linked to the customer's Contact. The Deal is named after the billing company, else the customer's company, else Order and the order ID. Its amount is the order total, and its pipeline and stage come from your settings. If the customer has no Contact yet, for example because they registered before you connected, the Contact is created from the order's billing details first.

    Example: the Deal

    Example: the Deal
  12. If the check fails, read HubSpot's reason

    When Check Connection fails, the message includes HubSpot's own reason. INVALID_AUTHENTICATION means HubSpot did not accept the token: it is missing or not valid. Paste a fresh token, save and check again.

    HubSpot's own reason is shown here

    HubSpot's own reason is shown here
  13. Switch on verbose logging to investigate

    Failed HubSpot calls are always logged, with HubSpot's error category and correlation ID; quote the correlation ID if you contact HubSpot support. To see every call, tick Verbose Logging Enabled in Connect Settings: each HubSpot request and response is logged, with customer details masked. Switch it off again when you are done.

    Verbose Logging Enabled

    Verbose Logging Enabled

Video transcript

Overview video

0:00 Connect your storefront to HubSpot

0:03 Connect HubSpot sends customers, departments and orders from your storefront to your HubSpot account, so they're in your CRM without anyone re-keying them.

0:13 A new department becomes a HubSpot Company. A customer who registers becomes a Contact, matched on email first. And, if you turn deals on, every placed order becomes a Deal. It's one way, from your storefront to HubSpot, and it runs in the background.

0:29 Here's what HubSpot receives when a customer registers and creates a department. A Company with the department name, and a Contact with their email, name, phone and address, linked to it.

0:41 With deals on, the order arrives as a Deal on that Contact. It's named after the company, its amount is the order total, and it goes into the pipeline and stage you choose.

0:52 You connect with a private app token from your HubSpot account, pasted into the plugin's settings in your admin area.

0:59 Records are created once, and later changes aren't sent. The step-by-step guide on this page shows the full set-up.

Step-by-step video

0:00 Set up Connect HubSpot

0:03 In this tutorial we'll connect your storefront to HubSpot, and look at what arrives there. Before you start, ask Customer Support to enable Connect HubSpot for your storefront.

0:14 Go to Configuration, Plugins, then Connect Plugins. Connect HubSpot is listed here, with a Configure button and a Check Connection button.

0:23 Next, in Configuration, Settings, Connect Settings, tick Connect HubSpot under Enabled Connect Plugin, and save.

0:31 Now, in HubSpot, a user with full administrator permissions creates a private app. Give it these four scopes: read and write contacts, write companies, and write deals. Then copy its access token. Treat it like a password.

0:46 Back in Connect Plugins, click Configure next to Connect HubSpot. Paste the token into Access token. Leave the API URL as it is.

0:56 Create companies is on by default, so each department created from now on becomes a HubSpot Company. Untick it if you only want Contacts. The association settings can stay as they are.

1:08 Field mapping is optional. Leave it on None to send the standard fields. A Mega Script here replaces them for that record type.

1:17 To send orders, tick Create deals. Then enter the pipeline and stage as the ids HubSpot uses for them, not their display names. You'll find both in your HubSpot deal pipeline settings.

1:29 Save. Then, on Connect Plugins, click Check Connection. A green message confirms your storefront reached HubSpot.

1:37 From now on, new departments become Companies, customers who register become Contacts, and, with deals on, placed orders become Deals. It all happens in the background, so nobody waits for HubSpot.

1:50 Your departments are in Customers, Departments. Each new one becomes a HubSpot Company, together with its first customer.

1:58 When a customer registers with a new department, HubSpot gets the Company, and a Contact linked to it, with their email, name, phone and address. Blank fields are left out.

2:09 And each placed order becomes a Deal on that Contact, with the order total as its amount.

2:16 If the check fails, the message includes HubSpot's own reason. Invalid authentication means HubSpot didn't accept the token. Paste a fresh one, and check again.

2:27 To dig deeper, tick Verbose Logging Enabled in Connect Settings. Every HubSpot call is logged, with customer details masked. Failed calls are always logged. Turn it off again when you're done.

2:39 That's it. New customers, departments and orders now arrive in HubSpot. Remember, records are created once, and later changes aren't sent.

Troubleshooting

Troubleshooting

  • Check Connection fails with INVALID_AUTHENTICATION - HubSpot did not accept the token: it is missing or not valid. Paste a fresh token, save and check again.
  • Contacts arrive but Deals do not - make sure Create deals is ticked, and that the pipeline and stage IDs match your HubSpot deal pipeline settings (the stage must belong to the pipeline).
  • A record did not arrive - failed HubSpot calls are always logged, with HubSpot's error category and a correlation ID to give HubSpot support. To see every call, tick Verbose Logging Enabled in Connect Settings.

Search terms

Guide | Connect your storefront to HubSpotLast updated: 15 Oct 2026
Incomplete