![jamf icon](/docs/img/components/icons/60/amFtZg==.png)

# Jamf Connector

key: jamf[Source](https://github.com/prismatic-io/components/tree/main/components/jamf)[API Docs](https://developer.jamf.com/jamf-pro/reference/jamf-pro-api)[API Changelog](https://developer.jamf.com/jamf-pro/changelog)[Connector Changelog](#changelog)

## Description[​](#description "Direct link to Description")

[Jamf](https://www.jamf.com/) 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[​](#api-documentation "Direct link to API Documentation")

This component was built using the following API References:

* [Jamf Pro API Reference](https://developer.jamf.com/jamf-pro/reference/jamf-pro-api)
* [Classic API Reference](https://developer.jamf.com/jamf-pro/reference/classic-api)

## Connections[​](#connections "Direct link to Connections")

### Basic Authentication[​](#jamfbearertoken "Direct link to Basic Authentication")

**key: jamfBearerToken**

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

#### Prerequisites[​](#prerequisites "Direct link to Prerequisites")

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

#### Setup Steps[​](#setup-steps "Direct link to 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[​](#configure-the-connection "Direct link to 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.

| Input        | Notes                                                                                   | Example                     |
| ------------ | --------------------------------------------------------------------------------------- | --------------------------- |
| Jamf Pro URL | The base URL of the Jamf Pro instance (e.g., https\://acme.jamfcloud.com).              | https\://acme.jamfcloud.com |
| Password     | The Jamf Pro user account password.                                                     |                             |
| Username     | The Jamf Pro user account username. SSO accounts cannot be used for API authentication. | admin                       |

### OAuth 2.0 Client Credentials[​](#jamfclientcredentials "Direct link to OAuth 2.0 Client Credentials")

**key: jamfClientCredentials**

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

#### Prerequisites[​](#prerequisites-1 "Direct link to Prerequisites")

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

#### Setup Steps[​](#setup-steps-1 "Direct link to 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](https://learn.jamf.com/r/en-US/jamf-pro-documentation-current/API_Roles_and_Clients) for detailed instructions.

#### Configure the Connection[​](#configure-the-connection-1 "Direct link to 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

| Input         | Notes                                                                      | Example                               |
| ------------- | -------------------------------------------------------------------------- | ------------------------------------- |
| Jamf Pro URL  | The base URL of the Jamf Pro instance (e.g., https\://acme.jamfcloud.com). | https\://acme.jamfcloud.com           |
| Client ID     | The API Client ID from Settings > API Roles and Clients in Jamf Pro.       | abc12345-1234-1234-1234-abc1234567890 |
| Client Secret | The API Client Secret from Settings > API Roles and Clients in Jamf Pro.   |                                       |

## Triggers[​](#triggers "Direct link to Triggers")

### Manual Webhook[​](#webhook "Direct link to Manual Webhook")

Receive and validate webhook requests from Jamf Pro for manually configured webhook subscriptions. | **key: webhook**

| Input             | Notes                                                                                                                                                  | Example          |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------- |
| Auth Header Name  | Name of the header Jamf Pro sends for header authentication (must match the webhook's configured header). Leave blank to accept all incoming requests. | X-Jamf-Signature |
| Auth Header Value | Expected value of the authentication header. Incoming requests whose header does not match are rejected. Required only if an Auth Header Name is set.  |                  |

Example Payload for <!-- -->Manual Webhook[⤓](https://prismatic.io/docs/example-payloads/jamf/triggers/webhook.json "Download example payload")

Loading…

***

### New Computers[​](#pollnewcomputers "Direct link to New Computers")

Checks for newly enrolled computers in Jamf Pro on a configured schedule. | **key: pollNewComputers**

| Input      | Notes                           | Example |
| ---------- | ------------------------------- | ------- |
| Connection | The Jamf Pro connection to use. |         |

This trigger checks for newly enrolled computers in [Jamf Pro](https://developer.jamf.com/jamf-pro/reference/get_v1-computers-inventory) on a configured schedule.

#### How It Works[​](#how-it-works "Direct link to How It Works")

1. The trigger runs on the configured schedule (e.g., every 5 minutes).
2. It queries the Jamf Pro `GET /v1/computers-inventory` endpoint using an RSQL filter on `general.lastEnrolledDate` to fetch only computers enrolled since the last poll time.
3. Each computer returned by the API is treated as a newly enrolled device for the current poll window.
4. The trigger updates its internal state to record the current poll time so subsequent runs only return computers enrolled after this point.

**State Management**

The trigger persists a single value between executions:

State Shape

```typescript
{
  // ISO 8601 timestamp of the most recent poll execution.
  // Used in the RSQL filter on general.lastEnrolledDate for the next run.
  lastPolledAt: "2026-04-15T10:30:00.000Z";
}

```

On the first execution, `lastPolledAt` is initialized to the current timestamp so no historical computers are returned. From that point forward, only computers enrolled after the previous poll time are emitted.

#### Configuration[​](#configuration "Direct link to Configuration")

The trigger accepts the following inputs:

* **Connection**: The Jamf Pro connection to use.
* **Page Size**: The maximum number of computers to return per poll (defaults to 100, maximum 1000).

#### Returned Data[​](#returned-data "Direct link to Returned Data")

The trigger returns the list of newly enrolled computers in the `data` array. When no new computers are found, the trigger emits an empty array and marks the poll as having no changes.

Example Payload

```json
{
  "data": [
    {
      "id": "1",
      "udid": "A8C5F29D-1234-5678-ABCD-9E0F1B2C3D4E",
      "general": {
        "name": "MacBook-Pro-001",
        "lastContactTime": "2026-04-15T10:23:00.000Z",
        "platform": "Mac",
        "assetTag": null,
        "reportDate": "2026-04-15T10:22:00.000Z",
        "remoteManagement": { "managed": true },
        "supervised": true
      },
      "hardware": {
        "make": "Apple",
        "model": "MacBook Pro (16-inch, 2023)",
        "serialNumber": "C02XY1234567",
        "processorType": "Apple M2 Pro",
        "totalRamMegabytes": 16384
      },
      "operatingSystem": {
        "name": "macOS",
        "version": "15.4.0",
        "build": "24E248"
      },
      "userAndLocation": {
        "username": "jdoe",
        "realname": "Jane Doe",
        "email": "jdoe@example.com",
        "department": "Engineering",
        "building": null
      },
      "security": {
        "sipStatus": "ENABLED",
        "gatekeeperStatus": "APP_STORE_AND_IDENTIFIED_DEVELOPERS",
        "xprotectVersion": "2199",
        "firewall": true
      }
    }
  ]
}

```

Refer to the [Jamf Pro Computer Inventory API reference](https://developer.jamf.com/jamf-pro/reference/get_v1-computers-inventory) for the complete list of fields returned for each computer.

#### Notes[​](#notes "Direct link to Notes")

* The first execution after deployment establishes the baseline timestamp and does not emit any computers. New computers enrolled after that baseline will appear in subsequent polls.
* Frequent polling schedules (under one minute) may be subject to Jamf Pro API rate limits. A polling interval of 5 minutes or longer is recommended for most use cases.
* The RSQL filter relies on `general.lastEnrolledDate`. Computers that have been re-enrolled (rather than newly enrolled) will also match the filter when their re-enrollment falls within the polling window.

***

### New Mobile Devices[​](#pollnewmobiledevices "Direct link to New Mobile Devices")

Checks for newly enrolled mobile devices in Jamf Pro on a configured schedule. | **key: pollNewMobileDevices**

| Input      | Notes                           | Example |
| ---------- | ------------------------------- | ------- |
| Connection | The Jamf Pro connection to use. |         |

This trigger checks for newly enrolled mobile devices in [Jamf Pro](https://developer.jamf.com/jamf-pro/reference/get_v2-mobile-devices) on a configured schedule.

#### How It Works[​](#how-it-works-1 "Direct link to How It Works")

1. The trigger runs on the configured schedule (e.g., every 5 minutes).
2. It queries the Jamf Pro `GET /v2/mobile-devices` endpoint to retrieve the current set of enrolled mobile devices.
3. Each device's numeric `id` is compared against the highest device ID seen on the previous poll. Devices with an ID greater than the stored maximum are treated as newly enrolled.
4. The trigger updates its internal state with the new maximum ID so subsequent runs only emit devices added after this point.

**Why Max-ID Tracking**

Unlike the Jamf Pro Computer Inventory API, the v2 mobile devices endpoint does not expose a reliable "enrolled since" filter. Jamf assigns sequential IDs to mobile devices as they are enrolled, so tracking the highest known ID provides a stable way to detect new enrollments between polls.

**State Management**

The trigger persists a single value between executions:

State Shape

```typescript
{
  // The highest mobile device ID observed in the previous poll.
  // Devices with an ID greater than this value are treated as newly enrolled.
  lastMaxId: 42;
}

```

On the first execution, `lastMaxId` is undefined and the trigger establishes a baseline by recording the current maximum ID without emitting any devices. From that point forward, only devices with an ID greater than `lastMaxId` are emitted.

#### Configuration[​](#configuration-1 "Direct link to Configuration")

The trigger accepts the following inputs:

* **Connection**: The Jamf Pro connection to use.
* **Page Size**: The maximum number of mobile devices to fetch per poll (defaults to 100, maximum 1000).

#### Returned Data[​](#returned-data-1 "Direct link to Returned Data")

The trigger returns the list of newly enrolled mobile devices in the `data` array. When no new devices are found, the trigger emits an empty array and marks the poll as having no changes.

Example Payload

```json
{
  "data": [
    {
      "id": "5",
      "managementId": "mgmt-abc-123",
      "name": "iPad-001",
      "udid": "B3D6E19F-4321-8765-DCBA-EF0A1B2C3D4E",
      "serialNumber": "DMPC123456789",
      "wifiMacAddress": "a4:5e:60:ab:cd:ef",
      "phoneNumber": null,
      "username": "jdoe",
      "type": "ios",
      "model": "iPad Pro (11-inch) (4th generation)",
      "modelIdentifier": "iPad14,3",
      "softwareUpdateDeviceId": null
    }
  ]
}

```

Refer to the [Jamf Pro Mobile Devices API reference](https://developer.jamf.com/jamf-pro/reference/get_v2-mobile-devices) for the complete list of fields returned for each mobile device.

#### Notes[​](#notes-1 "Direct link to Notes")

* The first execution after deployment establishes the baseline maximum ID and does not emit any devices. New devices enrolled after that baseline will appear in subsequent polls.
* Because detection relies on a monotonically increasing ID, devices that are unenrolled and later re-enrolled may receive a new ID and be emitted again.
* The maximum `Page Size` accepted by the Jamf Pro API is 1000. For tenants with high mobile device enrollment volume, pair this trigger with frequent polling to ensure new devices are captured within a single page.

***

### Webhook Events[​](#webhookevents "Direct link to 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. | **key: webhookEvents**

| Input      | Notes                                                                           | Example       |
| ---------- | ------------------------------------------------------------------------------- | ------------- |
| Connection | The Jamf Pro connection to use.                                                 |               |
| Events     | The Jamf Pro events to subscribe to. One webhook is created per selected event. | ComputerAdded |

Example Payload for <!-- -->Webhook Events[⤓](https://prismatic.io/docs/example-payloads/jamf/triggers/webhookEvents.json "Download example payload")

Loading…

***

## Data Sources[​](#data-sources "Direct link to Data Sources")

### Select Category[​](#selectcategory "Direct link to Select Category")

Dynamically fetch a list of categories from Jamf Pro for use in a dropdown. | **key: selectCategory** | **type: picklist**

| Input      | Notes                           | Example |
| ---------- | ------------------------------- | ------- |
| Connection | The Jamf Pro connection to use. |         |

Example Payload for <!-- -->Select Category[⤓](https://prismatic.io/docs/example-payloads/jamf/data-sources/selectCategory.json "Download example payload")

Loading…

***

### Select Computer[​](#selectcomputer "Direct link to Select Computer")

Dynamically fetch a list of computers from Jamf Pro for use in a dropdown. | **key: selectComputer** | **type: picklist**

| Input      | Notes                           | Example |
| ---------- | ------------------------------- | ------- |
| Connection | The Jamf Pro connection to use. |         |

Example Payload for <!-- -->Select Computer[⤓](https://prismatic.io/docs/example-payloads/jamf/data-sources/selectComputer.json "Download example payload")

Loading…

***

### Select Department[​](#selectdepartment "Direct link to Select Department")

Dynamically fetch a list of departments from Jamf Pro for use in a dropdown. | **key: selectDepartment** | **type: picklist**

| Input      | Notes                           | Example |
| ---------- | ------------------------------- | ------- |
| Connection | The Jamf Pro connection to use. |         |

Example Payload for <!-- -->Select Department[⤓](https://prismatic.io/docs/example-payloads/jamf/data-sources/selectDepartment.json "Download example payload")

Loading…

***

### Select Mobile Device[​](#selectmobiledevice "Direct link to Select Mobile Device")

Dynamically fetch a list of mobile devices from Jamf Pro for use in a dropdown. | **key: selectMobileDevice** | **type: picklist**

| Input      | Notes                           | Example |
| ---------- | ------------------------------- | ------- |
| Connection | The Jamf Pro connection to use. |         |

Example Payload for <!-- -->Select Mobile Device[⤓](https://prismatic.io/docs/example-payloads/jamf/data-sources/selectMobileDevice.json "Download example payload")

Loading…

***

### Select Package[​](#selectpackage "Direct link to Select Package")

Dynamically fetch a list of packages from Jamf Pro for use in a dropdown. | **key: selectPackage** | **type: picklist**

| Input      | Notes                           | Example |
| ---------- | ------------------------------- | ------- |
| Connection | The Jamf Pro connection to use. |         |

Example Payload for <!-- -->Select Package[⤓](https://prismatic.io/docs/example-payloads/jamf/data-sources/selectPackage.json "Download example payload")

Loading…

***

### Select Script[​](#selectscript "Direct link to Select Script")

Dynamically fetch a list of scripts from Jamf Pro for use in a dropdown. | **key: selectScript** | **type: picklist**

| Input      | Notes                           | Example |
| ---------- | ------------------------------- | ------- |
| Connection | The Jamf Pro connection to use. |         |

Example Payload for <!-- -->Select Script[⤓](https://prismatic.io/docs/example-payloads/jamf/data-sources/selectScript.json "Download example payload")

Loading…

***

### Select Webhook[​](#selectwebhook "Direct link to Select Webhook")

Dynamically fetch a list of webhooks from Jamf Pro for use in a dropdown. | **key: selectWebhook** | **type: picklist**

| Input      | Notes                           | Example |
| ---------- | ------------------------------- | ------- |
| Connection | The Jamf Pro connection to use. |         |

Example Payload for <!-- -->Select Webhook[⤓](https://prismatic.io/docs/example-payloads/jamf/data-sources/selectWebhook.json "Download example payload")

Loading…

***

## Actions[​](#actions "Direct link to Actions")

### Create Category[​](#createcategory "Direct link to Create Category")

Create a new category. | **key: createCategory**

| Input      | Notes                                                               | Example           |
| ---------- | ------------------------------------------------------------------- | ----------------- |
| Name       | The display name used to identify the category in Jamf Pro.         | Productivity Apps |
| Connection | The Jamf Pro connection to use.                                     |                   |
| Priority   | The sort order weight for the category. Lower numbers appear first. | 9                 |

Example Payload for <!-- -->Create Category[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/createCategory.json "Download example payload")

Loading…

***

### Create Department[​](#createdepartment "Direct link to Create Department")

Create a new department. | **key: createDepartment**

| Input      | Notes                                                         | Example                |
| ---------- | ------------------------------------------------------------- | ---------------------- |
| Connection | The Jamf Pro connection to use.                               |                        |
| Name       | The display name used to identify the department in Jamf Pro. | Information Technology |

Example Payload for <!-- -->Create Department[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/createDepartment.json "Download example payload")

Loading…

***

### Create Package[​](#createpackage "Direct link to Create Package")

Create a new package record in Jamf Pro. | **key: createPackage**

| Input             | Notes                                                                                                                                                                                        | Example                         |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- |
| Additional Fields | Additional optional fields: includes Priority, Info, Notes, Reboot Required, OS Install, Fill User Template, Suppress Updates, Suppress EULA, Suppress From Dock, and Suppress Registration. |                                 |
| Connection        | The Jamf Pro connection to use.                                                                                                                                                              |                                 |
| Category ID       | The unique identifier of the category to assign to this package.                                                                                                                             | 3                               |
| File Name         | The filename of the package file on the Jamf distribution point (e.g., GoogleChrome.pkg).                                                                                                    | GoogleChrome-120.0.6099.199.pkg |
| Package Name      | The display name of the package as shown in Jamf Pro.                                                                                                                                        | Google Chrome 120.0.pkg         |

Example Payload for <!-- -->Create Package[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/createPackage.json "Download example payload")

Loading…

***

### Create Script[​](#createscript "Direct link to Create Script")

Create a new script. | **key: createScript**

| Input             | Notes                                                                            | Example        |
| ----------------- | -------------------------------------------------------------------------------- | -------------- |
| Additional Fields | Additional optional fields: includes Script Contents, Priority, Info, and Notes. |                |
| Connection        | The Jamf Pro connection to use.                                                  |                |
| Category ID       | The unique identifier of the category to assign to this script.                  | 3              |
| Name              | The display name used to identify the script in Jamf Pro.                        | Install Chrome |

Example Payload for <!-- -->Create Script[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/createScript.json "Download example payload")

Loading…

***

### Create Webhook[​](#createwebhook "Direct link to Create Webhook")

Create a new webhook subscription in Jamf Pro. | **key: createWebhook**

| Input             | Notes                                                                                                                     | Example                      |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
| Additional Fields | Additional optional fields: includes Content Type, Enabled, Authentication Type, Auth Header Name, and Auth Header Value. |                              |
| Connection        | The Jamf Pro connection to use.                                                                                           |                              |
| Event             | The Jamf Pro event that triggers this webhook.                                                                            | ComputerAdded                |
| Name              | The display name used to identify the webhook in Jamf Pro.                                                                | New Computer Notifier        |
| URL               | The destination URL that Jamf Pro sends webhook events to.                                                                | https\://example.com/webhook |

Example Payload for <!-- -->Create Webhook[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/createWebhook.json "Download example payload")

Loading…

***

### Delete Category[​](#deletecategory "Direct link to Delete Category")

Delete a category by ID. | **key: deleteCategory**

| Input      | Notes                                  | Example |
| ---------- | -------------------------------------- | ------- |
| Connection | The Jamf Pro connection to use.        |         |
| Category   | The unique identifier of the category. | 1       |

Example Payload for <!-- -->Delete Category[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/deleteCategory.json "Download example payload")

Loading…

***

### Delete Department[​](#deletedepartment "Direct link to Delete Department")

Delete a department by ID. | **key: deleteDepartment**

| Input      | Notes                                    | Example |
| ---------- | ---------------------------------------- | ------- |
| Connection | The Jamf Pro connection to use.          |         |
| Department | The unique identifier of the department. | 1       |

Example Payload for <!-- -->Delete Department[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/deleteDepartment.json "Download example payload")

Loading…

***

### Delete Instanced Webhooks[​](#deleteinstancedwebhooks "Direct link to Delete Instanced Webhooks")

Delete all Jamf Pro webhooks that point to a flow in this instance. | **key: deleteInstancedWebhooks**

| Input      | Notes                           | Example |
| ---------- | ------------------------------- | ------- |
| Connection | The Jamf Pro connection to use. |         |

Example Payload for <!-- -->Delete Instanced Webhooks[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/deleteInstancedWebhooks.json "Download example payload")

Loading…

***

### Delete Package[​](#deletepackage "Direct link to Delete Package")

Delete a package record by ID. | **key: deletePackage**

| Input      | Notes                                 | Example |
| ---------- | ------------------------------------- | ------- |
| Connection | The Jamf Pro connection to use.       |         |
| Package    | The unique identifier of the package. | 1       |

Example Payload for <!-- -->Delete Package[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/deletePackage.json "Download example payload")

Loading…

***

### Delete Script[​](#deletescript "Direct link to Delete Script")

Delete a script by ID. | **key: deleteScript**

| Input      | Notes                                | Example |
| ---------- | ------------------------------------ | ------- |
| Connection | The Jamf Pro connection to use.      |         |
| Script     | The unique identifier of the script. | 1       |

Example Payload for <!-- -->Delete Script[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/deleteScript.json "Download example payload")

Loading…

***

### Delete Webhook[​](#deletewebhook "Direct link to Delete Webhook")

Delete a webhook subscription by ID. | **key: deleteWebhook**

| Input      | Notes                                 | Example |
| ---------- | ------------------------------------- | ------- |
| Connection | The Jamf Pro connection to use.       |         |
| Webhook    | The unique identifier of the webhook. | 1       |

Example Payload for <!-- -->Delete Webhook[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/deleteWebhook.json "Download example payload")

Loading…

***

### Get Category[​](#getcategory "Direct link to Get Category")

Get a single category by ID. | **key: getCategory**

| Input      | Notes                                  | Example |
| ---------- | -------------------------------------- | ------- |
| Connection | The Jamf Pro connection to use.        |         |
| Category   | The unique identifier of the category. | 1       |

Example Payload for <!-- -->Get Category[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/getCategory.json "Download example payload")

Loading…

***

### Get Computer[​](#getcomputer "Direct link to Get Computer")

Get a single computer inventory record by ID. | **key: getComputer**

| Input      | Notes                                                                                                       | Example |
| ---------- | ----------------------------------------------------------------------------------------------------------- | ------- |
| Connection | The Jamf Pro connection to use.                                                                             |         |
| Computer   | The unique identifier of the computer.                                                                      | 1       |
| Section    | Section of computer details to include in the response. If not specified, General section data is returned. | GENERAL |

Example Payload for <!-- -->Get Computer[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/getComputer.json "Download example payload")

Loading…

***

### Get Department[​](#getdepartment "Direct link to Get Department")

Get a single department by ID. | **key: getDepartment**

| Input      | Notes                                    | Example |
| ---------- | ---------------------------------------- | ------- |
| Connection | The Jamf Pro connection to use.          |         |
| Department | The unique identifier of the department. | 1       |

Example Payload for <!-- -->Get Department[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/getDepartment.json "Download example payload")

Loading…

***

### Get Mobile Device[​](#getmobiledevice "Direct link to Get Mobile Device")

Get a single mobile device record by ID. | **key: getMobileDevice**

| Input         | Notes                                       | Example |
| ------------- | ------------------------------------------- | ------- |
| Connection    | The Jamf Pro connection to use.             |         |
| Mobile Device | The unique identifier of the mobile device. | 1       |

Example Payload for <!-- -->Get Mobile Device[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/getMobileDevice.json "Download example payload")

Loading…

***

### Get Package[​](#getpackage "Direct link to Get Package")

Get a single package record by ID. | **key: getPackage**

| Input      | Notes                                 | Example |
| ---------- | ------------------------------------- | ------- |
| Connection | The Jamf Pro connection to use.       |         |
| Package    | The unique identifier of the package. | 1       |

Example Payload for <!-- -->Get Package[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/getPackage.json "Download example payload")

Loading…

***

### Get Script[​](#getscript "Direct link to Get Script")

Get a single script by ID. | **key: getScript**

| Input      | Notes                                | Example |
| ---------- | ------------------------------------ | ------- |
| Connection | The Jamf Pro connection to use.      |         |
| Script     | The unique identifier of the script. | 1       |

Example Payload for <!-- -->Get Script[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/getScript.json "Download example payload")

Loading…

***

### Get Webhook[​](#getwebhook "Direct link to Get Webhook")

Get a single webhook subscription by ID. | **key: getWebhook**

| Input      | Notes                                 | Example |
| ---------- | ------------------------------------- | ------- |
| Connection | The Jamf Pro connection to use.       |         |
| Webhook    | The unique identifier of the webhook. | 1       |

Example Payload for <!-- -->Get Webhook[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/getWebhook.json "Download example payload")

Loading…

***

### List Categories[​](#listcategories "Direct link to List Categories")

List all categories with optional filtering and pagination. | **key: listCategories**

| Input      | Notes                                                                                                             | Example          |
| ---------- | ----------------------------------------------------------------------------------------------------------------- | ---------------- |
| Connection | The Jamf Pro connection to use.                                                                                   |                  |
| Fetch All  | If true, fetch every page of results and ignore the Page and Page Size inputs. If false, return a single page.    | false            |
| Filter     | An RSQL filter expression to narrow results. Example: name=="Apps\*" or id>=5. Leave blank to return all results. | name=="Acme\*"   |
| Pagination | Page and page-size controls.                                                                                      |                  |
| Sort       | The sort criteria in the format property:asc or property:desc. Multiple criteria are comma-separated.             | name:asc,id:desc |

Example Payload for <!-- -->List Categories[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/listCategories.json "Download example payload")

Loading…

***

### List Computers[​](#listcomputers "Direct link to List Computers")

List computer inventory records with optional filtering and pagination. | **key: listComputers**

| Input      | Notes                                                                                                             | Example          |
| ---------- | ----------------------------------------------------------------------------------------------------------------- | ---------------- |
| Connection | The Jamf Pro connection to use.                                                                                   |                  |
| Fetch All  | If true, fetch every page of results and ignore the Page and Page Size inputs. If false, return a single page.    | false            |
| Filter     | An RSQL filter expression to narrow results. Example: name=="Apps\*" or id>=5. Leave blank to return all results. | name=="Acme\*"   |
| Pagination | Page and page-size controls.                                                                                      |                  |
| Section    | Section of computer details to include in the response. If not specified, General section data is returned.       | GENERAL          |
| Sort       | The sort criteria in the format property:asc or property:desc. Multiple criteria are comma-separated.             | name:asc,id:desc |

Example Payload for <!-- -->List Computers[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/listComputers.json "Download example payload")

Loading…

***

### List Departments[​](#listdepartments "Direct link to List Departments")

List all departments with optional filtering and pagination. | **key: listDepartments**

| Input      | Notes                                                                                                             | Example          |
| ---------- | ----------------------------------------------------------------------------------------------------------------- | ---------------- |
| Connection | The Jamf Pro connection to use.                                                                                   |                  |
| Fetch All  | If true, fetch every page of results and ignore the Page and Page Size inputs. If false, return a single page.    | false            |
| Filter     | An RSQL filter expression to narrow results. Example: name=="Apps\*" or id>=5. Leave blank to return all results. | name=="Acme\*"   |
| Pagination | Page and page-size controls.                                                                                      |                  |
| Sort       | The sort criteria in the format property:asc or property:desc. Multiple criteria are comma-separated.             | name:asc,id:desc |

Example Payload for <!-- -->List Departments[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/listDepartments.json "Download example payload")

Loading…

***

### List Mobile Devices[​](#listmobiledevices "Direct link to List Mobile Devices")

List mobile device inventory records with optional filtering and pagination. | **key: listMobileDevices**

| Input      | Notes                                                                                                             | Example          |
| ---------- | ----------------------------------------------------------------------------------------------------------------- | ---------------- |
| Connection | The Jamf Pro connection to use.                                                                                   |                  |
| Fetch All  | If true, fetch every page of results and ignore the Page and Page Size inputs. If false, return a single page.    | false            |
| Filter     | An RSQL filter expression to narrow results. Example: name=="Apps\*" or id>=5. Leave blank to return all results. | name=="Acme\*"   |
| Pagination | Page and page-size controls.                                                                                      |                  |
| Section    | Section of mobile device details to include in the response. If not specified, General section data is returned.  | GENERAL          |
| Sort       | The sort criteria in the format property:asc or property:desc. Multiple criteria are comma-separated.             | name:asc,id:desc |

Example Payload for <!-- -->List Mobile Devices[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/listMobileDevices.json "Download example payload")

Loading…

***

### List Packages[​](#listpackages "Direct link to List Packages")

List all packages with optional filtering and pagination. | **key: listPackages**

| Input      | Notes                                                                                                             | Example          |
| ---------- | ----------------------------------------------------------------------------------------------------------------- | ---------------- |
| Connection | The Jamf Pro connection to use.                                                                                   |                  |
| Fetch All  | If true, fetch every page of results and ignore the Page and Page Size inputs. If false, return a single page.    | false            |
| Filter     | An RSQL filter expression to narrow results. Example: name=="Apps\*" or id>=5. Leave blank to return all results. | name=="Acme\*"   |
| Pagination | Page and page-size controls.                                                                                      |                  |
| Sort       | The sort criteria in the format property:asc or property:desc. Multiple criteria are comma-separated.             | name:asc,id:desc |

Example Payload for <!-- -->List Packages[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/listPackages.json "Download example payload")

Loading…

***

### List Scripts[​](#listscripts "Direct link to List Scripts")

List all scripts with optional filtering and pagination. | **key: listScripts**

| Input      | Notes                                                                                                             | Example          |
| ---------- | ----------------------------------------------------------------------------------------------------------------- | ---------------- |
| Connection | The Jamf Pro connection to use.                                                                                   |                  |
| Fetch All  | If true, fetch every page of results and ignore the Page and Page Size inputs. If false, return a single page.    | false            |
| Filter     | An RSQL filter expression to narrow results. Example: name=="Apps\*" or id>=5. Leave blank to return all results. | name=="Acme\*"   |
| Pagination | Page and page-size controls.                                                                                      |                  |
| Sort       | The sort criteria in the format property:asc or property:desc. Multiple criteria are comma-separated.             | name:asc,id:desc |

Example Payload for <!-- -->List Scripts[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/listScripts.json "Download example payload")

Loading…

***

### List Users[​](#listusers "Direct link to List Users")

List Jamf Pro user accounts with optional filtering and pagination. | **key: listUsers**

| Input      | Notes                                                                                                             | Example          |
| ---------- | ----------------------------------------------------------------------------------------------------------------- | ---------------- |
| Connection | The Jamf Pro connection to use.                                                                                   |                  |
| Fetch All  | If true, fetch every page of results and ignore the Page and Page Size inputs. If false, return a single page.    | false            |
| Filter     | An RSQL filter expression to narrow results. Example: name=="Apps\*" or id>=5. Leave blank to return all results. | name=="Acme\*"   |
| Pagination | Page and page-size controls.                                                                                      |                  |
| Sort       | The sort criteria in the format property:asc or property:desc. Multiple criteria are comma-separated.             | name:asc,id:desc |

Example Payload for <!-- -->List Users[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/listUsers.json "Download example payload")

Loading…

***

### List Webhooks[​](#listwebhooks "Direct link to List Webhooks")

List all webhook subscriptions configured in Jamf Pro. | **key: listWebhooks**

| Input      | Notes                           | Example |
| ---------- | ------------------------------- | ------- |
| Connection | The Jamf Pro connection to use. |         |

Example Payload for <!-- -->List Webhooks[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/listWebhooks.json "Download example payload")

Loading…

***

### Raw Request[​](#rawrequest "Direct link to Raw Request")

Send a raw HTTP request to the Jamf Pro API or the Classic API. | **key: rawRequest**

| Input                   | Notes                                                                                                                                                                                            | Example                                                       |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------- |
| API                     | Which Jamf Pro API to target. The Pro API uses the /api base path; the Classic API uses /JSSResource.                                                                                            | api                                                           |
| Connection              | The Jamf Pro connection to use.                                                                                                                                                                  |                                                               |
| Data                    | The HTTP body payload to send to the URL.                                                                                                                                                        | {"exampleKey": "Example Data"}                                |
| File Data               | File Data to be sent as a multipart form upload.                                                                                                                                                 | \[{key: "example.txt", value: "My File Contents"}]            |
| File Data File Names    | File names to apply to the file data inputs. Keys must match the file data keys above.                                                                                                           |                                                               |
| Form Data               | The Form Data to be sent as a multipart form upload.                                                                                                                                             | \[{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header                  | A list of headers to send with the request.                                                                                                                                                      | User-Agent: curl/7.64.1                                       |
| Max Retry Count         | The maximum number of retries to attempt. Specify 0 for no retries.                                                                                                                              | 0                                                             |
| Method                  | The HTTP method to use.                                                                                                                                                                          |                                                               |
| Query Parameter         | A 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.                                                             |                                                               |
| Response Type           | The type of data you expect in the response. You can request json, text, or binary data.                                                                                                         | json                                                          |
| Retry On All Errors     | If 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                                                         |
| Retry Delay (ms)        | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.                                                                                              | 0                                                             |
| Timeout                 | The maximum time that a client will await a response to its request                                                                                                                              | 2000                                                          |
| URL                     | The 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.                         | /v1/computers-inventory                                       |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.                                                                    | false                                                         |

***

### Update Category[​](#updatecategory "Direct link to Update Category")

Update an existing category. | **key: updateCategory**

| Input      | Notes                                                               | Example           |
| ---------- | ------------------------------------------------------------------- | ----------------- |
| Name       | The display name used to identify the category in Jamf Pro.         | Productivity Apps |
| Connection | The Jamf Pro connection to use.                                     |                   |
| Priority   | The sort order weight for the category. Lower numbers appear first. | 9                 |
| Category   | The unique identifier of the category.                              | 1                 |

Example Payload for <!-- -->Update Category[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/updateCategory.json "Download example payload")

Loading…

***

### Update Computer[​](#updatecomputer "Direct link to Update Computer")

Update specific fields of a computer inventory record. Only the provided fields are modified. | **key: updateComputer**

| Input       | Notes                                                                                                                  | Example     |
| ----------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |
| Update Data | JSON object with the computer inventory fields to update. Only the provided fields will be modified (PATCH semantics). | See Example |
| Connection  | The Jamf Pro connection to use.                                                                                        |             |
| Computer    | The unique identifier of the computer.                                                                                 | 1           |

Example Payload for <!-- -->Update Computer[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/updateComputer.json "Download example payload")

Loading…

***

### Update Department[​](#updatedepartment "Direct link to Update Department")

Update an existing department. | **key: updateDepartment**

| Input      | Notes                                                         | Example                |
| ---------- | ------------------------------------------------------------- | ---------------------- |
| Connection | The Jamf Pro connection to use.                               |                        |
| Name       | The display name used to identify the department in Jamf Pro. | Information Technology |
| Department | The unique identifier of the department.                      | 1                      |

Example Payload for <!-- -->Update Department[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/updateDepartment.json "Download example payload")

Loading…

***

### Update Package[​](#updatepackage "Direct link to Update Package")

Update an existing package record. | **key: updatePackage**

| Input             | Notes                                                                                                                                                                                                                 | Example |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| Additional Fields | Additional optional fields: includes Package Name, File Name, Priority, Info, Notes, Reboot Required, OS Install, Fill User Template, Suppress Updates, Suppress EULA, Suppress From Dock, and Suppress Registration. |         |
| Connection        | The Jamf Pro connection to use.                                                                                                                                                                                       |         |
| Category ID       | The unique identifier of the category to assign to this package.                                                                                                                                                      | 3       |
| Package           | The unique identifier of the package.                                                                                                                                                                                 | 1       |

Example Payload for <!-- -->Update Package[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/updatePackage.json "Download example payload")

Loading…

***

### Update Script[​](#updatescript "Direct link to Update Script")

Update an existing script. | **key: updateScript**

| Input             | Notes                                                                                  | Example |
| ----------------- | -------------------------------------------------------------------------------------- | ------- |
| Additional Fields | Additional optional fields: includes Name, Script Contents, Priority, Info, and Notes. |         |
| Connection        | The Jamf Pro connection to use.                                                        |         |
| Script            | The unique identifier of the script.                                                   | 1       |
| Category ID       | The unique identifier of the category to assign to this script.                        | 3       |

Example Payload for <!-- -->Update Script[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/updateScript.json "Download example payload")

Loading…

***

### Update Webhook[​](#updatewebhook "Direct link to Update Webhook")

Update an existing webhook subscription. | **key: updateWebhook**

| Input             | Notes                                                                             | Example |
| ----------------- | --------------------------------------------------------------------------------- | ------- |
| Additional Fields | Additional optional fields: includes Name, Event, URL, Content Type, and Enabled. |         |
| Connection        | The Jamf Pro connection to use.                                                   |         |
| Webhook           | The unique identifier of the webhook.                                             | 1       |

Example Payload for <!-- -->Update Webhook[⤓](https://prismatic.io/docs/example-payloads/jamf/actions/updateWebhook.json "Download example payload")

Loading…

***

## Changelog[​](#changelog "Direct link to Changelog")

### 2026-07-21[​](#2026-07-21 "Direct link to 2026-07-21")

Restructured action inputs into structured objects for an improved user experience:

* List actions (**List Categories**, **List Departments**, **List Packages**, **List Scripts**, **List Users**, **List Computers**, and **List Mobile Devices**) group their pagination inputs into **Pagination**; **Fetch All** stays a top-level toggle
* **Create Package**, **Update Package**, **Create Script**, **Update Script**, **Create Webhook**, and **Update Webhook** group their optional inputs into **Additional Fields**

### 2026-06-16[​](#2026-06-16 "Direct link to 2026-06-16")

Enhanced **List Mobile Devices** with full inventory detail

### 2026-06-10[​](#2026-06-10 "Direct link to 2026-06-10")

Initial release of the Jamf Pro component, providing:

* Connects to Jamf Pro using **OAuth 2.0 Client Credentials** (Jamf Pro 10.49.0+) or **Basic Authentication**
* Manages Computers, Mobile Devices, Users, Departments, Categories, Scripts, Packages, and Webhooks through dedicated actions
* Includes a **Raw Request** action with an **API** option to target either the Jamf Pro API or the Classic API
* Offers a **Manual Webhook** trigger plus a managed **Webhook Events** trigger that creates a webhook per selected event on instance deploy, secures deliveries with a generated authentication header, removes the webhooks on instance delete, and covers all 22 Jamf Pro event types
* Provides **New Computers** and **New Mobile Devices** polling triggers that page through all results
* Surfaces **Select Computer**, **Select Mobile Device**, **Select Department**, **Select Category**, **Select Package**, **Select Script**, and **Select Webhook** data sources, wired to the relevant ID inputs across the get, update, and delete actions
* Supports a **Fetch All** option on list actions to optionally retrieve every page of results in a single run
* Applies partial updates on **Update Package**, **Update Script**, and **Update Category** so fields left blank keep their current values
* Returns a confirmation message from **Update Computer**, since the Jamf Pro endpoint responds with no content on success
* Secures **Create Webhook** with header authentication and supports optional header validation on the **Manual Webhook** trigger
* Documents known Jamf Pro behavior where **Delete Package** can return a 500 or 504 error while still deleting the package
