Webhooks
Learn how Eigenn uses provider callbacks and app-specific automation deliveries, and where no universal webhook contract exists.
Eigenn now uses webhooks in two different ways:
- Supported providers call Eigenn to report changes.
- Selected marketplace automation apps deliver Eigenn events to a destination that you set.
These are separate contracts. The public API now has no general endpoints to create, list, update, or delete arbitrary outbound webhook subscriptions.
Provider Callbacks
The OpenAPI document includes callback endpoints for supported services such as Stripe, inbox ingestion, WhatsApp, Polar, and Storecove e-invoicing. Eigenn intends each of these endpoints for its own first-party connection.
They are not general ingestion endpoints for custom applications. Authentication and verification are different for each provider. Some callbacks use provider signatures or connection-specific secrets instead of an Eigenn bearer token.
Do not send custom payloads to the provider callback endpoints. Send them only when the relevant integration setup tells you to do so.
Automation Deliveries
The App Marketplace includes automation connections for Zapier, n8n, and Make.
| App | Events that the app now names |
|---|---|
| Zapier | invoice.created, invoice.paid, payment.received, customer.updated |
| n8n | invoice.created, invoice.paid, payment.received |
| Make | invoice.created, invoice.paid, customer.updated |
Availability and configuration remain app-specific. Open the app detail panel for the current status and supported events before you build a dependent workflow.
Zapier and n8n deliveries use this shared payload shape:
{
"type": "invoice.paid",
"organizationId": "00000000-0000-0000-0000-000000000000",
"occurredAt": "2026-07-11T14:30:00.000Z",
"data": {}
}The contents of data depend on the event. The shared envelope does not guarantee a universal event ID.
Delivery Behavior
For the current Zapier and n8n connections:
- a destination must be an external HTTP or HTTPS address
- Eigenn rejects private, loopback, local, and cloud-metadata destinations
- any 2xx response counts as successful delivery
- Eigenn retries network failures and non-2xx responses
- each request has a 10-second timeout
- delivery stops after three total tries
Zapier retries after about 500 milliseconds and then 1 second. n8n retries after about 1 second and then 2 seconds. These values describe those two connections, not a platform-wide webhook service-level agreement. Make and other delivery paths do not publish the same retry guarantee.
Signature and Deduplication Boundaries
Eigenn does not now publish a universal outbound signature header or signing-secret contract for marketplace deliveries. Do not assume that an X-Canvas-Signature header or an equivalent header is present.
Until Eigenn shows an app-specific signature contract:
- publish only a purpose-built endpoint
- check the payload shape and the permitted event names
- restrict the actions that the endpoint can trigger
- use provider or automation-platform access controls where available
- make the downstream work safe to repeat
The shared envelope has no guaranteed event ID. Choose a business-level idempotency key from stable fields in the event data when the destination does a sensitive write. Do not deduplicate only by delivery time.
Receiver Pattern
- Check the request method and the JSON content type.
- Reject the event names that your workflow does not support.
- Check organizationId against the intended Eigenn team.
- Persist the accepted payload before you start slow work.
- Return a 2xx response.
- Process the event from a permanent queue.
- Record enough business context to detect repeated effects.
Public API Availability
The generated WebhooksApi in Eigenn SDKs wraps provider callback endpoints from the OpenAPI document. It is not a client that manages outbound subscriptions.
For a custom event-driven connection, use a supported marketplace automation app. Eigenn does not document a general subscription API as part of public API v1.