HubSpot Destination
HubSpot Destination
Send your standardized People and Organizations data to HubSpot CRM. HubSpot destination provides reliable data delivery with automatic field mapping and validation.
πΆ HubSpot Destination
HubSpot destination supports both People β Contacts and Organizations β Companies with comprehensive field validation and automatic deduplication.
Supported Object Mappings
HubSpot destination accepts the following standardized objects:
π₯ People β Contacts
- Target Object: HubSpot Contacts
- Required Fields: Email address
- Default Fields: Email, first name, last name
- Key Features: Automatic deduplication by email, company association
π’ Organizations β Companies
- Target Object: HubSpot Companies
- Required Fields: Company name
- Default Fields: Company name, domain
- Key Features: Domain-based deduplication, contact association
Authentication
HubSpot destination uses the same OAuth 2.0 authentication as the source:
- OAuth Flow: Standard OAuth 2.0 with refresh tokens
- Scopes Required:
contacts
- Write contact datacompanies
- Write company datacrm.objects.contacts.write
- Create/update contact objectscrm.objects.companies.write
- Create/update company objects
- Token Storage: Encrypted access and refresh tokens
- Auto-Refresh: Automatic token renewal for continuous sync
Field Mappings
People β Contacts
Outrun Field | HubSpot Property | Required | Type | Description |
---|---|---|---|---|
emailAddress |
email |
β | String | Primary email address (required) |
firstName |
firstname |
β | String | Contact's first name |
lastName |
lastname |
β | String | Contact's last name |
phoneNumbers[].number |
phone |
β | String | Primary phone number |
phoneNumbers[].number |
work_phone |
β | String | Work phone number |
addresses[].street |
address |
β | String | Street address |
addresses[].city |
city |
β | String | City |
addresses[].state |
state |
β | String | State/province |
addresses[].country |
country |
β | String | Country |
addresses[].postalCode |
zip |
β | String | Postal code |
socialProfiles[].url |
linkedin_url |
β | String | LinkedIn profile URL |
socialProfiles[].handle |
twitter_username |
β | String | Twitter username |
associations[].role |
jobtitle |
β | String | Job title |
associations[].id |
associatedcompanyid |
β | String | Associated company ID |
Organizations β Companies
Outrun Field | HubSpot Property | Required | Type | Description |
---|---|---|---|---|
companyName |
name |
β | String | Company name (required) |
domain |
domain |
β | String | Company domain |
website |
website |
β | String | Company website URL |
phoneNumbers[].number |
phone |
β | String | Company phone number |
addresses[].street |
address |
β | String | Company address |
addresses[].city |
city |
β | String | City |
addresses[].state |
state |
β | String | State/province |
addresses[].country |
country |
β | String | Country |
addresses[].postalCode |
zip |
β | String | Postal code |
industry |
industry |
β | String | Industry classification |
description |
description |
β | String | Company description |
numberOfEmployees |
numberofemployees |
β | Number | Employee count |
annualRevenue |
annualrevenue |
β | Number | Annual revenue |
Rate Limits & Performance
HubSpot destination has specific rate limits for write operations:
- Destination Writes: 10 requests per second
- Batch Operations: Efficient bulk processing where possible
- Retry Logic: Automatic retry for transient failures
β‘ Write Optimization
Outrun optimizes HubSpot writes with intelligent batching and deduplication to minimize API calls while ensuring data accuracy.
Data Validation & Processing
Required Field Validation
- People: Email address must be provided and valid
- Organizations: Company name must be provided and non-empty
- Format Validation: Email format, URL format validation
- Length Limits: Respect HubSpot field length constraints
Deduplication Strategy
- Contacts: Deduplicated by email address
- Companies: Deduplicated by domain when available, otherwise by name
- Update Behavior: Existing records are updated with new data
- Conflict Resolution: Latest data takes precedence
Data Transformation
- Phone Numbers: Multiple phone numbers mapped to primary and work phone
- Addresses: Address components mapped to individual HubSpot fields
- Social Profiles: LinkedIn and Twitter profiles extracted
- Associations: Company associations maintained via
associatedcompanyid
Sync Behavior
Write Operations
- Create: New records created when no match found
- Update: Existing records updated when duplicates detected
- Upsert: Automatic create-or-update behavior
- Validation: Pre-write validation against HubSpot requirements
Error Handling
- Validation Errors: Clear reporting of field validation failures
- Rate Limit Handling: Automatic backoff and retry
- Duplicate Handling: Intelligent merge and update logic
- Monitoring: Real-time sync status and error reporting
Performance Features
- Batch Processing: Multiple records processed in single API calls
- Incremental Sync: Only changed data is sent
- Smart Retry: Exponential backoff for failed operations
- Monitoring: Comprehensive logging and error tracking
HubSpot-Specific Features
Contact-Company Associations
- Automatic Linking: Contacts automatically associated with companies
- Company Creation: Companies created automatically when referenced
- Relationship Maintenance: Associations maintained across updates
- Hierarchy Respect: HubSpot's contact-company hierarchy preserved
Custom Properties
- Standard Properties: All standard HubSpot properties supported
- Custom Property Support: Custom properties can be configured
- Property Types: String, number, date, enumeration support
- Validation: Custom property validation rules respected
HubSpot Workflows
- Trigger Compatibility: Destination writes trigger HubSpot workflows
- Enrollment: New contacts/companies can enroll in workflows
- Property Updates: Property changes trigger workflow actions
- Integration: Seamless integration with HubSpot automation
Best Practices
Setup Recommendations
- Required Fields: Ensure source data includes email (People) and company name (Organizations)
- Field Mapping: Review and customize field mappings for your use case
- Deduplication: Understand HubSpot's deduplication rules
- Testing: Test with small data sets before full sync
Data Quality
- Email Validation: Ensure valid email addresses in source data
- Company Names: Use consistent company naming conventions
- Phone Formatting: Standardize phone number formats
- Address Data: Provide complete address information when available
Performance Optimization
- Batch Size: Configure appropriate batch sizes for your data volume
- Sync Frequency: Balance real-time needs with rate limits
- Selective Fields: Only sync necessary fields to reduce API calls
- Monitoring: Set up alerts for sync failures and performance issues
Integration Strategy
- Workflow Planning: Plan HubSpot workflow interactions
- Custom Properties: Map custom properties as needed
- Segmentation: Use HubSpot lists and segmentation with synced data
- Reporting: Leverage HubSpot reporting with standardized data
Troubleshooting
Common Issues
Authentication Failures
- Verify OAuth scopes include write permissions
- Check if HubSpot user has appropriate access levels
- Ensure API access is enabled for your HubSpot tier
- Confirm token refresh is working properly
Validation Errors
- Verify required fields (email, company name) are provided
- Check email format validation
- Confirm field length limits are respected
- Review custom property constraints
Duplicate Handling Issues
- Understand HubSpot's deduplication rules
- Check email/domain matching logic
- Review merge behavior for existing records
- Monitor for unexpected record creation
Rate Limit Errors
- Monitor API usage in HubSpot settings
- Check for other integrations consuming API calls
- Consider adjusting sync frequency
- Contact support for rate limit optimization
Data Quality Issues
Missing Associations
- Verify company data is synced before contacts
- Check
associatedcompanyid
field mapping - Ensure company creation is enabled
- Review association logic in sync logs
Field Mapping Problems
- Verify field mappings match HubSpot property names
- Check for custom property configuration
- Confirm data type compatibility
- Test with sample data first
Support Resources
- HubSpot API Documentation: developers.hubspot.com
- HubSpot Knowledge Base: knowledge.hubspot.com
- Outrun Support: support@getoutrun.com
- Community: Discord
Use Cases
CRM Consolidation
- Multi-Source Sync: Consolidate contacts from multiple systems into HubSpot
- Data Standardization: Clean and standardize contact data across sources
- Deduplication: Automatic deduplication across multiple data sources
Marketing Automation
- Lead Enrichment: Enrich HubSpot contacts with data from other systems
- Segmentation: Create targeted segments with standardized data
- Workflow Triggers: Use synced data to trigger HubSpot workflows
Sales Enablement
- Contact Enrichment: Provide sales team with comprehensive contact data
- Company Intelligence: Enrich company records with external data
- Activity Tracking: Sync activities and interactions from other systems
Ready to configure HubSpot as a destination? Follow our Getting Started guide to set up your first destination sync.