Jamf Blog
October 1, 2020 by Haddayr Copley-Woods

Advanced macOS onboarding workflows

In this session, Joshua Rude and Matt Wilson from Insight looked at how the Mac IBM enrollment app can be used in advanced macOS onboarding workflows to enable end-user choice in their onboarding experience.

Insight's Mac enablement program empowers your teams with Mac as a choice. It covers all the bases from procurement, to builds and integrations, to deployments, maintenance and end-of-life.

Why build an advanced onboarding experience for macOS?

It offers more choice and empowerment for the end user, a better end-user experience, and eases IT's onboarding burden, freeing them to work on research and other pressing projects.

How can I create advanced onboarding workflows?


  • An Apple dev cert for signing the app
  • The mac-ibm-enrollment-app
  • A bit of time, depending on your familiarity with Xcode.

1. Get the app

2. Modify the app

  • Change application name
  • Update images and icons
  • Edit text and labels: various payload types connectivity, essentials bundles (describes what the end-user will receive such as Outlook and Teams)
  • Adjust the application bundle lists
  • Configure views and navigation: modify registration window with the name of the user and remove skip and cancel buttons, etc.

3. Build

  • You'll need to sign each product: the dev cert, the privileges helper tool, and the launch daemon.
  • Build the debug binaries of each to ensure everything loads properly and corrects all errors.
  • Modify the privileges helper so that the enrollment application can communicate with the Jamf binary.
  • Build and archive the app bundle.

4. Deploy

Create the deployment package (sign it with your developer cert):

Add the application itself into the applications folder, the privilege helper into the privilege helper folder within the root library, and then add the launch daemon provided along with the github repository.

Then, upload it to Jamf the same way you would for any other package.

Build script policies in Jamf:

  • Enrollment script: sets the policy to run at enrollment completion
  • Download speed test: runs just before the enrollment app is launched (downloads a dummy package to get a baseline of the speed so that user can get estimated times for each app bundle)
  • Apple Bundle installation: once the users select the bundles they need, they install.
  • This gives the end-user choice and the Mac admin control in how to tailor their experience.

Apple's platform is even better with Jamf and with Insight!

Photo of Haddayr Copley-Woods
Haddayr Copley-Woods
Haddayr Copley-Woods is a senior copywriter at Jamf. She writes about tech, specializing in Apple and Jamf with a focus on education, accessibility and security.
Subscribe to the Jamf Blog

Have market trends, Apple updates and Jamf news delivered directly to your inbox.

To learn more about how we collect, use, disclose, transfer, and store your information, please visit our Privacy Policy.