> For the complete documentation index, see [llms.txt](https://docs.bluefletch.com/bluefletch-enterprise/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bluefletch.com/bluefletch-enterprise/product-guides/portal/enterprise-launcher/sending-a-notification.md).

# Sending a Notification

## User Guide: Launcher Tab <a href="#user-guide-enterprise-launcher-tab" id="user-guide-enterprise-launcher-tab"></a>

### Sending A Notification <a href="#sending-a-notification" id="sending-a-notification"></a>

The Notifications screen lets an administrator send a test notification to devices. Messages are delivered over an [MQTT topic](https://docs.bluefletch.com/bluefletch-enterprise/product-guides/device-applications/messaging/technical-guide#sending-messages), and the device displays the notification based on the JSON message submitted

Use the following steps to send a notification to the devices:

1. Navigate to ***Enterprise Launcher*** and select ***Notifications***.
2. Enter a destination for the notification. This is the MQTT topic (device, store, role, or group) that determines which devices receive the message.&#x20;
3. Edit the contents of the JSON message. See Notification Body for the field descriptions and a sample notification body.
4. Click ***SEND*** to send the notification.&#x20;

### Notification Body

| Field          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| notificationId | **number** indicates the Notification Id. Should be unique per notification. Can use the same Id to replace an existing message being displayed                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| contentTitle   | **string** Title of the message to display                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| contentText    | **string** Text of the message body                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| expandedTitle  | **string** Expanded Text of the Message body                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| expandedText   | **array** Array of string to display in the expanded message                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| packageName    | **string** Represents the package to invoke if the message display is press by the user                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| intentAction   | **string** Represents the ACTION to invoke if the message display is pressed by the user                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| intentExtras   | **array** Array of Intent Objects to insert within the intent posted when if the message display is pressed by the user                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| autoCancel     | **boolean** true/false, allow the user to dismiss the message                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| onGoing        | **boolean** true/false,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| useSound       | <p><br><strong>boolean</strong> true/false,</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| useHeadsUp     | <p><br><strong>boolean</strong> true/false</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| soundName      | **string** Optional parameter to specify a custom audio file on the device for notifications if **useSound=true AND useHeadsUp=true**. *Example strings:* If using local file path: *`"/sdcard/Download/ems/MyRingTone"`*, where the file `/sdcard/Download/ems/MyRingTone.mp3` exists on the device (note to not include the file extension in the field value). If using assets: *`"soundName": "assets:message_tone"`*, where an [asset](https://docs.bluefletch.com/bluefletch-enterprise/product-guides/bluefletch-launcher/launcher3/configurable-layouts/assets-manager) exists in the launcher.json such as `"message_tone": "https://example-file-hosting-site.com/MyRingTone.mp3"`. |

#### Example Notification Body

```json
{
    "notificationId": 6001,
    "contentTitle": "Customer Phone Call",
    "contentText": "Call Jenny",
    "expandedTitle": "",
    "expandedText": [],
    "packageName": "com.android.dialer",
    "intentAction": "android.intent.action.CALL",
    "intentExtras": [
        {
            "key": "DATA",
            "value": "tel://8675309"
        }
    ],
    "autoCancel": true,
    "onGoing": false,
    "useSound": true,
    "useHeadsUp": false
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.bluefletch.com/bluefletch-enterprise/product-guides/portal/enterprise-launcher/sending-a-notification.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
