HTTP And Proxy
What this category is for
Use these nodes when a workflow needs to receive an HTTP request, call another HTTP API, forward to the configured proxy target, or return an HTTP response to the client.
Node list table
| Node type | Purpose | Key inputs | Branch outputs |
|---|---|---|---|
http_trigger | Entry point for request-driven workflows. Creates the request object used by downstream nodes. | method, path, headers, query, body | none |
proxy_node | Runs gateway proxy logic and forwards to upstream API. | method, path, query, headers, body | success, error |
http_request_node | Calls an arbitrary external HTTP endpoint with timeout/retry and optional credential-based auth. | url (required), optional method, query_params, headers, body; config timeout_ms, retry_config, credentials_id | success, error |
response_node | Sends final HTTP response and typically ends the request flow. | status_code, headers, body; optional config continue_after_response | none |
For a non-HTTP entry (builder runs only), use Manual Trigger.
Common patterns
1) API facade with fallback
http_trigger->proxy_node- Route
proxy_node.success->response_node(pass through status/body/headers) - Route
proxy_node.error->http_request_node(fallback service) ->response_node
2) Pre-processing before external call
http_trigger->set_node(build outbound payload) ->http_request_node- Use
http_request_node.response.status_codeandresponse.bodyfor final mapping inresponse_node
3) Credentialized partner API call
http_request_nodewithcredentials_idreferencing API key, basic auth, OAuth2 client credentials, or mTLS credentials- Keep static headers minimal and let credentials inject auth material
4) Error normalization
http_request_node.errorbranch ->set_nodeto map raw upstream failures into stable API error shape- Return stable error contract from
response_node
Common mistakes and how to debug
response_nodenot reached: workflow does not auto-respond unlessresponse_nodeorredirect_nodeis executed. Verify edge wiring from success/error branches.- Wrong header format: engine expects header values as arrays (
map[string][]string). If values look wrong, inspect upstream output from the previous node. - Retried requests still failing: check
http_request_node.response.errorand timeout/retry config. Timeout too low is common. - Non-2xx treated as error branch: both
proxy_nodeandhttp_request_noderoute non-2xx toerror. Wire that branch explicitly. - JSON body confusion: body parsing depends on content type and payload shape. Inspect
response.bodyin node test mode to confirm actual type (object vs string).