> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zappl.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Intune

> This guide provides step-by-step instructions on how to use Microsoft Intune to configure and deploy Zappl in your environment.

<Info>For a successful Zappl deployment with Intune, please follow the steps in the order outlined below. It is important that all configuration policies are deployed prior to the Zappl installer.</Info>

## <Icon icon="sliders" size={32} /> Configuration Policies

### Zappl Preferences

<Info>We've utilised [iMazing Profile Editor](https://imazing.com/profile-editor) to provide an easy method of configuring Zappl preferences and generating a configuration profile for deployment.</Info>

<Steps>
  <Step title="Open iMazing Profile Editor">
    Download and open [iMazing Profile Editor](https://imazing.com/profile-editor). Find the **Zappl Application Domain** and add the payload.

    <img src="https://mintcdn.com/daretechnology/-LHRwyV8oSX-qjhI/images/iMazing_Zappl.png?fit=max&auto=format&n=-LHRwyV8oSX-qjhI&q=85&s=0fc3501ea7b37206ee53a5320cb27353" alt="iMazing Zappl" width="2316" height="1760" data-path="images/iMazing_Zappl.png" />
  </Step>

  <Step title="Add your activation credentials">
    Add your **Zappl Activation Token** and **Public Key** to the payload. These are required to connect devices to the Zappl servers.
  </Step>

  <Step title="Configure additional preferences">
    Alter any other preferences as required. Refer to our [preferences documentation](/customise/preferences) for information on all available keys.
  </Step>

  <Step title="Export the profile">
    Name and save the profile. This generates a `.mobileconfig` file ready for deployment via Intune.
  </Step>

  <Step title="Create a new policy in Intune">
    In Intune, navigate to *Devices > macOS > Configuration* and click **Create**, then **New Policy**. Set **macOS** as the platform, **Templates** as the Profile Type, and **Custom** as the Template Name.
  </Step>

  <Step title="Upload and deploy">
    Give the profile a name and description, then upload your `.mobileconfig` file under **Configuration Settings**. Add your assignments (e.g. *All devices*), then review and **Create** the policy.

    <img src="https://mintcdn.com/daretechnology/-LHRwyV8oSX-qjhI/images/Intune_Zappl_Preferences.png?fit=max&auto=format&n=-LHRwyV8oSX-qjhI&q=85&s=6237f26c2c1264e7e5a7053471eff229" alt="Intune Zappl Preferences" width="3892" height="2474" data-path="images/Intune_Zappl_Preferences.png" />
  </Step>
</Steps>

<br />

### Additional Policies

<Note>As of macOS 13 (Ventura), full disk access is required in order to update or remove macOS apps. The Zappl agent is responsible for performing all app updates, therefore full disk access (`SystemPolicyAllFiles`) needs to be granted to the agent via a configuration profile.</Note>
<Note>As of macOS 13 (Ventura), users can disable launch daemons through the Login Items option in System Settings. Zappl uses launch daemons to run automatically in the background, and these daemons must always be enabled for Zappl to function.</Note>
<Note>Zappl and AppBar use macOS notifications to alert users of available updates, completed installs, and any failures. These notifications must be pre-approved via a configuration profile, otherwise macOS will prompt users to allow them individually.</Note>

<Steps>
  <Step title="Download the additional policies">
    Download the following policies as JSON files:

    * [Full Disk Access](https://latestinstaller.zappl.co/Resources/Intune%20Policies/Zappl_PPPC.json?v=3.0.0)
    * [Managed Login Item](https://latestinstaller.zappl.co/Resources/Intune%20Policies/Zappl_Managed%20Login%20Items.json?v=3.0.0)
    * [Notifications](https://latestinstaller.zappl.co/Resources/Intune%20Policies/Zappl_Notifications.json?v=3.0.0)
  </Step>

  <Step title="Import the policies in Intune">
    In Intune, navigate to *Devices > macOS > Configuration* and click **Create**, then **Import**. Import each JSON file as a new policy, providing a name and description where necessary.
  </Step>
</Steps>

<br />

### AppBar Preferences

<Warning>These steps are only necessary if you are choosing to automatically deploy AppBar alongside Zappl. See [this key](../customise/preferences#automatically-install-appbar) in the main Zappl Preferences for more information.</Warning>
<Info>AppBar comes with its own preferences that can be configured for custom branding and behaviour options.</Info>
<Note>There are no **required** keys within AppBar's preferences. If you want to skip branding and behaviour customisation, you can skip these steps.</Note>

<Steps>
  <Step title="Open iMazing Profile Editor">
    Find the **Zappl AppBar Application Domain** and add the payload.

    <img src="https://mintcdn.com/daretechnology/-LHRwyV8oSX-qjhI/images/iMazing_AppBar.png?fit=max&auto=format&n=-LHRwyV8oSX-qjhI&q=85&s=bcdb051da5878e1888b8f03316494d60" alt="iMazing AppBar" width="2316" height="1760" data-path="images/iMazing_AppBar.png" />
  </Step>

  <Step title="Configure AppBar preferences">
    Alter any preferences as required. Refer to our [AppBar preferences documentation](/appbar/appbar-preferences) for information on all available keys.
  </Step>

  <Step title="Export the profile">
    Name and save the profile. This generates a `.mobileconfig` file ready for deployment via Intune.
  </Step>

  <Step title="Create a new policy in Intune">
    In Intune, navigate to *Devices > macOS > Configuration* and click **Create**, then **New Policy**. Set **macOS** as the platform, **Templates** as the Profile Type, and **Custom** as the Template Name.
  </Step>

  <Step title="Upload and deploy">
    Give the profile a name and description, then upload your `.mobileconfig` file under **Configuration Settings**. Add your assignments (e.g. *All devices*), then review and **Create** the policy.

    <img src="https://mintcdn.com/daretechnology/-LHRwyV8oSX-qjhI/images/Intune_AppBar_Preferences.png?fit=max&auto=format&n=-LHRwyV8oSX-qjhI&q=85&s=9f23fe39447fc3812dbe95982fcba749" alt="Intune AppBar Preferences" width="3892" height="2474" data-path="images/Intune_AppBar_Preferences.png" />
  </Step>
</Steps>

<br />

With all policies in place, you should have the following:

<Tabs>
  <Tab title="Required (All Deployments)">
    * **Zappl Preferences** — Custom Template
    * **Full Disk Access** — Imported JSON
    * **Managed Login Item** — Imported JSON
    * **Notifications** — Imported JSON
  </Tab>

  <Tab title="Optional (AppBar Only)">
    * **AppBar Preferences** — Custom Template
  </Tab>
</Tabs>

<img src="https://mintcdn.com/daretechnology/-LHRwyV8oSX-qjhI/images/Intune_Zappl_Policies.png?fit=max&auto=format&n=-LHRwyV8oSX-qjhI&q=85&s=77b2b9f4cd81acb56fe4e51256d3e3f8" alt="Intune Zappl Policies" width="3892" height="2474" data-path="images/Intune_Zappl_Policies.png" />

<br />

## <Icon icon="code" size={32} /> Deploying Zappl

### Via Script (Recommended)

<Tip>Utilising our deployment script means that the latest version of Zappl will always be installed - **Because of this, it's our recommended option.**</Tip>

<Steps>
  <Step title="Download the deployment script">
    Download our Zappl deployment script **[here](https://latestinstaller.zappl.co/Resources/Scripts/Install%20Zappl.zsh?v=3.0.0)**.
  </Step>

  <Step title="Edit the script variables">
    Open the script in your script editor of choice and alter the following variables to match your environment (shown on lines 25 and 26 of the script):

    * `activationToken` — Your Zappl Activation Token
    * `publicKey` — Your Zappl Public Key

          <img src="https://mintcdn.com/daretechnology/0-lEVNQGaxP4hT8S/images/Intune_Script_Edit.png?fit=max&auto=format&n=0-lEVNQGaxP4hT8S&q=85&s=7d21fab968d18ebe79dfd55aeec893f9" alt="Intune Script Edit" width="2534" height="2360" data-path="images/Intune_Script_Edit.png" />
  </Step>

  <Step title="Add the script in Intune">
    In Intune, navigate to *Manage Devices > Scripts* and **Add** a new script. Provide a script name and description, and ensure you choose to **not** run the script as the logged-in user.

    <img src="https://mintcdn.com/daretechnology/-LHRwyV8oSX-qjhI/images/Intune_Zappl_Script_Options.png?fit=max&auto=format&n=-LHRwyV8oSX-qjhI&q=85&s=bb985627a048f36752f712346b8906ce" alt="Intune Script Options" width="3892" height="2474" data-path="images/Intune_Zappl_Script_Options.png" />
  </Step>

  <Step title="Assign and review">
    Assign to the relevant users/groups, then review and **Add**.

    <img src="https://mintcdn.com/daretechnology/0-lEVNQGaxP4hT8S/images/Intune_Script_Review.png?fit=max&auto=format&n=0-lEVNQGaxP4hT8S&q=85&s=d67f1ecde4f46acd8215ca07294d5597" alt="Intune Script Review" width="3892" height="2474" data-path="images/Intune_Script_Review.png" />
  </Step>
</Steps>

<Card title="Congratulations!" icon="check">You're all set! With your configuration policies deployed and the Zappl installer pushed to your devices, Zappl is ready to manage and update apps across your Intune-managed fleet.</Card>
