Sign inStart your trial

Webhook Triggers

Trigger workflows from external HTTP requests with optional auth

A webhook trigger runs your workflow when an external system POSTs to a unique URL. Use it for services not in the integration catalog or for ad-hoc HTTP integrations.

#Setting up

Add a webhook trigger to a workflow’s entry node. Configure:

  • Method: POST (default), GET, PUT, PATCH, or DELETE
  • Authentication: None, API Key, or HMAC
  • Payload schema (optional): declare expected fields so the variable picker offers typed suggestions

Saving generates a unique URL:

https://rills.ai/api/webhooks/{shortId}

Share that URL with the system that will call it.

#Authentication

#None

Any caller can trigger the workflow. Fine for local testing or trusted callers behind another auth layer. Don’t use this for public-facing endpoints.

#API key

The caller passes a key in a header (default: X-API-Key). Generated on creation and only shown once so store it somewhere safe.

POST https://rills.ai/api/webhooks/abc123
X-API-Key: your-key-here

#HMAC signature

The caller signs the request body and includes the signature in a header.

SettingDefaultOptions
AlgorithmSHA-256SHA-256, SHA-1, SHA-512
Signature headerX-Hub-Signature-256Any header name

Format: sha256=<hex_digest>, GitHub-compatible, so GitHub webhooks work out of the box.

The HMAC secret is generated on creation and encrypted at rest.

#Payload

The request body is parsed as JSON and made available as trigger data. Downstream nodes access it via {{trigger.field}}.

// Incoming POST body
{ "event": "order.created", "order_id": "abc-123" }

// Reference downstream
{{trigger.event}}      // "order.created"
{{trigger.order_id}}   // "abc-123"

In custom code: ctx.trigger.event.

#Status codes

Responses returned by the webhook endpoint:

StatusMeaning
200Accepted, run started
400Bad request, malformed URL or invalid JSON body
401Authentication failed (wrong API key or signature)
404Webhook not found, check the URL
429Rate limited, retry after the Retry-After value
503Webhook disabled

#Monitoring

Each webhook tracks last triggered time, total triggers, consecutive failures, and last error. View these in the workflow’s trigger configuration.

#See also