# Custom Webhooks

> Connect Applivery Device Management with external services using webhooks — real-time notifications for Device Enrollment, Certificate expiration, and more.

Source: https://docs.applivery.com/en/device-management/integrations/notifications/webhooks/  •  Last updated: 2026-04-18

**Key topics:** Webhook configuration, Event payloads, Device management events, Integration management, Applivery, HTTP POST, JSON, Apple Push Notification service (APNs), ITSM platforms

---

**TL;DR:** Integrate Applivery with webhooks to receive real-time notifications about device management events like enrollment, certificate expiration, and inventory changes.

![webhooks](https://docs.applivery.com/int/_r2/media/09ac0a4e-3ad8-478f-9f15-3474973eec71/a78842cc-a70c-4563-8b35-9740ae11e2d1.png)

Integrate Applivery with external services using custom webhooks to receive real-time notifications about key Device Management events.

Webhooks allow you to connect Applivery to any external service that accepts HTTP POST requests — ITSM platforms, custom dashboards, automation tools, and more. When a relevant event occurs in Applivery, a JSON payload is sent automatically to the URL you configure.

For Device Management, the following events can trigger a webhook notification:

-   A new **Enrollment Token** has been created.
    
-   A new **Device** has been successfully enrolled.
    
-   A **Device Employee** has been assigned to or changed on a Device.
    
-   The **Apple Push Certificate** is about to expire.
    
-   A new **Inventory item** has been registered.
    

# Getting started

Webhook integrations can be configured at the **Workspace** level, so notifications from all Devices and enrollment activity within your organization are sent to the configured URL.

**Navigate to Integrations**

Once in the [**Applivery Dashboard**](https://dashboard.applivery.io/), go to your **Workspace Settings** 1 from the top dropdown menu, then open **Integrations** 2 in the left-hand menu and click the **\+ Create integration** 3 button.

![integrations](https://docs.applivery.com/int/_r2/media/09ac0a4e-3ad8-478f-9f15-3474973eec71/f35947b0-3416-4397-b188-4469361632d7.png)

**Configure the Webhook**

1.  Select **Webhook** as the integration type.
    
2.  Enter the **URL** that should receive the webhook payloads.
    
3.  Select the **events** you want to subscribe to from the list.
    
4.  Click **Save**.
    

![device management webhook](https://docs.applivery.com/int/_r2/media/09ac0a4e-3ad8-478f-9f15-3474973eec71/abce7f4c-69a6-43ba-867b-035d5ca77964.png)

## Managing Webhook Integrations

After saving, you will be redirected to the Integrations section, where your new webhook is listed with a summary of its configuration:

-   **Type:** Webhook.
    
-   **Configuration:** The destination URL.
    
-   **Events:** The list of subscribed events.
    

### Editing a Webhook

Just click on an existing webhook integration. A side panel will open where you can update the destination URL and the subscribed events.

### Deleting a Webhook

Open the webhook integration and click the **Delete** button in the side panel.

## Event Payloads

All webhook notifications are delivered as HTTP POST requests with a JSON body. Use the `action` field to identify the event type and route your processing logic accordingly.

The `{os}` prefix in some action names is replaced at runtime by the platform identifier — for example `emm` for Android or `win` for Windows.

_[Accordion]_ Fired when a new MDM Enrollment token has been created.">
```json
{
  "action": "emm_enrollment_token_created",
  "sendEmail": true,
  "enrollmentToken": {
    "type": "Fully Managed"
  },
  "mdmUser": {
    "id": {
      "id": "5e9099ee4da32b180204770e",
      "email": "[email protected]"
    },
    "email": "[email protected]",
    "url": "https://dashboard.applivery.io/test/mdm/users/5e9099ee4da32r180204770e"
  },
  "organization": {
    "id": "5d4d1391cd523c15f50df235",
    "name": "Applivery Test",
    "url": "https://dashboard.applivery.io/test"
  }
}
```

:::info
The `enrollmentToken.type` field indicates the management mode — for example, `Fully Managed` or `Work Profile`.
:::

_[Accordion]_ Fired when a new Device has been successfully enrolled in Applivery.">
```json
{
  "action": "emm_device_enrolled",
  "organization": {
    "id": "5d4d1391cd523c15f50df235",
    "name": "Applivery Test",
    "url": "https://dashboard.applivery.io/test"
  },
  "emmDevice": {
    "type": "Fully Managed",
    "url": "https://dashboard.applivery.io/test/mdm/users/5e9099ee4da32b180204770e?id=5f634c11034824062256e38c"
  },
  "mdmUser": {
    "id": "5e9099ee4da32b180204770e",
    "email": "[email protected]",
    "url": "https://dashboard.applivery.io/test/mdm/users/5e9099ee4da32b180204770e"
  }
}
```

_[Accordion]_ Fired when a Device Employee has been assigned to or changed on a managed Device.">
```json
{
  "action": "win_device_added_mdm_user",
  "organization": {
    "id": "5c34ec7810399b6cc062a04a",
    "name": "Applivery Test",
    "url": "https://dashboard.applivery.io/test"
  },
  "winDevice": {
    "productName": "",
    "url": "https://dashboard.applivery.io/test/mdm/users/65f83a5e4ecbfd693b7486d6?id=66d05845114a9509d18e7266"
  },
  "mdmUser": {
    "id": "65f83a5e4ecbfd693b7486d6",
    "email": "[email protected]",
    "url": "https://dashboard.applivery.io/test/mdm/users/65f83a5e4ecbfd693b7486d6"
  },
  "trigger": "deviceUpdate"
}
```

:::info
The `trigger` field indicates what caused the user assignment — for example, `deviceUpdate`.
:::

_[Accordion]_ Fired when the Apple Push Notification certificate (APNs) is approaching its expiration date. This certificate is required for Apple MDM to function. Renewing it before it expires is critical to maintaining Device Management on iOS, iPadOS, and macOS Devices.">
```json
{
  "action": "apple_push_certification_renovation",
  "organization": {
    "id": "5d4d1391cd523c15f50df235",
    "name": "Applivery Test",
    "url": "https://dashboard.applivery.io/test"
  },
  "numDays": "5",
  "appleId": "[email protected]"
}
```

:::info
The `numDays` field indicates how many days remain before the certificate expires. The `appleId` field identifies the Apple ID used to create the certificate.
:::

_[Accordion]_ Fired when a new item is registered or updated in the Inventory.
">
```json
{
  "action": "A new InventoryItem is being registered",
  "subAction": "created",
  "organization": {
    "id": "5d4d1391cd523c15f50df235",
    "name": "Applivery Test",
    "url": "https://dashboard.applivery.io/test"
  },
  "inventoryItem": {
    "id": "62bd71d980df8b001b085ceb",
    "type": "monitor",
    "members": {
      "type": "mdmUser",
      "memberId": "6241d3d804e388001b3c605c",
      "email": "[email protected]"
    },
    "metadata": {}
  }
}
```

:::info
Use the `subAction` field to determine the specific operation performed on the inventory item — for example, `created`, `updated`, or `deleted`.
:::

## Event Reference

| Action | Trigger |
| --- | --- |
| `{os}_enrollment-token_created` | A new MDM Enrollment token has been created. |
| `{os}_device_enrolled` | A Device has been successfully enrolled. |
| `{os}_device_added_mdm_user` | An MDM user has been assigned to or changed on a Device. |
| `apple_push_certification_renovation` | The Apple Push Certificate is approaching expiration. |
| `A new InventoryItem {action}` | An item has been registered or updated in Inventory. |
