Inputs
Outputs
Each property becomes its own variable. Reference a parsed
email field downstream as {{ steps.parse_json.email }}. Reference a nested or array field by the path you defined in the schema.
Behavior
Parse JSON reads the Input string, checks it against the Schema, and exposes one typed variable per property. Mark a property as optional if it might be missing from the payload. When an optional property is absent, it returns empty instead of failing the run. Downstream blocks then have to handle that empty case. A property whose value does not match its declared type fails the block and stops the run on that path. The parser does not silently convert one type into another. It will not turn a string into a number, or a number into a boolean. Only the properties you declare in the schema become outputs. Adding a field to the source payload has no effect on its own. You also have to add that field to the schema.Gotchas
- Type mismatch fails the block. A field can arrive as a different type than the schema declares. For example, a number where you expect a string, or a string where you expect a boolean. When that happens, the block fails and the run stops on that path. Treat external payloads as untrusted. Declare the type the source actually sends. When a provider is inconsistent, widen that field to a string.
- Missing optional values return empty, not an error. An optional property that is absent from the payload resolves to empty instead of failing. A downstream Create or update record block can then write an empty value over good data. Guard it with a Filter or an If check before the write.
- Unparsed fields are invisible downstream. Only properties in the schema appear as variables. If a field you need is missing from the variable picker, add it to the schema. Do not assume the block dropped it.
Examples
Parsing a webhook lead payload
A form provider posts a lead to your webhook URL. Parse JSON extracts the three fields the intake workflow needs.
The block exposes
{{ steps.parse_json.email }}, {{ steps.parse_json.company_domain }}, and {{ steps.parse_json.source }}. The next Create or update record block maps these onto a person.
Parsing an enrichment API response
A Send HTTP request block calls an enrichment API. Parse JSON reads the typed fields out of the response body.
The block exposes
{{ steps.parse_json.headcount }} as a number. A downstream Filter can then compare it numerically before the workflow writes the company record.