Webhooks
Receives Jamf Pro webhook events (computer / mobile device / smart group / policy / REST API activity) at a hosted HTTPS endpoint. Configure the URL in Jamf Pro under Settings → Global → Webhooks.
Sync Type: Push (Webhook)
Overview
This input listens for events that Jamf Pro pushes to Monad rather than polling the Jamf Pro API on a schedule. When a Jamf Pro event fires (for example, a computer check-in, a smart group membership change, or a policy completion), Jamf Pro sends an HTTPS POST to the Monad-issued ingest URL. Monad receives, validates, and forwards the event payload to your pipeline immediately.
Because data flows from Jamf Pro to Monad the moment an event occurs, no cron schedule or API credentials are required for this input. The only configuration step on the Monad side is creating the input and noting its ingest URL; all further setup happens in the Jamf Pro admin console.
Prerequisites
Before configuring this input, you need:
- An active Jamf Pro instance (cloud-hosted at
*.jamfcloud.comor self-hosted). - Administrator access to the Jamf Pro console so you can create webhook configurations under Settings > Global > Webhooks.
- Network connectivity from your Jamf Pro instance to Monad's ingest URL (outbound HTTPS on port 443). For self-hosted Jamf Pro instances, confirm that outbound traffic to
app.monad.comis permitted through your firewall.
Configuration
This input has no configurable settings or secrets. All configuration is done in Jamf Pro by pointing a webhook at Monad's ingest URL.
Supported Event Types
Jamf Pro supports the following webhook event types. You may configure one Monad input per event type, or configure a single Monad pipeline to receive multiple event types by adding multiple webhooks in Jamf Pro that all point to the same ingest URL.
Commonly used event types include:
ComputerAddedComputerCheckInComputerInventoryCompletedComputerManagementStateChangedComputerPolicyFinishedComputerPushCapabilityChangedDeviceEnrollmentProgramInstanceSyncedMobileDeviceCheckInMobileDeviceCommandCompletedMobileDeviceEnrolledMobileDeviceUnenrolledPatchSoftwareTitleUpdatedPushSentRestAPIOperationSmartGroupComputerMembershipChangeSmartGroupMobileDeviceMembershipChange
See the Jamf Pro Webhooks documentation for the full list of supported event types and their payload schemas.
Setup Walk-through
Step 1: Create the input in Monad
- Open your Monad workspace and navigate to Inputs.
- Click Add Input and select Jamf — Webhooks.
- Save the input and add it to a pipeline.
- Copy the pipeline's Ingest URL from the pipeline details page. It has the form
https://app.monad.com/api/v2/http/send/{pipeline_id}.
Step 2: Configure the webhook in Jamf Pro
- Log in to your Jamf Pro instance.
- Navigate to Settings > Global > Webhooks.
- Click New.
- Fill in the fields:
- Display Name: a descriptive name such as
Monad - Computer Check-In. - Enabled: check to enable immediately, or leave unchecked to enable later.
- Webhook URL: paste the Monad Ingest URL copied in Step 1.
- Authentication Type: None (Monad's ingest URL is the access control boundary; no additional authentication header is required).
- Content Type: JSON.
- Webhook Event: select the event type you want to send to this pipeline (e.g.,
ComputerCheckIn).
- Display Name: a descriptive name such as
- Click Save.
Jamf Pro will begin delivering events to Monad the next time the selected event fires.
Step 3: Verify delivery
- Trigger a test event in Jamf Pro (for example, perform a manual computer inventory update to fire
ComputerInventoryCompleted). - In Monad, open the pipeline and check the Events or Logs view to confirm the payload was received and processed.
Troubleshooting
Common Issues
-
No events received in Monad
- Confirm the webhook is Enabled in Jamf Pro (Settings > Global > Webhooks).
- Verify the Webhook URL in Jamf Pro exactly matches the Monad ingest URL — any typo or missing character will cause delivery to fail silently.
- For self-hosted Jamf Pro instances, confirm outbound HTTPS (port 443) traffic to
app.monad.comis allowed through your firewall and proxy. - In Jamf Pro, navigate to the webhook configuration and check the Last Delivery status field for any reported errors.
-
Events delivered but pipeline shows no data
- Confirm the pipeline containing this input is active and not paused.
- Check that the Monad ingest URL belongs to the correct pipeline — if you have multiple pipelines, each has a distinct URL.
-
Partial event delivery (some events missing)
- Jamf Pro webhook delivery is at-most-once. If your Jamf Pro instance is temporarily unable to reach Monad (for example, during a maintenance window), events that fire during that window will not be replayed. There is no built-in retry mechanism in Jamf Pro for failed webhook deliveries.
- To capture a historical or backfilled snapshot, use a polling Jamf Pro input (such as Jamf — Mobile Devices) alongside this webhook input.
-
Unexpected payload format
- Different event types produce different JSON schemas. Confirm the event type selected in Jamf Pro matches what your downstream pipeline or transform expects. See the Jamf Pro Webhooks payload reference for schema details per event type.