HubSpot + Jobber Integration Guide
This guide walks you through setting up a complete integration between HubSpot (CRM) and Jobber (field service management). By the end, your contacts and clients will sync seamlessly between both platforms.
Overview
Goal: Keep HubSpot contacts and Jobber clients in sync, so your sales and field service teams always have access to the same customer information.
What You'll Achieve:
- New HubSpot contacts automatically create Jobber clients
- New Jobber clients appear in HubSpot for sales follow-up
- Updates in either system sync to the other
- Phone numbers and addresses stay consistent
Time Required: 15-20 minutes
Prerequisites
Before starting, ensure you have:
- [ ] A FluxCascade account (sign up free)
- [ ] Admin access to your HubSpot portal
- [ ] Admin access to your Jobber account
- [ ] Both platforms connected to FluxCascade
If you haven't connected your platforms yet, follow this guide first.
Step 1: Plan Your Field Mapping
Before creating the mapping, decide which fields to sync:
Recommended Field Pairs
| HubSpot Field | Jobber Field | Notes |
|---|---|---|
firstname | first_name | Direct mapping |
lastname | last_name | Direct mapping |
email | email | Used for matching records |
phone | phone | Add phone_e164 transform |
company | company_name | Optional |
Address Handling
Addresses require special attention because HubSpot stores them in separate fields while Jobber uses a structured format:
Option A: Sync individual fields
- HubSpot
address→ Jobberbilling_address.street - HubSpot
city→ Jobberbilling_address.city - HubSpot
state→ Jobberbilling_address.province - HubSpot
zip→ Jobberbilling_address.postal_code
Option B: Use address transformation
- Combine HubSpot address fields with
address_single_linetransform
Step 2: Create the Mapping
- Go to Mappings in FluxCascade
- Click New Mapping
- Configure the basics:
Source:
- Connection: Your HubSpot connection
- Object: Contacts
Target:
- Connection: Your Jobber connection
- Object: Clients
Direction: Bidirectional (recommended)
- Click Continue
Step 3: Configure Field Pairs
Basic Fields
Add these field pairs:
-
First Name
- Source:
firstname - Target:
first_name - Transform: None
- Source:
-
Last Name
- Source:
lastname - Target:
last_name - Transform: None
- Source:
-
Email (Matching Field)
- Source:
email - Target:
email - Transform:
lowercase(for consistent matching) - Mark as Matching Field
- Source:
-
Phone
- Source:
phone - Target:
phone - Transform:
phone_e164 - Default country: US (or your country)
- Source:
Address Fields
Add address mapping based on your chosen approach:
For separate fields:
-
Street Address
- Source:
address - Target:
billing_address.street1
- Source:
-
City
- Source:
city - Target:
billing_address.city
- Source:
-
State/Province
- Source:
state - Target:
billing_address.province
- Source:
-
Postal Code
- Source:
zip - Target:
billing_address.postal_code
- Source:
Optional Fields
Add based on your needs:
- Company:
company→company_name - Notes:
hs_notes→notes(one-way, HubSpot → Jobber)
Step 4: Set Matching Strategy
Configure how records are matched between systems:
- In mapping settings, find Matching Strategy
- Select Email as the primary matching field
- Enable Case Insensitive Matching
This ensures John@Example.com and john@example.com are treated as the same person.
Step 5: Configure Conflict Resolution
For bidirectional sync, decide how to handle conflicts:
Recommended Settings:
- Overall Strategy: Last Write Wins
- Email field: Source (HubSpot) wins – CRM owns email
- Phone field: Last Write Wins – both teams update
- Address field: Target (Jobber) wins – field teams have accurate addresses
Step 6: Test the Mapping
Before going live:
-
Click Test Sync
-
Review the preview showing what would sync
-
Check for:
- Correct field mapping
- Expected record counts
- Any transformation errors
-
If issues, adjust configuration and test again
Step 7: Run Initial Sync
Once testing looks good:
- Click Sync Now
- Choose Full Sync for initial population
- Monitor progress in real-time
- Review completion statistics
Expected Results:
- HubSpot contacts created as Jobber clients
- Jobber clients created as HubSpot contacts (bidirectional)
- Existing matches updated with consistent data
Step 8: Enable Scheduled Sync
Set up automatic syncing:
- Go to mapping Settings
- Enable Scheduled Sync
- Choose frequency: Every 15 minutes (recommended)
- Save
Step 9: Enable Real-time Sync (Optional)
For instant synchronization:
- Go to mapping Settings
- Enable Real-time Sync
- FluxCascade registers webhooks with both platforms
- Changes sync within seconds
Verification
Check HubSpot
- Open a contact that should have synced
- Verify Jobber-created contacts appear
- Check field values match
Check Jobber
- Open a client that should have synced
- Verify HubSpot-created clients appear
- Check field values match
Review Sync Logs
- Go to Syncs
- Click on recent sync jobs
- Verify success rates and any errors
Common Issues & Solutions
Phone Numbers Not Syncing
Cause: Format mismatch
Solution: Add phone_e164 transform to normalize formats
Duplicate Clients Created
Cause: Matching not finding existing records
Solution:
- Ensure email is the matching field
- Enable case-insensitive matching
- Verify emails are populated in source records
Addresses Incomplete
Cause: Field mapping incomplete or address parsing issues
Solution:
- Map all address components individually
- Or use address transformation
- Check source data has complete addresses
Sync Errors on Specific Records
Cause: Missing required data or validation failures
Solution:
- Check sync logs for specific error
- Fix data in source system
- Re-run sync
Best Practices
-
Start with essential fields – Add more later after verifying basics work
-
Use email for matching – Most reliable unique identifier for contacts
-
Normalize phone numbers – Prevents mismatches and duplicates
-
Consider field ownership – Decide which team owns which data
-
Monitor regularly – Check sync health weekly
Next Steps
- Create Deals to Jobs mapping – Sync opportunities to jobs
- Field Transformations – Advanced data transformation
- Error Handling – Handle sync failures