Overview
Ionic connects to HubSpot through a dedicated integration app that DemandScience owns and maintains. Unlike Salesforce, there’s no separate package to install first - HubSpot’s connection is a single Connect step: you authorize the app with your HubSpot login, and Ionic can securely read the CRM records it needs - Companies, Contacts, Deals, and a few related objects
- and keep them in sync going forward.
Today, this connection is read-only: Ionic pulls data from HubSpot but does not write anything back. Write-back is planned but not yet available.
Rule of thumb: the person who connects HubSpot needs to be a Super Admin (or have the “Add and edit users” privilege) - not just any HubSpot user. HubSpot gates one of the permissions Ionic needs behind that privilege level, and there’s no API-only service-account option here; it has to be a real person’s login.
Here’s what’s actually involved, piece by piece:
- The Integration App - a HubSpot app, owned and maintained by DemandScience, that you authorize rather than install. Nothing has to be set up on the HubSpot side beyond approving the connection with an account that has the right privileges.
- The OAuth Connection - the secure, authorized login that lets Ionic talk to your HubSpot account after you approve it. This is the entire Connect step - there’s no separate policy configuration screen like Salesforce requires.
- Field Mapping - by default, every supported object syncs automatically with its required fields (as long as the connected user has access to it). The Map Fields step is where you turn on optional standard fields and any custom fields you want included; it’s not required to get a baseline sync going.
- Filters (optional, Companies only today) - simple “field equals value” filters that narrow which Company records sync (for example, only Companies where Type = “Customer”). Only exact-match filters are supported today, with more robust filter logic planned.
- Cohort / Fiscal Year Setting (optional) - despite the name “Cohort” in the wizard, this step only sets which month your fiscal year starts, so pipeline and revenue reporting lines up with your company’s calendar. It is not a CRM segment or list mapping.
- The Sync - the ongoing process that keeps Ionic’s copy of your data current after you confirm and start it. Sync runs daily, and the first sync pulls the last 24 months (730 days) of history - both fixed today, not user-adjustable in the wizard.
Important: Ionic only reads the HubSpot data described below. It does not create, update, or delete records in your HubSpot account today - write-back is planned but not yet built.
Required HubSpot Permissions
The person who completes the connection needs to be a Super Admin, or a user with the “Add and edit users” privilege. That’s not a Salesforce-style extra step you configure - it’s a requirement on who can click Connect at all, because one of the permissions Ionic requests (reading HubSpot Owner data) is gated to that privilege level by HubSpot itself.
There’s no dedicated integration/API-only account option for HubSpot the way Salesforce offers an Integration license - the connection is always a real person’s HubSpot login.
One object is scope-gated rather than privilege-gated: Marketing Campaigns only syncs if your HubSpot account is on a Marketing Hub tier that supports it. If it isn’t, that object simply won’t sync - nothing else about the connection is affected, and no error is shown.
Setting Up the Connection
1. Select HubSpot
In Ionic, go to Integrations → CRM, click Connect CRM, and choose HubSpot.
2. Connect
Click Next to sign in to the HubSpot account you’d like to sync. Unlike Salesforce, there’s no separate package-install or policy-configuration step - this one authorization is the entire Connect step.
Log in with a HubSpot account that’s a Super Admin or has “Add and edit users” privileges (see Required HubSpot Permissions above). HubSpot then shows its own authorization screen, listing what Ionic can access:
If you want Marketing Campaigns data to sync, check that optional box before clicking Connect app. It’s unchecked by default. Everything else Ionic needs is listed under Currently Granted and doesn’t require any action here. You may also see a “You’re connecting an unverified app” notice - that’s expected for now; approve the request to continue. Ionic confirms the connection and automatically moves you to the next step.
3. Map Your Fields
By default, every object listed below syncs automatically with its required fields, as long as the connected user has access to it; you don’t have to do anything here to get a baseline sync. This step is where you turn on optional standard fields and any custom fields you want included per object. Required fields are pre-mapped and can’t be turned off; custom fields load once authorization completes.
4. Filters (Optional, Companies Records Only)
This step currently applies only to Companies records; optionally narrow which Companies sync using simple “field equals value” rules. This step is entirely skippable, and only exact-match (“equals”) logic is supported today, with more robust filtering planned.
5. Cohort - Fiscal Year (Optional)
Optionally set your fiscal year start month so Ionic’s quarter labels match your company’s calendar. This step is also skippable and defaults to a January (calendar-year) start.
6. Review & Start Sync
The last screen summarizes your setup: sync frequency, backfill period, objects synced, filters, and fiscal year start. Click Review & Start Sync, confirm in the dialog, then click Start Sync. Ionic begins pulling the last 24 months of history and keeps syncing daily from there.
HubSpot Objects & Fields Ionic Can Sync
Ionic supports syncing the following HubSpot objects. Required fields are the minimum needed for the object to sync usefully; optional fields can be turned on if you want that data in Ionic too.
| HubSpot Object | Required Fields | Optional Fields |
|---|---|---|
| Companies | ID, Name, Domain, Type, Industry | Employee Count, Annual Revenue, Country, State, Owner, Created Date |
| Contacts | ID, Email | First/Last Name, Job Title, Original Source, Lead Status, Created Date |
| Deals | ID, Deal Name, Amount | Deal Stage, Close Date, Created Date, Deal Type, Original Source |
| Marketing Campaigns (optional - see below) | ID, Name | Status, Start Date, End Date |
| Users (HubSpot Owners) | ID, Owner ID, Email | Name, Archived flag |
A few things worth knowing:
- HubSpot doesn’t have a separate “Lead” object the way Salesforce does - Contacts cover that role in HubSpot, so there’s no separate Lead entry in the table above.
- Every object syncs its required fields by default, so you don’t need to map anything to get a baseline sync started, as long as the connected user has access to that object.
- Custom fields are supported, but how many depends on the object: up to 10 custom fields each for Companies and Deals, up to 3 each for Contacts and Marketing Campaigns, and none for Users.
- Deal Amount and Company Annual Revenue can be remapped. If your org tracks deal value or company revenue in a different HubSpot field, that gets handled in Ionic’s field-mapping step, not on the HubSpot side - the same way Salesforce supports it.
- Marketing Campaigns only syncs on HubSpot accounts with a compatible Marketing Hub tier. On accounts without it, this object is simply skipped - no error, and nothing else about the connection is affected.
- Deleted-record detection is limited to Contacts and Deals. This is a deliberate scope decision, not a HubSpot platform limit - Ionic’s current build covers the relationships it needs today (which Company a Contact or Deal belongs to). Deleting a Company, Marketing Campaign, or Owner in HubSpot won’t automatically remove it from Ionic today; coverage for those objects may be added in the future, since nothing about HubSpot’s platform blocks it.
- Sync runs daily, and the initial sync covers the last 24 months. Both the sync frequency and the backfill window are fixed today and aren’t adjustable from the setup wizard.
Quick Do’s & Don’ts
Do:
- Use a HubSpot account that’s a Super Admin or has “Add and edit users” privileges to complete the Connect step - a standard user account will fail partway through.
- Come back to the field-mapping, filter, or fiscal-year settings any time to adjust them.
- Check your HubSpot account’s Marketing Hub tier first if you’re expecting Marketing Campaigns data to sync, and check the optional “View details about marketing campaigns and associated assets” box on HubSpot’s authorization screen during Connect - it’s unchecked by default.
Don’t:
- Don’t expect Ionic to write back to HubSpot yet; today it’s read-only. Write-back is planned but not yet available.
- Don’t assume every field syncs automatically; required fields do by default, but optional fields only sync once you map them.
- Don’t expect deletions on Companies, Marketing Campaigns, or Owners to disappear from Ionic automatically - only Contacts and Deals are covered today. This is scope, not a HubSpot limitation, so coverage may be added in the future.
- Don’t expect a date-range or “greater than” filter, or filtering on objects other than Companies; only exact-match (“equals”) filters on Company records are supported today.
- Don’t look for a dedicated integration/API-only login option - HubSpot connections always go through a real person’s account.
FAQ
We already connected HubSpot to DemandScience before (e.g. for the ABM platform) - why do we need to do this again?
That’s a separate connection through a different app (“DemandScience ABM”), used for a different purpose. Ionic’s CRM sync connects through its own dedicated integration app, so you’ll need to complete this Connect step even if HubSpot already shows an existing DemandScience integration in your connected apps list.
Why do I need to be a Super Admin just to connect HubSpot?
Ionic’s connection reads HubSpot Owner data, which requires the crm.objects.users.read permission. HubSpot only allows a Super Admin, or a user with the “Add and edit users” privilege, to grant that permission during authorization - it isn’t a DemandScience-specific restriction.
Does Ionic need write access to our HubSpot data?
No, not today. Ionic only reads the objects and fields you map; it doesn’t create, update, or delete anything in HubSpot. Write-back capability is planned but not yet available.
Can we use a dedicated integration or API-only account instead of a real person’s login?
No, not for HubSpot. Unlike Salesforce’s Integration license option, HubSpot connections always go through a real person’s HubSpot login with the required admin privileges.
Why isn’t Marketing Campaigns data showing up in Ionic?
Most likely one of two things: your HubSpot account’s Marketing Hub tier doesn’t support the Marketing Campaigns API, or the optional “View details about marketing campaigns and associated assets” checkbox on HubSpot’s authorization screen was left unchecked during Connect (it’s unchecked by default). Either way, that one object is simply skipped - nothing else about your connection is affected, and no error is shown. Check your Marketing Hub tier and, if needed, reconnect and check that box during authorization.
Will Ionic pick up deleted HubSpot records automatically?
Only for Contacts and Deals today. Unlike Salesforce - where deletion tracking is capped at five objects by a platform-imposed limit - HubSpot doesn’t impose any such cap; Contacts and Deals are simply what the current build covers. Deleting a Company, Marketing Campaign, or Owner in HubSpot won’t automatically remove it from Ionic. Coverage for those objects may be added in the future, since nothing about HubSpot itself blocks it.
Can we filter which records sync?
Yes, but only for Company records today, and only using exact-match (“equals”) rules, for example, only syncing Companies where Type equals a specific value. Filtering other objects, and more flexible match logic, is planned but not available yet.
Can we change which fields, filters, or fiscal-year setting sync after the initial setup?
Yes. None of these are one-time choices; you can revisit field mapping, filters, and the fiscal year setting in Ionic at any time.
Does the “Cohort” step in the wizard map our HubSpot lists or campaigns to Ionic?
No. Despite the name, that step is only a fiscal year start month setting, used to align pipeline/revenue reporting with your company’s calendar. There isn’t a CRM list- or campaign-mapping feature in the setup wizard today.
How often does the sync run, and how much history do we get on day one?
Sync runs daily. The initial sync pulls the last 24 months (730 days) of history. Both are fixed today and can’t be changed from the setup wizard.
Does the connection ever need to be re-approved?
Not on a fixed schedule today, as long as the connecting user’s HubSpot access and admin privileges remain in place. If that user’s HubSpot account is deactivated or loses its admin privileges, the connection will need to be re-authorized by another qualifying user.
Comments
0 comments
Please sign in to leave a comment.