JumpCloud device attribution
Willow can attribute each scanned device to the employee who owns it by reading device ownership from JumpCloud with a read-only service account.
Most MDMs inject the enrolled user's email into the Scan Agent's configuration profile, so the agent already knows who owns the machine. JumpCloud cannot substitute directory variables into a profile, so its devices arrive in AI Discovery with no user attached. This integration closes that gap: Willow reads each JumpCloud system's serial number and primary system user email and links them to the device Willow already scanned with the matching serial.
How it works
- Willow authenticates to JumpCloud with a service account (OAuth client credentials) and calls the JumpCloud API read-only.
- For every JumpCloud system it reads the serial number and the primary system user's email.
- Each pair is matched to the scanned Willow device with the same hardware serial, and that device is attributed to the matching Willow user.
- Nothing is created in JumpCloud, and a JumpCloud system Willow has never scanned is skipped — there is no device to attribute yet.
Attribution runs two ways:
- Sync now — an on-demand full sweep you trigger from AI Discovery Settings.
- On new devices — best-effort as each new device is scanned, so a machine enrolled after your last sync is attributed without waiting for the next one.
There is no background schedule; run Sync now whenever you want to reconcile the whole fleet.
Prerequisites
- A JumpCloud administrator with the Billing privilege — only that role can create a service account.
- Permission to create a custom admin role (for least-privilege access).
- The Willow Scan Agent already deployed to your JumpCloud devices. See Deploy with JumpCloud.
Step 1 — Create a read-only admin role
Grant the service account only what Willow needs to read.
-
In the JumpCloud Admin Portal, go to Settings → Administrators → Admin Roles.
-
Create a new custom role, for example
Willow Read-Only. -
Set these permissions:
Area Access User Management View only Device Management View only Everything else No access -
Save the role.
Step 2 — Create the service account
- Go to Settings → API & Service Accounts → Service Accounts.
- Create a new service account and bind it to the
Willow Read-Onlyrole from Step 1. - Generate its credentials and copy the Client ID and Client Secret. The secret is shown only once — store it securely until you paste it into Willow.
- If you set an expiration on the secret, note the date so you can rotate it before it lapses.
Step 3 — Find your Organization ID
- In the Admin Portal, open Settings.
- Copy the Organization ID (also shown in the portal URL). Willow needs it to scope API calls to your tenant.
Step 4 — Enter the credentials in Willow
- In Willow, go to AI Discovery → Settings.
- In the JumpCloud card, turn on the integration.
- Enter the Client ID, Client Secret, and JumpCloud Organization ID.
- Click Test connection to confirm Willow can reach JumpCloud with the credentials.
- Click Save. The client secret is stored encrypted at rest and is never shown again — leave the field blank on future edits to keep it, or type a new value to rotate it.
Step 5 — Run the first sync
Click Sync now. Willow reads every JumpCloud system and attributes the devices it can match by serial. The card shows the time of the last sync and how many devices were attributed. After this, new devices are attributed best-effort as they are scanned.
Security
- The service account is read-only and limited to User and Device management by the custom role in Step 1.
- The client secret is encrypted at rest with your organization's key.
- Rotate the secret periodically. Generate a new one in JumpCloud, paste it into the Client Secret field, and save.
Troubleshooting
| Symptom | Check |
|---|---|
| Test connection fails | Re-check the Client ID, Client Secret, and Organization ID. Confirm the service account is bound to a role with view access to Users and Devices. |
| Sync succeeds but no devices are attributed | Confirm the devices have been scanned by Willow and report a serial number, and that the JumpCloud systems have a primary system user with an email that matches a Willow user. |
| A device is still unassigned | Its serial may not match any scanned device, may be shared by several devices (ambiguous), or its JumpCloud primary user email may not correspond to a Willow user. |