Skip to content

JAMF Setup Checklist

Scott Kendall edited this page May 6, 2026 · 12 revisions

Introduction

The JAMF Concepts team came up with this little gem called "Setup Checklist" (https://github.com/Jamf-Concepts/setup-checklist). Often times after an enrollment, you need to make sure that users are logged into specific apps, screen sharing is enabled, dock applications are installed, etc...That is what this program does for you, in a nicely formatted step-by-step GUI window. Here is a sample of what you can do with it

JAMFCheckList_EnrollmentDone.mp4

Full details on how this application works can be found here: https://github.com/Jamf-Concepts/setup-checklist

For the recording above, I used the open source application called Recordly https://recordly.dev

Learning how to use the JAMF Setup Checklist can be a little overwhelming as there are a lot of configuration options. I have listed my Configuration Profile below for your reference:

Configuration Profile

Domain: com.jamf.setupchecklist

<?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>DEBUG</key>
    <false/>
	<key>accentColor</key>
	<string>##red</string>
	<key>hideOtherApps</key>
	<false/>
	<key>icon</key>
	<string>/Library/Application Support/GiantEagle/Enrollment/GE_Icon.png</string>
    <key>title</key>
    <string>Enrollment Checklist</string>
	<key>message</key>
	<string>Let&apos;s finish setting up your new Mac!</string>
	<key>showIconInDock</key>
	<true/>
	<key>steps</key>
    <array>
        <dict>
            <key>identifier</key>
            <string>welcome-message</string>
            <key>icon</key>
            <string>symbol:list.bullet.clipboard</string>
            <key>iconColor</key>
            <string>##red</string>
            <key>image</key>
            <string>/Library/Application Support/GiantEagle/Enrollment/HQWallpaper.jpg</string>
            <key>kind</key>
            <string>message</string>
            <key>title</key>
            <dict>
                <key>en</key>
                <string>Welcome to macOS Setup</string>
            </dict>
            <key>message</key>
            <dict>
                <key>en</key>
                <string>Just a few more steps to configure your new Mac.</string>
            </dict>
        </dict>
        <dict>
            <key>identifier</key>
            <string>script-companyportal</string>
            <key>icon</key>
            <string>/Applications/Company Portal.app</string>
            <key>image</key>
            <string>/Applications/Company Portal.app</string>
            <key>kind</key>
            <string>script</string>
            <key>actionButtonLabel</key>
            <string>Register</string>
            <key>actionButtonScript</key>
            <string>/usr/local/jamf/bin/jamfAAD registerWithIntune</string>
            <key>title</key>
            <dict>
                <key>en</key>
                <string>Register with Company Portal</string>
            </dict>
            <key>message</key>
            <dict>
                <key>en</key>
                <string>Company Portal allows access to Giant Eagle cloud resources. Sign in with your Giant Eagle credentials when Company Portal opens and follow the on‑screen prompts. Your device must meet Giant Eagle compliance and security requirements to continue using corporate applications and services, for example Microsoft Teams and Microsoft Outlook</string>
            </dict>
            <key>updateStatusScript</key>
            <string>defaults read com.microsoft.CompanyPortalMac "com.microsoft.intune.connectivityCheck.lastHeartbeatTime" 2&gt;/dev/null | grep -c "+"</string>
            </dict>
        <dict>
            <key>identifier</key>
            <string>wallpaper</string>
            <key>icon</key>
            <string>symbol:photo.artframe</string>
            <key>iconColor</key>
            <string>##red</string>
            <key>kind</key>
            <string>wallpaper</string>
            <key>path</key>
            <string>/Library/Application Support/GiantEagle/Wallpapers</string>
            <key>title</key>
            <dict>
                <key>en</key>
                <string>Choose a Wallpaper</string>
            </dict>
            <key>message</key>
            <dict>
                <key>en</key>
                <string>Please choose a background from our list of wallpapers. You can always change it later</string>
            </dict>
        </dict>
        <dict>
            <key>dockAction</key>
            <array>
                <string>add</string>
                <string>replace</string>
            </array>
            <key>dockItems</key>
            <array>
                <string>com.jamf.selfserviceplus</string>
                <string>com.apple.apps.launcher</string>
                <string>com.apple.systempreferences</string>
                <string>com.apple.Safari</string>
                <string>com.microsoft.outlook</string>
                <string>com.microsoft.teams2</string>
                <string>Downloads</string>
            </array>
            <key>identifier</key>
            <string>dock</string>
            <key>kind</key>
            <string>dock</string>
            <key>iconColor</key>
            <string>##red</string>
            <key>mayKeepCurrent</key>
            <true/>
            <key>message</key>
            <string>For convienient access, we recommend adding these apps and items to your Dock.</string>
        </dict>
        <dict>
            <key>identifier</key>
            <string>open-outlook</string>
            <key>item</key>
            <string>/Applications/Microsoft Outlook.app</string>
            <key>kind</key>
            <string>open</string>
            <key>title</key>
            <dict>
                <key>en</key>
                <string>Sign In to Outlook</string>
            </dict>
                <key>message</key>
            <dict>
                <key>en</key>
                <string>Outlook is a comprehensive personal information manager that integrates email, calendaring, task management, and contact organization.  Sign in with your Giant Eagle credentials when prompted.</string>
            </dict>
        </dict>
        <dict>
            <key>identifier</key>
            <string>default-app-mail</string>
            <key>bundle-id</key>
            <string>com.microsoft.Outlook</string>
            <key>icon</key>
            <string>symbol:envelope.badge</string>
            <key>iconColor</key>
            <string>##red</string>
            <key>kind</key>
            <string>defaultApp</string>
            <key>mayKeepCurrent</key>
            <false/>
            <key>title</key>
            <dict>
                <key>en</key>
                <string>Set Default Mail App</string>
            </dict>
            <key>message</key>
            <dict>
                <key>en</key>
                <string>Please verify that your default email app is set to Outlook.</string>
            </dict>
            <key>urlScheme</key>
            <string>mailto</string>
        </dict>
        <dict>
            <key>identifier</key>
            <string>open-teams</string>
            <key>item</key>
            <string>/Applications/Microsoft Teams.app</string>
            <key>kind</key>
            <string>script</string>
            <key>actionButtonLabel</key>
            <string>Open Teams</string>
            <key>actionButtonScript</key>
            <string>open "/Applications/Microsoft Teams.app"</string>
            <key>title</key>
            <dict>
                <key>en</key>
                <string>Sign In to Teams</string>
            </dict>
            <key>message</key>
            <dict>
                <key>en</key>
                <string>Teams is a cloud-based collaboration platform that centralizes chat, video meetings, and file sharing into a single workspace.  Click on your profile name to sign in.</string>
            </dict>
            /usr/bin/plutil -extract "AccountInfo_Business1.UserEmail" raw ~/Library/Group\ Containers/UBF8T346G9.OneDriveStandaloneSuite/Library/Preferences/UBF8T346G9.OneDriveStandaloneSuite.plist | grep -c "@"
            <key>updateStatusScript</key>
            <string>/usr/bin/plutil -extract "MCMMetadataInfo.SandboxProfileDataValidationInfo.Parameters._USER" raw "~/Library/Containers/com.microsoft.teams2/.com.apple.containermanagerd.metadata.plist" | grep -c "$USER"</string>
        </dict>
        <dict>
            <key>identifier</key>
            <string>open-onedrive</string>
            <key>item</key>
            <string>/Applications/OneDrive.app</string>
			<key>image</key>
			<string>/Applications/OneDrive.app</string>
            <key>kind</key>
            <string>script</string>
            <key>title</key>
            <dict>
                <key>en</key>
                <string>Sign In to OneDrive</string>
            </dict>
            <key>message</key>
            <dict>
                <key>en</key>
                <string>OneDrive stores your work files and syncs your Desktop and Documents folders to the cloud. Sign in with your Giant Eagle credentials and complete the folder setup when prompted.</string>
            </dict>
            <key>buttonLabel</key>
            <string>Open OneDrive</string>
            <key>prepareScript</key>
            <string>#!/bin/zsh
                # Verify OneDrive is installed before showing this step.
                # If missing, mark error so it's visible rather than silently pending.
                if [[ ! -e "/Applications/OneDrive.app" ]]; then
                    /usr/local/bin/setupchecklist status open-onedrive error 2&gt;/dev/null
                    exit 1
                fi
                exit 0
            </string>
            <key>buttonScript</key>
            <string>#!/bin/zsh
                open /Applications/OneDrive.app
                exit 0
            </string>
            <key>updateStatusScript</key>
            <string>/usr/bin/plutil -extract "AccountInfo_Business1" raw ~/Library/Group\ Containers/UBF8T346G9.OneDriveStandaloneSuite/Library/Preferences/UBF8T346G9.OneDriveStandaloneSuite.plist | grep -c "LastKFMOptInTime"</string>
        </dict>
        <dict>
            <key>bundle-id</key>
            <array>
                <string>com.microsoft.teams2</string>
            </array>
            <key>icon</key>
            <string>symbol:rectangle.on.rectangle.angled</string>
            <key>iconColor</key>
            <string>##red</string>
            <key>movie</key>
            <string>/Library/Application Support/GiantEagle/Enrollment/Security_Privacy.mp4</string>
            <key>identifier</key>
            <string>screensharing</string>
            <key>kind</key>
            <string>screensharing</string>
            <key>message</key>
            <string>Enable Screen &amp; System Audio Recording for Microsoft Teams</string>
            <key>openAutomatically</key>
            <true/>
            <key>title</key>
            <string>Configure Screen Sharing</string>
            <key>windowPosition</key>
            <string>right</string>
        </dict>
        <dict>
            <key>identifier</key>
            <string>gethelp-message</string>
            <key>icon</key>
            <string>symbol:questionmark.circle</string>
            <key>iconColor</key>
            <string>##red</string>
            <key>movie</key>
            <string>/Library/Application Support/GiantEagle/Enrollment/supportapp.mp4</string>
            <key>kind</key>
            <string>message</string>
            <key>title</key>
            <dict>
                <key>en</key>
                <string>Need Help?</string>
            </dict>
            <key>message</key>
            <dict>
                <key>en</key>
                <string>Use our Support App to get help with your Mac.</string>
            </dict>
        </dict>
        <dict>
            <key>buttonLabel</key>
            <string>Open Self Service</string>
            <key>icon</key>
            <string>symbol:macbook.badge.checkmark</string>
            <key>identifier</key>
            <string>open-jamfrecon-selfservice</string>
            <key>item</key>
            <string>jamfselfservice://content?entity=policy&amp;id=66&amp;action=execute</string>
            <key>kind</key>
            <string>open</string>
            <key>message</key>
            <dict>
                <key>en</key>
                <string>This step hands off to Self Service to run the Jamf inventory update policy and refresh the device information in our MDM.</string>
            </dict>
            <key>title</key>
            <dict>
                <key>en</key>
                <string>Update device information in Jamf</string>
                <key>nl</key>
                <string>Update toestel informatie in Jamf</string>
            </dict>
            <key>icon</key>
            <string>symbol:gearshape</string>
            <key>iconColor</key>
            <string>##red</string>
            <key>movie</key>
            <string>/Library/Application Support/GiantEagle/Enrollment/NewToMac.mp4</string>
            <key>buttonLabel</key>
		</dict>
        <dict>
            <key>identifier</key>
            <string>thankyou-message</string>            
            <key>icon</key>
            <string>symbol:quote.bubble</string>
            <key>iconColor</key>
            <string>##red</string>  
            <key>image</key>
            <string>/Library/Application Support/GiantEagle/Enrollment/SetupCompleted.jpeg</string>
            <key>kind</key>
            <string>message</string>
            <key>title</key>
            <dict>
                <key>en</key>
                <string>Thank you</string>
            </dict>
            <key>message</key>
            <dict>
                <key>en</key>
                <string>The configuration is complete, enjoy your Mac!</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

Videos & Links

Inside of the Checklist app, I have a few other movies, they can be found here: https://github.com/ScottEKendall/JAMF-Pro-Scripts/tree/main/WikiPages/JAMF_CheckList. I have also included the preview(s) below

Apple Support New To Mac:

https://www.youtube.com/watch?v=rqI6Nq9rJ74&t=19s. (too big to embed, so here is the direct link)

Support.app demo:

supportapp.mp4

I am trying to drive my users to use the support.app as much as possible. Details about this app can be found here: https://github.com/root3nl/supportapp and I have some examples on my Wiki pages as well...

Clone this wiki locally