Transform and Map Data
Transform and Map Data reshapes record data in place: map values between picklists, concatenate or split properties, extract with regular expressions, normalize domains, or pull values out of JSON stored on the record. One action, six transformations, each with its own fields. Available from the Pro plan.
Input fields
| Field | Shown for | What it does |
|---|---|---|
| Transformation | always (required) | Map values, concatenate, split, regex extract, normalize domain, or extract from JSON. Fields below change with this choice. |
| Source property | most mode | Live dropdown: the property to read. Not used by concatenate, which has its own multiselect. |
| Properties to join | concat mode | Multiselect of properties to concatenate, in order. |
| Separator | always | Between values when joining, or the delimiter when splitting. Default: a space. |
| Skip empty values | always | Concatenate: leave out empty properties instead of printing repeated separators. |
| Properties to fill | split mode | Split: multiselect of target properties, in order. The last receives any remainder. |
| Regular expression / Capture group | regex mode | JavaScript regex; group 1 is extracted by default. |
| Value mapping | map mode | One mapping per line as from = to. Example: United Kingdom = GB |
| When no mapping matches | always | Keep the original value (default) or leave the target unchanged. |
| JSON path | json mode | Dot path into the JSON, for example data.items.0.id. |
| Write the result to | most mode | Live dropdown of writable properties. |
Output fields
| Output | Meaning |
|---|---|
| Success / Status | ok, mapped, passthrough, no_match, skipped or error. |
| Result | The transformed value, also written to the target property. |
Worked examples
Map country names to ISO codes
- 1Transformation: Map values. Source: country. Write to: country_code.
- 2Mapping: one line per pair, for example India = IN and United Kingdom = GB.
- 3When no mapping matches: Keep the original value.
Mine an API response stored on the record
- 1A Send Webhook action maps the raw response JSON into a property.
- 2Transformation: Extract from JSON. Source: that property. JSON path: data.order.id. Write to: order_id.
Pull an invoice number out of free text
- 1Transformation: Extract with a regular expression.
- 2Pattern: INV-([0-9]+) with capture group 1.
Good to know
- Mapping comparisons are case insensitive and trimmed.
- Split keeps the remainder in the last property so nothing is lost when there are more parts than targets.
Use cases
Translate picklists between systems
Map values line by line when your ERP and HubSpot disagree on naming.
Mine an API response stored on a record
A webhook writes raw JSON to a property; extract the fields you need with dot paths.
Pull reference numbers from notes
Regex-extract structured ids out of unstructured text fields.
Frequently asked questions
What is the difference between this and Format Data?
Transform and Map Data reads and writes record properties directly, using live property pickers. Format Data works on values you pass in and returns a result as an output. Use Transform when the record itself should change.
How do I translate values between two systems?
Choose Map values and enter one mapping per line as from equals to, for example India = IN. Unmapped values can keep the original or leave the target untouched.
Can I pull a field out of a JSON payload?
Yes. Choose Extract a value from JSON and give a dot path such as data.items.0.id. The JSON can come from a property that a webhook response was written into.