Skip to content
  • There are no suggestions because the search field is empty.

How to use Extract JSON in Property Transformer

The Extract from JSON action lets you extract a value from a JSON string stored in a HubSpot property using a path expression. This is useful when integrations store structured data as JSON in a text property, and you need to pull out a specific value to use in your workflow.

This action works on all object types, including Contacts, Companies, Deals, and Custom Objects.

Supported property types:
- Single-line text
- Multi-line text

How to set it up

  1. In your HubSpot workflow, add a new action

  2. Under "Integrated Apps", find "Brave Tools"

  3. Select "Extract from JSON"

  4. Configure the input fields (see below)

  5. Map the output value to the property you want to update

Input fields

JSON property (required)
Select a property that contains a JSON string. This is the source data you want to extract from.

JSON path (required)
A dot-notation path expression that specifies which value to extract from the JSON.

Supported syntax:
- Simple key: "name"
- Nested keys: "venue.name"
- Array index: "events[0]"
- Combined: "events[0].venue.name"

The path is case-sensitive and must match the JSON keys exactly.

Output type
The data type you want the extracted value returned as. Options:
- String (default) - Returns the value as text. If the value is an object or array, it will be JSON-stringified.
- Number - Converts the value to a number. Returns empty if conversion fails.
- Boolean - Converts the value to true/false. Recognizes "true", "false", "1", "0".
- Date - Parses the value as a date and returns a HubSpot-compatible date (midnight UTC timestamp).
- Datetime - Parses the value as a datetime. Supports ISO 8601, timestamps, and custom formats.

Date format
Only used when output type is Date or Datetime. Specifies how to parse the extracted date string. Options:
- Auto-detect (default) - Handles ISO 8601 strings (e.g. "2026-03-05T19:30:00+01:00") and numeric timestamps
- yyMMdd (e.g. 611202)
- yyyyMMdd (e.g. 19611202)
- ddMMyy (e.g. 021261)
- ddMMyyyy (e.g. 02121961)
- MMddyyyy (e.g. 12021961)
- MMddyy (e.g. 120261)

Timezone
Only used when output type is Datetime. Specifies the timezone for the output. Options include UTC, Europe/Stockholm, Europe/London, Europe/Berlin, America/New_York, America/Chicago, America/Los_Angeles, and Asia/Tokyo.

Output fields

Extracted value - The value found at the specified JSON path, converted to the chosen output type.


Examples

Example 1: Extract a string value
JSON property contains: {"events":[{"id":"6xwmw6j34m","productionId":"GZU63N04X6"}]}
JSON path: events[0].id
Output type: String
Result: "6xwmw6j34m"

Example 2: Extract a datetime value
JSON property contains: {"events":[{"id":"6xwmw6j34m","start":"2026-03-05T19:30:00+01:00"}]}
JSON path: events[0].start
Output type: Datetime
Timezone: Europe/Stockholm
Result: "2026-03-05 19:30" (formatted with timezone)

Example 3: Extract a number
JSON property contains: {"order":{"total":1299.50,"items":3}}
JSON path: order.total
Output type: Number
Result: 1299.5

Example 4: Extract a nested string
JSON property contains: {"events":[{"venue":{"name":"Stockholm Arena","city":"Stockholm"}}]}
JSON path: events[0].venue.city
Output type: String
Result: "Stockholm"

Good to know

  • If the JSON property is empty, the output will be empty and the workflow continues.

  • If the JSON string is invalid (not parseable), the output will be empty.

  • If the path does not exist in the JSON, the output will be empty.

  • If the path points to an object or array and the output type is string, the value will be JSON-stringified.

  • If the path points to an object or array and the output type is number, boolean, date, or datetime, the output will be empty.

  • If type conversion fails (e.g., extracting "hello" as a number), the output will be empty.

  • If the value at the path is null, the output will be empty.

  • Date and datetime parsing supports pre-1970 dates (negative timestamps).

  • The JSON path is case-sensitive. "Events[0]" will not match "events[0]".

  • Property Transformer is available on paid plans. Trial users do not have access to this feature.