Deploying shft with Kandji

This guide covers deploying the shft app and configuration profile through Kandji.

Prerequisites

  • Kandji account with Custom Apps and Custom Profiles access
  • The shft .pkg installer
  • The shft configuration profile (see Configuration profile reference)
  • Target Macs enrolled in Kandji

Step 1: Upload the shft package

  1. In Kandji, navigate to Library
  2. Click Add New → Custom App
  3. Set the app details:
FieldValue
Nameshft
Installation typePackage (.pkg)
Install asAuto Install or Self Service (your preference)
  1. Upload the shft-<version>.pkg file
  2. For audit purposes, set the audit fields:
FieldValue
Audit typeFile exists
Audit path/Applications/shft.app
  1. Click Save

Step 2: Create the configuration profile

  1. In Kandji, navigate to Library
  2. Click Add New → Custom Profile
  3. Upload the .mobileconfig file. To create it:

Build a .mobileconfig file using the example in Configuration profile reference. Customise the values for your organisation.

Alternatively, create the profile directly in Kandji:

  1. Set the profile details:
FieldValue
Nameshft Configuration
DescriptionConfiguration profile for shft migration tool
Install onUser Level
  1. Upload the .mobileconfig file

  2. Click Save

Step 3: Assign to blueprints

Both the Custom App and Custom Profile must be assigned to the appropriate blueprints.

  1. Navigate to Blueprints
  2. Select the blueprint(s) that contain your target Macs
  3. In the blueprint, enable both:
    • The shft Custom App
    • The shft Configuration Custom Profile

Blueprint strategy

ApproachBlueprint assignment
All MacsAdd to your default blueprint
Refresh devices onlyCreate a dedicated "Device Refresh" blueprint and assign target Macs to it
By departmentAdd to department-specific blueprints

Step 4: Verify deployment

  1. On a target Mac, open Kandji Agent and trigger a check-in (or wait for the next scheduled check-in)
  2. Verify shft is installed: ls /Applications/shft.app
  3. Verify the profile is applied: defaults read com.shft.config
  4. Open shft and confirm your branding appears

Kandji-specific notes

Auto Apps vs Custom Apps

shft is deployed as a Custom App because it is not currently in Kandji's Auto App library. If shft becomes available as an Auto App in the future, you can switch to that for automatic updates.

Self Service

To make shft available in Kandji Self Service:

  1. When creating the Custom App, set Install as to Self Service
  2. Add a description and icon for the Self Service listing
  3. Users can install shft on-demand from the Kandji Self Service app

Device assignments

If you need to deploy shft to specific devices rather than blueprint-wide:

  1. Use Kandji's Assignment Map to assign the Custom App to individual device serial numbers
  2. This is useful for ad-hoc device refreshes outside of a planned rollout

Profile verification

To verify the configuration profile was delivered correctly, check in Kandji's device detail view under Profiles. The shft Configuration profile should appear as installed.