Preference Structure
The configuration profile is comprised of three main preference dictionaries; the General Options, the Scheduled Update Prompt Options and the Forced Update Prompt Options.
Schema Preference Key Guide
General Options
Activation Token
Activation Token
activationTokenPublic Key
Public Key
publicKeyEnable Compliance Reporting
Enable Compliance Reporting
enableReportingtrue by default.Allow Background Updates
Allow Background Updates
backgroundUpdatestrue by default.Allow Scheduled Update Prompts
Allow Scheduled Update Prompts
updatePromptstrue by default.Download Stagger Window
Download Stagger Window
downloadStaggerWindow60 by default.Automatic Self Updates
Automatic Self Updates
autoUpdatetrue by default.Automatically Install AppBar
Automatically Install AppBar
autoInstallAppBartrue by default.Enable Liquid Glass Effect
Enable Liquid Glass Effect
enableLiquidGlasstrue by default.Allowed Installs
Allowed Installs
allowedAppInstallsBy default, all Apps within the Zappl App Catalog are available for installs. If you prefer to limit which Apps can be installed by Zappl, specify the Apps you wish to allow in this array.You can specify as many unique identifiers as you wish, using the App Catalog unique identifiers for each App.
Example | Only Zoom, Google Chrome and Microsoft Excel are allowed installs and any other App installs will not be allowed via Zappl.
Excluded Installs
Excluded Installs
excludedAppInstallsBy default, all Apps within the Zappl App Catalog are available for installs. If you wish to allow installs for all Apps in the catalog with the exception of only a few Apps, specify the Apps you wish to exclude in this array.You can specify as many unique App identifiers as you wish, using the App Catalog unique identifiers for each App.
Example | All Apps in the catalog can be installed by Zappl with the exception of WhatsApp and Facebook Messenger.
Allowed Updates
Allowed Updates
allowedAppUpdatesBy default, all Apps within the Zappl App Catalog will be updated if installed. If you prefer to limit which Apps can be updated by Zappl, specify the Apps you wish to allow in this array.You can specify as many unique identifiers as you wish, using the App Catalog unique identifiers for each App.
Example | Zappl will only update Zoom, Google Chrome and Microsoft Excel and all other Apps will be ignored.
Excluded Updates
Excluded Updates
excludedAppUpdatesBy default, all Apps within the Zappl App Catalog will be updated if installed. If you wish to allow updates for all Apps in the catalog with the exception of only a few Apps, specify the Apps you wish to allow in this array.You can specify as many unique App identifiers as you wish, using the App Catalog unique identifiers for each App.
Example | All Apps within the App Catalog will be updated by Zappl if installed, with the exception of Jamf Connect and Cato Client.
ONLY Scheduled Update Prompt Options
Run Frequency Options
Run Frequency Options
runFrequency.runTypeAlthough the scheduled cached update check is run on a frequent basis every day, the preferences in the Run Frequency Options dictionary ensure that users are only prompted to install updates on a specified frequency, e.g. once every week.First, use the Run Frequency Option dropdown to define a method of frequently prompting users to update.

Specify Patch Frequency
Select this option if you prefer not to tie the updates to a specified weekday and instead run updates on a recurring frequency, e.g. once every day, once every week etc.Specify Recurring Patch Day
Select this option if you want to specify a day of each week to prompt users if they have pending updates, e.g. every Tuesday.When you select one of these two options, preferences that relate to each option automatically populate.

