---
sourceDocument: Australia IT Service Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/it-service-management

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia IT Service Management

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# Bulk deploy ACC on macOS

# Bulk deploy Agent Client Collector on macOS using Jamf {#ariaid-title1}

Release version: Australia  
Updated March 12, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes to read  
Use Jamf to install Agent Client Collector (ACC) on multiple macOS devices at once, promoting consistent deployment across your organization.

## Before you begin

* Create an agent registration key and retrieve its value to use in the procedure. For more information, see [Create an ACC registration key](https://servicenow-prod.fluidtopics.net/daTdrcC1k0RcmSpwnJQs~w "Set up an Agent Client Collector (ACC) by creating an agent registration key to identify and authenticate agents that are enabled to send data to the collector. The key helps promote the security and integrity of the data collected from the system.").
* Install ACC on your local machine. For more information, see [Install ACC for DEX on macOS](https://servicenow-prod.fluidtopics.net/tqYzXi8_OnMytkXKnTJKng "Install Agent Client Collector (ACC) to monitor and collect data in a centralized and organized manner, provide insights into system performance, identify issues, and enable proactive maintenance.").

{#bulk-deploy-acc-on-macos__ul_yz2_plw_5gc}

Role required: agent_client_collector_admin

## About this task

The following procedure describes how to mass-deploy ACC using Jamf. Your organization might have a different method to deploy ACC.

## Procedure

1. Download the installation package.
   1. Navigate to AllAgent Client CollectorDeploymentAgent Downloads.
   2. Download the appropriate package from the macOS Downloads section, based on the chip type.
   {#bulk-deploy-acc-on-macos__substeps_rjm_gzb_lgc}
2. Upload the installation package to Jamf Pro.
   1. In the Jamf Pro instance, navigate to SettingsPackages.
   2. Select the New button.
   3. Provide a display name for a package.
   4. Select browse for a file under Filename and select the package.
   5. Select Save.
   {#bulk-deploy-acc-on-macos__substeps_l4v_hzb_lgc} {#bulk-deploy-acc-on-macos__upload-package-jamf}
{#bulk-deploy-acc-on-macos__upload-package-jamf}
3. Update the acc.yml file.
   1. Copy the acc.yml file generated during the local installation to your Desktop location.
   2. Confirm connect-without-mid is set to `true`.
   3. Confirm that the instance URL is accurate and insert the registration key.
   4. Verify that verify-plugin-signature is set to `false`.
   5. Save the acc.yml
   {#bulk-deploy-acc-on-macos__substeps_ahr_5dg_bhc}
4. Using the Terminal command line, convert your acc.yml file into a deploy package.
   1. Create a file named yml_package_builder.sh on your Desktop.
   2. Copy the following script into the yml_package_builder.sh file and save it.  

          #!/bin/bash
          #!/bin/bash
          # === CONFIGURATION ===
          PKG_NAME="acc-yml.pkg"
          INSTALL_PATH="/Library/Application Support/servicenow/agent-client-collector"
          YML_SOURCE_PATH="$HOME/Desktop/acc.yml" # Assuming you have your yml
          file on the Desktop folder, change it if needed
          # === CREATE BUILD STRUCTURE ===
          BUILD_DIR="$HOME/pkgbuild-yml"
          PAYLOAD_DIR="$BUILD_DIR/payload"
          # Clean previous build
          rm -rf "$BUILD_DIR"
          mkdir -p "$PAYLOAD_DIR"
          # Copy YAML file into package payload
          cp "$YML_SOURCE_PATH" "$PAYLOAD_DIR/"
          # === BUILD THE PACKAGE ===
          pkgbuild \
          --identifier "com.servicenow.acc.yml" \
          --install-location "$INSTALL_PATH" \
          --root "$BUILD_DIR/payload" \
          "$HOME/Desktop/$PKG_NAME"
          echo "✅ .pkg created at: $HOME/Desktop/$PKG_NAME"

   3. Run the sh yml_package_builder.sh command from the Terminal.  
      Note:  
      The modified acc.yml file and the yml_package_builder.sh file must be saved in the same location (Desktop, for example).

   {#bulk-deploy-acc-on-macos__substeps_gbd_jjh_lgc}  
   The file acc-yml.pkg appears on your Desktop.
5. Upload the yml package to Jamf Pro in the same way you uploaded the installation package.
6. In the Jamf Pro instance, create a post-install script.
   1. Navigate to SettingsScripts.
   2. Select the New button.
   3. Provide a display name and complete the form as needed.
   4. In the Script tab, paste the following script.  

          # === 1. Create sudoers file ===
          SUDOERS_FILE="/private/etc/sudoers.d/_servicenow"
          cat <<EOF > "$SUDOERS_FILE"
          # ServiceNow Agent Collector - Sudoers Configuration for macOS

          # Command alias for ServiceNow allowed commands
          # These commands can be executed by the _servicenow user with sudo privileges
          Cmnd_Alias SN_ALLOWED = /usr/bin/powermetrics, \
                                  /usr/bin/mdls, \
                                  /usr/bin/log, \
                                  /usr/bin/log show *, \
                                  /bin/kill, \
                                  /usr/bin/defaults, \
                                  /usr/local/bin/jamf, \
                                  /bin/rm, \
                                  /bin/ls, \
                                  /usr/bin/pgrep, \
                                  /usr/bin/find, \
                                  /usr/bin/pmset, \
                                  /usr/bin/open, \
                                  /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/app_freeze.sh, \
                                  /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/zscaler_zpa_reconnect.sh, \
                                  /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/clear_google_chrome_browsing_data.sh, \
                                  /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/services.sh, \
                                  /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/restart_service.sh *, \
                                  /Applications/Zscaler/Zscaler.app/Contents/PlugIns/zscli, \
                                  /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/elevate_temporary_admin.sh

          # ServiceNow user permissions
          # _servicenow user can run osqueryi and all SN_ALLOWED commands without password
          # SETENV allows environment variables to be preserved
          _servicenow ALL=NOPASSWD: SETENV: /Library/Application\ Support/servicenow/agent-client-collector/cache/osquery/bin/osqueryi *, SN_ALLOWED

          # Defaults for _servicenow user
          # !requiretty: Allow sudo without a TTY (required for automated scripts)
          Defaults:_servicenow !requiretty
          EOF
          chmod 440 "$SUDOERS_FILE"
          echo "[INFO] Sudoers file created at $SUDOERS_FILE"

          # === 2. Set permissions for the YAML file ===
          YML_PATH="/Library/Application Support/servicenow/agent-client-collector/acc.yml"
          if [ -f "$YML_PATH" ]; then
          chmod 644 "$YML_PATH"
          echo "[INFO] Permissions set on acc.yml"
          else
          echo "[WARN] acc.yml not found at $YML_PATH"
          fi
          # === 3. Restart ACC service ===
          PLIST="/Library/LaunchDaemons/com.sn.acc.plist"
          if [ -f "$PLIST" ]; then
          echo "[INFO] Stopping ACC service..."
          launchctl unload -w "$PLIST" 2>/dev/null
          sleep 2
          echo "[INFO] Starting ACC service..."
          launchctl load -w "$PLIST"
          else
          echo "[ERROR] LaunchDaemon not found at $PLIST"
          fi

   5. Select Save.
   {#bulk-deploy-acc-on-macos__substeps_pnf_jjh_lgc}
7. Create a Jamf policy and add the created packages and script.
   1. In the Jamf Pro instance, navigate to InventoryPolicies.
   2. Select the New button.
   3. Enter an appropriate policy name, trigger, and frequency.
   4. Under Scope, add all the target computers.
   5. Navigate to PackagesConfigure and add the installation and acc-yml packages to the record.  
      Note:  
      Make sure Install is selected under Action.
   6. Navigate to ScriptsConfigure and add the post-install script to the record.  
      Note:  
      Make sure After is selected under Priority.
   7. Select Save.
   8. On the Scope tab, add target computers and target users.
   9. Select Save.
   {#bulk-deploy-acc-on-macos__substeps_c13_jjh_lgc}
8. To monitor the deployment status, do one of the following:
   * Check the deployment status in the Jamf Pro instance Dashboard.
   * Check the agent status by navigating to AllAgent Client CollectorAgents.
   * Review the log file on the endpoint devices: /Library/Application Support/servicenow/agent-client-collector/log/acc.log.
   {#bulk-deploy-acc-on-macos__choices_fnv_yzh_lgc}

*[\>]: and then


