Webhooks and pushed event notifications
A webhook pushes event information through an HTTP request to another application's receiver, whose acknowledgment and processing have separate meanings.
A webhook sends event information from one application to another through an HTTP request. Instead of the receiver repeatedly asking whether something changed, the producer initiates the event delivery.
Emby documents webhooks for integrations such as home automation and notifications, with Emby Premiere requirements. The configured event and destination determine what that integration receives.
The producer must reach the receiver

A receiver on a private machine is not automatically reachable by an external producer. Conversely, when the producer runs on the local Emby host, its network view can differ from a cloud automation service's view.
The destination also needs the expected method, payload and applicable authentication. Knowing a URL is not proof that the intended producer is authorized to use it.
Acknowledgment needs a processing boundary
An original receiver design stores the event durably in a queue, then returns a successful response. A worker subsequently performs the intended action.
Event E1 arrives
Receiver stores E1 under its accepted-work rule
Receiver acknowledges E1
Worker later applies the downstream action
In that design, acknowledgment means accepted durable work, not a completed lamp change or delivered phone alert.
If the receiver instead acknowledges before recording anything and crashes, the producer can consider delivery successful while the work is lost. The response code has the meaning chosen by the producer/receiver contract; HTTP alone does not provide a durable event queue.
Event data need their own schema
| Contract detail | Why the receiver needs it |
|---|---|
| Event type | Selects the appropriate processing |
| Identity or deduplication key | Helps recognize a repeated delivery |
| Timestamp or state version, where supplied | Helps interpret age and ordering |
| Authentication mechanism | Establishes accepted origin under the contract |
| Retry behavior | Defines later attempts after an uncertain result |
CloudEvents is one standard for event context and identity. An integration should not assume that every webhook, including an Emby payload, automatically uses that standard or its exact fields.
Use the actual event schema and configured integration's delivery contract. Retries explain why the same logical event can legitimately arrive more than once.