Webhooks

The Webhooks tab in Settings enables you to define custom HTTP callbacks that are automatically triggered by specific deployment events—such as when a Build or CodePush operation is created, completed successfully, or fails.

By integrating webhooks, you can notify external systems (e.g., Slack, CI/CD pipelines, monitoring tools) in real time during various stages of the deployment lifecycle.

Adding a New Webhook

To configure a webhook:

  1. Go to the Webhooks tab under your project’s settings.

  2. Click “+ Add Webhook.”

  3. Fill out the following fields in the form:

Name

  • The name is used solely for display and identification purposes within the App Maker interface.

  • It does not affect when or how the webhook is triggered.

Example: Slack Notification, CI/CD Trigger, Build Logger

Target URL

  • Enter the URL that should receive the webhook request.

  • If your endpoint requires query parameters, you can include them in the full URL.

Example: https://api.slack.com/webhook?param1=hello+world

Events

Choose the events that will trigger the webhook. You can select multiple options from the list below:

Event
Description

Deployment Build Created

Triggered when a new build is initiated

Deployment Build Succeeded

Triggered when a build completes successfully

Deployment Build Failed

Triggered when a build fails

Deployment Build Canceled

Triggered when a build is canceled

Deployment CodePush Created

Triggered when a new CodePush operation is started

Deployment CodePush Succeeded

Triggered when a CodePush operation completes successfully

Deployment CodePush Failed

Triggered when a CodePush operation fails

Deployment CodePush Canceled

Triggered when a CodePush operation is canceled

Distribution Created

Triggered when a new distribution operation to the stores is started

Distribution Succeeded

Triggered when a distribution completes successfully

Distribution Failed

Triggered when a distribution fails

Distribution Canceled

Triggered when a distribution is canceled

Active

Toggle this option to indicate whether the webhook is active.

  • Only active webhooks will be triggered during event execution.

  • You can deactivate a webhook at any time without deleting it.

Headers (Optional)

If the receiving service requires additional headers (e.g., authentication, content-type), you can define them here.

  • Headers should be provided as key-value pairs.

  • This field is optional, but highly useful for integrations with APIs that require tokens or specific formats.

Webhook Payload

After processing, the following data is sent as the body in webhooks triggered by the POST method.

Payload Data for Deployment

{
    eventKey: string;
    status: 'succeeded' | 'failed' | 'canceled' | 'pending';
    type: 'deployment';
    os: 'ios' | 'android' | 'huawei';
    userName: string;
    projectName: string;
    tag: string;
    description: string;
    envVersion: string;
    target: 'production' | 'staging';
    deploymentId: string;
    deploymentType: 'build' | 'code-push';
    startedAt: string | null;
    completedAt: string | null;
    createdAt: string;
    issues: {
        type: 'error' | 'warning';
        message: string;
    }[]
}

Payload Data for Distribution

{
    eventKey: string;
    status: 'succeeded' | 'failed' | 'canceled' | 'pending';
    type: 'distribution';
    storeType: 'apple-app-store' | 'google-play'; 
    userName: string;
    projectName: string;
    distributionId: string;
    startedAt: string | null;
    completedAt: string | null;
    createdAt: string;
    issues: {
        type: 'error' | 'warning';
        message: string;
    }[]
}

Last updated

Was this helpful?