HTTP Request Step
HTTP Request step to call an external API, send a webhook, or fetch data from a third-party service. This is an action step — it does not send a notification to the subscriber. Use it when the workflow needs to integrate with external systems.Required Fields
Optional Fields
Response Schema
When any subsequent step needs to use data from this HTTP step’s response, you MUST define aresponseBodySchema.
Only properties declared in the schema are available to later steps as {{ steps.<this-step-id>.<property> }}.
{{ steps.fetch-user.name }} and {{ steps.fetch-user.email }}.
Common Patterns
- Webhook after notification:
POSTto"{{payload.webhookUrl}}"with event details inbody. - REST API call:
POST/PUTto a fixed URL with subscriber or payload data. - Data fetch:
GETfrom an external service withresponseBodySchemato make response available to subsequent steps.
Guidelines
- Never hardcode secrets or API keys — use payload or subscriber variables instead.
- Set
Content-Type: application/jsonheader when sending a JSON body. - Use
continueOnFailure: truewhen the HTTP call is non-critical to the workflow. - For
headersandbody: use an empty array[]when not needed. Never include entries with empty keys or values (e.g.[{"key":"","value":""}]is invalid). - Always define
responseBodySchemawhen any later step references this step’s response.
See Also
step-conditions.md— branch on HTTP response values ({ "==": [{ "var": "steps.<http-step-id>.status" }, "active"] })email-step.md— read HTTP response fields from a Block Editorvariablenode or HTML Liquid expressiondesign-workflow/references/workflow-templates.md— templates 8 and 9 show webhook and fetch-then-notify patterns