Webhook
Triggerantenna.radiowaves.left.and.right
trigger.webhook
Fires when an HTTP request is received on a local endpoint. This trigger starts a lightweight HTTP server that listens for incoming requests, making it easy to integrate Watchflows with external services, scripts, or other applications.
Configure the path, HTTP method, and optionally require an auth token. The full request body, headers, method, and path are available as output variables for downstream nodes to process.
This listener is local — it is never reachable from the internet. For senders that live outside your network (GitHub, Stripe, hosted services), use the Public Webhook trigger, which delivers through the hooks.watchflows.app relay (see What Transits Our Servers).
Need to receive webhooks from the internet? This trigger binds a local endpoint — loopback by default, or your LAN with an auth token — so it can't be reached from the open web on its own. Watchflows Cloud includes a hosted HTTPS relay at hooks.watchflows.app that forwards public requests to this trigger — included with any active subscription.
Ports
| Direction | Name | Data Type | Description |
|---|---|---|---|
| Outlet | Output | Any | Payload emitted when an HTTP request is received |
Configuration
| Field | Type | Default | Description |
|---|---|---|---|
| Path | Text |
/webhook | URL path to listen on |
| Require Auth Token | Boolean |
false | Whether to require an authorization token in the request |
| Method | Dropdown |
POST | HTTP method to accept: POST, GET, PUT, or DELETE |
| Custom Arguments | Key-Value |
— | Additional key-value pairs included in the output payload |
Output Variables
| Variable | Type | Description |
|---|---|---|
body |
Object | JSON body — use body.field for nested access |
headers |
Object | Headers — use headers.content-type etc. |
method |
String | HTTP method used |
path |
String | Request path |
timestamp |
String | ISO 8601 timestamp |
Example
Receive a GitHub webhook and post a Slack-style notification. The Template node formats {{body.repository.name}} and {{body.action}} into a readable message.