# Custom Webhooks

> Integrate Applivery with webhooks to receive real-time notifications for new builds, feedback, bug reports, and certificate expirations.

Source: https://docs.applivery.com/en/app-distribution/integrations/webhooks/  •  Last updated: 2026-04-18

**Key topics:** Webhook configuration, Event payloads, App distribution events, Integration management, Applivery, HTTP POST, JSON, CI/CD pipelines

---

**TL;DR:** Integrate Applivery with webhooks to receive real-time notifications about app distribution events like new builds, feedback, bug reports, and certificate expirations.

![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 App Distribution events.

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

For App Distribution, the following events can trigger a webhook notification:

-   A new **Build** has been uploaded.
    
-   A new **Build** has been processed and is ready to install.
    
-   A new **Feedback report** has been received.
    
-   A new **Bug report** has been received.
    
-   An App **enterprise certificate** is about to expire.
    

## Getting started

Webhook integrations can be configured at two levels:

-   **Workspace** — Notifications from all Apps within your organization are sent to the configured URL.
    
-   **App** — Notifications from a specific App only are sent to the configured URL.
    

**Navigate to Integrations**

Decide whether you want a Workspace-level or App-level integration. Once in the [**Applivery Dashboard**](https://dashboard.applivery.io/):

-   For **Workspace**: 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/f9d029bf-b26a-4951-9f24-7f1b086ed836.png)

-   For a specific **App**: Go to the **App Settings** 4 and, from the left-hand menu, select **Integrations** 5. Click the **\+ Create integration** 6 button.
    

![app integration](https://docs.applivery.com/int/_r2/media/09ac0a4e-3ad8-478f-9f15-3474973eec71/3c423eaf-87f2-4da8-a4e1-74c2dd765cc9.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**.
    

![webhook configuration](https://docs.applivery.com/int/_r2/media/09ac0a4e-3ad8-478f-9f15-3474973eec71/e6adcaa6-e8b5-42fd-9616-42021457e409.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

Go to the **Integrations** section of your Organization or App and 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 from the Integrations section 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.

_[Accordion]_ Fired when a new Build has been uploaded and queued for processing, but has not yet been processed.">
```json
{
  "action": "build_created",
  "organization": {
    "id": "5d4d1391cd523c15f50df235",
    "name": "Applivery Test",
    "url": "https://dashboard.applivery.io/test"
  },
  "application": {
    "id": "5e790ce04faa50cac52e4676",
    "name": "Awesome App",
    "url": "https://dashboard.applivery.io/test/apps/awesome-app"
  },
  "build": {
    "id": "5e79232e98d88ac68cf7d4bc",
    "url": "https://dashboard.applivery.io/test/apps/awesome-app/builds?id=5e79232e98d88ac68cf7d4bc"
  }
}
```

_[Accordion]_ Fired when a Build has been successfully processed and is ready to install.
">
```json
{
  "action": "build_processed",
  "organization": {
    "id": "5d4d1391cd523c15f50df235",
    "name": "Applivery Test",
    "url": "https://dashboard.applivery.io/test"
  },
  "application": {
    "id": "5e790ce04faa50cac52e4676",
    "name": "Awesome App",
    "url": "https://dashboard.applivery.io/test/apps/awesome-app"
  },
  "build": {
    "id": "5e79232e98d88ac68cf7d4bc",
    "os": "android",
    "versionName": "",
    "url": "https://dashboard.applivery.io/test/apps/awesome-app/builds?id=5e79232e98d88ac68cf7d4bc"
  }
}
```

_[Accordion]_ Fired when a new Bug Report has been submitted.">
```json
{
  "action": "bug_created",
  "organization": {
    "id": "5c9921fbb9f3bb001cc5c9a9",
    "name": "Applivery Dev",
    "url": "https://dashboard.applivery.io/test"
  },
  "application": {
    "id": "5cd19870cdecf8001bef50b7",
    "name": "Awesome App",
    "url": "https://dashboard.applivery.io/test/apps/awesome-app"
  },
  "report": {
    "message": "This is a Bug message that will be included in the Report along with the technical information of the device",
    "url": "https://dashboard.applivery.io/test/apps/awesome-app/reports?id=5e7923a976b4b0e9aa4aa6a9"
  }
}
```

_[Accordion]_ Fired when a new Feedback Report has been submitted.
">
```json
{
  "action": "feedback_created",
  "organization": {
    "id": "5c9921fbb9f3bb001cc5c9a9",
    "name": "Applivery Dev",
    "url": "https://dashboard.applivery.io/test"
  },
  "application": {
    "id": "5cd19870cdecf8001bef50b7",
    "name": "Awesome App",
    "url": "https://dashboard.applivery.io/test/apps/awesome-app"
  },
  "report": {
    "message": "This is a Feedback message that will be included in the Report along with the technical information of the device",
    "url": "https://dashboard.applivery.io/test/apps/awesome-app/reports?id=5e7923a976b4b0e9aa4aa6a9"
  }
}
```

_[Accordion]_ Fired when an App enterprise certificate is approaching its expiration date.">
```json
{
  "action": "certificate_application_will_expire",
  "organization": {
    "id": "5c9921fbb9f3bb001cc5c9a9",
    "name": "Applivery Dev",
    "url": "https://dashboard.applivery.io/test"
  },
  "application": {
    "id": "5cd19870cdecf8001bef50b7",
    "name": "Awesome App",
    "url": "https://dashboard.applivery.io/test/apps/awesome-app"
  },
  "numDays": "5",
  "team": {
    "name": "Applivery Test",
    "identifier": "BJ55L1KAQW"
  }
}
```

:::info
The `numDays` field indicates how many days remain before the certificate expires.
:::

## Event Reference

| Action | Trigger |
| --- | --- |
| `build_created` | A new Build has been uploaded and is queued for processing. |
| `build_processed` | A Build has been processed and is ready to install. |
| `bug_created` | A new Bug Report has been submitted. |
| `feedback_created` | A new Feedback Report has been submitted. |
| `certificate_will_expire` | An App enterprise certificate is about to expire. |
