Preference Keys - Catalog Agent

This article describes all available preference keys for the App Catalog Agent, responsible for installing and updating apps.

Last updated 17 days ago

Preference domain

When creating the Configuration Profile, the preference domain must be set to: nl.root3.catalog

Keys

authorization (required)

The authorization key is required for the App Catalog to communicate with the backend service. Required for both the Catalog Agent and Catalog App. You can obtain your authorization key in your Profile.

Key: authorization

Value type: String

Default: -

Example
<key>authorization</key> <string>AUTHORIZATION_CODE</string>

AllowedDeferralsInDays

This key allows you to customize the number of days a user can defer an app update. For more information, please check out User deferrals & interaction.

Key: AllowedDeferralsInDays

Value type: Integer

Default: 3

Availability: App Catalog 1.9.0 and higher

Example
<key>AllowedDeferralsInDays</key> <integer>7</integer>

AllowUpdatesContrainedNetworks

By default, the update schedule will not perform updates if the Mac is connected to a Personal Hotspot or another expensive or constrained network, such as when Low Data Mode is enabled. Updating apps can be an expensive network activity and not desirable while using cellular data or when bandwidth is limited. Enabling this setting will overrule this behaviour and always update, regardless of the network type.

Key: AllowUpdatesContrainedNetworks

Value type: Boolean

Default: false

Example
<key>AllowUpdatesContrainedNetworks</key> <true/>

DelayAppUpdates

Delay rules allow granular control over which updates are delayed and for how many days. These rules can be very simple or very complex, based on your needs. Rules are evaluated from top to bottom in the Configuration Profile. The first rule that matches an app's Bundle ID will be applied. More information: Delaying app updates

Key: DelayAppUpdates

Value type: Array of dictionaries

Dictionary value types:

  • BundleID (required): String, a valid app Bundle Identifier (Get an app Bundle Identifier) or wildcard.

  • Days (required): Integer, number of days to delay.

Default: -

Examples:

Delay all app updates for 3 days:

Example
<key>DelayAppUpdates</key> <array> <dict> <key>BundleID</key> <string>*</string> <key>Days</key> <integer>3</integer> </dict> </array>

ExcludeAppsUpdate

By default, all installed apps are checked against apps in the App Catalog and updated as part of the update schedule. To exclude apps from the update schedule, add all the Bundle Identifiers from https://portal.appcatalog.cloud/catalog to this preference.

Key: ExcludeAppsUpdate

Value type: Array of strings

Default: -

Example:

Example
<key>ExcludeAppsUpdate</key> <array> <string>com.google.Chrome</string> <string>org.mozilla.firefox</string> </array>

HideUpdateNotifications

By default, update notifications are displayed to the end user. Setting this key to false disables update notifications.

Key: HideUpdateNotifications

Value type: Boolean

Default: false

Example:

Example
<key>HideUpdateNotifications</key> <true/>

IncludeAppsUpdate

By default, all installed apps are checked against apps in the App Catalog and updated as part of the update schedule. To only update specific apps, you can specify rules in the IncludeAppsUpdate key. These rules can be very simple or more complex, based on your needs. Rules are evaluated from top to bottom in the Configuration Profile. The first rule that matches an app's Bundle ID will be applied.

Key: IncludeAppsUpdate

Value type: Array of strings

Default: -

Examples:

Update only apps from Mozilla, Google and the Root3 Support App:

Example
<key>IncludeAppsUpdate</key> <array> <string>org.mozilla.*</string> <string>com.google.*</string> <string>nl.root3.support</string> </array>

MandatoryApps

The preference key MandatoryApps enables you to configure a set of apps (Bundle IDs) that must always be installed on a device. An enforcement system checks these apps hourly and reinstalls them if theyโ€™re removed. This feature simplifies device enrollment and the initial installation of apps without dependencies from the MDM solution other than a Configuration Profile. It especially simplifies deployments using MDM solutions like Microsoft Intune. More information: Mandatory Apps

Key: MandatoryApps

Value type: Array of strings

Default: -

Availability: macOS 14+

Example:

Example
<key>MandatoryApps</key> <array> <string>nl.root3.support</string> <string>com.microsoft.edgemac</string> <string>com.openai.chat</string> <string>com.google.Chrome</string> <string>com.microsoft.wdav</string> </array>

NotificationTitle

By default, app installs or updates will generate a user notification in Notification Center. This notifications contains an optional title shown at the top of the notification. You can configure this title to your organization's name or another title that makes sense to the user.

Key: NotificationTitle

Value type: String

Default: -

Example:

Example
<key>NotificationTitle</key> <string>Acme Inc.</string>

Reference

You can create multiple Configuration Profiles and configure a reference for each. Using a reference will shows results for the computers associated with this reference in the App Catalog Dashboard.

Key: Reference

Value type: String

Default: -

Example:

Example
<key>Reference</key> <string>Development</string>

TeamViewerHostID

The App Catalog has an integration with TeamViewer Host to apply your organization's custom configuration. To use this integration, the unique Configuration ID from the TeamViewer Management Console. Check Get TeamViewer Configuration ID for instructions how to get this value.

Key: TeamViewerHostID

Value type: String

Default: -

Example:

Example
<key>TeamViewerHostID</key> <string>idcXXXXXXX</string>

TeamViewerQuickSupportID

The App Catalog has an integration with TeamViewer QuickSupport to apply your organization's custom configuration. To use this integration, the unique Configuration ID from the TeamViewer Management Console. Check Get TeamViewer Configuration ID for instructions how to get this value.

Key: TeamViewerQuickSupportID

Value type: String

Default: -

Example:

Example
<key>TeamViewerQuickSupportID</key> <string>idcXXXXXXX</string>

UpdateDeferrals (deprecated)

This key allows you to customize the maximum number of deferrals if an application requires user interaction to start the update. This key is no longer respected in App Catalog 1.9.0 and higher. For deferrals, we recommend using the new AllowedDeferralsInDays to set time-based deferrals in days.

Key: UpdateDeferrals

Value type: Integer

Default: 3

Example:

Example
<key>UpdateDeferrals</key> <integer>2</integer>

UpdateInterval

This key enables an automatic update schedule to update all available app updates. When configured to 1, hourly automatic app-updates are enabled. More info is available here: Updating Apps

Starting with App Catalog 1.9.0, updates are checked hourly. A value higher value than 1 forUpdateInterval is interpreted as 1. For example, a value of 3 enabled auto-updates on a hourly basis.

Key: UpdateInterval

Value type: Integer

Default: -

Example:

Example
<key>UpdateInterval</key> <integer>1</integer>