Paid App Request in Self Service iOS

New Contributor

Being new to the Jamf world, maybe this has been asked and answered.

We are a K12 school district and we are rolling out Jamf to our iPads and using self service for app installs. I would like all apps to show up for every user in self service, if it is a free app anyone can install it and use it. If it is a paid app, I would like the button in self service to say "Request" instead of "Install" and then have that request go to our software guy in the department to make sure we have licensing and to approve it. Once it is approved, it can be installed.

I am not sure if that is possible or if anyone has tried it before?



Valued Contributor

Neat idea. How do you know to add it to Self Service if no-one has requested it yet?

Valued Contributor

You can scope an app to all devices.
Or all devices, and exclude a group or specific devices, or a model type. As an example if you want to exclude your test environment.

Welcome to the community.


We are a K-12 district, and I have been wrestling with this same problem for a while. I came across your post after I began to look for a solution again. Have you had any new ideas, or tried anything different?

I came up with something the other day I am starting to test in a limited fashion. It's not ideal, but given the scope of the problem any ideal solution would probably have to come from JAMF.

The way I see it, my real goal is to give my users a way to browse the Apps available to everyone in our district, even if we have a limited amount of copies. If we can do that in a way that they're able to tell that what they need installed will require a special request, then I will have accomplished my goal (...your goals may differ). So here's what I am trying out:

  1. I created a special Category called 'Apps that require a Tech request to install'

  2. I created a local JAMF account called 'Browse'
    The only privilege this user has enabled is 'Read' - 'Mobile Device Apps'

  3. I then created an App policy for an App with limited seats available and:
    Scoped it to 'All Devices'
    Set a Limitation on the scope to a single user, the 'Browse' user I made that can only 'Read' - 'Mobile Device Apps' The App Policy is set to display in the category 'Apps that require a Tech request to install'

  4. Then we send out the Login and Password for this limited user account to everyone, explaining that if they login using this account they can finally browse our limited license Apps, and therefore find out what they can put in special a request for.

What do you think?

Valued Contributor


Valued Contributor II

Have you seen the new-ish App Request features?

It's not specifically what you're asking about, but it is certainly close.

New Contributor III
New Contributor III

Just as Chris_Hafner said, enabling App Request would be the closest option to the end goal. This will allow users to request not just paid apps but also free apps if they're not readily available in Self Service for installing. Apps in Self Service need to be directed/set up as distributed to Self Service from their App Record. (Mobile Devices Apps and/or Mac App Store Apps)

Valued Contributor III

@drioux Perhaps a simple Google Site can be created of your 'Apps that require a Tech request to install' with links to the apps on the App Store, so you don't have to open up a login to Jamf Pro and have users have to figure out what to do?


see.vang and Chris_Hafner... Yes, the App Request feature is nice and will help. In this case I was trying to offer a way for users to browse what we already have licenses for.

cdenesha, I agree since that was actually where I originally started. At the moment I am trying to help the users who are getting frustrated at not having a user friendly way to browse what we own, and who are not very tech savvy

New Contributor III

I am also in the K-12 environment. My work around for wanting all users to see what is available is kind of tedious at first...but not so bad once you are just adding new apps as they get purchased.

I do not require iOS Self Service log in and use MAIDs (so no App Store downloads).
Free apps are viewable and installable for everyone...a few exceptions like departments, age appropriateness etc... and a couple mandatory auto installed apps.
For paid apps I actually place two copies in JAMF. The first one that has the licenses (Managed Distribution is checked) is set to install automatically and not display in SS after install...I scope this to users who want/need the app.
The second app, I change the name to have "PAID-" in front of the app name, set it to NOT update the description, scope it to everyone, leave the Managed Distribution box UNCHECKED and add a statement in the description saying "PAID APP. Please email me the device name of the iPad you would like this app installed on".
In Self Service the button says app store for the "PAID-" app instead of install so either way it won't install and hopefully they look at the description...I really wish iOS Self Service could force the description like it can on Macs but at least this way you can categorize apps the way you want to without needing a dedicated By Request category.

I get an email asking for one of these apps, go into the managed copy of the app, scope it to the device, hit save and move on with other stuff.

Again, the annoying parts are setting up a large number of apps at once and not having the ability to force users to view an app description or disable the app store or install button all together.

New Contributor III

We do something like this in our environment. We have a section in Self Service called "Request - Apps Available" which houses all apps on Self Service which have a fee. Once a user clicks the app, they read a description of the app and see the cost. From here they can CLOSE or REQUEST. If they Close, they just return to browsing Self Service. If they Request, it triggers a script which will pull necessary information and compose an email to our "apprequestmailinglist@company". We have this set to launch Outlook but one could adapt it for other providers. The email message will appear repopulated with our mailing list, the app name, app cost, userID, and computerID. The user then has push SEND to finalize the request.

From there, we manually scope the user for the "static group - app name" and respond all to the email to alert the user and team . This process is still a work in progress and a few more items could be automated to prevent being a "cog in the machine" but we also just switched over to this from utilizing another team, server and ticket system.

Let me know if this helps at all.