Custom Apps Overview

Learn about Kandji's Custom App Feature.

Kandji allows you to upload and deploy custom apps to your enrolled Mac devices. Add a Custom App to ensure all required applications are ready for your users. 


Kandji supports several different installer types.

  • .PKG: Package Installer File, Kandji additionally supports compressed PKG files. 
  • .MPKG: Meta Package Installer File
  • .ZIP: When using a .zip file, Kandji will allow you to specify where the contents of the .zip should be decompressed to
  • .DMG: When using a .dmg file, Kandji will attempt to extract the contents of the DMG to the /Applications folder, note that if your DMG contains a PKG, you should first extract the PKG and upload that to Kandji instead. 

Kandji's Maximum file upload size is 5 GB. 

Installation Options

Execution Frequency

Depending on the App you wish to deploy, you can specify if Kandji will install it once, or continually monitor and ensure the custom app is installed. 

  • Install once per device: Kandji will install the App once. If the App is removed from the Mac, it will not be reinstalled automatically. A software patch, for example, shouldn't be run continuously. 
  • Audit and Enforce: Kandji will run the audit script and ensure the script passes (exits 0) at each check-in (including before the first install). Should the Audit Script exit anything other than 0, Kandji will reinstall the application automatically.
  • Install-on-demand from Self Service: The item will never be installed automatically, and will only be offered as an optional install from Self Service. After the item is executed the Install button will be relabeled Reinstall.

Audit Script Considerations

Using an audit script gives you the control to determine what qualifies as a "Pass", should the app be in a certain location? Have a particular checksum? Be on a certain version? all of these checks can be done in an audit script. 

Example Audit Script: This audit script would check for the presence of an application, if the application is not present, it will prompt Kandji to reinstall the Custom App. 
if [ -e "$APPPATH" ]; then
exit 0
exit 1

Pre & Post Install Scripts

Adding a pre or post-install script allows you to customize the install process for Custom Apps further. Add a pre-install script to perform an action, such as removing another app that is being replaced. Add a post-install script to, for instance, configure the Custom App that was just installed.

Self Service Considerations

There are important considerations that should be understood when leveraging Custom Apps with Self Service. 

  • When a Custom App's enforcement option is set to Install and Continuously Enforce you can still optionally show this item in Self Service. This may be useful if end-users need to try re-Installing the software for various reasons. 
  • When a Custom App's enforcement option is set to Install once per device you can still optionally show this item in Self Service. This may be useful if end-users need to try re-Installing the software for various reasons. 
  • When a Custom App's Enforcement option is set to Install-on-demand from Self Service the app will not be installed until the end-user installs the application from Self Service.
    • When Installing via Self Service the latest version of the app will be installed. 
    • Kandji will automatically take over management of non-App Store App licensed applications if set to Install-on-demand from Self Service (As long as the bundle id of the existing application matched that of the Apps and Books version) . Your global or per-app update settings will be respected. 


Some applications require a reboot after being installed before they will operate correctly. Allowing Kandji to trigger the restart ensures that the install restarts to ensure proper functionality. Check the "Restart after successful install" box to have Kandji restart any Mac devices after the Custom App is installed.

Users will be given a 30-minute countdown before the restart occurs. 


The status tab within a Custom App library item allows you to easily view which Mac devices are waiting to have the custom app installed, installed successfully, or devices that are reporting installation errors. 


To deploy your Custom App to enrolled Mac devices, add it to a Blueprint. All Mac devices assigned to that Blueprint will receive the Custom App during their next check-in.


Use the following guides to learn how to use the Custom App feature inside Kandji.