Built-in action Utility

Send a POST request to any external HTTPS URL. Supports custom headers and JSON body. Automatically retries on failure and keeps sensitive headers (Authorization, API keys) encrypted.

At a Glance

FieldValue
Action IDsend-webhook
CategoryUtility
ConnectorNot required
Requires gasNo
Funds movementNone declared
Tagswebhook, http, api, integration, notification, outbound

Payload Schema

FieldTypeRequiredDescription
urlstringYesTarget URL for the webhook. Must use HTTPS. URLs resolving to private/internal IPs are blocked for security.
headersobjectNoCustom HTTP headers. Sensitive headers (Authorization, API keys, tokens) are automatically encrypted at rest.
bodyobjectNoRequest body (JSON). Can use workflow variables like {{node.result.field}}
maxRetriesnumberNoMaximum retry attempts on failure (default: 3). Uses exponential backoff.

Result Schema

FieldTypeRequiredDescription
deliveryIdstringYesUnique ID for tracking this webhook delivery. Use the Deliveries API to check status.
statusstringYesInitial delivery status (always 'pending', delivery happens async)
urlstringNoTarget URL
methodstringNoHTTP method used (always POST)

Examples

json
{ "type": "send-webhook", "payload": { "url": "https://api.example.com/webhook" }, "children": []}

Payload fields can use workflow expressions such as {{$trigger.body.amount}}, {{$nodes.fetch.result.price}}, and {{$props.asset}} when the value should come from a trigger, prior node, or reusable workflow prop.

Ask a question... ⌘I