[Subscribe for events](#subscribe-for-events)
[Available Quable PIM events](#available-quable-pim-events)

---

Events are generated when changes (creations, modifications, or deletions) are made to your Quable PIM objects (assets, classifications, documents, links, predefined values, or variants).

Some events trigger other events. For example, if you need to listen to `document.update`, you don't need to subscribe to `media.update` (i.e., if an asset link to a document is updated, a `document.update` will be sent).

!!!primary
The following events are available for subscription: 
- Assets, 
- Classifications, 
- Documents, 
- Links, 
- Predefined Values, 
- Users, 
- Variants
!!!

---

## Subscribe for Events

To start receiving webhook notifications, open the **Webhook Notifications page** in the Administration -> Integration menu in Quable PIM. 

![To create a new webhook, go to Administration -> Integration -> Webhook notifications page](/static/images/create-webhook.png "Creating a new webhook")

!!!warning
By default, all events are Inactive. Click on the toggle of an event to change its status to Active.
!!!

In addition to the Inactive/Active switch, the following fields are available when creating a new webhook:

- **Code:** choose a code for your webhook
- **URL:** enter the URL for the appropriate endpoint to recieve notifications (it must be an **HTTPS endpoint**)
- **Authorization header:** this value is not used functionally by Quable. It will simply be sent during the POST to your HTTP service within the *Autorhization* header.
Use it if you need to pass an API key or token or any other information that would secure your service.
- **Selected events:** select the events you want to recieve notifications for in the list

![To parameter the new webhook, select among the available events, add a code, an HTTPS URL and a authorization header](/static/images/parameter-webhook.png "Parameterize a new webhook")

Once you have entered all of the information for the subscription(s), click the **Save button** to save your changes.

---

## Available Quable PIM events

| Entity                  | Event Type                      | Triggers                                                                                     |
|-------------------------|---------------------------------|----------------------------------------------------------------------------------------------|
| Asset        | `media.create`                  |                                                                                              |
|                         | `media.update`                  | - `document.update` on every linked document                                                   |
|                         | `media.delete`                  | - `document.update` on every previously linked document                                         |
| Classifications | `classification.create`  |                                                                                              |
|                         | `classification.update`          |                                                                                              |
|                         | `classification.delete`          |                                                                                              |
| Document   | `document.create`               |                                                                                              |
|                         | `document.update`               |                                                                                              |
|                         | `document.delete`               | - `link.delete` on every link declared on the deleted item                                      |
|                         |                                 | - `document.update` on every document previously linked to the previous item                  |
| Links         | `link.create`                   | - `document.update` on every linked document, if any                                           |
|                         |                                 | - `media.update` on every linked document, if any                                             |
|                         | `link.update`                   | - `document.update` on every linked document, if any                                           |
|                         |                                 | - `media.update` on every linked document, if any                                             |
|                         | `link.delete`                   | - `document.update` on every linked document, if any                                           |
|                         |                                 | - `media.update` on every linked document, if any                                             |
| Predefined Values | `value.create`           |                                                                                              |
|                         | `value.update`                  | - `document.update` on every document using this value                                         |
|                         | `value.delete`                  | - `document.update` on every document previously using this value                               |
| Users          | `user.login.succeed`            |                                                                                              |
|                         | `user.login.failed`             |                                                                                              |
|                         | `user.logout`                   |                                                                                              |
| Variants    | `variant.create`                |                                                                                              |
|                         | `variant.update`                | - `document.update` on the parent document, if any.                                            |
|                         | `variant.delete`                | - `document.update` on the parent document, if any.                                            |
