Webhook Request
Send outbound HTTP POST webhook calls with optional HMAC signing
The Webhook Request block sends an outbound HTTP POST request to an external webhook URL. Use it to push workflow results to third-party services such as Zapier, Make, n8n, or any custom endpoint that accepts webhook payloads.
This block sends outbound webhook calls (your workflow calls an external URL). It is different from the Webhook Trigger, which listens for inbound requests that start a workflow.
Overview
Set the destination URL: Point to any endpoint that accepts HTTP POST requests
Build the JSON payload: Include data from upstream blocks using variable references like <agent.content>
Optionally sign the request: Provide an HMAC-SHA256 signing secret so the receiver can verify authenticity
Add custom headers: Include API keys, content types, or any extra headers the receiver requires
How It Works
When the block executes it:
- Resolves any variable references (
<block.output>) in the URL, payload, and headers. - Serializes the payload as JSON.
- If a Signing Secret is provided, computes an HMAC-SHA256 signature over the payload and attaches it as a webhook header so the receiving server can verify the request was not tampered with.
- Sends the POST request with
Content-Type: application/jsonand any additional headers you configured. - Returns the response data, status code, and response headers as block outputs.
Configuration
Fields
| Field | Required | Description |
|---|---|---|
| Webhook URL | Yes | The destination endpoint. Must accept HTTP POST. |
| Payload | No | JSON body to send. Use <block.output> to reference upstream data. |
| Signing Secret | No | A shared secret used to generate an HMAC-SHA256 signature header for payload verification. |
| Additional Headers | No | Key-value pairs appended to the request (e.g., Authorization: Bearer ...). |
Outputs
| Output | Type | Description |
|---|---|---|
data | json | The parsed response body from the external endpoint |
status | number | HTTP status code returned by the endpoint |
headers | json | Response headers |
Best Practices
- Store secrets in environment variables -- reference your signing secret with
{{WEBHOOK_SECRET}}instead of pasting it directly. - Check the status output -- use a Condition or Router block after the webhook to handle non-2xx responses gracefully.
- Keep payloads small -- send only the data the receiver needs. Large payloads increase latency and may be rejected by some endpoints.