Articles in this section

HubSpot – NetSuite Quickstart integration template

The HubSpot – Netsuite integration template (NA | EU) lets you automate and synchronize the companies, contacts, and deals between HubSpot (a leading contact relationship management company) and NetSuite. This template comprises a set of prebuilt integration flows, which automate the workflow by syncing deals, companies, contacts, and opportunities between HubSpot and NetSuite.

Supported integration flows

The Celigo quickstart bundle contains workflows you can easily configure and deploy without coding or IT support. The following built-in flows sync from the specified source data to the corresponding destination.

HubSpot to NetSuite

Flow
HubSpot companies to NetSuite customers
HubSpot contacts to NetSuite contacts

HubSpot products to NetSuite items

HubSpot deals to NetSuite opportunities

HubSpot deals to NetSuite sales orders

NetSuite to HubSpot

Flow
NetSuite contacts to HubSpot contacts

NetSuite items to HubSpot products

NetSuite opportunities to HubSpot deals
NetSuite customers to HubSpot companies

Gather your credentials

Keep your HubSpot and NetSuite account credentials ready:

  • HubSpot – verify APIs and Authorization
  • NetSuite – verify APIs and Authorization
    • Before you set up a NetSuite connection below, ensure that you have the API and authentication details for your NetSuite app.
    • Refer to the NetSuite help documentation to learn more about APIs and Authorization.

Install the HubSpot – NetSuite template

  1. From the NetSuite Marketplace options, select the HubSpot template and click Install.
  2. Review the template’s contents and ReadMe and click Install now to begin.
  3. Add your credentials and install the NetSuite integrator.io bundle (bundle ID: 484322).
  4. Install the template.

Configure the HubSpot – NetSuite flows

Additional record mapping is required to integrate the template’s exports and imports with your Google Ads and NetSuite apps.

Note that all of your flows are disabled when first installed. After configuring the flows, you may enable them in your Flows dashboard or in Flow Builder with the Off/On toggle button. Then, run or schedule each flow.

HubSpot companies to NetSuite customers

This integration flow syncs HubSpot companies as NetSuite customers.

Before you begin

Create a webhook workflow in Hubspot for the companies you’d like to export:

  1. Make a “company-based” active list and give it a memorable name.
  2. Pick the filters you want for the list. For example, you can pick the company properties you want to trigger the flow upon changing and choose “updated in the last 1 day(s)”). This will add companies to the list if any properties have been changed in the last day.
  3. Create custom fields in both HubSpot and Netsuite.
    1. netsuiteID - Single-line Text
      1. Used to correlate the HubSpot record to the NetSuite record

This flow utilizes a script that maps the subsidiaryID from the global settings. The hook can be altered or removed if you want to change the mapping or hardcode it. The subsidiary ID should be changed in the integration settings from “subsidiaryid123” to the value of the subsidiary you want contacts to be placed into.

Additional resources:

Setup instructions

  1. After creating your workflow in HubSpot, configure your webhook in integrator.io. The verification type is Secret URL. Copy the Public URL into Hubspot.

Import NetSuite Customers

Source record field (Webhook) Destination record field (NetSuite)
properties.name.value Company Name
subsidiaryId Subsidiary (InternalId)
properties.companyId.value Celigo [AT]_Hubspot_id
properties.company_type.value Category (Name) (Field ID: category)

Update HubSpot companies

Source record field (Webhook) Destination record field (NetSuite)
{{{[Company Name]}}} name
netsuiteId netsuite_id

HubSpot contacts to NetSuite contacts

This integration flow syncs HubSpot contacts as NetSuite contacts.

Before you begin

Create a webhook workflow in Hubspot for the contacts you’d like to export:

  1. Make a “contact-based” active list and give it a memorable name.
  2. Pick the filters you want for the list. For example, you can pick the contact properties you want to trigger the flow upon changing and choose “updated in last 1 day(s)”). This will add contacts to the list if any properties have been changed in the last day.
  3. Create the following custom fields in your Hubspot contact object:
    1. netsuite_id- Single-line Text
      1. Used to correlate HubSpot records to NetSuite records.

This flow utilizes a script that maps the subsidiaryID from the global settings. The hook can be altered or removed if you want to change the mapping or hardcode it. The subsidiary ID should be changed in the integration settings from “subsidiaryid123” to the value of the subsidiary you want contacts to be placed into.

Additional Resources:

Import NetSuite contacts

