Learn how to provide your users more detailed feedback for standard Jamf Pro Self Service policies with a proof-of-concept script from Bart Reardon, the creator of swiftDialog
Background
Earlier this week on the MacAdmin’s #swiftdialog channel, Drew Diver asked if it were possible to use swiftDialog as a status bar for Jamf Pro’s Self Service.
“Ah, the Holy Grail …” was my reply.
Bart Reardon may just have delivered (once again).
Overview

TL;DR
The TL;DR
of this approach is to:
- Clone your current Self Service policy
- Remove all of the Payloads and add Bart’s script
- Add a Custom Trigger to your original Self Service policy and disable displaying it in Self Service
Configuration
Presuming the latest version of swiftDialog is already installed on all of your fleet, complete the following steps to provide your users more detailed feedback for Jamf Pro Self Service policies.
A. Add Bart’s jss-progress.sh script to your Jamf Pro server
- Add Bart’s jss-progress.sh script to your Jamf Pro server (which I renamed in Jamf Pro to
swiftDialog Self Service Policy Progress
) - Specify the following for Options > Parameter Labels
- Parameter 4:
Policy Name
- Parameter 5:
Policy Trigger
- Parameter 6:
Icon URL
- Parameter 4:
- Click Save

B. Clone Current Jamf Pro Self Service Policy
- Clone your current Jamf Pro Self Service policy
- Append Options > General > Display Name with
(swiftDialog Progress)
- Remove all packages from Options > Packages
- Remove all scripts from Options > Scripts
- Add the
swiftDialog Self Service Policy Progress
script - Specify the Parameter Values
- Policy Name:
Cloud Foundry
- Policy Trigger:
cloudFoundryInstall
- Icon URL:
https://ics.services.jamfcloud.com/icon/hash_a6bb7b24ceeae2062c04cd0d3a9f5f3f7bb4b8a617b40b76353ad37b84a47170
- Policy Name:
- Remove all other Options payloads as necessary
- Click Save

C. Modify Current Jamf Pro Self Service Policy
- Enable Options > General > Trigger > Custom and specify a unique Custom Event, which precisely matches the value specified in Step B6
- Disable Self Service > Make the policy available in Self Service
- Click Save
Testing
To my delight, this all worked as advertised on the first and third tests, which were both on physical hardware; the second test — on a virtual machine — failed and I didn’t invest in any cycles debugging why.
After some extremely minor changes to Bart’s script, we’re now ready for internal review.
Installomator
If instead of “standard” Jamf Pro Self Service policies, you’re using Installamotor, be sure to check out Display Installomator Progress with SwiftDialog in Jamf.