Field Transformations
Transformations modify data as it moves between systems. They help normalize data formats, clean up values, and handle the differences between how platforms store information.
Why Use Transformations?
Different systems store data in different formats:
- Phone numbers:
(555) 123-4567vs+15551234567vs555-123-4567 - Names:
John DoevsJohn+Doe(separate fields) - Dates:
2024-01-15vs01/15/2024vsJanuary 15, 2024 - Addresses: Single line vs structured fields
Transformations ensure data is converted to the format each system expects.
Available Transformations
Text Transformations
| Transform | Description | Example |
|---|---|---|
uppercase | Convert to uppercase | john doe → JOHN DOE |
lowercase | Convert to lowercase | JOHN@EXAMPLE.COM → john@example.com |
titlecase | Capitalize first letter of each word | john doe → John Doe |
trim | Remove leading/trailing whitespace | John → John |
Phone Number Transformations
| Transform | Description | Example |
|---|---|---|
phone_e164 | Format to E.164 international standard | (555) 123-4567 → +15551234567 |
phone_national | Format for national display | +15551234567 → (555) 123-4567 |
phone_digits | Extract digits only | (555) 123-4567 → 5551234567 |
Date Transformations
| Transform | Description | Example |
|---|---|---|
date_iso | Convert to ISO 8601 format | 01/15/2024 → 2024-01-15 |
date_us | Convert to US format (MM/DD/YYYY) | 2024-01-15 → 01/15/2024 |
datetime_iso | Full ISO 8601 with time | 2024-01-15T14:30:00Z |
timestamp_unix | Convert to Unix timestamp | 2024-01-15 → 1705276800 |
Name Transformations
| Transform | Description | Example |
|---|---|---|
split_first_name | Extract first name from full name | John Doe → John |
split_last_name | Extract last name from full name | John Doe → Doe |
combine_name | Combine first + last into full name | John + Doe → John Doe |
Address Transformations
| Transform | Description |
|---|---|
address_single_line | Combine address components into one line |
address_parse_street | Extract street from full address |
address_parse_city | Extract city from full address |
address_parse_state | Extract state/province from full address |
address_parse_zip | Extract postal code from full address |
Value Mapping
Map specific values to different values:
| Transform | Description |
|---|---|
value_map | Map source values to target values (e.g., lifecycle stages) |
default_value | Use a default if source is empty |
boolean_to_string | Convert true/false to Yes/No or custom strings |
Applying Transformations
In the Mapping Editor
When creating or editing a mapping:
- Select a field pair
- Click the Transform dropdown
- Choose a transformation
- Configure any options (e.g., default country for phone formatting)
Chaining Transformations
You can apply multiple transformations in sequence:
Source: " john doe "
↓ trim
↓ titlecase
Result: "John Doe"
Transformations are applied in order from top to bottom.
Common Transformation Patterns
HubSpot to Jobber Phone Numbers
HubSpot stores phones in various formats. Jobber prefers E.164:
Transform: phone_e164
Default Country: US
Input: (555) 123-4567
Output: +15551234567
Splitting Full Names
Some systems use a single name field, others use first/last:
Source Field: fullname ("John Doe")
Field Pair 1:
Target: first_name
Transform: split_first_name
Result: "John"
Field Pair 2:
Target: last_name
Transform: split_last_name
Result: "Doe"
Pipeline Stage Mapping
Map deal stages between CRMs:
Transform: value_map
Mappings:
"Appointment Scheduled" → "Lead"
"Qualified to Buy" → "Qualified"
"Closed Won" → "Won"
"Closed Lost" → "Lost"
Default: "Other"
Email Normalization
Ensure consistent email formatting:
Transform: lowercase, trim
Input: " John.Doe@EXAMPLE.COM "
Output: "john.doe@example.com"
Handling Transformation Errors
When a transformation fails:
- Log the error – The sync log shows which record and field failed
- Skip the field – Other fields still sync
- Retry options – Configure whether to retry or skip
Common causes:
- Invalid phone number format
- Date parsing failures
- Missing required source data
Next Steps
- Bidirectional Sync – Handle two-way data flow
- Conflict Resolution – When the same record is updated in both systems
- Creating Mappings – Back to mapping basics