Right now my method is to have Self Service open to the Updates tab. I have policies just for Updates that call the main policy for each app. Let's say it's an update to Atom. I scope the policy to a smart group called Atom Is Installed and Exclude the smart group Atom is up-to-date. That way only the users who are on an older version of Atom see this. This works great for the most part. The problem is that the user clicks on Update in Self Service to launch the policy. It shows the policy execute and then finish. But the Update button still hangs around for a few minutes while the Mac submits updated inventory data to the server. So the user is left wondering whether or not it actually worked. How could I improve this process?
Sorry I didn't notice this earlier. That certainly works! However, if you have a policy failure the unit may not feedback into the policy to try again until the following day. Be sparing with this, but you can add an "execute command" of '/usr/local/bin/jamf recon' in the "files and processes" portion of those policies. There are other ways to accomplish this more efficiently as this literally runs an inventory at the end of any policy you do this with, but it's simple enough that I use it anyways.