Specific Patch Frequency Preferences
Specific Patch Frequency Preferences
Frequency to Prompt Users
Key:runFrequency.frequencyOptionUse this dropdown to select how often you want to prompt users to update.
Frequency Elapsed Behaviour
Key:runFrequency.frequencyElapsedModeThis dropdown determines how Zappl should behave if the user defers the update. Selecting the Single Prompt Mode option will ensure that if the user defers the update, they will not get prompted to update again until the configured frequency has elapsed again, e.g. one week later.Alternatively, select
Recurring Prompt Mode if you prefer to prompt the user on a recurring basis after deferring until the update is installed.
Recurring Prompt Mode, the βRecurring Prompt Mode Deferral Window - Patch Frequencyβ field (Key: runFrequency.deferralWindow) appears and allows you to define a minimum deferral period in minutes. 
Specific Patch Day Preferences
Specific Patch Day Preferences
Patch Day
Key:runFrequency.patchDayUse this dropdown to select a day of the week to prompt users to update when updates are pending.
Missed Update Prompts
Key:runFrequency.missedUpdatePromptSelecting this option ensures that if a computer is offline on the defined weekly patch day, the user can be prompted to update at the next available opportunity as opposed to waiting until the next patch day. Leave this unchecked if you prefer to ensure that prompts are only ever displayed on the configured patch day.
Patch Day Prompt Frequency
Key:runFrequency.patchDayFrequencyThis dropdown helps you determine how frequently users are prompted to update on the configured patch day when they defer an update.Selecting the
Single Prompt Mode option ensures that when a user defers the update, they wonβt get prompted to update until the following week on the configured patch day.If you prefer to prompt the user to update on a recurring basis on the configured patch day, select the
Recurring Prompt Mode option. 
Recurring Prompt Mode, the Recurring Prompt Mode Deferral Window (Patch Day) field (Key: runFrequency.patchDayDeferralWindow) appears and allows you to define a minimum deferral period in minutes. 
Week(s) of Month
Key:runFrequency.patchDayWeeksAllows you to select specific weeks of the month to prompt users on your configured patch day. By default, all weeks are enabled. If you prefer to prompt users less frequently, e.g., only on the first monthly occurence of your desired patch day, uncheck all other weeks.

Deferral Options
Deferral Options
deferralConfiguration.deferralOptionSpecify Deferral Limit
Key:deferralConfiguration.specifyLimit (selected via deferralConfiguration.deferralOption: specifyDeferralLimit)Configuring a deferral limit for updates ensures that users cannot defer the update indefinitely. The deferral limit you configure here is how many times the user will be allowed to defer the update before being forced to install the update. Use the Deferral Limit field to specify your desired deferral limit.
Disable Deferral Limit
Key:deferralConfiguration.deferralOption: disableDeferralLimitSelecting this option will allow users to defer the update indefinitely. We recommend only using this option if you plan to create a workflow which utilises forcing the update on demand.
Disable Deferrals
Key:deferralConfiguration.deferralOption: disableDeferralsSelecting this option will mean that users will not be given any opportunity to defer and will instead be given a Grace Period to save any work before the updates are automatically installed.
Grace Period in Minutes
Grace Period in Minutes
gracePeriodMinutesBy default this value is
15 minutes, therefore you only need to configure this preference if you wish to decrease or increase the default grace period.
Multiple Apps Prompt Title
Multiple Apps Prompt Title
multipleAppsTitle
App List Type
App List Type
appListType
Vertical List
Key:appListType: vertical
Horizontal List
Key:appListType: horizontalSelect this option if you prefer to display Apps in a basic comma separated list.
Scheduled AND Forced Update Prompt Options
Run Limitation Options
Run Limitation Options
runLimitationsYou can use the Run Limitation Options dictionary to apply exclusions to the frequency options you previously configured for Scheduled Updates. The same options are also available in the Forced Updates dictionary to allow you to limit when Zappl is permitted to prompt users to update any Apps that have been marked for forced updates.A checkbox is available and by default ticked for each day of the week. If there is a particular day of the week you want to ensure update prompts are never displayed to the user, simply uncheck the box next to the day. This is useful when using the Specify Patch Frequency option, or when specifying a patch day with the Missed Update Prompts option checked.

By default, the start time is
12.00am and the end time is 11.59pm, but you can easily change this on a per-day basis by modifying the values in the fields.
2pm and 4pm but allow prompts for the rest of the day, simply reverse the timestamps as shown below.
Icon
Icon
customIconBy default, the icon displayed on the left hand side of the update prompts is your Jamf Self Service icon for scheduled updates, and the App icon for forced updates.

