Concept

Webhooks and events

What a webhook is in Awell, the difference between events Awell sends out and webhooks sent to Awell, and what a payload contains.

A webhook is a message one system sends another when something happens, so nobody has to sit and check. Awell uses them in both directions.

Outbound webhooks report events; incoming webhooks start or advance care flows

The Incoming webhooks tab under Integrations, listing each webhook with the extension and event that drives it

What happensWhat it takes
Outbound (Awell → another system)Something happens in a care flow (a form is submitted, a care flow completes) and Awell posts an event to a URL the other system ownsA URL that can receive the message. See Receive webhook events
Incoming (another system → Awell)Something happens in that system (a booking, a discharge) and it posts to an Awell URL to start or advance a care flowA configured trigger. See Start a care flow from an incoming webhook

Each page here says which direction it covers. The rest of this page is about outbound events.

An event reports one thing, once

activity.completed means a particular activity finished. It says nothing about what else changed, and nothing about what comes next.

Every event carries the identifiers needed to look up the detail through the API: the care flow, the patient, and the object the event is about.

See the webhook event catalog for the full list.

Payloads carry identifiers, not clinical detail

Payloads are deliberately lean: they identify what happened and what it happened to, and they are not a copy of the patient record.

Keeping identifiers rather than clinical detail in transit limits what is exposed if an endpoint is ever misconfigured. Fetch the detail with the API using the identifiers in the event.

Delivery repeats, arrives out of order, and retries on failure

What that means for a listener:

  • Order isn't guaranteed. Events can arrive out of sequence. Don't infer state from arrival order: read the event's own data.
  • Delivery can repeat. The same event can arrive more than once, so handling must be idempotent: processing it twice should have the same result as once.
  • Failures are retried. Awell retries with an increasing delay rather than giving up immediately.

Next steps

On this page