What Gets Synced
Deals
Become Minoa Opportunities with all key fields: name, stage, close date, value, and description.
Companies
Become Minoa Accounts, linked to their associated deals.
Owners
HubSpot owners are automatically matched to Minoa users by email address.
Deal Field Mapping
Deals must be associated with a company in HubSpot to sync. Deals without company associations are skipped during
sync.
User Matching
Minoa automatically maps HubSpot owners to Minoa users by matching email addresses. When a deal syncs:- If the deal owner’s email matches a Minoa user, that user becomes the opportunity owner
- If no match is found, the deal still syncs—you can configure a fallback owner or manually assign it
Setting Up the Integration
Prerequisites
- Admin access to your HubSpot account
- Admin or Integration permissions in Minoa
Connect HubSpot
1
Go to Integrations
In Minoa, navigate to Settings → Integrations.
2
Select HubSpot
Click Connect next to the HubSpot integration.
3
Authorize
You’ll be redirected to HubSpot to grant Minoa access. Sign in and click Connect app.
4
Done!
Return to Minoa—your deals will start syncing within minutes.
Once connected, Minoa syncs automatically every 5 minutes. No manual action required.
Configuring Deal Co-Owners
HubSpot deals often have multiple people working on them. Minoa can pull in a co-owner from a custom deal field—useful if your team uses a “Sales Engineer” or “Technical Contact” field in HubSpot.1
Open Integration Settings
Go to Settings → Integrations → HubSpot → Configure.
2
Select a Co-Owner Field
Choose from the dropdown of user-reference fields available on your HubSpot deals.
3
Save
Click Save. Future syncs will populate the co-owner on matching opportunities.
Sync Behavior (HubSpot → Minoa)
Automatic Sync
- Syncs run every 5 minutes
- Only deals modified since the last sync are processed (incremental sync)
- Large datasets are processed in batches across multiple sync runs
Manual Sync
Need data immediately? You can trigger a sync from Settings → Integrations → HubSpot → Sync Now.What Happens During Sync
- Deals are fetched with their associated companies
- Companies are created as Minoa Accounts (or updated if they exist)
- Deals become Minoa Opportunities linked to those accounts
- User mapping matches HubSpot owners to Minoa users by email
What Gets Written Back
When you build a business case in Minoa, selected data automatically syncs to HubSpot as custom properties on the associated Deal. These properties are grouped under a “Minoa” section on the Deal and are only populated for deals that have a Minoa business case. For all other deals, the fields remain empty.Your HubSpot admin must create the custom deal properties before business case data can sync. If you are connecting
HubSpot for the first time, write permissions are included automatically. Existing integrations will need to
re-authenticate to grant the additional write scope.
Sync Minoa Data into Deal Properties
The properties above are Minoa’s own, and they only fill in once a deal has a business case. You can also point Minoa data at custom properties your team created on the Deal, so the signal lands in the reports, views, and workflows you already run.1
Create the Property in HubSpot
Go to Settings → Properties → Deal properties → Create property and create it using the label, internal name, and type from the table above.
Minoa never creates or deletes properties in your portal. It tells you exactly what to create; you stay in control of your schema.
2
Map It in Minoa
Go to Settings → Integrations, open the HubSpot integration settings, then click Set up Deal fields → Add field mapping and pick the Minoa data and the property it writes into.
Nothing is written until you map something — the mapping list is the on switch. Once mapped, values go out on the hourly run.
Which properties Minoa accepts
Which properties Minoa accepts
Minoa only offers properties it knows it can write. A property is eligible when it is:
- A custom property your team created — not a HubSpot-defined one
- Not a property Minoa already writes itself, from What Gets Written Back
- Not a property Minoa already reads from your deals — writing it would overwrite the value Minoa reads
- Not read-only, calculated, archived, hidden, unique-value, or synced from another system
- The right type for the data point, per the table above
Saving is all-or-nothing. If any row is refused, nothing is saved and the reason appears on the row that caused it.
How and when values are written
How and when values are written
- Mapped values go out on an hourly run, and only for deals that changed in Minoa since the last write.
- A new mapping reaches a deal the next time that deal changes in Minoa. There’s no backfill button — map early on the deals you care about.
- Remove every mapping and Minoa stops writing entirely. Values already on your deals stay where they are; clear them in HubSpot if you don’t want them.
When HubSpot rejects a property
When HubSpot rejects a property
If HubSpot blames one property, Minoa drops it and retries the same write once without it, so one broken mapping never blocks the others.After five consecutive rejections of the same property, Minoa pauses that mapping and stops writing it. The panel shows Paused with the HubSpot error code. Fix the cause in HubSpot, then click Re-enable.
Sync Direction
The HubSpot integration supports two-way sync for business cases: deal data flows from HubSpot into Minoa, and Minoa
business case data flows back to HubSpot as custom deal properties.
- New deals in HubSpot → appear in Minoa
- Updated deals in HubSpot → update in Minoa
- Minoa business cases → sync to HubSpot deal properties
- Minoa data you map → syncs to the custom deal properties you created
- Other changes in Minoa (like currency or opportunity name) → do not sync to HubSpot
Troubleshooting
My deals aren't syncing
My deals aren't syncing
Check company associations. Deals must be linked to a company in HubSpot. Go to your deal in HubSpot and ensure it has an associated company.Wait for the next sync. Syncs run every 5 minutes. Check back shortly or trigger a manual sync.
Deal owners aren't mapping correctly
Deal owners aren't mapping correctly
User mapping relies on email matching. Make sure:
- The HubSpot owner’s email matches their Minoa user email exactly
- The Minoa user has been added to your workspace
My Deal property mapping shows 'Paused'
My Deal property mapping shows 'Paused'
HubSpot rejected that property on five consecutive writes, so Minoa stopped writing it. The row shows the HubSpot error code—hover it for detail.Usual causes. A HubSpot workflow or validation that rejects the value, the property archived or made read-only, or the write scope revoked.Fix the cause in HubSpot, then click Re-enable on the row. Your other mappings kept writing throughout.
I see 'Authentication expired' errors
I see 'Authentication expired' errors
OAuth tokens occasionally expire. To reconnect:
- Go to Settings → Integrations → HubSpot
- Click Disconnect
- Click Connect and re-authorize
Sync seems slow for my large dataset
Sync seems slow for my large dataset
Minoa processes HubSpot data in batches to stay within API limits. For large HubSpot accounts (10,000+ deals), the initial sync may take several sync cycles to complete. Incremental syncs after that are much faster.
Disconnecting the Integration
If you need to disconnect HubSpot:- Go to Settings → Integrations → HubSpot
- Click Disconnect
- Confirm the action
Security & Permissions
Minoa requests the following HubSpot scopes:- crm.objects.companies.read — Read companies and their properties
- crm.objects.contacts.read — Read contacts for user matching
- crm.objects.deals.read — Read deals and their properties
- crm.objects.deals.write — Write business case data to deal properties
- crm.objects.owners.read — Read owner information for user mapping
- crm.schemas.deals.read — Read deal property schemas (for co-owner field configuration)
- oauth — OAuth token management
Mapping properties needs no extra scopes—
crm.objects.deals.write and crm.schemas.deals.read already cover it. Integrations connected before write access was added may need to re-authenticate.