HubSpot Integration
Connect Automatum with HubSpot CRM for streamlined sales and marketing operations.
Overview
The HubSpot integration synchronizes your cloud marketplace data with HubSpot CRM, enabling your sales and marketing teams to work with unified customer data.
How it works
The integration links a HubSpot portal to your Automatum organization. Automatum does the marketplace work; the HubSpot settings page and Deal cards are where you drive it and see the results.
What you set up
- Install the Automatum connector in HubSpot.
- In Settings, connect your AWS or Azure account and define a field mapping — which HubSpot Deal properties feed which marketplace fields.
- Automatum adds the custom properties it needs to your portal, grouped under Automatum. You never create these by hand.
On a deal
- Open a Deal and click Sync (co-sell or private offer). The form opens pre-filled from your mapping — you review, adjust, and submit.
- Automatum sends it to AWS or Azure and records the result — opportunity or referral ID, status, timestamps — on the Deal.
- When something changes on the marketplace side (acceptance, information requests, status changes), it flows back automatically and the card updates.
Because results are stored as HubSpot properties under the Automatum group, you can filter and report on them in HubSpot's own lists and reports.
Your data stays isolated
Each HubSpot portal is linked to exactly one Automatum organization, and every action is scoped to that organization — one customer can never see or change another's data. Automatum stores your marketplace credentials securely, refreshes them for you, and lets you disconnect at any time.
Features
- Contact Sync: Sync marketplace customers to HubSpot Contacts
- Company Sync: Create and update HubSpot Companies
- Deal Pipeline: Manage private offers as HubSpot Deals
- Activity Tracking: Log all marketplace interactions
- Marketing Automation: Trigger workflows from marketplace events
- Revenue Attribution: Track marketplace revenue in HubSpot
Prerequisites
- HubSpot account (Professional or Enterprise)
- HubSpot API access
- Automatum Professional or Enterprise plan
- Admin access in HubSpot
Setup
Step 1: Connect HubSpot
- Navigate to Settings > Integrations > HubSpot
- Click Connect HubSpot
- Log in to your HubSpot account
- Review and grant permissions
- Click Connect App
Step 2: Grant Permissions
Automatum requests these HubSpot scopes:
crm.objects.contacts.readcrm.objects.contacts.writecrm.objects.companies.readcrm.objects.companies.writecrm.objects.deals.readcrm.objects.deals.writetimeline
Step 3: Configure Sync Settings
Sync Direction:
- Automatum → HubSpot (one-way)
- Bi-directional
Sync Frequency:
- Real-time
- Every 15 minutes
- Hourly
Step 4: Map Properties
Create custom properties in HubSpot:
Contact Properties:
marketplace_customer_id (Single-line text)
aws_account_id (Single-line text)
azure_tenant_id (Single-line text)
marketplace_source (Dropdown: AWS, Azure)
contract_status (Dropdown: Active, Expired, Pending)Company Properties:
marketplace_company_id (Single-line text)
total_contract_value (Number)
active_contracts (Number)
marketplace_vendor (Multiple checkboxes: AWS, Azure)Deal Properties:
private_offer_id (Single-line text)
marketplace (Dropdown: AWS, Azure)
contract_duration_months (Number)
marketplace_status (Dropdown: Created, Sent, Viewed, Accepted, Expired)Data Mapping
Contact Mapping
| Automatum Field | HubSpot Property | Direction |
|---|---|---|
| Bi-directional | ||
| First Name | firstname | Bi-directional |
| Last Name | lastname | Bi-directional |
| Company | company | Automatum → HubSpot |
| Customer ID | marketplace_customer_id | Automatum → HubSpot |
| AWS Account ID | aws_account_id | Automatum → HubSpot |
Company Mapping
| Automatum Field | HubSpot Property | Direction |
|---|---|---|
| Company Name | name | Bi-directional |
| Website | website | Bi-directional |
| Industry | industry | Bi-directional |
| Total Value | total_contract_value | Automatum → HubSpot |
Deal Mapping
| Automatum Field | HubSpot Property | Direction |
|---|---|---|
| Offer Name | dealname | Automatum → HubSpot |
| Value | amount | Automatum → HubSpot |
| Status | dealstage | Bi-directional |
| Close Date | closedate | Automatum → HubSpot |
| Offer ID | private_offer_id | Automatum → HubSpot |
Deal Pipeline
Configure Pipeline Stages
Map Automatum offer statuses to HubSpot deal stages:
Recommended Pipeline:
| Stage Name | Probability | Automatum Status |
|---|---|---|
| New Opportunity | 10% | - |
| Offer Created | 20% | Created |
| Offer Sent | 40% | Email Sent |
| Offer Viewed | 60% | Email Seen |
| Negotiation | 70% | - |
| Closed Won | 100% | Accepted |
| Closed Lost | 0% | Expired, Cancelled |
Create Pipeline in HubSpot
- Go to Settings > Objects > Deals
- Click Pipelines
- Create new pipeline: "Marketplace Deals"
- Add stages matching the mapping above
- Set as default for marketplace deals
Automation
HubSpot Workflows
Trigger HubSpot workflows from marketplace events:
Example: New Customer Workflow
Trigger: Contact property marketplace_customer_id is known
Actions:
- Add to "Marketplace Customers" list
- Send welcome email sequence
- Create task for account manager
- Add company to target account list
Example: Offer Accepted Workflow
Trigger: Deal stage changed to "Closed Won"
Actions:
- Send celebration notification to team
- Create onboarding tasks
- Add to "Active Customers" list
- Update contact lifecycle stage to "Customer"
Enrollment Triggers
Available marketplace triggers:
- Customer created
- Private offer created
- Private offer sent
- Private offer accepted
- Contract expiring (30/60/90 days)
- Contract renewed
Activity Timeline
Tracked Activities
Activities logged to HubSpot timeline:
| Event | Timeline Entry |
|---|---|
| Offer created | "Private offer created for [Product]" |
| Email sent | "Private offer email sent" |
| Email opened | "Customer viewed private offer" |
| Offer accepted | "Private offer accepted - $X" |
| Contract start | "Contract activated" |
| Usage reported | "Usage: X units reported" |
Custom Timeline Events
Create custom timeline events:
json
{
"eventType": "marketplace_offer_accepted",
"objectId": "hubspot_contact_id",
"tokens": {
"offerValue": "$50,000",
"productName": "Enterprise Plan",
"vendor": "AWS"
}
}Marketing Integration
List Segmentation
Create HubSpot lists based on marketplace data:
Static Lists:
- All marketplace customers
- AWS customers
- Azure customers
- High-value customers ($100K+)
Active Lists (auto-updating):
- Customers with expiring contracts
- Customers with high usage
- At-risk customers (low usage)
- Upsell candidates
Lead Scoring
Add marketplace signals to lead scoring:
Positive Signals:
| Signal | Points |
|---|---|
| Private offer viewed | +10 |
| Multiple offer views | +5 per view |
| Offer accepted | +50 |
| High usage | +20 |
Negative Signals:
| Signal | Points |
|---|---|
| Offer expired | -20 |
| Low usage | -10 |
| Contract cancelled | -50 |
Forms & CTAs
Capture marketplace leads:
- Create landing page for marketplace interest
- Add hidden field:
marketplace_source - Set up workflow to route to sales
- Track conversion from marketplace
Reporting
HubSpot Reports
Build reports with marketplace data:
Revenue Reports:
- Marketplace revenue by quarter
- Revenue by sales rep
- Revenue by cloud platform
Pipeline Reports:
- Offer conversion rates
- Average deal size
- Sales cycle length
Customer Reports:
- Customer acquisition by source
- Customer lifetime value
- Renewal rates
Attribution
Track marketplace influence:
- Enable revenue attribution in HubSpot
- Map deal revenue to contacts
- Include in attribution reports
- Measure marketing influence on marketplace deals
Sync Management
View Sync Status
- Go to Settings > Integrations > HubSpot
- View Sync Dashboard
- See recent sync activity
- Review errors and warnings
Manual Sync
Force sync specific records:
bash
POST /api/integrations/hubspot/sync
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"objectType": "contact",
"automatumId": "cust_123",
"direction": "to_hubspot"
}Sync Logs
View detailed sync logs:
- Object type
- Sync direction
- Status (success/failed)
- Error details
- Timestamp
Troubleshooting
Connection Issues
"Authentication failed":
- Reconnect HubSpot integration
- Verify API access enabled
- Check user permissions
- Clear browser cache and retry
Sync Failures
"Contact not found":
- Check if contact exists in HubSpot
- Verify email address format
- Review matching criteria
"Property not found":
- Create missing custom property
- Check property internal name
- Verify property permissions
Duplicate Records
Prevent duplicates:
- Enable deduplication rules
- Set primary matching field (email)
- Configure duplicate handling
API Access
Query HubSpot
bash
GET /api/integrations/hubspot/contacts/:email
Authorization: Bearer YOUR_API_KEYCreate HubSpot Record
bash
POST /api/integrations/hubspot/contacts
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"email": "customer@example.com",
"properties": {
"firstname": "John",
"lastname": "Doe",
"marketplace_customer_id": "cust_123"
}
}Security
Data Access
Automatum accesses:
- Contacts (read/write)
- Companies (read/write)
- Deals (read/write)
- Timeline (write)
- Properties (read)
Permission Management
- OAuth tokens stored encrypted
- Automatic token refresh
- Revoke access anytime
- Audit all API calls
Best Practices
- Map fields carefully - Ensure data types match
- Test in sandbox - Use HubSpot test portal first
- Clean data regularly - Remove duplicates
- Train your team - Document workflows
- Monitor sync health - Review logs weekly
Next Steps
Need Help?
Contact hello@automatum.io for HubSpot integration assistance.