Source record field (Webhook) Destination record field (NetSuite)
Note: This is a dynamic lookup in NetSuite that searches for the company's internal ID using the company name. Company (Name)
{{subsidiaryId}} Subsidiary (InternalId)
{{{properties.firstname.value}}} Name
{{{properties.lastname.value}}} lastname
{{#if properties.firstname}} {{{properties.firstname.value}}} {{{properties.lastname.value}}}{{else if properties.company}} {{{properties.company.value}}}{{else if properties.email}}{{{properties.email.value}}}{{else}}{{{vid}}}{{/if}} Contact
{{properties.email.value}} Email

Update HubSpot contacts

Source record field (Webhook) Destination record field (NetSuite)
properties.email.value email
ResponseNSid netsuiteid
“true” sync_from_netsuite

HubSpot products to NetSuite items

This integration flow syncs HubSpot products to NetSuite items.

Before you begin

  1. Create the following custom field in HubSpot products, which will be used to correlate the HubSpot products with the NetSuite items
    1. netsuite_id
  2. This flow only allows Inventory and Non-inventory items to be added and/or updated.
  3. This flow utilizes a script that maps the subsidiaryID from the global settings. The hook can be altered or removed if you want to change the mapping or hardcode it instead.
  4. The subsidiary ID should be changed in the integration settings from subsidiaryid123 to the value of the subsidiary you want contacts to be placed into.

Additional resources: Create and edit properties

Import Netsuite non-inventory items

Source record field (HubSpot) Destination record field (NetSuite)
description Detailed Description
name Item Name/Number
“3” Subsidiary (InternalId)
"1" Tax Schedule (InternalId)
"Sale" Subtype
“All” custitem_product_line
price Celigoprice : CAD : List Price : Tier 0 Amount

Import NetSuite inventory items

Source record field (HubSpot) Destination record field (NetSuite)
description Detailed Description
name Item Name/Number
subsidiaryId Subsidiary (InternalId)
"1" Tax Schedule (InternalId)
“All” custitem_product_line
price Celigoprice : CAD : List Price : Tier 0 Amount

Import Hubspot product (update)

Source record field (HubSpot) Destination record field (NetSuite)
name properties.name
responseid properties.netsuite_id

HubSpot deals to NetSuite opportunities

This integration flow syncs HubSpot Deals as NetSuite opportunities. This flow will get deals that are in all states except “Closed Won” or “Closed Lost”.

Before you begin

  1. Create the following custom fields in both HubSpot and NetSuite
    1. netsuite_id - Single-line Text
      1. correlate the HubSpot deals with the NetSuite Opportunities
  2. A webhook workflow will need to be created in HubSpot for the deals that you'd like to export.
    1. Make a “deal-based” active list and name it something you will remember (i.e. “updated deals”).
    2. Pick the filters you want for the list.
      1. NOTE: to stop the flow from triggering when “DF6:NetSuite opportunities to HubSpot Deals” is run, set an additional filter in the list that only includes deals where the “netsuite_id” is unknown. This will only allow deals that are created in the HubSpot UI to travel through the workflow and ultimately into integrator.io.
  3. Use branching in the workflow to filter deals by status to be sent to either the opportunity or sales order flow, respectively. Choose “Send a webhook” as the action for the workflow and add the Public URL that is generated from integrator.io for the listener.

Additional Resources:

Import: Transfer files to Netsuite

Import response field Source record field
id NSfileId

Import: Import NetSuite opportunities

Source record field (Webhook) Destination record field (NetSuite)
dealName Title
{{Company.properties.netsuite.id}} Company (InternalId)
dealCurrencyCode Currency (InternalId)
{{#if dealAmount}} {{abs dealAmount}} {{else}} “0”{{/if}} Projected Total
objectId Celigo [AT]_Hubspot_Deal_id
dealStage Status (Name)
“true” Items : Replace All Lines
{{dateFormat ‘MM/DD/YY’ (abs closeDate)}} Expected Close
deal_data_currency_rate Exchange Rate
dealLostReason Win/Loss Reason (Name)
Lines.*.itemName Items : Item (InternalId)
Lines.*.quantity Items : Qty
{{#if Lines.*.description}}{{{Lines.*.description}}}{{else}}{{/if}} Items : Description
files2[*].NSfileId Files : Attach File (InternalId)
Import response field Source record field
id oppId

Import: Update HubSpot deals

Source record field (Webhook) Destination record field (NetSuite)
dealName dealname
oppID netsuite_id

HubSpot deals to NetSuite sales orders

This integration flow syncs HubSpot deals as NetSuite sales orders. This flow will only get deals that are in “Closed Won” stage.

Before you begin

  1. A webhook workflow will need to be created in Hubspot for the deals that you'd like to export.
    1. First, make a “deal-based” active list and name it something you will remember (i.e. “updated deals”).
    2. Pick the filters you want for the list.
  2. If you want to filter deals based on pipeline, add it to the enrollment criteria for the workflow.
  3. Use branching in the workflow to filter deals by status to be sent to either the opportunity or sales order flow, respectively.
  4. Choose “Send a webhook” as the action for the workflow and add the Public URL that is generated from integrator.io for the listener.
  5. Create the following custom fields in both HubSpot and NetSuite
    1. netsuite_id - Single-line Text
      1. Correlate the HubSpot deals with the NetSuite Opportunities

Additional resources:

Note: To stop the flow from triggering when “DF6:NetSuite opportunities to HubSpot Deals” is run, set an additional criteria on the list that only includes deals where the netsuite_id is unknown. This will only allow deals created in HubSpot to travel through the workflow and ultimately into integrator.io.

Import: Transfer files to Netsuite

Import response field Source record field
id NSfileId

Import: Import NetSuite sales orders

Source record field (Webhook) Destination record field (NetSuite)
{{Company.properties.netsuite_id}} Customer (InternalId)
dealCurrencyCode Currency (InternalId)
{{#if dealAmount}} {{abs dealAmount}}{{else}} “0”{{/if}} Projected Total
objectId Celigo [AT]_Hubspot_Deal_id
dealStage entitystatus
“true” Items : Replace All Lines
{{date Format ‘MM/DD/YY’ (abs closeDate)}} expectedclosedate
deal_data_currency_rate Exchange Rate
dealLostReason winlossreason
Lines.*.itemName Items : Item (InternaId)
Lines.*.quantity Items : Quantity
Lines.*.price Items : Rate
{{#if Lines.*.description}}{{{Lines.*.description}}}{{else}}{{/if}} Items : Description
NSfileId Files : Attach File (InternalId)

Import: Update HubSpot deals

Source record field (HubSpot) Destination record field (NetSuite)
dealName dealname
SOID netsuite_id

NetSuite contacts to HubSpot contacts

This integration flow syncs NetSuite contacts to Hubspot contacts.

Before you begin

  1. Create the following custom fields on your Hubspot contact object
    1. netsuite_id - Single-line Text
      1. Used to correlate HubSpot record to NetSuite record

Setup instructions

  1. Configure the mappings using your custom netsuite_internal_id field to write back the Netsuite ID into the HubSpot record.
  2. Use your custom HubspotID to sync the new ID to NetSuite.

Import HubSpot contacts

Source record field (NetSuite) Destination record field (NetSuite)
email Email
firstname firstname
lastname lastname
_billingaddress_addr1 address
assistantphone phone
company.internalid netsuiteid

Import NetSuite Contacts

Source record field (NetSuite) Destination record field (NetSuite)
NewContactVID Celigo_at_Hubspot_id

NetSuite items to Hubspot products

This integration flow syncs NetSuite items to Hubspot products.

Before you begin

  1. Create the following custom fields in both HubSpot and NetSuite
    1. netsuiteID - Single-line Text
      1. Used to correlate HubSpot record to NetSuite record
    2. Hubspot Product types - checkbox
      1. Used to indicate product types (non-inventory, inventory)

This flow uses a Netsuite Saved Search to pull the products you want to sync. This flow only allows Inventory and Non-inventory items to be added/updated.

Additional Resources:

Setup instructions

  1. Enter your safe search into the NetSuite Export in integrator.io
  2. Configure your mappings, including the netsuite_internal_id.
  3. Each Item type will have a Hubspot ID writeback.

Import HubSpot products

Source record field (NetSuite) Destination record field (HubSpot)
Name name
Base Price price
Description description
ID netsuite_internal_id
recordType hs_product_type

Import NetSuite inventory item

Source record field (NetSuite) Destination record field (NetSuite)
“false” Celigo[AT]_Hubspot_Item_Sync
ResponseHubspotProductID Celigo[AT]_Hubspot_Item_id

Import NetSuite non-inventory item

Source record field (NetSuite) Destination record field (NetSuite)
“false” Celigo[AT]_Hubspot_Item_Sync
ResponseHubspotProductID Celigo[AT]_Hubspot_Item_id

NetSuite opportunities to HubSpot deals

This integration flow syncs NetSuite opportunities as HubSpot deals.

Before you begin

  1. Create the following custom fields on your Hubspot deal object
    1. netsuite_id - Single-line Text
      1. Used to correlate HubSpot record to NetSuite record

Import: Update NetSuite opportunities

Source record field (NetSuite) Destination record field (HubSpot)
ResponseHubspotDealID Auth ID

Import: Update HubSpot deals

Source record field (NetSuite) Destination record field (HubSpot)
customerHubSpotID inputs[*].from.id
ResponseHubspotDealID inputs[*].to.id
“company_to_deal” inputs[*].type

Import: Update HubSpot deals

Source record field (NetSuite) Destination record field (HubSpot)
_PARENT.ResponseHubspotDealID inputs[*].from.id
objectId inputs[*].from.id
“line_items_to_deal” inputs[*].type

NetSuite customers to HubSpot companies

This integration flow syncs NetSuite customers as HubSpot companies.

Before you begin

  1. Create the following custom fields in both HubSpot and NetSuite
    1. netsuite_id - Single-line Text
      1. Used to correlate HubSpot record to NetSuite record

Import HubSpot companies

Source record field (NetSuite) Destination record field (HubSpot)
companyname name
internalid netsuiteid
phone phone
_billingaddress_addr1 address
_billingaddress_city city
_billingaddress_state state
_billingaddress_zip zip

Import NetSuite customers

Source record field (NetSuite) Destination record field (HubSpot)
NewHubSpotID Celigo [AT]_Hubspot_id
Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.