Path or deep search
Address a value precisely with dot and bracket notation when you know the shape, or use JSONPath recursive descent — $..sku — to find a key wherever it lives in the tree.
order.items[0].sku
Drop in a webhook payload or API response, point at the keys you need, and use the extracted values anywhere later in your GoHighLevel workflow.
Ten values per action · JSONPath & dot notation · Arrays, nesting, null-safe
Try the path syntax here — this demo runs in your browser, so nothing is sent anywhere. To dry-run against the live engine, use the Path finder inside the app.
Competing actions cap you at five. This demo shows five for parity — the action itself gives you ten.
Address a value precisely with dot and bracket notation when you know the shape, or use JSONPath recursive descent — $..sku — to find a key wherever it lives in the tree.
order.items[0].sku
Pull up to ten values from a single payload — twice what a five-field parser gives you, and half the premium executions for the same job.
value_1 … value_10
Point a path at an array and it comes back as a delimited string — no special syntax. Index in with items[0], count from the end with items[-1], or switch a slot to first, last or count.
customer.tags → repeat, vip
Point it at an inbound webhook body or the response from a Custom Webhook action. Both arrive as ordinary workflow data.
{{inbound_webhook.body}}
A missing branch returns empty instead of halting the contact. Set a fallback per value when empty is not good enough.
tracking → "" or fallback
Paste a real payload into the app and dry-run your paths against the same engine the live action uses. Free and unmetered, because a dry run never touches a workflow.
dry run · 0 executions
Drop JSON Parser Pro into any workflow after the step that produces JSON — an inbound webhook, a custom webhook response, or a stored custom field.
Fill path_1 through path_10 with the values to pull, and name the step so it is recognisable in your run history. Not sure what a path should be? The app's Path Finder writes it for you.
Every output is available to later steps as value_1 through value_10. Reference them in conditions, emails, field updates, or another webhook.
| Capability | JSON Parser Pro | JSON Parser (youragencymarketplace) | JsonParser (workflowplugins) |
|---|---|---|---|
| Extract by key or path | |||
| Values per action | 10 | Not stated | 5 |
| Array indexing and joins | Not stated | ||
| Dry-run tester, no execution spent | |||
| Per-value fallback when missing | Not stated | ||
| Flags repaired payloads in run history | |||
| Works on webhook payloads |
Compiled from each app's published marketplace listing and documentation, July 2026. A dash means the capability is absent from that published material; Not stated means their documentation does not say either way, so we make no claim. Tell us if anything here is out of date and we will correct it.
One plan, everything included, no limit on how much you parse. And because ten values come out of a single action, your workflow needs half as many premium executions as a five-slot parser would burn for the same job.
$4a month, plus $0.003 a parse
Billed by GoHighLevel, on the invoice you already receive from them. We never see a card, and there is no separate subscription to manage or cancel.
Marketplace workflow actions are premium executions on your GHL plan. This applies to any parser you use, including ours, so the honest question is how many executions your workflow burns.
| Your GHL plan | Included | Then |
|---|---|---|
| Free | 100 lifetime | $0.01 |
| Starter — $10/mo | 10,000 | $0.008 |
| Growth — $25/mo | 30,000 | $0.006 |
| Scale — $50/mo | 65,000 | $0.004 |
A parser capped at five outputs needs two actions to pull ten values, and bills you twice, on every single run, forever.
Rates published by GoHighLevel and subject to change. Check your own plan. Source: Workflows Pro Plan — New Pricing Tiers.
Anywhere in the workflow that produces text: an inbound webhook body, the response of a Custom Webhook action, a custom field, or a value another app wrote earlier.
The output resolves to empty and the workflow continues. Set a fallback on any output if a downstream step needs a value to be present.
Yes. Index with brackets — order.items[2].sku — or join an entire array into one delimited string for an SMS, tag list, or note.
Yes, for 30 days, and deliberately: each run records the payload it received so you can open the history console and see exactly what the action saw when a value came back empty. Records are deleted automatically after 30 days, and we will delete them sooner if you ask.