HubSpot
Sync leads & opportunities with HubSpot for co-sell
Overview
Integration with HubSpot enables the bi-directional referral & syncing between HubSpot opportunities and other partners like APN Customer Engagements Program and thus makes co-selling possible.
Prerequisite
It is strongly recommended that you create a user that is dedicated for integration purpose, either for Suger alone or for all integrations. After integration, all Suger's operation on your HubSpot will be performed by this user.
We need the following permissions:
crm.schemas.companies.readcrm.schemas.companies.writecrm.schemas.contacts.readcrm.schemas.contacts.writecrm.schemas.deals.readcrm.schemas.deals.writecrm.objects.companies.readcrm.objects.companies.writecrm.objects.contacts.readcrm.objects.contacts.writecrm.objects.deals.readcrm.objects.deals.writecrm.objects.owners.read
To satisfy this requirement, you need to ensure the delegation user has "view" and "edit" permissions on CRM contacts, companies, and deals, as well as permission to "edit property settings" and "App Marketplace access" for installing the app.
For example, the following permission set would suffice:
Create Integration
We created a HubSpot App called "Suger". You can easily complete the integration with the following steps:
-
Click the "Connect" button on the "Integrations" page.
-
HubSpot authorization page will open up in a new tab, asking you to login (if you haven't yet), and select an account to start the integration.
-
Login and select your account, and click "Choose Account".
-
Review the permissions, and click "Connect App".
-
The integration status will become "Created". Now locate the HubSpot integration in the view, and click "Verify".
-
Suger will attempt to read a few opportunities to verify the connection, after which the status will become "Verified" and start working.
-
Now you are all set!
CRM Enrichment
CRM Enrichment allows you to automatically enrich HubSpot records with intelligence signals from Suger. This feature syncs valuable marketplace and engagement data directly to your CRM records, giving your sales team actionable insights without leaving HubSpot.
Overview
With CRM Enrichment, you can:
- Automatically populate CRM properties with intelligence signals (engagement scores, marketplace metrics)
- Configure multiple record types (e.g., Deals, Companies) with different enrichment rules
- Use JSON queries to target specific records for enrichment
- Map intelligence fields to custom HubSpot properties
Prerequisites
Before configuring enrichment, ensure you have:
- Custom properties created in HubSpot to store the intelligence data
Creating Custom Properties in HubSpot
You need to create custom properties in HubSpot to store the intelligence signals. For each signal you want to sync:
-
Go to Settings → Data Management → Objects → Select your object (e.g., Deals)
-
Click Manage Deal properties (or the equivalent for your object)
-
Click Create property
-
Enter a Property label (e.g., "AZURE Engagement Score") and select the Object type and Group
-
Choose the appropriate Field type (e.g., Single-line text for scores and general data)
-
Click Create to save the property
Configuring Enrichment
- Navigate to Suger Console → Settings → Integrations → HubSpot
- Click Edit to open the integration settings
- Go to the Enrichment tab
- Click Add CRM Record to create a new enrichment rule
For each configuration, specify:
| Setting | Description |
|---|---|
| CRM Record Type | The HubSpot object to enrich (e.g., Deals, Companies) |
| Field Mappings | Map intelligence fields to your custom HubSpot properties |
| HubSpot Search Query (JSON) | JSON query to filter which records to enrich |
| Update records that already have enrichment data | Controls when previously enriched records are refreshed: Never, Immediately, or Every N days (default: 30 days) |
| Max Records Per Sync | Maximum number of records to process per sync run (default: 10,000, minimum: 1,000) |
After entering your query, click Validate Query to verify it is valid and see how many records match. This helps ensure your enrichment rule targets the right set of records before saving.
Available Intelligence Fields
Intelligence signals are derived from multiple data sources:
- Cloud partner data — Engagement scores sourced directly from cloud partner programs (e.g., AWS Partner Network, Azure Partner Center, GCP Partner Advantage).
- Marketplace activity — Public marketplace metrics such as listing counts, review counts, and purchase history across AWS, Azure, and GCP marketplaces.
The following intelligence signals can be mapped to your CRM properties:
AWS Signals
- AWS Engagement Score
- AWS Marketplace Count
- AWS Marketplace Review Count
- AWS Marketplace Purchase Count
Azure Signals
- Azure Engagement Score
- Azure Event Score
- Azure Usage Score
- Azure Marketplace Count
- Azure Marketplace Review Count
- Azure Marketplace Purchase Count
GCP Signals
- GCP Engagement Score
- GCP Marketplace Count
- GCP Marketplace Review Count
- GCP Marketplace Purchase Count
Example Configuration
To enrich Deals in the "Qualified to Buy" stage with AWS engagement data:
- CRM Record Type: Deals
- Field Mappings:
AWS Engagement Score→aws_engagement_score
- HubSpot Search Query (JSON):
{
"filterGroups": [
{
"filters": [
{
"propertyName": "dealstage",
"operator": "EQ",
"value": "qualifiedtobuy"
}
]
}
]
}
How Enrichment Works
Sync Schedule
Suger runs a scheduled enrichment sync every 12 hours (at midnight and noon UTC). During each sync, Suger automatically processes all configured enrichment rules for your organization.
Enrichment Process
Each sync goes through the following steps:
- Query your HubSpot account using the configured JSON search query to identify records that need enrichment.
- Look up intelligence data for each matching record based on the company's domain.
- Update the mapped properties in HubSpot with the latest intelligence values.
Update Mechanism
Suger uses a smart two-step approach to ensure efficient and complete data coverage:
- Step 1 — Enrich new records: Every sync prioritizes records that have not been enriched yet (where the mapped properties are still empty). This ensures newly added or previously missed records receive intelligence data first.
- Step 2 — Refresh existing records: Once all new records have been enriched, Suger begins a refresh cycle — rotating through previously enriched records in batches to keep data up to date. This rotation continues across multiple syncs until all records have been refreshed, then a new cycle begins.
The Update records that already have enrichment data setting controls how the refresh cycle behaves:
| Setting | Behavior |
|---|---|
| Never | Only enrich records that have not been enriched before. Previously enriched records are never updated. |
| Immediately | Continuously rotate through all records, refreshing data without delay between cycles. |
| Every N days | Wait N days after completing a full refresh cycle before starting the next one (default: 30 days). |
Records Per Sync
Each sync processes up to a configurable maximum number of records. For HubSpot, the default and maximum is 10,000. The minimum configurable value is 1,000.
If your query matches more records than the configured limit, the remaining records are handled automatically:
- New records (Step 1): Unenriched records will be picked up in the next sync since they still have empty fields — no progress tracking is needed.
- Refresh cycle (Step 2): Suger tracks its cursor position across syncs to rotate through all records. For example, with 30,000 records and a limit of 10,000 per sync, the refresh cycle completes in 3 runs. Once a full cycle finishes, the next one starts based on your Update records that already have enrichment data setting.
Tracking Enrichment Progress
To monitor the status of your enrichment sync:
- Go to the enrichment configuration for your record type
- Expand Advanced Configuration
- Click Check Progress
The progress panel shows:
| Field | Description |
|---|---|
| Status | Current state — Active (only enriching new records, refresh disabled), Not Started, In Progress, or Waiting (cycle completed, waiting for next refresh interval) |
| Cycle Progress | Percentage of records processed in the current refresh cycle |
| Records Processed | Number of records processed out of total matching records |
| Last Run | When the last sync ran and how many records it processed |
| Estimated Runs Remaining | Approximate number of syncs needed to complete the current cycle |
Disabling Enrichment
To stop enrichment for a specific record type, toggle it off in the enrichment configuration. This removes the enrichment rule, and no further syncs will process that record type.
To temporarily pause enrichment without removing the configuration, set Update records that already have enrichment data to Never — this will only enrich new records with empty fields and skip all previously enriched records.
Delete Integration
To delete the integration, simply click the 🗑️ button in the "Integrations" HubSpot card. We will remove any credentials in our system. You can also stop the integration by uninstalling the Suger App in your HubSpot account settings.