Deploying shft with Mosyle
This guide covers deploying the shft app and configuration profile through Mosyle Business and Mosyle Fuse.
Prerequisites
- Mosyle Business or Mosyle Fuse account
- The shft
.pkginstaller - The shft configuration profile (see Configuration profile reference)
- Target Macs enrolled in Mosyle
Step 1: Upload the shft package
- In Mosyle, navigate to Management → Apps → Custom Apps for macOS
- Click Add Custom App
- Configure the app:
| Field | Value |
|---|---|
| App Name | shft |
| Type | Package (.pkg) |
| Install | Select Immediately or Self-Service |
- Upload the
shft-<version>.pkgfile - Set the uninstall script (optional but recommended):
#!/bin/bash
rm -rf /Applications/shft.app
rm -rf ~/Library/Application\ Support/shft- Click Save
Step 2: Create the configuration profile
- Navigate to Management → Profiles → Custom Profiles
- Click Add new profile
- Set the profile details:
| Field | Value |
|---|---|
| Name | shft Configuration |
| Description | Admin policy for shft migration tool |
- Upload the
.mobileconfigfile
Build the profile using the example in Configuration profile reference. Set the PayloadScope to User.
- Click Save
Step 3: Assign to device groups
Assigning the app
- In the Custom App settings for shft, scroll to Assignment
- Select the target:
- All Devices — for broad deployment
- Specific Groups — for targeted deployment
- Specific Devices — for individual Macs
Assigning the profile
- In the Custom Profile settings, scroll to Assignment
- Assign to the same scope as the app deployment
Using tags for targeting
Mosyle's tag system is useful for migration workflows:
- Create a tag called
Device RefreshorMigration Active - Apply the tag to source and destination Macs
- Assign both the shft app and profile to devices with this tag
- Remove the tag after migration completes
Step 4: Verify deployment
- On a target Mac, click the Mosyle agent icon and select Check for updates
- Verify shft is installed:
ls /Applications/shft.app - Verify the profile is applied:
defaults read com.shft.config - Open shft and confirm your organisation branding appears
Mosyle-specific notes
Mosyle Fuse vs Mosyle Business
shft deploys the same way on both Mosyle products. The only difference is the management console UI — the steps are functionally identical.
Custom Commands
You can use Mosyle Custom Commands to automate pre-migration setup:
#!/bin/bash
# Ensure shft is installed and profile is applied
if [ ! -d "/Applications/shft.app" ]; then
echo "shft not installed — triggering install"
# Mosyle will handle installation via the Custom App assignment
fi
# Verify profile
if ! defaults read com.shft.config shft.brandingName &>/dev/null; then
echo "shft profile not yet applied"
fiCompliance rules
Create a compliance rule to verify shft is installed on devices tagged for migration:
- Navigate to Management → Compliance
- Create a rule:
- Condition: App
shft.appis not installed - Action: Send notification to admin
- Scope: Devices tagged
Device Refresh
- Condition: App
Integration with Mosyle AutoApps
If Mosyle adds shft to their AutoApps catalog, you can switch from Custom App to AutoApp deployment for automatic version management.