Expressions

Expressions reference data from triggers, steps, secrets, and run metadata.

Interpolation

Use {{ expression }} in strings:

"Bearer {{ secrets.STRIPE_KEY }}"
"https://api.example.com/orders/{{ steps.create.response.body.id }}"

A single {{ }} expression returns the raw value (map, list). Mixed strings return a string.

Path (default)

Dot-path access with comparisons:

steps.validate.response.body.total
steps.validate.response.status == 200
status == 200 and total > 100
status in [200, 201, 202]

Operators: ==, !=, >, <, >=, <=, in, and, or, not

JSONPath

Set lang: "jsonpath" for complex queries:

$.steps.validate.response.body.items[0].sku
$.items[?(@.price > 100)]

Lua

Set lang: "lua" for transforms. Sandboxed, 5s timeout:

acc.total = acc.total + result.amount
return acc

Context

Path Description
trigger.body.* Request body
trigger.headers.* Request headers
steps.<id>.response.status HTTP status
steps.<id>.response.body.* Response body
secrets.<NAME> Tenant secret
run.id Run ID
run.workflow Workflow name