> 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/support-application/technical-guide.md).

# Technical Guide

The table shows the configuration options available in the Support Agent table. It contains settings for the Find Me feature, active location tracking, and custom log file submission. The default values for each setting are laid out. It also provides information on when each configuration was introduced.

The following key-value pairs may be defined within the launcher.json object `emsSupportTool` (Launcher 3.x.x) or `bfSupportAgent` (Launcher 4.x.x).

| Field                          | Description                                                                                                                                                                                                                                                                                                                                    |
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| eventUrl                       | **string** Url to send event information. By default sends to BlueFletch Enterprise.                                                                                                                                                                                                                                                           |
| eventAuthKey                   | **string** Auth token key name, for use with posting events Azure.                                                                                                                                                                                                                                                                             |
| eventAuth                      | **string** Auth key value, for use with posting events to Azure.                                                                                                                                                                                                                                                                               |
| logUrl                         | **string** Host URL to be used when submitting device application logs.                                                                                                                                                                                                                                                                        |
| loggingLevel                   | **string** Internal logging level. info, debug, error, warn. Default is 'info'.                                                                                                                                                                                                                                                                |
| useSplunk                      | **boolean** If desired, the events can be sent directly to Splunk. The eventUrl would need to be overwritten to point to Splunk. This will cause Support tool to send events ONLY to Splunk. Default is false.                                                                                                                                 |
| splunkUrl                      | **string** Used for forwarding events to Splunk as well as normal event url. This should be the Host/Port of the Splunk Event Collector.                                                                                                                                                                                                       |
| splunkAuthToken                | **string** Auth token defined within the Splunk Event Collector.                                                                                                                                                                                                                                                                               |
| splunkLogAuth                  | **string** Splunk auth token used when submitting application logs to Splunk.                                                                                                                                                                                                                                                                  |
| splunkSource                   | **string** If using Splunk, if desired, use this field to identify the source.                                                                                                                                                                                                                                                                 |
| splunkSourceType               | **string** If using Splunk, if desired, use this field to identify the source type.                                                                                                                                                                                                                                                            |
| splunkApiPath                  | **string** If using Splunk, if desired, use this field to identify the additional path into API. Example: 'services/collector/raw'.                                                                                                                                                                                                            |
| splunkApiLogPath               | **string** The Splunk collector path used when submitting device logs to Splunk.                                                                                                                                                                                                                                                               |
| ignoreSSLCerts                 | **boolean** indicates to ignore SSL Certificate issues during Splunk event posting. Default is false.                                                                                                                                                                                                                                          |
| loggingConnection              | **string** Connection information on uploading to AZURE blob storage.                                                                                                                                                                                                                                                                          |
| loggingContainer               | **string** AZURE Blob Storage Container name.                                                                                                                                                                                                                                                                                                  |
| detailedNetwork                | **boolean** Allows for detailed network reporting. Default is false.                                                                                                                                                                                                                                                                           |
| detailedCellularChanges        | **boolean** Allows for detailed cellular change reporting. Determines if a detailed event of cellular information is reported when cellular strength changes.                                                                                                                                                                                  |
| installAppsUncradled           | **boolean** If the Device is Un-cradled, and this flag is true, will send the Installed Applications event. Default is true.                                                                                                                                                                                                                   |
| installAppsOnBoot              | **boolean** During Reboot processing, if the device is un-cradled, and this flag is true, will send the Installed Applications event. Default is true.                                                                                                                                                                                         |
| reportSystemApps               | **boolean** During Installed application processing, indicates to generate the Installed System Application event. Default is false.                                                                                                                                                                                                           |
| heartBeatTimerMinutes          | **integer** Heartbeat event is fired every x minutes. The value of this parameter can not be less than 10 minutes. Default is 20.                                                                                                                                                                                                              |
| samplingTimer                  | **integer** Application sampling timer. Timer runs to track which application is in the foreground. Value is represented in seconds. Default is 1800.                                                                                                                                                                                          |
| lowStorageTimer                | **integer** Alarm setting for low storage checking. The number of seconds before firing the alarm. Default is 14400.                                                                                                                                                                                                                           |
| collectTopBandwidthHour        | **integer** The hour of the day when Topbandwidth event should be sent. Default is 3.                                                                                                                                                                                                                                                          |
| collectTopBandwidth            | **boolean** Should the topbandwitdh event be sent. Default is false.                                                                                                                                                                                                                                                                           |
| maxReturnedBackgroundProcs     | **integer** Number of background processes to track. Used within UI display processing. Default is 5.                                                                                                                                                                                                                                          |
| maxDaysToSave                  | **integer** Max Days to keep event data. Value is represented in days. Default value is 31.                                                                                                                                                                                                                                                    |
| maxDaysEventsSave              | **integer** Max Days to keep Non-Posted Event data. If no Network or no Org ID for 10 days, the data is thrown away. Default value is 10.                                                                                                                                                                                                      |
| eventProcessPhone              | **boolean** If true, Support Tool generates phone events when phone calls are received.                                                                                                                                                                                                                                                        |
| speedTestUrl                   | **string** The URL used for speed test processing.                                                                                                                                                                                                                                                                                             |
| speedTestPing                  | **string** The URL used for PING during Speed test.                                                                                                                                                                                                                                                                                            |
| orgId                          | **string** For reporting purposes, the organization Id that the events belong to.                                                                                                                                                                                                                                                              |
| orgPhone                       | **string** Organization support phone number. Displayed within Help Desk UI.                                                                                                                                                                                                                                                                   |
| orgTicketUrl                   | **string** Organization Support Ticket URL. Used within Help Desk UI.                                                                                                                                                                                                                                                                          |
| orgTicketBrowser               | **string** Package name for an alternative browser to override the default browser displaying `orgTicketUrl`.                                                                                                                                                                                                                                  |
| helpAdminHash                  | **string** Admin password used for Device actions (factory reset, wifi reapply).                                                                                                                                                                                                                                                               |
| allowPhone                     | **boolean** Indicates allow the Help Desk Calling to be used. Default is true.                                                                                                                                                                                                                                                                 |
| dateTimeFormat                 | **string** A format string for displaying Date / Time. Marshmallow has a bug that does not allow the user to change the format, this is to get around that bug. Default is "yyyy-MM-dd 'at' HH:mm:ss zzz".                                                                                                                                     |
| findMeAutoEnabled              | **boolean** Enables Auto Find Me (low battery alarm only) if true. If false, low battery alarm will not sound, but Find Me pings from the Portal will still sound. Default is true.                                                                                                                                                            |
| findMePlayMedia                | **boolean** For the Find Me Feature, Play Media (true) or play a Notification Sound (false). Default is true.                                                                                                                                                                                                                                  |
| findMePlayInternalMedia        | **boolean** If true, will play the internal Media, otherwise uses the information defined in findMeExtenalMedia. Default is true.                                                                                                                                                                                                              |
| findMeTimeToPlay               | **integer** For LONG plays, the number of minutes to play. Default is 10.                                                                                                                                                                                                                                                                      |
| findMeTimeToPlayShort          | **integer** For short sound notifications, the number of minutes to play. Short is defined by Low Battery notification or battery notifications under Warning level value. Default is 1.                                                                                                                                                       |
| findMeExternalMedia            | **string** A path to external media to play during the Find Me notification.                                                                                                                                                                                                                                                                   |
| findMeBatteryLevelWarning      | **integer** The battery level to start sending Find Me notifications and play a Short sound. This is different than the systems Low Battery action. Default is 10. As of version 5.20.31, if the setting is 0 (zero), then Support Agent will use Device Low battery level value for determining if Find Me notifications should be processed. |
| findMeLowBatteryExternalMedia  | **string** A path to external media to play during the Low Battery notification. Introduced in 5.15.5.                                                                                                                                                                                                                                         |
| findMeIgnoreScreenState        | **boolean** Ignore Screen State. If the value is false, Support Agent will NOT play an alert sound when the screen is on (only a visual message is presented to the user). If the value is true, Support Agent will ignore the screen state and will always play the sound. The default state is set to true.                                  |
| findMeMovementThresholdSeconds | **integer** Wait for given number of seconds of non-movement before playing, 0 to disable. Default is 0 (disabled).                                                                                                                                                                                                                            |
| findMeStopAlertOnMotion        | **boolean** Stop Alerting if Motion. If true and the alert is happening and the device is moving, turn alert off. Default is false.                                                                                                                                                                                                            |
| findMeAlarmVolume              | **integer** This allows for changing the Find Me alarm volume. Is a value from 50 to 100 and represents percentage of max volume. Default is 100. Introduced in 5.15.5.                                                                                                                                                                        |
| findMeLowBatteryAlarmVolume    | **integer** This allows for changing the Low Battery alarm volume. Is a value from 50 to 100 and represents percentage of max volume. Default is 100. Introduced in 5.15.5.                                                                                                                                                                    |
| activeLocationTracking         | **boolean** Active Location Tracking enabled. Default is true. Introduced in version 5.6.2.                                                                                                                                                                                                                                                    |
| activeLocationIntervalSeconds  | **integer** If `activeLocationTracking` is `true`, GPS Active Location Tracking will be invoked at this interval (in seconds) if no movement has been detected from the device during that time. Default is 10. Introduced in version 5.6.2.                                                                                                   |
| activeLocationMinDistance      | **integer** Minimum distance change, in meters, for GPS update to occur. Default is 1. Introduced in version 5.6.2.                                                                                                                                                                                                                            |
| [submitLogs](#submitlogs)      | **object** Defines custom log file submission. Used if desire to upload log files from other applications to Splunk or Azure Blob Storage.                                                                                                                                                                                                     |
| allowSpeedTestUI               | **boolean** Used to hide or show the Speed Test button in Dashboard. Default state is set to true.                                                                                                                                                                                                                                             |
| openAppFromNotification        | **boolean** Indicates if the Support Application can be opened from the Notification Tray pull down. Default state is set to true. Introduced in 5.20.31. When set to false, Support Agent will not open via the tray. Device reboot required for this setting to take effect.                                                                 |
| [settings](#settings)          | **object** Additional settings for controlling features within the Support Application                                                                                                                                                                                                                                                         |

### settings <a href="#settings" id="settings"></a>

This block of settings are for controlling newer Support Agent features.

| Field                              | Description                                                                                                                                                                                                  |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| networkStatsEnabled                | **boolean** Network Statistic processing enabled. Valid values are `true` and `false`. Default is `true`.                                                                                                    |
| networkStatsInterval               | **integer** If `networkStatsEnabled` is `true`, represents the number of hours to wait before sampling network statistics. Default is `1` (every hour).                                                      |
| networkStatsUploadInterval         | **integer** if `networkStatsEnabled` is `true`, indicates how many hours to wait before uploading the Network sampling. Default is `4` (every 4 hours).                                                      |
| lowBatteryAlarmDismissDelayMinutes | **integer** Represents a number of minutes to delay before redisplaying the Low Battery Alarm if the device is not charging and the prior alarm was dismissed. Default is `5`. Set to `0` (zero) to disable. |

### submitLogs <a href="#submitlogs" id="submitlogs"></a>

The submitLogs table controls the settings for uploading log files from other applications to Splunk or Azure. The table includes settings for enabling or disabling log file submission, specifying the directories to be uploaded, and setting the hours of the day when the log files should be uploaded.

| Field                          | Description                                                                                                                                                                                                  |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| enabled                        | **boolean** Are log submission files enabled. Valid values are "true" and "false", defaults to "false".                                                                                                      |
| alarmEnabled                   | **boolean** If should upload log files at a certain time interval. Valid values are "true" and "false", defaults to "false".                                                                                 |
| hourOfDayToSend                | **integer** If alarmEnabled, this indicates the hour of the day to send the log files                                                                                                                        |
| sendOnBoot                     | **boolean** Should log files be sent on boot of the device. Valid values are "true" and "false", defaults to "false".                                                                                        |
| [directories](#logdirectories) | **object** Array of Log Directory objects, that indicate what should be uploaded. **NOTE** This only works on Android 10 and below, as Support Application will not have access to parts of the file system. |
| multipleHoursOfDayToSend       | **string** If alarmEnabled, this indicates the hour(s) of the day which logs will be sent between 0 and 23. Based on the device time and repeats daily.                                                      |

#### directories

The directories table within the [submitLogs](#submitlogs) object stores information about the log files that should be submitted to Splunk or Azure. By configuring the settings in the table, you can ensure that the log files are uploaded to the desired destination at the desired time.

| Field       | Description                                                                                                                                                                         |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| application | **string** Name of the Application. If sending to splunk will be used as the sourceType.                                                                                            |
| location    | **string** Path on the device where the log files exist. **NOTE** This only works on Android 10 and below, as Support Application will not have access to parts of the file system. |
| files       | **string** Name of the file to upload. This can be represented as a regular expressiion.                                                                                            |
| extractor   | **string** If a custom extractor is needed to reformat the data. Currently on CSV reformatting is supported.                                                                        |

### Configuring Log File Submissions

In the sample configuration below, you can set when and where the log files are uploaded. If submitLogs is set to true, it will enable log file submission. When log file submission fails, there won't be any notification alert if alarmEnabled is set to false. When the device boots up and sendOnBoot is set to false, log files won't be automatically uploaded. Use the example below as a guide:

```json
"submitLogs": {
    "enabled" :  true,
    "alarmEnabled" :  false,
    "sendOnBoot": false,
    "multipleHoursOfDayToSend": "2, 4, 5, 23",
    "directories" : [
        {
            "application": "rxlogger.resources",
            "location": "/sdcard/RxLogger/",
            "files": "(.)Resource(.)_+([1-9]|[0-9][0-9])+\\.csv",
            "extractor": "rxloggercsv"
        },
        {
            "application": "rxlogger.snapshots",
            "location": "/sdcard/RxLogger/snapshots/",
            "files": "(.)snapshot(.)\\.txt"
        },
        {
            "application": "rxlogger.system",
            "location": "/sdcard/RxLogger/",
            "files": "(.*)System+([0-9]|[0-9][0-9])+\\.txt"
        }
    ]
}
```


---

# 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/support-application/technical-guide.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.
