Skip to main content

App Monitors

Octory can monitor applications and packages installed via Jamf, AirWatch (Workspace ONE), Intune, Munki, Scripts, and via VPP (or other services that use the App Store). To ask Octory to monitor an application or package installation, you add an item in the Monitors array in the configuration file.

info

To use Munki monitoring, set the Monitor Installer key as AirWatch and specify the paths to the corresponding Munki log files (located in /Library/Managed Installs/Logs/Install.log & /Library/Managed Installs/Logs/ManagedSoftwareUpdate.log) in the keys AirWatchInstallLogPath and AirWatchManagedSoftwareUpdateLogPath.

To see the monitoring in action, add an AppMonitor component to a container. You can find examples in the Webview fullscreen presets.

Keys

NameTypePossible valuesRequired
TypeStringApplicationRequired
NameString-Required
InstallerStringJamf, AirWatch, Intune, System, ManagedRequired
DetailString-
DisplayNameString-
GenerateVariableBoolean-
IconURLString-
IdentifierString-
IsMandatoryBoolean-
PolicyIDString-
Condition PROString-

Detail

Type Required

Type: String
Possible values: Application
Explanation: Monitor type has to be Application.

Name Required

Type: String
Explanation: The name of the application or package as it will appear in the MDM log or in the /Applications folder for App Store downloads. You have to ensure that the value of this key is contained in the name of the installed package or application.

Installer Required

Type: String
Possible values: Jamf, AirWatch, Intune, System, Managed
Explanation: This key details the options for indicating the installation method of an application. If Jamf or AirWatch is used for direct installation, select either the "Jamf" or "AirWatch" option, respectively. For installations via the App Store, such as those using the Volume Purchase Program (VPP), select the "System" option. To inform Octory that the installation states will be managed and updated by the octo-notifier, choose the "Managed" option. It should be noted that the "Intune" key is specifically designed to monitor installations of applications using the macOS app (DMG) or macOS app (PKG) type.

Detail

Type: String
Explanation: Description text displayed under the name or display name in the AppMonitoring component.

DisplayName

Type: String
Explanation: The name which will be displayed to the user in the AppMonitoring component. Otherwise, it’s the Name key which is displayed, or the Identifier key if specified.

GenerateVariable

Type: Boolean
Explanation: If set to true, the application will generate a variable for this monitor, associated to its current installation state. This variable can then be used as any other in a action or to be watched in the logs. The format is [NAME]_INSTALLATION_STATE and thus can take 4 values “Installing”, “Installed”, “Not installed”, “Installation failed”.
For example with “Microsoft_Teams” for the Name key, this could give: MICROSOFT_TEAMS_INSTALLATION_STATE: Installing

IconURL

Type: String
Explanation: Let you specify a local or online URL for the icon to be shown in the AppMonitoring component. Octory will use a generic icon image if not specified.

Identifier

Type: String
Explanation: The bundle identifier used by the system to download an application from the Mac App Store. Useful only when installing VPP applications which are not downloaded directly in the /Applications folder (like Microsoft applications for example). Example: com.microsoft.Word

IsMandatory

Type: Boolean
Default: true
Explanation: When set to false, the app monitor will be displayed in the AppMonitoring component but will not prevent the overall installation to be marked as complete and thus the app to be terminated when not all app monitors are installed.

PolicyID

Type: String
Explanation: This key is specifically applicable for scenarios where the Installer key is set to Intune. In such cases, instead of utilizing the Name key to monitor app installation processes, the PolicyID will be employed as the primary tracking identifier.

info

The PolicyID of an application can be found in the URL.

Condition PRO

Type: String
Explanation: Conditions to display which app installation should be shown in AppMonitoring component. When the condition evolves, an animation occurs in the AppMonitoring component to insert or remove the component. More information on conditions.

Example

Monitor for the application Things, installed via VPP. The App Store identifies the application as Things3 so it’s the one written here. The name displayed to the user is Things.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- ... -->
<key>Monitoring</key>
<dict>
<key>Monitors</key>
<array>
<dict>
<key>Type</key>
<string>Application</string>
<key>Name</key>
<string>Things3</string>
<key>DisplayName</key>
<string>Things</string>
<key>Detail</key>
<string>Your soon favorite To-do list</string>
<key>Installer</key>
<string>System</string>
</dict>
</array>
</dict>
<!-- ... -->
</dict>
</plist>

Monitor for the application VMware Fusion, installed via Jamf. A placeholder is used to address the icon path.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- ... -->
<key>Monitoring</key>
<dict>
<key>Monitors</key>
<array>
<dict>
<key>Type</key>
<string>Application</string>
<key>Name</key>
<string>VMWareFusion</string>
<key>DisplayName</key>
<string>VMware Fusion</string>
<key>Installer</key>
<string>Jamf</string>
<key>IconURL</key>
<string>${AppIconsFolderPath}/VMWare.png</string>
</dict>
</array>
</dict>
<!-- ... -->
</dict>
</plist>

Monitor for the application Gimp, installed via AirWatch. The app name and the version are strictly identified by the Identifier key. The IconURL key addresses Wikipedia.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- ... -->
<key>Monitoring</key>
<dict>
<key>Monitors</key>
<array>
<dict>
<key>Type</key>
<string>Application</string>
<key>Identifier</key>
<string>Gimp-v2.10.4.pkg</string>
<key>DisplayName</key>
<string>Gimp</string>
<key>Detail</key>
<string>Less boring meetings</string>
<key>IconURL</key>
<string>https://upload.wikimedia.org/wikipedia/commons/thumb/4/45/The_GIMP_icon_-_gnome.svg/1024px-The_GIMP_icon_-_gnome.svg.png</string>
<key>Installer</key>
<string>AirWatch</string>
</dict>
</array>
</dict>
<!-- ... -->
</dict>
</plist>