-
Notifications
You must be signed in to change notification settings - Fork 3
Setup Manager Configuration
This page shows the Setup Manager plist keys needed to send enrollment events to Setup Manager HUD.
For the full Setup Manager reference, see Jamf's Setup Manager documentation and Webhooks.md.
You need two values:
| Value | Where to get it |
|---|---|
| Worker URL | Your deployed Worker URL, ending in /webhook
|
| Webhook token | The exact value saved as the Worker WEBHOOK_TOKEN secret |
Use the same token for both started and finished. The token must match WEBHOOK_TOKEN exactly.
Important
Do not put real Worker URLs, customer tokens, Cloudflare IDs, or deployment-specific values in shared examples, tickets, or public docs. Use placeholders such as https://setupmanagerhud.example.workers.dev/webhook and your-webhook-token-here.
Add a top-level webhooks dictionary to your Setup Manager configuration. Configure both events so the dashboard can show the beginning and end of each enrollment.
<key>webhooks</key>
<dict>
<key>started</key>
<dict>
<key>url</key>
<string>https://setupmanagerhud.example.workers.dev/webhook</string>
<key>token</key>
<string>your-webhook-token-here</string>
</dict>
<key>finished</key>
<dict>
<key>url</key>
<string>https://setupmanagerhud.example.workers.dev/webhook</string>
<key>token</key>
<string>your-webhook-token-here</string>
</dict>
</dict>Setup Manager sends the token value as the raw Authorization request header. Setup Manager HUD also accepts Authorization: Bearer <token> for manual curl tests, but the plist should use the token key shown above.
After saving the profile, use Security#verifying-token-setup to send test started and finished webhooks.
Setup Manager normally does not send webhooks when global DEBUG is enabled. To test Setup Manager HUD while debugging, set DEBUG to true inside the webhooks dictionary as well.
Use this as a clean test profile shape. Replace the Worker URL and token before deploying it.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>icon</key>
<string>https://example.com/setup-manager-icon.png</string>
<key>message</key>
<string>Please wait while we install essential software.</string>
<key>title</key>
<string>Welcome</string>
<key>jssID</key>
<string>$JSSID</string>
<key>computerNameTemplate</key>
<string>%model-short%-%serial:-6%</string>
<key>finalCountdown</key>
<integer>-1</integer>
<key>finalAction</key>
<string>quit</string>
<key>showBothButtons</key>
<false/>
<key>enrollmentActions</key>
<array>
<dict>
<key>label</key>
<string>Set Time Zone</string>
<key>shell</key>
<string>/usr/sbin/systemsetup</string>
<key>arguments</key>
<array>
<string>-setTimeZone</string>
<string>Europe/Amsterdam</string>
</array>
</dict>
<dict>
<key>label</key>
<string>Google Chrome</string>
<key>installomator</key>
<string>googlechromepkg</string>
<key>requiresRoot</key>
<true/>
</dict>
<dict>
<key>label</key>
<string>Microsoft Company Portal</string>
<key>installomator</key>
<string>microsoftcompanyportal</string>
<key>requiresRoot</key>
<true/>
</dict>
</array>
<key>DEBUG</key>
<true/>
<key>webhooks</key>
<dict>
<key>DEBUG</key>
<true/>
<key>started</key>
<dict>
<key>url</key>
<string>https://setupmanagerhud.example.workers.dev/webhook</string>
<key>token</key>
<string>your-webhook-token-here</string>
</dict>
<key>finished</key>
<dict>
<key>url</key>
<string>https://setupmanagerhud.example.workers.dev/webhook</string>
<key>token</key>
<string>your-webhook-token-here</string>
</dict>
</dict>
</dict>
</plist>Important
For production profiles, remove global DEBUG or set it to false.
Only keep webhooks DEBUG enabled when you intentionally want webhook events during Setup Manager debug runs.
-
startedandfinishedshould both point to the same Setup Manager HUD/webhookURL. - The
tokenvalue must be the same value saved asWEBHOOK_TOKEN. - If webhooks return
401, check the token value first. - If webhooks return
400, check the payload shape with the examples in Security#verifying-token-setup. - If global
DEBUGis enabled and no events appear, make sureDEBUGis also enabled inside thewebhooksdictionary.