Skip to main content
jamf icon

Jamf Connector

SourceAPI DocsAPI ChangelogConnector Changelog

Description

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

key: jamfBearerToken

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.

InputNotesExample
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

key: jamfClientCredentials

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
InputNotesExample
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

Manual Webhook

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

InputNotesExample
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
Loading…

New Computers

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

InputNotesExample
Connection

The Jamf Pro connection to use.

This trigger checks for newly enrolled computers in Jamf Pro on a configured schedule.

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
{
// 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

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

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
{
"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 for the complete list of fields returned for each computer.

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

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

InputNotesExample
Connection

The Jamf Pro connection to use.

This trigger checks for newly enrolled mobile devices in Jamf Pro on a configured schedule.

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
{
// 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

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

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
{
"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 for the complete list of fields returned for each mobile device.

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

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

InputNotesExample
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
Loading…

Data Sources

Select Category

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

InputNotesExample
Connection

The Jamf Pro connection to use.

Example Payload for Select Category
Loading…

Select Computer

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

InputNotesExample
Connection

The Jamf Pro connection to use.

Example Payload for Select Computer
Loading…

Select Department

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

InputNotesExample
Connection

The Jamf Pro connection to use.

Example Payload for Select Department
Loading…

Select Mobile Device

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

InputNotesExample
Connection

The Jamf Pro connection to use.

Example Payload for Select Mobile Device
Loading…

Select Package

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

InputNotesExample
Connection

The Jamf Pro connection to use.

Example Payload for Select Package
Loading…

Select Script

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

InputNotesExample
Connection

The Jamf Pro connection to use.

Example Payload for Select Script
Loading…

Select Webhook

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

InputNotesExample
Connection

The Jamf Pro connection to use.

Example Payload for Select Webhook
Loading…

Actions

Create Category

Create a new category. | key: createCategory

InputNotesExample
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
Loading…

Create Department

Create a new department. | key: createDepartment

InputNotesExample
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
Loading…

Create Package

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

InputNotesExample
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
Fill User Template

Whether to fill the user template with the package contents.

false
Info

A description of the package displayed to administrators in Jamf Pro.

Google Chrome browser installer.
Package Name

The display name of the package as shown in Jamf Pro.

Google Chrome 120.0.pkg
Notes

Internal notes about the package visible only to administrators.

Downloaded from https://dl.google.com/chrome/mac/stable/
OS Install

Whether this package is an OS installer.

false
Priority

Installation priority from 1 (highest) to 20 (lowest). Defaults to 10.

10
Reboot Required

Whether the device must reboot after installing this package.

false
Suppress EULA

Whether to suppress the End User License Agreement during installation.

false
Suppress From Dock

Whether to suppress the package icon from the Dock during installation.

false
Suppress Registration

Whether to suppress the registration window during installation.

false
Suppress Updates

Whether to suppress software updates during installation.

false
Example Payload for Create Package
Loading…

Create Script

Create a new script. | key: createScript

InputNotesExample
Connection

The Jamf Pro connection to use.

Category ID

The unique identifier of the category to assign to this script.

3
Script Contents

The shell script body. Include the shebang line (e.g., #!/bin/bash).

#!/bin/bash /usr/local/bin/install-app.sh
Info

A description of the script displayed to administrators in Jamf Pro.

Installs Google Chrome from the vendor CDN.
Name

The display name used to identify the script in Jamf Pro.

Install Chrome
Notes

Internal notes about the script visible only to administrators.

Updated 2026-01-15 to support macOS 15.
Priority

When the script runs relative to the policy.

AFTER
Example Payload for Create Script
Loading…

Create Webhook

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

InputNotesExample
Connection

The Jamf Pro connection to use.

Auth Header Name

Name of the header Jamf Pro sends when Authentication Type is Header. Required when using Header authentication.

X-Jamf-Signature
Auth Header Value

Value of the header Jamf Pro sends when Authentication Type is Header. Required when using Header authentication.

Authentication Type

How Jamf Pro authenticates to the destination URL. Header authentication sends a custom header with every event.

NONE
Content Type

The payload format Jamf Pro delivers events in.

application/json
Enabled

Whether the webhook is active and delivering events.

true
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
Loading…

Delete Category

Delete a category by ID. | key: deleteCategory

InputNotesExample
Connection

The Jamf Pro connection to use.

Category

The unique identifier of the category.

1
Example Payload for Delete Category
Loading…

Delete Department

Delete a department by ID. | key: deleteDepartment

InputNotesExample
Connection

The Jamf Pro connection to use.

Department

The unique identifier of the department.

1
Example Payload for Delete Department
Loading…

Delete Instanced Webhooks

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

InputNotesExample
Connection

The Jamf Pro connection to use.

Example Payload for Delete Instanced Webhooks
Loading…

Delete Package

Delete a package record by ID. | key: deletePackage

InputNotesExample
Connection

The Jamf Pro connection to use.

Package

The unique identifier of the package.

1
Example Payload for Delete Package
Loading…

Delete Script

Delete a script by ID. | key: deleteScript

InputNotesExample
Connection

The Jamf Pro connection to use.

Script

The unique identifier of the script.

1
Example Payload for Delete Script
Loading…

Delete Webhook

Delete a webhook subscription by ID. | key: deleteWebhook

InputNotesExample
Connection

The Jamf Pro connection to use.

Webhook

The unique identifier of the webhook.

1
Example Payload for Delete Webhook
Loading…

Get Category

Get a single category by ID. | key: getCategory

InputNotesExample
Connection

The Jamf Pro connection to use.

Category

The unique identifier of the category.

1
Example Payload for Get Category
Loading…

Get Computer

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

InputNotesExample
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
Loading…

Get Department

Get a single department by ID. | key: getDepartment

InputNotesExample
Connection

The Jamf Pro connection to use.

Department

The unique identifier of the department.

1
Example Payload for Get Department
Loading…

Get Mobile Device

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

InputNotesExample
Connection

The Jamf Pro connection to use.

Mobile Device

The unique identifier of the mobile device.

1
Example Payload for Get Mobile Device
Loading…

Get Package

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

InputNotesExample
Connection

The Jamf Pro connection to use.

Package

The unique identifier of the package.

1
Example Payload for Get Package
Loading…

Get Script

Get a single script by ID. | key: getScript

InputNotesExample
Connection

The Jamf Pro connection to use.

Script

The unique identifier of the script.

1
Example Payload for Get Script
Loading…

Get Webhook

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

InputNotesExample
Connection

The Jamf Pro connection to use.

Webhook

The unique identifier of the webhook.

1
Example Payload for Get Webhook
Loading…

List Categories

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

InputNotesExample
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*"
Page

The zero-indexed page number for paginated results. Page 0 is the first page.

0
Page Size

The maximum number of results to return per page. Maximum 1000.

100
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
Loading…

List Computers

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

InputNotesExample
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*"
Page

The zero-indexed page number for paginated results. Page 0 is the first page.

0
Page Size

The maximum number of results to return per page. Maximum 1000.

100
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
Loading…

List Departments

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

InputNotesExample
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*"
Page

The zero-indexed page number for paginated results. Page 0 is the first page.

0
Page Size

The maximum number of results to return per page. Maximum 1000.

100
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
Loading…

List Mobile Devices

List all mobile device records with optional pagination. | key: listMobileDevices

InputNotesExample
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
Page

The zero-indexed page number for paginated results. Page 0 is the first page.

0
Page Size

The maximum number of results to return per page. Maximum 1000.

100
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
Loading…

List Packages

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

InputNotesExample
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*"
Page

The zero-indexed page number for paginated results. Page 0 is the first page.

0
Page Size

The maximum number of results to return per page. Maximum 1000.

100
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
Loading…

List Scripts

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

InputNotesExample
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*"
Page

The zero-indexed page number for paginated results. Page 0 is the first page.

0
Page Size

The maximum number of results to return per page. Maximum 1000.

100
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
Loading…

List Users

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

InputNotesExample
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*"
Page

The zero-indexed page number for paginated results. Page 0 is the first page.

0
Page Size

The maximum number of results to return per page. Maximum 1000.

100
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
Loading…

List Webhooks

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

InputNotesExample
Connection

The Jamf Pro connection to use.

Example Payload for List Webhooks
Loading…

Raw Request

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

InputNotesExample
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

Update an existing category. | key: updateCategory

InputNotesExample
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
Loading…

Update Computer

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

InputNotesExample
Update Data

JSON object with the computer inventory fields to update. Only the provided fields will be modified (PATCH semantics).

{
  "udid": "45436edf-864e-4364-982a-330b01d39e65",
  "general": {
    "name": "Boalime",
    "lastIpAddress": "247.185.82.186",
    "barcode1": "5 12345 678900",
    "barcode2": "5 12345 678900",
    "assetTag": "304822",
    "managed": true,
    "siteId": "1"
  },
  "userAndLocation": {
    "username": "Madison Anderson",
    "realname": "13-inch MacBook",
    "email": "email@com.pl",
    "position": "IT Team Lead",
    "phone": "123-456-789",
    "departmentId": "1",
    "buildingId": "1",
    "room": "5",
    "extensionAttributes": [
      {
        "definitionId": "23",
        "values": [
          "foo",
          "bar"
        ]
      }
    ]
  },
  "hardware": {
    "networkAdapterType": "Foo",
    "macAddress": "6A:2C:4B:B7:65:B5",
    "altNetworkAdapterType": "Bar",
    "altMacAddress": "82:45:58:44:dc:01",
    "extensionAttributes": [
      {
        "definitionId": "23",
        "values": [
          "foo",
          "bar"
        ]
      }
    ]
  }
}
Connection

The Jamf Pro connection to use.

Computer

The unique identifier of the computer.

1
Example Payload for Update Computer
Loading…

Update Department

Update an existing department. | key: updateDepartment

InputNotesExample
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
Loading…

Update Package

Update an existing package record. | key: updatePackage

InputNotesExample
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
Fill User Template

Whether to fill the user template with the package contents.

Info

A description of the package displayed to administrators in Jamf Pro.

Google Chrome browser installer.
Package Name

The display name of the package as shown in Jamf Pro.

Google Chrome 120.0.pkg
Notes

Internal notes about the package visible only to administrators.

Downloaded from https://dl.google.com/chrome/mac/stable/
OS Install

Whether this package is an OS installer.

Priority

Installation priority from 1 (highest) to 20 (lowest). Defaults to 10.

10
Reboot Required

Whether the device must reboot after installing this package.

Suppress EULA

Whether to suppress the End User License Agreement during installation.

Suppress From Dock

Whether to suppress the package icon from the Dock during installation.

Suppress Registration

Whether to suppress the registration window during installation.

Suppress Updates

Whether to suppress software updates during installation.

Package

The unique identifier of the package.

1
Example Payload for Update Package
Loading…

Update Script

Update an existing script. | key: updateScript

InputNotesExample
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
Script Contents

The shell script body. Include the shebang line (e.g., #!/bin/bash).

#!/bin/bash /usr/local/bin/install-app.sh
Info

A description of the script displayed to administrators in Jamf Pro.

Installs Google Chrome from the vendor CDN.
Name

The display name used to identify the script in Jamf Pro.

Install Chrome
Notes

Internal notes about the script visible only to administrators.

Updated 2026-01-15 to support macOS 15.
Priority

When the script runs relative to the policy.

AFTER
Example Payload for Update Script
Loading…

Update Webhook

Update an existing webhook subscription. | key: updateWebhook

InputNotesExample
Connection

The Jamf Pro connection to use.

Webhook

The unique identifier of the webhook.

1
Content Type

The payload format Jamf Pro delivers events in.

application/json
Enabled

Whether the webhook is active and delivering events.

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 Update Webhook
Loading…

Changelog

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