# Events

Source: https://docs.revoplyai.com/webhooks/events/

> Every event an endpoint can receive, what fires it and what it carries.

An endpoint receives only the events it subscribes to. Each page below shows when the
event fires and when it does not, every field of its `data`, and an example. All of them
arrive in the same [envelope](/webhooks/#the-envelope).

| Event                                                              | What happened                                 |
| ------------------------------------------------------------------ | --------------------------------------------- |
| [`message.received`](/webhooks/events/message-received/)           | A customer wrote.                             |
| [`conversation.started`](/webhooks/events/conversation-started/)   | A new conversation began.                     |
| [`conversation.handover`](/webhooks/events/conversation-handover/) | The conversation was handed to the team.      |
| [`conversation.assigned`](/webhooks/events/conversation-assigned/) | The conversation was assigned, or unassigned. |
| [`conversation.resolved`](/webhooks/events/conversation-resolved/) | The conversation was resolved or closed.      |
| [`contact.created`](/webhooks/events/contact-created/)             | A contact was added.                          |
| [`contact.updated`](/webhooks/events/contact-updated/)             | A contact's details changed.                  |
| [`contact.opted_out`](/webhooks/events/contact-opted-out/)         | A contact opted out of messages.              |
| [`lead.qualified`](/webhooks/events/lead-qualified/)               | A conversation became a qualified lead.       |
| [`appointment.booked`](/webhooks/events/appointment-booked/)       | An appointment was booked.                    |
| [`appointment.cancelled`](/webhooks/events/appointment-cancelled/) | An appointment was cancelled.                 |
| [`flow.completed`](/webhooks/events/flow-completed/)               | An automation finished.                       |
| [`flow.failed`](/webhooks/events/flow-failed/)                     | An automation failed.                         |
| [`ping`](/webhooks/events/ping/)                                   | A test from the dashboard.                    |

`ping` cannot be subscribed to: it is what **Send test** posts when no event is chosen.

New event types may be added at any time; an endpoint never receives a type it did not
subscribe to. If your receiver serves several endpoints, acknowledge a `type` it does not
know with `2xx` and ignore it.
