What it does
Trig connects to HubSpot to pull in your contacts and companies as people and organisations in Trig and keep them in sync as records change in HubSpot. Once connected, anything you’ve stored as a HubSpot property (owner, lifecycle stage, custom fields) is available for cohorts, signals, and campaign personalisation. Trig can also write field updates back to HubSpot, but only when an explicit Trig Job is configured to do so. Actions within a Job are the things that perform the update.Before you start
You’ll need:- A HubSpot Super Admin to install the Trig app the first time. After install, day-to-day re-authorisation can be done by any user with read access to the relevant objects, but we recommend authorising via a dedicated integration user (see Permissions & scopes).
- Access to the HubSpot portal you want to connect. If you manage multiple portals, you’ll pick the right one from the picker shown during the OAuth flow.
- A list of the custom properties you want Trig to import. You can change this later, but it’s helpful to know in advance.
Connect HubSpot
- In Trig, go to Settings → Integrations → CRM.
- Click Add a CRM integration and choose HubSpot.
- Click Connect. You’ll be redirected to HubSpot to authorise Trig.
- Select the HubSpot account to connect, review the requested scopes, and click Connect app.
- You’ll be redirected back to Trig. Your integration is now connected.
What data flows
Imported from HubSpot
Contacts become People in Trig. By default Trig imports:firstname,lastname,email,country,jobtitlehs_email_optout(used to respect opt-outs in Trig sends)hubspot_owner_id,hubspot_team_id(mapped to Trig owners/teams)associatedcompanyid(links the person to their org in Trig)- Any custom properties included in your import configuration
name,domain,industry,numberofemployees,hubspot_owner_id- Any custom properties included in your import configuration
domain is the matching key Trig uses to link organisations across data sources, so it’s always pulled by default.
Deals, Quotes, and Custom Objects are accessible too, typically used to build signals (for example, “deal moved to closed-won”). Leads is a HubSpot Sales Hub feature available on Pro and Enterprise tiers; if your portal has it enabled, Trig can pull it in too.
Written back to HubSpot
Trig does not automatically update HubSpot when campaigns run or lifecycle stages change in Trig. Writeback only happens when you configure a Trig Job that updates a HubSpot field. Actions within a Job are the things that perform the update (for example, an Action that stampslast_outreach_at after an email is sent). If you want Trig to keep a HubSpot field in sync with something in Trig, set it up as a Job with the appropriate Action.
Trig does not create or delete records in HubSpot. Only specified fields on existing records can be updated by configured Jobs.
Sync schedule
| Sync type | Frequency | What it pulls |
|---|---|---|
| Full | Every 24 hours | All contacts and companies |
| Recent changes | Periodically throughout the day | Records modified since the last sync |
| Manual | On request | Triggered by your Trig contact |
lastmodifieddate for contacts, hs_lastmodifieddate for companies and deals) to fetch only modified records, which keeps API usage well within HubSpot’s limits.
Customising what’s imported
The set of HubSpot properties Trig imports (including custom properties, filters, and any field-level transforms) is configured for you when the integration is set up. To add a new property, narrow the import to a subset of contacts (for example, onlylifecyclestage = "customer"), or change how a field is mapped, contact your Trig representative. We’ll adjust the configuration on your behalf and confirm the timing with you.
Permissions & scopes
Trig requests these HubSpot OAuth scopes. Read scopes (always requested):crm.objects.contacts.readcrm.objects.companies.readcrm.objects.deals.readcrm.objects.quotes.readcrm.objects.owners.readcrm.objects.custom.readsettings.users.read
crm.objects.contacts.writecrm.objects.companies.writecrm.objects.custom.write
crm.objects.leads.read is also requested.
Trig cannot read engagement records (emails, calls, notes), workflows, or marketing email content. If you need any of these, get in touch.
Limits & gotchas
- Rate limits: HubSpot’s standard limit for OAuth apps is 100 requests per 10 seconds (150 per 10 seconds on Pro and Enterprise tiers), with a daily cap (250,000 calls/day on most tiers, 500,000 on Enterprise). Trig’s syncs stay well under both. For very large contact volumes (over 500k), the initial full import may take longer to complete.
- Owner resolution (mapping HubSpot owner IDs to user details) happens on the daily full sync.
- Custom objects are supported but need to be configured per-account. Reach out to your Trig representative if you want a custom object available in Trig.
- Sandboxes: HubSpot test accounts work the same way; you’ll authorise against the sandbox portal during OAuth.