Webhook Node (Trigger)

Trigger your agent via HTTP. Multiple webhooks per agent supported — key constraints explained.

Written By Philippe

Last updated 30 days ago

Webhook Node (Trigger)

⚠️ Limitations — Works with known restrictions, see details below

Compatibility

FeatureStatus
Methods: GET, POST, PUT, PATCH, DELETE, HEADSupported
Auth: None, Basic Auth, Header Auth, Bearer Auth (bearerAuth / jwtAuth credential)Supported
Response modes: onReceived, lastNode, responseNodeSupported
IP whitelist, bot detectionSupported
Multiple webhooks per agentSupported
CORS (per-webhook allowedOrigins)Supported
Streaming responseNot supported — platform constraint
HMAC/signature validationNot supported
Form trigger modeNot supported

Status

This integration works on indie.money with known limitations. See the details above for specifics.

Your agent's webhook triggers have two links.

For your own systems. This link behaves the way your workflow's webhook always has: anyone who has it can call it, and the only sign-in it asks for is the one you set in the workflow. What differs is who pays — runs through this link draw on your agent balance. If your workflow requires no sign-in, possession of this link is permission to spend. Keep it out of public repositories, client-side pages, support tickets, and listings.

Caller pays. Safe to publish. A call arriving without payment gets a price back instead of a run, so your balance is never reachable through it. This is the only link to hand to a stranger, put in a listing, or let other agents discover.

Triggers connected to another service — a Telegram bot, a form service like Typeform, a payment provider — work differently. That service calls your agent directly and cannot pay, so those runs always draw on your agent balance.

On the producer dashboard, a Copy URL control expands to You pay (owner-funded) and Caller pays (caller-pays per run) when the trigger supports both rails; a single-rail agent shows a flat button. Agents with no payment rail enabled show "No payment rail enabled" and the Run button is disabled. See Automate with Webhooks.