> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appreply.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Alert destinations

> Send review alerts to Slack, Discord, Telegram, Teams, or custom webhooks

Destinations control where your alert notifications get delivered. You can attach multiple destinations to a single rule, and reuse the same destination across different rules.

All destination credentials are stored encrypted. Every destination type includes a **Test** button to verify delivery before you activate any rules.

## Slack

Send alert notifications to a Slack channel as formatted block messages with review details, star rating, app name, and a direct link to the review in the store.

<Steps>
  <Step title="Create a Slack webhook">
    In your Slack workspace, go to **Settings & administration > Manage apps > Incoming Webhooks** and create a new webhook. Choose the channel where you want alerts to appear.
  </Step>

  <Step title="Copy the webhook URL">
    Slack generates a URL that looks like `https://hooks.slack.com/services/T.../B.../...`. Copy it.
  </Step>

  <Step title="Add the destination in AppReply">
    Go to **Alerts > Destinations**, click **Add destination**, select **Slack**, and paste your webhook URL. Give it a name like "eng-alerts" so you can identify it later.
  </Step>

  <Step title="Test the connection">
    Click **Test** to send a sample notification. Check your Slack channel to confirm it arrived.
  </Step>
</Steps>

<Tip>
  Create separate Slack webhooks for different channels if you want to route low-rating alerts to your engineering channel and positive reviews to your marketing channel.
</Tip>

## Discord

Send alert notifications to a Discord channel as rich embeds with color coding based on the review rating.

<Steps>
  <Step title="Create a Discord webhook">
    In your Discord server, right-click the target channel and select **Edit Channel > Integrations > Webhooks**. Click **New Webhook**.
  </Step>

  <Step title="Copy the webhook URL">
    Click **Copy Webhook URL**. The URL looks like `https://discord.com/api/webhooks/...`.
  </Step>

  <Step title="Add the destination in AppReply">
    Go to **Alerts > Destinations**, click **Add destination**, select **Discord**, and paste your webhook URL.
  </Step>

  <Step title="Test the connection">
    Click **Test** to send a sample embed. Check your Discord channel to confirm it arrived with proper formatting and color coding.
  </Step>
</Steps>

## Telegram

Connect a Telegram chat or group to receive HTML-formatted alert messages through the AppReply bot.

<Steps>
  <Step title="Start the connection">
    Go to **Alerts > Destinations**, click **Add destination**, and select **Telegram**. AppReply generates a deep link.
  </Step>

  <Step title="Open the link in Telegram">
    Click the deep link, which opens Telegram and connects your chat or group to the AppReply bot. Press **Start** in the Telegram chat to complete the connection.
  </Step>

  <Step title="Confirm in AppReply">
    Return to AppReply. The destination should show as connected. Click **Test** to send a sample message.
  </Step>
</Steps>

<Warning>
  The Telegram connection link expires after 15 minutes. If it expires, generate a new one from AppReply.
</Warning>

## Microsoft Teams

Send alert notifications to a Microsoft Teams channel via an Incoming Webhook connector.

<Steps>
  <Step title="Create a Teams webhook">
    In your Teams channel, click the **...** menu and select **Connectors** (or **Workflows**, depending on your Teams version). Add an **Incoming Webhook** connector and give it a name.
  </Step>

  <Step title="Copy the webhook URL">
    Teams generates a webhook URL. Copy it.
  </Step>

  <Step title="Add the destination in AppReply">
    Go to **Alerts > Destinations**, click **Add destination**, select **Microsoft Teams**, and paste your webhook URL.
  </Step>

  <Step title="Test the connection">
    Click **Test** to verify the notification appears in your Teams channel.
  </Step>
</Steps>

## Custom webhook

Send raw JSON payloads to any HTTP endpoint. This is useful for integrating with internal tools, logging systems, or automation platforms like Zapier and Make.

<Steps>
  <Step title="Enter your endpoint URL">
    Go to **Alerts > Destinations**, click **Add destination**, select **Custom webhook**, and enter the URL of your endpoint.
  </Step>

  <Step title="Test the connection">
    Click **Test** to send a sample payload. Your endpoint should return a 2xx status code to confirm receipt.
  </Step>
</Steps>

### Payload format

AppReply sends a `POST` request with the following JSON body:

```json theme={null}
{
  "event": "review_alert",
  "timestamp": "2026-04-08T12:00:00Z",
  "rule": {
    "id": "...",
    "name": "Low rating alert"
  },
  "application": {
    "id": "...",
    "name": "My App",
    "platform": "google_play"
  },
  "review": {
    "id": "...",
    "rating": 1,
    "text": "App keeps crashing...",
    "language": "en",
    "country": "us",
    "created_at": "2026-04-08T11:55:00Z",
    "translated_text": "...",
    "is_update": false,
    "previous_rating": null
  },
  "organization": {
    "id": "...",
    "name": "My Org"
  }
}
```

The `translated_text` field is included only when the alert rule has translation enabled. The `is_update` field indicates whether the review is an edit of a previous review, and `previous_rating` contains the old rating if it changed.

### Retry logic

If your endpoint returns a non-2xx status code or the request times out, AppReply retries the delivery. Failed attempts are logged in the [Activity tab](/review-management/alerts#activity-history) with error details.

<CardGroup cols={2}>
  <Card title="Alerts" icon="bell" href="/review-management/alerts">
    Create rules and manage alert conditions
  </Card>

  <Card title="Review feed" icon="table-columns" href="/review-management/review-feed">
    Filter and manage your reviews
  </Card>
</CardGroup>
