Skip to main content
View as Markdown

HTTP & Webhook Actions

The http family makes outbound HTTP calls to external APIs (optionally authenticated via a stored connection). The webhook family sends signed outgoing webhooks and writes a custom response back to an inbound webhook trigger.

HTTP — Outbound Requests

Six operators. The generic request operator takes an explicit method; the verb operators (get/post/put/patch/delete) are shorthands and accept a connection reference for authenticated calls.

Operator Key props Description
request url, method, headers?, body?, contentType?, timeout? Generic request with an explicit method (templatable).
get url, headers?, timeout?, connection? HTTP GET.
post url, headers?, body?, contentType?, timeout?, connection? HTTP POST.
put (same as post) HTTP PUT.
patch (same as post) HTTP PATCH.
delete url, headers?, body?, timeout?, connection? HTTP DELETE.
Shared prop Description
url Request URL (templatable).
headers Map of request headers (values templatable, e.g. Authorization: 'Bearer $env.API_KEY').
body String or JSON object body.
contentType json (default) / form / text / xml.
timeout Per-request timeout in ms.
connection Name of a stored connection — injects OAuth2/API-key/basic/bearer credentials.

A 2xx response succeeds the step; any other status fails it, with the status folded into a stable error category (HTTP 429 rate_limited, HTTP 503 upstream_error, and so on) that retry policies can match on. The status and body are on the step output either way, so a step that must tolerate a 404 can be marked continueOnError and branched on {{steps.X.response.status}}.

app.yaml
- name: createContact
  type: http
  operator: post
  props:
    url: 'https://api.crm.example/contacts'
    connection: crm-oauth
    contentType: json
    body: { email: '{{trigger.data.email}}', name: '{{trigger.data.name}}' }

Webhook — Outgoing & Response

Two operators. send fires a signed outgoing webhook; response writes the HTTP response for an automation started by a webhook trigger.

Operator Props Description
send url, event, data?, secret? Send an outgoing webhook with an event name and optional HMAC secret.
response status?, body?, headers? Set the HTTP response returned to the inbound caller (webhook-trigger only).
app.yaml
# Notify a downstream service
- name: notifyDownstream
  type: webhook
  operator: send
  props:
    url: 'https://hooks.example.com/orders'
    event: order.created
    data: { id: '{{trigger.data.id}}' }
    secret: $env.OUTGOING_WEBHOOK_SECRET

# Reply to the inbound caller
- name: ack
  type: webhook
  operator: response
  props: { status: 200, body: { ok: true } }

Last updated August 11, 2026

This documentation was written with AI, so errors or outdated content are possible. Sovrium is in beta. Contributions and corrections are welcome.

Built with Sovrium