Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 30 Oct 2026. What's built · Install 0.1.0
jadpo
Reference: HTTP

HTTP

Webhooks

You don't write routes for a provider's webhooks: Jadpo generates them from the provider's package (Webhooks as events). A connection with a webhook secret gets POST /webhooks/<connection> in the webhooks API. For each request, the runtime:

  • checks the provider's signature over the raw body;
  • drops repeats, by the provider's event id;
  • answers a handshake, where the package names one;
  • writes each event to the outbox, where events wait to be delivered to subscribers (Subscribers).

A webhook that needs a reply runs the app's answering action inside the request (Webhooks that need a reply). You can change a webhook route's path, but you can't switch it off.

The route is <prefix>/<connection> under the prefix of the webhooks API the app declares, whose record and OpenAPI document list it. Outside every declared API, it is /webhooks/<connection>. jadpo routes shows it as generated webhook, with signature for its authentication. An app route at the same path is route.path_overlap (see the Integrations design notes). Replies and handshakes are in Webhook replies, handshakes and further signature schemes.

Two kinds of sender have no provider package:

  • A system that signs its webhooks but has no package gets the app's own integration in shared/providers/, whose webhooks are generated the same way (Senders with no package).
  • A partner with an agreement signs in as a Service, with a service key (Service credentials), and calls an ordinary route.

Markdown for agents: /docs/webhooks.md.Built from Jadpo main at a707efb.