Initial Prompt Icon Overlay
Initial Prompt Icon Overlay
initialPromptOverlayIconConfiguring this option allows you to overlay a second icon on the bottom right corner of the main icon.By default, no icon overlay is configured, but you can specify a valid .png, .jpg or .icns file here to add one. To use the Jamf Self Service icon as the overlayed icon, type in selfService.
Here we're using this feature with a custom info icon.
Single App Prompt Title
Single App Prompt Title
singleAppTitleUse this preference to customise the default title shown on any update prompt when there is 1 pending App update. You can define the name of the App using the appName variable.
customTitle and is labelled Title. This is because forced updates are always performed on a per-App basis, so all forced update prompts relate to a single App.Initial Prompt Info Popover
Initial Prompt Info Popover
initialPromptInfoPopoverUse this preference to customise the text displayed in the info popover on the initial update prompt β the prompt shown when deferrals are available.If not configured, a default message is displayed that explains the update process and deferral behaviour.When writing your custom message, you can use formatting and variables to personalise the content. For all available options, see Message Variables.
Grace Period Prompt Info Popover
Grace Period Prompt Info Popover
gracePeriodPromptInfoPopoverUse this preference to customise the text displayed in the info popover on the grace period prompt β the prompt shown when no deferrals are available and the countdown timer is active.If not configured, a default message is displayed that explains the update process.When writing your custom message, you can use formatting and variables to personalise the content. The gracePeriod variable is particularly useful here as it dynamically displays the configured grace period duration. For all available options, see Message Variables.
Prompt Refresh Interval
Prompt Refresh Interval
refreshIntervalThis is the length of time in seconds that the update prompts pull focus. Without the prompts regularly pulling focus, it is easy for the user to swipe away and ignore the update prompt without choosing to either defer or update.The default value is 60 seconds. If you find this too aggressive, you can change the value to suit your needs. The minimum allowed value is 30 seconds.Do Not Disturb Applications
Do Not Disturb Applications
acceptableAppBundleIDsUse this preference to define any Apps which if detected as being in the foreground will cause the update prompt to skip.It is recommended that you configure this preference and add any video conferencing or presentation software used across your estate. This will ensure that users donβt get prompted to update whilst on a conference call or when presenting.
To define an App, you must first get the bundle identifier of the App. To do so, paste the below command into Terminal on a macOS computer that has the App installed (replacing
zoom.us.app with the name of the App you want to define).Do Not Disturb Application Bundle ID preference. You can add as many App bundle identifiers as you require by clicking the Add Do Not Disturb Application Bundle ID button.
Do Not Disturb Application Assertions
Do Not Disturb Application Assertions
acceptableAppAssertionsUse this preference to ensure that updates are skipped if an application is using assertions. If an application is using the system microphone or playing audio, it should be marked as using assertions.This is useful in scenarios where a user may be in a meeting using a web-based client like Google Meets without a camera on, as the assertion used by the web browser would prevent the update from interrupting the meeting.
You can add as many assertion apps as you wish, ensuring to use the correct assertion name format. To get the required assertion name format, run
/usr/bin/pmset -g assertions in Terminal while the application is running and using assertions.
Respect Do Not Disturb Mode
Respect Do Not Disturb Mode
acceptableDNDModetrue by default.Setting this as
true will skip the update prompts, setting as false will prompt users while Do Not Disturb mode is detected.Do Not Disturb Camera Usage
Do Not Disturb Camera Usage
acceptableCameraUsagetrue by default.We recommend setting this as
true to ensure that users are not interrupted whilst on conference calls.Do Not Disturb Screen Sharing
Do Not Disturb Screen Sharing
acceptableScreenSharingtrue by default.Show Update Progress Prompt
Show Update Progress Prompt
updateProgressPrompttrue by default.
Update Progress Prompt Position
Update Progress Prompt Position
updateProgressPositionThe update progress prompt is the small prompt that contains an update progress bar and information around the update whilst the update is running.
top right corner of the screen. This position can be modified using the dropdown within this preference.
Update Progress Prompt Overlay Icon
Update Progress Prompt Overlay Icon
updateProgressOverlayIconUse this preference to add an overlay icon to the update progress prompts. When updates are running, the main icon displayed is the icon for the App currently being updated. The overlay icon will be displayed on the bottom right corner of the App icon.You can specify either a path to a valid
.png, .jpg or .icns file, or use the selfService variable for the Jamf Self Service icon.
Automatically Relaunch Apps
Automatically Relaunch Apps
autoRelaunchAppstrue by default.true, Zappl silently relaunches the app as soon as the update completes providing that the app was in use prior to the update.Set this as
false to skip relaunching apps.Send Completion Notification
Send Completion Notification
displayCompletePrompttrue by default.


