Using Jamf Pro's Extension Attributes to Customize a Managed App Configuration Update
Jamf Pro supports variables called Extension Attributes that allow you to define custom information about a specific device.
These Extension Attributes can be used to pass custom values to a specific device through a Managed App Configuration update in apps that support it, including Kiosk Pro Plus and Kiosk Pro Enterprise. This allows you to customize Kiosk Pro's settings for a specific device - for example, setting a custom Unique iPad ID for each device in your deployment - without configuring each device manually in person.
Limitation: Jamf does appear to encode special characters in a non-standard way before passing them to a third-party app like Kiosk Pro. This means that it's not currently possible to pass strings that require special characters, including URLs, through an Extension Attribute.
To create a new Jamf Pro Extension Attribute:
- Log in to Jamf Pro.
- In the top-right corner of the page, click 'Settings'

- Click 'Mobile Device Management'
- Click 'Extension Attributes'

- Click 'New'
- Configure the following settings:
- Display Name - in most cases, this should match the name of the setting you are customizing in Kiosk Pro.
- Description - optional, can be used for notes/reminders of why and how this setting is being configured in this way
- Data Type - select the data type that matches the setting you are currently configuring. This can be found in the knowledgebase article for that setting under 'Values for Remote Settings Control and Managed App Configuration' > 'Key Type' or in our Managed App Configuration key spreadsheet.
- Inventory Display - select which category the Extension Attribute should be displayed under in the Device settings. Choosing 'Extension Attributes' is recommended as it groups these all into a separate tab that is easily distinguishable from other device settings.
- Input type - select your preference for entering the value for each device. Text Field is recommended when each device will have a unique value. Pop-up Menu allows you to pre-define the options presented on this screen and is a good choice when values will be shared across multiple devices.
- Click 'Save'
- Once you have saved an Extension Attribute, the URL shown in the address bar will update to include an ID number for the Extension Attribute you have created. This is included in the URL as 'id=#' where # represents the ID. For example, the Extension Attribute configured at https://orgname.jamfcloud.com/mobileDeviceExtensionAttributes.html?id=3&o=r will have an ID number of 3. Note this ID number as it will be needed later in the Managed App Configuration payload.
- You can return to this page later to make changes or identify the ID by navigating to the Extension Attributes section of settings as described above, then clicking on the relevant Extension Attribute
To configure a Jamf Pro Extension Attribute for a specific device:
- Log in to Jamf Pro.
- In the top left corner of the screen, click 'Devices'

- Search for and select the device you want to configure
- Look in the left panel and click on the category you selected for 'Inventory Display' when creating the Extension Attribute
- Click 'Edit'
- Enter the custom value for this device
- Click 'Save'
To use a Jamf Pro Extension Attribute in a Managed App Configuration update:
Jamf Pro supports passing app settings through Managed App Configuration using a standard XML format, which can be copied and pasted into a text field in the Jamf Pro interface.
- Before starting, review instructions on how to edit XML versions of the app's settings here. Note that the XML format used for Managed App Configuration is different from and incompatible with the format used for our standard Remote Setting Control XML format.
- For Kiosk Pro Plus and Enterprise, we maintain a set of templates you can download here or you can export a settings file from a configured version of the app. If exporting, we recommend selecting 'Export Changed Settings Only' to reduce the size of the export. If using a template, you may need to remove unused settings entries. Download or export the file
- Open the file in a plain text editor (like Notepad, not a word processor like Microsoft Word, which can add formatting to the text)
- Identify the key for the app setting you want to update with the value stored in the Extension Attribute. This can be found in the knowledgebase article for that setting under 'Values for Remote Settings Control and Managed App Configuration' > 'Key' or in our Managed App Configuration key spreadsheet
- Find that key in the template
- Replace the value inside the <string></string> or <integer></integer> tags for that key with '$EXTENSIONATTRIBUTE_#' (capitalized and spaced as shown, without the single quotes, with the # character replaced by the ID value for the attribute as identified in the final steps of 'To create a new Jamf Pro Extension Attribute' above. For example, for an Extension Attribute to replace the Homepage with an ID of 1, the XML would look like:

- Copy and paste the XML into the App Configuration tab under Devices > Mobile Device Apps > Kiosk Pro Plus or Kiosk Pro Enterprise
- Click 'Save' to push the update to any devices defined under the Scope tab
Other Standard Placeholder Variables
Variables listed below can also be used in place of a custom Extension Attribute in a Managed App Configuration update as described above.
| Variable | Inventory Information |
| $DEVICENAME | Mobile Device Name |
| $ASSET_TAG | Asset Tag |
| $SITENAME | Site Name |
| $SITEID | Site ID |
| $SERIALNUMBER | Serial Number |
| $UDID | UDID |
| $USERNAME | Username |
| $FULLNAME or $REALNAME | Full Name |
| Email Address | |
| $PHONE | Phone Number |
| $ROOM | Room |
| $POSITION | Position |
| $DEPARTMENTNAME | Department Name |
| $DEPARTMENTID | Department ID |
| $BUILDINGNAME | Building Name |
| $BUILDINGID | Building ID |
| $MACADDRESS | MAC Address |
| $JSSID | Jamf Pro ID |
| $PROFILEJSSID | Jamf Pro ID of the Configuration Profile |



