INTEGRATIONS
Keep your FlyCRM contacts and your HubSpot contacts in step. FlyCRM can send contacts to HubSpot, bring HubSpot contacts into FlyCRM, or do both. Lifecycle stages go in both directions. The contact owner goes only from FlyCRM to HubSpot.
The integration syncs contacts only. Deals, companies, and activities do not sync.
You choose one of three sync directions:
| Sync direction | What happens |
|---|---|
| FlyCRM to HubSpot | FlyCRM sends a contact to HubSpot when you create or change it. This is the default. |
| HubSpot to FlyCRM | FlyCRM checks HubSpot for new and changed contacts on a schedule and brings them in. |
| Bidirectional (contacts only) | Both of the above. |
Some facts about the sync:
Caution: An email change in HubSpot gives you two contacts in FlyCRM. Merge or delete the old contact yourself.
You need a HubSpot access token with these four scopes:
crm.objects.contacts.readcrm.objects.contacts.writecrm.objects.owners.readcrm.schemas.contacts.readYou must be a Super Admin in HubSpot, or have developer tools access.
FlyCRM.HubSpot is removing the option to create new private apps. Accounts created on or after September 28, 2026 cannot create them. Older accounts lose the option on October 26, 2026. Private apps that already exist continue to work.
If you cannot create a private app, create a service key instead:

When the connection is good, FlyCRM shows Connected with your HubSpot Portal ID and Account. The lifecycle stage and owner lists then fill with values from your HubSpot account.
If the token does not have a scope, FlyCRM still connects, but it names the missing scope. The lists that need that scope stay empty until you add the scope in HubSpot.
FlyCRM keeps the token encrypted. The settings page shows only its last four characters.

Until you connect an account, FlyCRM shows this message: "HubSpot is switched on but no account is connected yet, so nothing will sync."
Under Sync Direction, select FlyCRM to HubSpot, HubSpot to FlyCRM, or Bidirectional (contacts only). Then save. The sections below follow your choice. FlyCRM tells you when a section is not used by the direction you chose.
| Setting | What it does |
|---|---|
| Default HubSpot Lifecycle Stage | The lifecycle stage for a contact whose FlyCRM life stage has no stage mapping. |
| Assign HubSpot Owner | The HubSpot owner for contacts that FlyCRM sends. Optional. |
| Apply HubSpot Property and Property Value | HubSpot has no tags. Set a property and a value to mark the contacts that came from FlyCRM. Fill in both fields, or leave both empty. |
If a push fails, FlyCRM tries one more time. The failure never stops you from saving the contact in FlyCRM.

| Setting | What it does |
|---|---|
| Sync These Lifecycle Stages | Brings in only contacts in the stages you select. Leave all boxes clear to bring in contacts in every stage. |
| Contact Owner | The FlyCRM owner for new contacts that come from HubSpot. |
| Life Stage | The FlyCRM life stage for new contacts whose HubSpot lifecycle stage has no stage mapping. |
| Tag for New Contacts | The tag that FlyCRM adds to new contacts that come from HubSpot. |
| When a synced contact is deleted in HubSpot | What FlyCRM does when a contact is deleted in HubSpot. See the table below. |
A HubSpot contact with a new email address becomes a new FlyCRM contact. Its source is hubspot.
If the email address belongs to a contact in the FlyCRM trash, FlyCRM skips the HubSpot contact. The contact stays in the trash and does not change.
| Setting | What FlyCRM does |
|---|---|
| Do nothing | Keeps the contact as it is (default) |
| Delete the contact and all owned objects | Deletes the contact and its quotes, invoices, and activities |
| Delete the contact but keep related objects | Deletes the contact but keeps its related records |
| Add a note to the contact | Keeps the contact and logs a note |
This setting applies only to contacts that FlyCRM synced with HubSpot. FlyCRM ignores a contact that only has the same email address by chance.
The setting applies only to deletions that occur after you save it. If you change Do nothing to a delete option, FlyCRM does not delete contacts that were deleted in HubSpot before the change.
Five fields always map: email, first name, last name, phone, and company.
hubspot_company, if you created that field.
Sync Frequency sets how often FlyCRM checks HubSpot for changes:
Sync Now brings in the HubSpot contacts that changed since the last check. It works only when the sync direction includes HubSpot to FlyCRM. Contacts go to HubSpot as they change, so the outbound direction does not need Sync Now.
