Skip to main content
Webhooks let your systems push events to Emma as they happen. When Emma receives a supported event, it automatically starts the matching workflow. Emma also fires outbound webhook events to your configured URL when a workflow completes, so your systems stay up to date without polling.

How webhooks work

1

Register your outbound URL

Go to Emma → Integrations → No-Code Automation. Add the URL where Emma should send outcome events and copy your inbound webhook URLs for use in the next step.
2

Subscribe in your platform

In your forms platform, EMR, or payment system, subscribe to the relevant event (for example, forms.abandoned) and point it at your Emma inbound URL.
3

Emma receives the event

Emma parses the payload, matches it to the configured workflow, and starts execution automatically.
4

Emma sends the outcome

When the workflow completes, Emma POSTs the outcome event to your registered outbound URL.

Inbound events Emma accepts

Inbound event URLs and payloads

Emma exposes per-clinic inbound webhook URLs. Use the URLs from the Integrations page to point your platform at the correct endpoint for each event type.

Securing inbound webhooks

Emma uses a shared secret to verify that inbound requests originate from a trusted source. Each inbound webhook URL has an associated secret generated on the Integrations page. Your platform must include this secret in every request:
Always validate the inbound secret before processing a webhook payload. Requests missing or presenting a wrong secret should be rejected with a 401.

Outbound webhook events

When a workflow finishes, Emma POSTs an outcome event to your registered outbound URL. The payload includes the clinic, a timestamp, and structured outcome data you can use to update your own records or trigger downstream actions.

recovery_case.created

Emma fires this event as soon as it creates a recovery case — before any outreach attempt is made. Use it to log or display the pending case in your system.

recovery_case.outcome

Emma fires this event when a recovery workflow reaches a terminal state. Use it to update your system of record with the final outcome.

Recovery status values

Idempotency

Emma deduplicates incoming events by session ID. Sending the same forms.abandoned event twice for the same session creates only one recovery case — so you don’t need to worry about accidental duplicate triggers from your platform.

When to use webhooks

Use webhooks when your system needs to notify Emma that something happened. If you need to request an action on demand and wait for a response, use the REST API instead.