Documentation Index
Fetch the complete documentation index at: https://grantmaster.dev/llms.txt
Use this file to discover all available pages before exploring further.
Integration Guide: HubSpot CRM
Overview
GrantMaster integrates with HubSpot CRM to synchronize funder and contact data. This enables organizations to manage donor relationships in HubSpot while keeping grant-specific data in GrantMaster, with bidirectional sync ensuring consistency.
What It Does
| Feature | Description |
|---|
| Contact sync | Syncs contacts between GrantMaster’s Relations module and HubSpot |
| Company sync | Maps GrantMaster Grantors (funders) to HubSpot Companies |
| Deal pipeline mapping | Maps GrantMaster Pipeline stages to HubSpot Deal stages |
| Activity logging | Syncs interaction history (meetings, emails, notes) |
| Bidirectional updates | Changes in either system are reflected in the other |
Prerequisites
- A HubSpot account (Professional or Enterprise plan recommended for full API access)
- Admin role in GrantMaster
- HubSpot API key or OAuth credentials
Setup
Step 1: Enable the Integration
- Go to Settings > Integrations > HubSpot
- Click Connect HubSpot
- Authenticate via OAuth — you will be redirected to HubSpot to grant access
- Select which HubSpot portal to connect (if you have multiple)
After connecting, configure how fields map between systems:
| GrantMaster Field | HubSpot Field | Direction |
|---|
| Contact name | Contact First/Last Name | Bidirectional |
| Contact email | Contact Email | Bidirectional |
| Contact organization | Contact Company | Bidirectional |
| Grantor name | Company Name | Bidirectional |
| Grantor sector | Company Industry | GrantMaster → HubSpot |
| Pipeline stage | Deal Stage | Bidirectional |
| Pipeline amount | Deal Amount | Bidirectional |
- Go to Settings > Integrations > HubSpot > Field Mapping
- Review the default mappings
- Customize or add additional field mappings as needed
- Click Save Mappings
Choose the sync behavior for each entity type:
- Bidirectional — changes in either system update the other (default)
- GrantMaster → HubSpot — GrantMaster is the source of truth
- HubSpot → GrantMaster — HubSpot is the source of truth
- Disabled — no sync for this entity type
Step 4: Initial Sync
- Click Run Initial Sync to populate data
- Review the sync preview — it shows how many records will be created, updated, or skipped
- Confirm to start the sync
- Monitor progress on the sync dashboard
Day-to-Day Usage
Automatic Sync
Once configured, sync runs automatically:
- Real-time for individual record changes (via webhooks)
- Batch sync every 15 minutes for bulk updates
- Full reconciliation nightly to catch any missed changes
- Create a contact in either system — it appears in the other within minutes
- Edit a contact — changes propagate based on your sync direction setting
- Delete a contact — deletions are not synced (to prevent accidental data loss). Archive manually in the other system if needed.
Pipeline Sync
- Move a pipeline entry in GrantMaster — the corresponding HubSpot Deal stage updates
- Update a Deal stage in HubSpot — the GrantMaster Pipeline entry moves accordingly
- Won/Lost status syncs in both directions
Troubleshooting
Sync Not Running
| Symptom | Possible Cause | Solution |
|---|
| Records not appearing | OAuth token expired | Re-authenticate via Settings > Integrations > HubSpot |
| Sync delayed | Batch sync queue backed up | Wait for the next 15-minute cycle or trigger a manual sync |
| Partial sync | Field mapping mismatch | Check field mappings for unmapped required fields |
Duplicate Records
- GrantMaster uses email address as the primary key for contact deduplication
- If duplicates appear, check for contacts with different email addresses representing the same person
- Use HubSpot’s merge feature to resolve duplicates in HubSpot, then re-sync
Conflict Resolution
When the same record is edited in both systems between sync cycles:
- Bidirectional mode: The most recent change wins (based on timestamp)
- Source of truth mode: The designated source always overwrites the other
Best Practices
- Set a clear source of truth for each entity type — bidirectional sync works but can cause confusion if teams edit both systems
- Map pipeline stages before initial sync — mismatched stages create orphaned records
- Monitor the sync dashboard weekly — catch failed syncs before they become data gaps
- Don’t delete contacts in either system — archive instead, since deletions don’t sync
- Use HubSpot for relationship management and GrantMaster for grant operations — avoid duplicating workflows
Limitations
- Deletions are not synced between systems to prevent data loss
- Custom HubSpot properties require manual field mapping configuration
- HubSpot Free plan has limited API call quotas that may throttle sync frequency
- File attachments (documents, proposals) are not synced — only metadata and links
- HubSpot workflow automations triggered by synced data may cause unexpected side effects — test thoroughly