Skip to main content
A webhook endpoint is a URL of yours that Invent calls when something happens in your workspace that your systems have to react to: a contact who can no longer be reached, a send that did not land, a conversation that changed hands. Instead of polling the API, your server is told. Manage endpoints at Settings → Webhooks.
Webhook endpoints
Each row shows the endpoint’s name and URL, how many events it subscribes to, whether it is enabled, and when it was last delivered to.
This page covers managing endpoints in the app. For the payload shape, the event catalog, signature verification, and code samples, see the Webhooks API reference.

Creating an endpoint

1

Click New Webhook

Enter the endpoint URL that receives the requests. It has to be HTTPS, and it cannot be a private or loopback address.
2

Name it

The name is for you, so you can tell “Production CRM” from “Staging” at a glance.
3

Pick the events

Subscribe only to what you act on. You can change the selection later.
4

Copy the signing secret

It is shown once, right after creation. Store it in your secret manager.
Add a webhook endpoint
The signing secret (whsec_…) is displayed only on creation and on rotation. It is what proves a request came from Invent, so your handler should reject any request whose signature does not verify. If you lose the secret, rotate it to get a new one.

The events you can subscribe to

The catalog is deliberately narrow: these are events an external system has to act on. Routine create and update traffic belongs to the API, not to a push feed.

Managing an endpoint

The options menu on each row holds everything else.
Webhook options menu

Watching deliveries

View Deliveries lists every attempt from the last 7 days, most recent first.
Recent webhook deliveries
Each row shows the event, the delivery status, the attempt number and the HTTP status your server returned:
  • DELIVERED: your endpoint returned a 2xx.
  • PENDING: the attempt failed and a retry is scheduled.
  • FAILED: every retry was used up.
  • SKIPPED: the event was not sent, because the endpoint was disabled or the workspace had no balance to cover the outbound request.
Use the replay action on any row to send that event again. Replay is how you backfill after an outage on your side, or reprocess events once your handler is fixed.

When deliveries fail

Failed attempts are retried on a widening schedule (5s → 5m → 30m → 2h → 5h → 10h), seven attempts in total. Requests time out after 10 seconds, so acknowledge fast and do the real work afterwards. An endpoint that fails 30 deliveries in a row is disabled automatically, and the reason is shown on the endpoint. Fix your side, then enable it again, which clears the failure streak. Delivery is at-least-once and order is not guaranteed, so make your handler idempotent and deduplicate on the event id.

Next Steps

Webhooks API reference

Payloads, headers, signature verification, and code samples

API Keys

Manage endpoints programmatically instead of in the app