Skip to main content

Jamf Connector

Jamf Jamf is an Apple device management and security platform. This component allows managing computers, mobile devices, users, scripts, packages, categories, and departments in Jamf Pro, as well as polling for newly enrolled computers and mobile devices and receiving webhook notifications from Jamf Pro.

API Documentation

This component was built using the following API References:

Connections

Basic Authentication

Authenticate using username and password.

To authenticate with Jamf Pro using basic authentication, a local Jamf Pro user account with appropriate privileges is required.

Prerequisites

  • A Jamf Pro instance
  • A local (standard) Jamf Pro user account — SSO/federated accounts cannot be used for API authentication

Setup Steps

  1. Log in to the Jamf Pro dashboard
  2. Navigate to Settings > System > User Accounts and Groups
  3. Click New and select Create Standard Account
  4. Set the Access Level to Full Access and the Privilege Set to Administrator (or a custom set with the minimum required privileges)
  5. Note the username and password for the account
SSO and Federated Accounts Cannot Be Used

Jamf Pro does not support API authentication for SSO or federated accounts (for example, accounts backed by Okta, Azure AD, or another identity provider). This applies even when the account has Full Access and Administrator privileges.

If your Jamf Pro instance uses an identity provider for web UI login, you must still create a Standard Account (step 3 above) specifically for API use. Standard accounts coexist with federated accounts in the same Jamf Pro instance. You can identify account type in Settings > System > User Accounts and Groups — the Type column shows Local for standard accounts and Federated User for IdP-backed accounts.

Configure the Connection

