Skip to main content

Jamf Pro

Deploying WhatPulse Professional with Jamf Pro (macOS Management)

Jamf Pro is a leading Apple device management solution used in enterprises to manage macOS deployments. It combines Mobile Device Management (MDM) with client-side policies, allowing IT admins to push software packages, enforce configurations, and execute scripts on Macs. Using Jamf Pro, you can silently install WhatPulse Professional across your Macs and automate the setup so that each client is immediately registered to your organization.

Prerequisites

  • WhatPulse Installer (.pkg): Download the latest WhatPulse Professional .pkg installer for macOS from the WhatPulse downloads page.
  • Organization ID: Have your WhatPulse organization ID on hand. You'll use this to configure automatic org registration by creating the wp-pro-org-id.txt file on clients.
  • Jamf Pro Access: Ensure you have Jamf Pro administrator access and that your target macOS devices are enrolled in Jamf Pro (with the Jamf agent or at least MDM profile installed).
  • Necessary Permissions Profile: (Optional but recommended) A Privacy Preferences Policy Control (PPPC) configuration profile in Jamf to pre-approve Accessibility and Input Monitoring for the WhatPulse app. This avoids manual permission prompts on each machine.

Deployment Steps

  1. Add WhatPulse Installer to Jamf Pro: Upload the WhatPulse installer file to your Jamf Pro server so it can be deployed. You can do this via the Jamf Pro web console or Jamf Admin:
    • Jamf Pro Web: Navigate to Settings > Computer Management > Packages, then click New. Click Choose File and select the WhatPulse .pkg file, then Save link1. This stores the installer in Jamf's package repository.
    • Jamf Admin app (if using Jamf's macOS admin tool): Open Jamf Admin and log in. Drag and drop the WhatPulse .pkg installer into Jamf Admin's repository listlink2. Assign it a category (e.g. "Applications") for organization, then Save/Update to upload it.
  2. Create a Deployment Policy: In Jamf Pro, go to Computers > Policies and click New to create a policy for deploying WhatPulse.
    • On the General tab, name the policy "Deploy WhatPulse Professional" (or similar). Set the Trigger to "Recurring Check-in" (for automatic deployment when devices check in) or "Enrollment Complete" (to install on new enrollments). You can also check "Execute on enrollment" if you want it to run for new devices immediately. Leave Frequency as "Ongoing" (or "Once per computer" if you only want one installation attempt per device).
    • Optionally, add a Self Service description if you intend to make it available for on-demand install, but for a silent push, Self Service is not needed.
  3. Configure Package Installation: Still within the new policy, go to the Packages payload and click Configure. Select the WhatPulse package you uploaded from the drop-down list. Ensure the Action is set to Installlink2. This tells Jamf to deploy that package to the client. The PKG will run silently by default.
  4. (Optional) Configure Privacy Permissions: For a seamless installation, create a configuration profile to auto-grant permissions WhatPulse needs:
    • Use Jamf's built-in PPPC Utility or Configuration Profiles section to add a Privacy Preferences Policy Control profile. Add WhatPulse by its bundle identifier (com.whatpulse.mac) and code signing Team ID, with Accessibility = Allow and Input Monitoring = Allow (without prompting). Deploy this profile to the same target computers.
    • Scoping this profile to devices before or at the same time as the app deployment will suppress the OS dialogs that would otherwise ask users to grant these permissions. This step ensures WhatPulse can record stats (keystrokes, input usage) immediately upon installation.
  5. Automatic Activation (Org ID): To have new installs appear in your WhatPulse dashboard automatically, configure Jamf to drop the organization identifier file during deployment:
    • Add a Script: In the WhatPulse policy, go to the Scripts payload and click Configure. Add a script (or create a new one) that runs a shell command to create the org ID file. For example:
#!/bin/bash
echo "<Your Organization ID>" > "/Applications/WhatPulse/wp-pro-org-id.txt"
  • This one-liner will run on the client as root and output your org ID string to the required file path. (Replace <Your Organization ID> with your actual org name or ID.) Jamf will execute this script after the package installs, if you set the Priority ordering accordingly (e.g., add the script with a priority after package installation). The presence of wp-pro-org-id.txt in the app folder causes the WhatPulse client to register itself to your org automatically. Alternatively, you could create a second policy or an Extension Attribute script, but adding a script to the same deployment policy is straightforward.
  1. (Optional) Default Settings Overrides: If you want to preset certain application settings for all users, prepare a settings-overrides.ini file with the desired settings. To deploy this via Jamf:
    • You could include it in the above script (e.g., using echo or cat in the script to create the INI file in /Applications/WhatPulse/ after installation).
    • Or, upload the INI as a small package (or use a Jamf "File and Processes" command to copy it from a fileshare) and deploy it similarly. This step is optional and only needed if you have specific WhatPulse client settings to enforce organization-wide.
  2. Scope and Deploy: Under the policy's Scope tab, add the target Macs (or a Smart Group of Mac computers) that should receive WhatPulse. You can scope to "All Computers" or specific criteria (e.g., all Macs in a certain department). Save the policy. Jamf will begin deploying on the specified trigger (for example, at next check-in, devices in scope will download and install the package).
    • If you set the trigger to Recurring Check-in (which runs roughly every 15 minutes by default), online Macs should pick up the installation fairly quickly. For new enrollments, use Enrollment Complete trigger.
  3. Verification: Monitor the deployment progress in Jamf Pro. You can check the policy logs to see which machines have run the policy and whether the installation succeeded (look for "completed" status in logs). On a Mac, verify that WhatPulse is now present in the Applications folder and that it's been installed for all users. The installation is silent, so end-users won't see any installer UI.
    • Org ID check: Confirm that the file /Applications/WhatPulse/wp-pro-org-id.txt exists on the client and contains your org ID text. This indicates the script ran correctly.
    • Permissions check: If you deployed the PPPC profile, open System Settings > Privacy & Security > Accessibility (and Input Monitoring) on one of the Macs to ensure WhatPulse is listed and allowed. If so, the app will not prompt the user on first run.
    • WhatPulse Dashboard: Log in to your WhatPulse Professional web dashboard and navigate to the Computers section. Any Macs that installed the client with the org ID file in place should appear under Pending Computers automatically, awaiting activation. This confirms they have registered to your organization. Once you approve/activate them, the WhatPulse clients will start reporting data.
    • Client Launch: By default, WhatPulse is set to run at startup. You can reboot a client machine or instruct the user to log in; WhatPulse should launch (the icon will appear in the menu bar). With the permissions pre-granted, it will operate immediately. If permissions were not pre-granted via profile, the user will be prompted on first launch to enable Accessibility and Input Monitoring (they must do so in System Preferences for stats to be tracked).

By following these steps, Jamf Pro will silently install WhatPulse Professional on your Macs and automatically associate each installation with your WhatPulse organization. This results in minimal user intervention, primarily just the final activation in the dashboard (which can be done by an admin). Jamf's logging and scoping capabilities make it easy to deploy WhatPulse to large fleets and ensure compliance across your Apple devices.