---
title: "Notifications"
description: "Set up some live trading notifications so you're notified of your algorithm's performance. We support email, SMS, webhooks, and Telegram notifications."
canonical: https://www.quantconnect.com/docs/v2/cloud-platform/live-trading/notifications
markdown: https://www.quantconnect.com/docs/v2/cloud-platform/live-trading/notifications.md
language: python
source: https://github.com/QuantConnect/Documentation/tree/master/01%20Cloud%20Platform/10%20Live%20Trading/05%20Notifications
modified: 2026-10-31
index: https://www.quantconnect.com/llms.txt
---

# Notifications

[Documentation](https://www.quantconnect.com/docs/v2.md) > [Cloud Platform](https://www.quantconnect.com/docs/v2/cloud-platform.md) > [Live Trading](https://www.quantconnect.com/docs/v2/cloud-platform/live-trading.md) > Notifications

> Code examples are shown in Python. Append `?lang=csharp` to this URL for the C# version of this page.

## Introduction

Set up some live trading notifications so that you are notified of market events and your algorithm's performance. We support email, SMS, webhooks, and Telegram notifications. If you set up notifications in the deployment wizard, we will notify you when your algorithm places orders or emits insights. To be notified at other moments in your algorithm, [create notifications in your code files](https://www.quantconnect.com/docs/v2/writing-algorithms/live-trading/notifications.md) with the `NotificationManager`. Lean ignores notifications during backtests. To view the number of notification you can send for free, see the [Live Trading Notification Quotas](https://www.quantconnect.com/docs/v2/cloud-platform/organizations/resources.md#13-Live-Trading-Notification-Quotas).

## Email

Email notifications can include up to 10KB of text content in the message body. These notifications can be slow since they go through your email provider. If you don't receive an email notification that you're expecting, check your junk folders.

Follow these steps to set up email notifications in the deployment wizard:

1. On the Deploy Live page, enable at least one of the notification types.
   The following table shows the supported notification types:
   | Notification Type | Description |
   | --- | --- |
   | Order Events | Notifications for when the algorithm receives `OrderEvent` objects |
   | Insights | Notifications for when the algorithm emits `Insight` objects |
2. Click **Email**.
3. Enter an email address.
4. Enter a subject.
5. Click **Add**.
   To add more email notifications, click **Add Notification** and then continue from step 2.

## SMS

SMS notifications are the only type of notification that you don't need an internet connection to receive. They can include up to 1,600 characters of text content in the message body.

Follow these steps to set up SMS notifications in the deployment wizard:

1. On the Deploy Live page, enable at least one of the notification types.
   The following table shows the supported notification types:
   | Notification Type | Description |
   | --- | --- |
   | Order Events | Notifications for when the algorithm receives `OrderEvent` objects |
   | Insights | Notifications for when the algorithm emits `Insight` objects |
2. Click **SMS**.
3. Enter a phone number.
4. Click **Add**.
   To add more SMS notifications, click **Add Notification** and then continue from step 2.

## Telegram

Telegram notifications are automated messages to a Telegram group.

Follow these steps to set up Telegram notifications in the deployment wizard:

1. On the Deploy Live page, enable at least one of the notification types.
   The following table shows the supported notification types:
   | Notification Type | Description |
   | --- | --- |
   | Order Events | Notifications for when the algorithm receives `OrderEvent` objects |
   | Insights | Notifications for when the algorithm emits `Insight` objects |
2. Create a new Telegram group.
3. Add a bot to your Telegram group.
   To create a bot, chat with @BotFather and follow its instructions. If you want to use our bot, the username is @quantconnect_notifications_bot.
4. On the live deployment wizard, click **Telegram**.
5. Enter your user Id or group Id.
   Your group Id is in the URL when you open your group chat in the Telegram web interface. For example, the group Id of web.telegram.org/z/#-503016366 is -503016366.
6. If you are not using our notification bot, enter the token of your bot.
7. Click **Add**.
   To add more Telegram notifications, click **Add Notification** and then continue from step 2.

## Webhooks

Webhook notifications are an HTTP-POST request to a URL you provide. The request is sent with a timeout of 300s. You can process these notifications on your web server however you want. For instance, you can inject the content of the notifications into your server's database or use it to create other notifications on your own server.

Follow these steps to set up webhook notifications in the deployment wizard:

1. On the Deploy Live page, enable at least one of the notification types.
   The following table shows the supported notification types:
   | Notification Type | Description |
   | --- | --- |
   | Order Events | Notifications for when the algorithm receives `OrderEvent` objects |
   | Insights | Notifications for when the algorithm emits `Insight` objects |
2. Click **Webhook**.
3. Enter a URL.
4. If you want to add header information, click **Add Header** and then enter a key and value.
   Repeat this step to add multiple header keys and values.
5. Click **Add**.
   To add more webhook notifications, click **Add Notification** and then continue from step 2.

### JSON Payload Schema

The webhook HTTP-POST request sends a JSON payload with the following schema:

| Property | Description |
| --- | --- |
| `ProjectName` | `string` Name of the project. |
| `ProjectId` | `integer` Id of the project. |
| `Insights` | `Insight Array` Collection of insights emitted since the last notification. See [Insight](https://www.quantconnect.com/docs/v2/cloud-platform/api-reference/live-management/read-live-algorithm/insights.md#03-Responses) for the schema of each object. |
| `OrderEvents` | `OrderEvent Array` Collection of order events since the last notification. For the conceptual model, see [OrderEvent in the API Reference](https://www.quantconnect.com/docs/v2/cloud-platform/api-reference/backtest-management/read-backtest/orders.md#03-Responses). The webhook serialization differs from the API response. See the Order Event Schema table below for the webhook-specific schema. |
| `Portfolio` | `Portfolio Array` Current portfolio holdings. See the Portfolio Schema table below for the schema of each object. |

### Order Event Schema

Each object in the `OrderEvents` array has the following properties:

| Property | Description |
| --- | --- |
| `OrderId` | `integer` Id of the order. |
| `Id` | `integer` Id of the order event. |
| `Symbol` | `object` Symbol information with `value` (ticker), `id` (symbol Id), and `permtick` (permanent ticker) properties. |
| `UtcTime` | `string` UTC time of the order event in ISO 8601 format. |
| `Status` | `integer` Order status. 1 = Submitted, 2 = PartiallyFilled, 3 = Filled, 5 = Canceled, 6 = Invalid, 7 = CancelPending, 8 = UpdateSubmitted. |
| `OrderFee` | `object` Order fee with a `Value` object containing `Amount` (number) and `Currency` (string) properties. |
| `FillPrice` | `number` Price at which the order was filled. |
| `FillPriceCurrency` | `string` Currency of the fill price. |
| `FillQuantity` | `number` Quantity filled in this event. |
| `Direction` | `integer` Order direction. 0 = Buy, 1 = Sell, 2 = Hold. |
| `IsAssignment` | `boolean` Whether the order is an option assignment. |
| `Quantity` | `number` Total quantity of the order. |

### Portfolio Schema

Each object in the `Portfolio` array has the following properties:

| Property | Description |
| --- | --- |
| `Ticker` | `string` Ticker of the holding. |
| `Quantity` | `number` Quantity held. |
| `AveragePrice` | `number` Average price of the holding. This property is not present for cash holdings. |
| `UnreazliedProfit` | `number` Unrealized profit of the holding. This property is not present for cash holdings. |

### Example

The following JSON shows an example webhook payload:

```
{
  "ProjectName": "My Algorithm",
  "ProjectId": 29064060,
  "Insights": [
    {
      "Id": "a0af97846797499dbd515753bdb73a0c",
      "GroupId": null,
      "SourceModel": "4a834e9d-f10f-4ebe-9fd9-df5fc509b0f8",
      "GeneratedTime": 1773767160.2239125,
      "CreatedTime": 1773767160.2239125,
      "CloseTime": 1777482360.2239125,
      "Symbol": "SPY R735QTJ8XC9X",
      "Ticker": "SPY",
      "Type": "price",
      "reference": 671.77,
      "ReferenceValueFinal": 0,
      "Direction": "up",
      "Period": 2592000,
      "Magnitude": null,
      "Confidence": null,
      "Weight": null,
      "ScoreIsFinal": false,
      "ScoreMagnitude": "0",
      "ScoreDirection": "0",
      "EstimatedValue": "0",
      "Tag": ""
    }
  ],
  "OrderEvents": [
    {
      "OrderId": 1,
      "Id": 1,
      "Symbol": {
        "value": "AAPL",
        "id": "AAPL R735QTJ8XC9X",
        "permtick": "AAPL"
      },
      "UtcTime": "2026-03-17T17:06:00.2239123Z",
      "Status": 3,
      "OrderFee": {
        "Value": {
          "Amount": 1,
          "Currency": "USD"
        }
      },
      "FillPrice": 254.05,
      "FillPriceCurrency": "USD",
      "FillQuantity": 130,
      "Direction": 0,
      "IsAssignment": false,
      "Quantity": 130
    }
  ],
  "Portfolio": [
    {
      "Ticker": "AAPL",
      "Quantity": 130,
      "AveragePrice": 254.05,
      "UnreazliedProfit": -4.9
    },
    {
      "Ticker": "USD",
      "Quantity": 34053.79
    }
  ]
}
```

## Quotas

The number of email, Telegram, or webhook notifications you can send in each live algorithm for free depends on the tier of your organization. The following table shows the hourly quotas:

| Tier | Number of Notifications Per Hour |
| --- | --- |
| Free | N/A |
| Quant Researcher | 20 |
| Team | 60 |
| Trading Firm | 240 |
| Institution | 3,600 |

If you exceed the hourly quota, each additional email, Telegram, or webhook notification costs 1 [QuantConnect Credit](https://www.quantconnect.com/docs/v2/cloud-platform/organizations/credit.md) (QCC).

Each SMS notification you send to a US or Canadian phone number costs 1 QCC. Each SMS notification you send to an international phone number costs 10 QCC.

## Terms of Use

The notification system can't be used for data distribution.