Create a connection of type Basic Authentication and provide the following values:

  • Jamf Pro URL: The base URL of the Jamf Pro instance (e.g., https://acme.jamfcloud.com)
  • Username: The username of the local Jamf Pro account
  • Password: The password of the local Jamf Pro account
Recommended Authentication Method

OAuth 2.0 client credentials is the recommended authentication method for production integrations. Basic authentication (username and password) exchanges credentials for a bearer token, which expires after 20 minutes.

InputCommentsDefault
Jamf Pro URLThe base URL of the Jamf Pro instance (e.g., https://acme.jamfcloud.com).
UsernameThe Jamf Pro user account username. SSO accounts cannot be used for API authentication.
PasswordThe Jamf Pro user account password.

OAuth 2.0 Client Credentials

Authenticate using OAuth 2.0 client credentials.

To authenticate with Jamf Pro using OAuth 2.0 client credentials, create an API client in the Jamf Pro dashboard.

Prerequisites

  • A Jamf Pro instance with administrator access
  • Access to Settings > API Roles and Clients in Jamf Pro

Setup Steps

  1. Log in to the Jamf Pro dashboard
  2. Navigate to Settings > API Roles and Clients
  3. Create an API role with the required privileges for the integration
  4. Click New under the API Clients tab to create a new API client
  5. Assign the API role created in step 3 to the new client
  6. Enable the API client and click Save
  7. Click Generate Client Secret and copy the Client Secret immediately (it will not be shown again)
  8. Copy the Client ID displayed on the API client details page

Refer to the Jamf Pro API Roles and Clients documentation for detailed instructions.

Configure the Connection

Create a connection of type OAuth 2.0 Client Credentials and provide the following values:

  • Jamf Pro URL: The base URL of the Jamf Pro instance (e.g., https://acme.jamfcloud.com)
  • Client ID: The API Client ID from the Jamf Pro API client
  • Client Secret: The API Client Secret generated in the setup steps
InputCommentsDefault
Jamf Pro URLThe base URL of the Jamf Pro instance (e.g., https://acme.jamfcloud.com).
Client IDThe API Client ID from Settings > API Roles and Clients in Jamf Pro.
Client SecretThe API Client Secret from Settings > API Roles and Clients in Jamf Pro.

Triggers

Manual Webhook

Receive and validate webhook requests from Jamf Pro for manually configured webhook subscriptions.

InputCommentsDefault
Auth Header NameName of the header Jamf Pro sends for header authentication (must match the webhook's configured header). Leave blank to accept all incoming requests.
Auth Header ValueExpected value of the authentication header. Incoming requests whose header does not match are rejected. Required only if an Auth Header Name is set.

New Computers

Checks for newly enrolled computers in Jamf Pro on a configured schedule.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.

New Mobile Devices

Checks for newly enrolled mobile devices in Jamf Pro on a configured schedule.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.

Webhook Events

Subscribe to Jamf Pro events. On deploy, this trigger creates a webhook in Jamf Pro for each selected event (secured with a generated authentication header) and removes them when the instance is deleted. Incoming requests are validated against that header.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
EventsThe Jamf Pro events to subscribe to. One webhook is created per selected event.["ComputerAdded"]

Actions

Create Category

Create a new category.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
NameThe display name used to identify the category in Jamf Pro.
PriorityThe sort order weight for the category. Lower numbers appear first.9

Create Department

Create a new department.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
NameThe display name used to identify the department in Jamf Pro.

Create Package

Create a new package record in Jamf Pro.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
Package NameThe display name of the package as shown in Jamf Pro.
File NameThe filename of the package file on the Jamf distribution point (e.g., GoogleChrome.pkg).
Category IDThe unique identifier of the category to assign to this package.
PriorityInstallation priority from 1 (highest) to 20 (lowest). Defaults to 10.
InfoA description of the package displayed to administrators in Jamf Pro.
NotesInternal notes about the package visible only to administrators.
Reboot RequiredWhether the device must reboot after installing this package.false
OS InstallWhether this package is an OS installer.false
Fill User TemplateWhether to fill the user template with the package contents.false
Suppress UpdatesWhether to suppress software updates during installation.false
Suppress EULAWhether to suppress the End User License Agreement during installation.false
Suppress From DockWhether to suppress the package icon from the Dock during installation.false
Suppress RegistrationWhether to suppress the registration window during installation.false

Create Script

Create a new script.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
NameThe display name used to identify the script in Jamf Pro.
Script ContentsThe shell script body. Include the shebang line (e.g., #!/bin/bash).
Category IDThe unique identifier of the category to assign to this script.
PriorityWhen the script runs relative to the policy.AFTER
InfoA description of the script displayed to administrators in Jamf Pro.
NotesInternal notes about the script visible only to administrators.

Create Webhook

Create a new webhook subscription in Jamf Pro.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
NameThe display name used to identify the webhook in Jamf Pro.
EventThe Jamf Pro event that triggers this webhook.
URLThe destination URL that Jamf Pro sends webhook events to.
Content TypeThe payload format Jamf Pro delivers events in.application/json
EnabledWhether the webhook is active and delivering events.true
Authentication TypeHow Jamf Pro authenticates to the destination URL. Header authentication sends a custom header with every event.NONE
Auth Header NameName of the header Jamf Pro sends when Authentication Type is Header. Required when using Header authentication.
Auth Header ValueValue of the header Jamf Pro sends when Authentication Type is Header. Required when using Header authentication.

Delete Category

Delete a category by ID.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
CategoryThe unique identifier of the category.

Delete Department

Delete a department by ID.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
DepartmentThe unique identifier of the department.

Delete Instanced Webhooks

Delete all Jamf Pro webhooks that point to a flow in this instance.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.

Delete Package

Delete a package record by ID.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
PackageThe unique identifier of the package.

Delete Script

Delete a script by ID.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
ScriptThe unique identifier of the script.

Delete Webhook

Delete a webhook subscription by ID.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
WebhookThe unique identifier of the webhook.

Get Category

Get a single category by ID.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
CategoryThe unique identifier of the category.

Get Computer

Get a single computer inventory record by ID.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
ComputerThe unique identifier of the computer.
SectionSection of computer details to include in the response. If not specified, General section data is returned.["GENERAL"]

Get Department

Get a single department by ID.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
DepartmentThe unique identifier of the department.

Get Mobile Device

Get a single mobile device record by ID.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
Mobile DeviceThe unique identifier of the mobile device.

Get Package

Get a single package record by ID.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
PackageThe unique identifier of the package.

Get Script

Get a single script by ID.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
ScriptThe unique identifier of the script.

Get Webhook

Get a single webhook subscription by ID.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
WebhookThe unique identifier of the webhook.

List Categories

List all categories with optional filtering and pagination.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
PageThe zero-indexed page number for paginated results. Page 0 is the first page.0
Page SizeThe maximum number of results to return per page. Maximum 1000.100
SortThe sort criteria in the format property:asc or property:desc. Multiple criteria are comma-separated.
FilterAn RSQL filter expression to narrow results. Example: name=="Apps*" or id>=5. Leave blank to return all results.
Fetch AllIf true, fetch every page of results and ignore the Page and Page Size inputs. If false, return a single page.false

List Computers

List computer inventory records with optional filtering and pagination.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
PageThe zero-indexed page number for paginated results. Page 0 is the first page.0
Page SizeThe maximum number of results to return per page. Maximum 1000.100
SortThe sort criteria in the format property:asc or property:desc. Multiple criteria are comma-separated.
FilterAn RSQL filter expression to narrow results. Example: name=="Apps*" or id>=5. Leave blank to return all results.
SectionSection of computer details to include in the response. If not specified, General section data is returned.["GENERAL"]
Fetch AllIf true, fetch every page of results and ignore the Page and Page Size inputs. If false, return a single page.false

List Departments

List all departments with optional filtering and pagination.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
PageThe zero-indexed page number for paginated results. Page 0 is the first page.0
Page SizeThe maximum number of results to return per page. Maximum 1000.100
SortThe sort criteria in the format property:asc or property:desc. Multiple criteria are comma-separated.
FilterAn RSQL filter expression to narrow results. Example: name=="Apps*" or id>=5. Leave blank to return all results.
Fetch AllIf true, fetch every page of results and ignore the Page and Page Size inputs. If false, return a single page.false

List Mobile Devices

List mobile device inventory records with optional filtering and pagination.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
PageThe zero-indexed page number for paginated results. Page 0 is the first page.0
Page SizeThe maximum number of results to return per page. Maximum 1000.100
SortThe sort criteria in the format property:asc or property:desc. Multiple criteria are comma-separated.
FilterAn RSQL filter expression to narrow results. Example: name=="Apps*" or id>=5. Leave blank to return all results.
SectionSection of mobile device details to include in the response. If not specified, General section data is returned.["GENERAL"]
Fetch AllIf true, fetch every page of results and ignore the Page and Page Size inputs. If false, return a single page.false

List Packages

List all packages with optional filtering and pagination.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
PageThe zero-indexed page number for paginated results. Page 0 is the first page.0
Page SizeThe maximum number of results to return per page. Maximum 1000.100
SortThe sort criteria in the format property:asc or property:desc. Multiple criteria are comma-separated.
FilterAn RSQL filter expression to narrow results. Example: name=="Apps*" or id>=5. Leave blank to return all results.
Fetch AllIf true, fetch every page of results and ignore the Page and Page Size inputs. If false, return a single page.false

List Scripts

List all scripts with optional filtering and pagination.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
PageThe zero-indexed page number for paginated results. Page 0 is the first page.0
Page SizeThe maximum number of results to return per page. Maximum 1000.100
SortThe sort criteria in the format property:asc or property:desc. Multiple criteria are comma-separated.
FilterAn RSQL filter expression to narrow results. Example: name=="Apps*" or id>=5. Leave blank to return all results.
Fetch AllIf true, fetch every page of results and ignore the Page and Page Size inputs. If false, return a single page.false

List Users

List Jamf Pro user accounts with optional filtering and pagination.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
PageThe zero-indexed page number for paginated results. Page 0 is the first page.0
Page SizeThe maximum number of results to return per page. Maximum 1000.100
SortThe sort criteria in the format property:asc or property:desc. Multiple criteria are comma-separated.
FilterAn RSQL filter expression to narrow results. Example: name=="Apps*" or id>=5. Leave blank to return all results.
Fetch AllIf true, fetch every page of results and ignore the Page and Page Size inputs. If false, return a single page.false

List Webhooks

List all webhook subscriptions configured in Jamf Pro.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.

Raw Request

Send a raw HTTP request to the Jamf Pro API or the Classic API.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
APIWhich Jamf Pro API to target. The Pro API uses the /api base path; the Classic API uses /JSSResource.api
URLThe API path only (e.g., /v1/computers-inventory for the Pro API, or /computers/id/1 for the Classic API). The base URL and selected API prefix are added automatically.
MethodThe HTTP method to use.
DataThe HTTP body payload to send to the URL.
Form DataThe Form Data to be sent as a multipart form upload.
File DataFile Data to be sent as a multipart form upload.
File Data File NamesFile names to apply to the file data inputs. Keys must match the file data keys above.
Query ParameterA list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
HeaderA list of headers to send with the request.
Response TypeThe type of data you expect in the response. You can request json, text, or binary data.json
TimeoutThe maximum time that a client will await a response to its request
Retry Delay (ms)The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.0
Retry On All ErrorsIf true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.false
Max Retry CountThe maximum number of retries to attempt. Specify 0 for no retries.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.false

Update Category

Update an existing category.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
CategoryThe unique identifier of the category.
NameThe display name used to identify the category in Jamf Pro.
PriorityThe sort order weight for the category. Lower numbers appear first.

Update Computer

Update specific fields of a computer inventory record. Only the provided fields are modified.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
ComputerThe unique identifier of the computer.
Update DataJSON object with the computer inventory fields to update. Only the provided fields will be modified (PATCH semantics).

Update Department

Update an existing department.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
DepartmentThe unique identifier of the department.
NameThe display name used to identify the department in Jamf Pro.

Update Package

Update an existing package record.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
PackageThe unique identifier of the package.
Package NameThe display name of the package as shown in Jamf Pro.
File NameThe filename of the package file on the Jamf distribution point (e.g., GoogleChrome.pkg).
Category IDThe unique identifier of the category to assign to this package.
PriorityInstallation priority from 1 (highest) to 20 (lowest). Defaults to 10.
InfoA description of the package displayed to administrators in Jamf Pro.
NotesInternal notes about the package visible only to administrators.
Reboot RequiredWhether the device must reboot after installing this package.
OS InstallWhether this package is an OS installer.
Fill User TemplateWhether to fill the user template with the package contents.
Suppress UpdatesWhether to suppress software updates during installation.
Suppress EULAWhether to suppress the End User License Agreement during installation.
Suppress From DockWhether to suppress the package icon from the Dock during installation.
Suppress RegistrationWhether to suppress the registration window during installation.

Update Script

Update an existing script.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
ScriptThe unique identifier of the script.
NameThe display name used to identify the script in Jamf Pro.
Script ContentsThe shell script body. Include the shebang line (e.g., #!/bin/bash).
Category IDThe unique identifier of the category to assign to this script.
PriorityWhen the script runs relative to the policy.
InfoA description of the script displayed to administrators in Jamf Pro.
NotesInternal notes about the script visible only to administrators.

Update Webhook

Update an existing webhook subscription.

InputCommentsDefault
ConnectionThe Jamf Pro connection to use.
WebhookThe unique identifier of the webhook.
NameThe display name used to identify the webhook in Jamf Pro.
EventThe Jamf Pro event that triggers this webhook.
URLThe destination URL that Jamf Pro sends webhook events to.
Content TypeThe payload format Jamf Pro delivers events in.
EnabledWhether the webhook is active and delivering events.