And it was exhausting! I’ve never really been interested in coding, but with being in front a computer a lot more I’ve been able to spend a bit of time learning some new skills. It started off by wanting to learn some more about interacting with the Workspace ONE APIs, but I ended up wanting to add ‘just that little bit more’ until I ended up with something I’m somewhat happy with.
I am sure the code is very inefficient and I had to learn a lot of new concepts but what I’ve created is – Workpace ONE COVID-19 Notifier

What it allows you to do is obtain the latest COVID-19 Statistics for your Country and send a message to Workspace ONE users and devices.
Read on to see how I can see this being used!

Workspace ONE has had our notification service for a while now. I’ve been talking about it so much with all the things you could do with it I still refer to it as its original name: Hero Cards. So rather than just talking hypothetically I thought I should actually learn some more about it.
I’m not going to go into detail about how I wrote the app or the logic behind it however the concepts that I am leveraging here are:
Workspace ONE UEM API Explorer: https://as1016.awmdm.com/api/help/ (replace as1016 with your Workspace ONE UEM API Server URL)
Workspace ONE Access API Explorer: https://code.vmware.com/apis/57/idm#/
Workspace ONE Notifications API: https://code.vmware.com/apis/402/workspace-one-notifications
and lastly COVID19 API: https://covidapi.info/ (free, open API with no authentication required)
Now don’t get scared – you don’t actually need to know how to query the APIs to use my App. All you need is a Workspace ONE Acccess Admin account (to create an OAuth Client) and a Workspace ONE UEM Administrator account to create an API key (and your UEM administrator account needs to be able to authenticate with APIs).  All of the hard work is done in the background.
So here’s the App.
The first thing you need to do is generate an OAuth Client ID and Shared Secret. You do this in Workspace ONE Access at Catalog -> Settings -> Remote App Access and then Create Client.

Select Service Client Token
Here you should enter a Client ID (call it anything, its like a service account username) and then press Generate Shared Secret. The rest can be default. Make note of these as you’ll need to use them each time you use the App.
Now you need to generate an API Key from Workspace ONE UEM. Log into the admin console and go to All Settings -> System -> Advanced -> API -> REST API then Click ADD.
Scroll to the bottom of the page and you will see a field to enter a Service Name (enter anything), Scope (leave as Admin) and a generated API Key. Copy this Key.
Back to the App. Now you can enter these details in which will generate the Bearer Token and Encoded Credentials needed to authenticate with Workspace ONE Access and UEM APIs.
Enter your details you obtained before and click save under each environment. If you see a (long) Bearer Token string and a (shorter) Auth Token you’ve authenticated successfully.
Note: Make sure you’re entering the API URL no the Console/DS Server URL. For shared SaaS environments it is usually asXXXX.awmdm.com instead of the normal cnXXXX or dsXXXX
Now you can go to the Notification Scope Tab.
Pick your (or any other country) and it will populate the latest COVID-19 stats. Next, select the scope for the users/devices you want to send your notification to.
Once you’ve selected a Recipient Type from the Dropdown, press Search to return the results. A few things to note:
All Users – This returnsall (Directory) users from Workspace ONE Access.
All Devices – This returns all Devices from Workspace ONE UEM.
Individual User – This allows you to search by username in Access. User must by synced.
User Group – Allows you to search by Group Name that is synced or added to Access and return only its members.
Org Group  – Allows you to return devices of a specific Org Group in UEM. Enter the Org Group name here.
Smart Group – Allows you to search a Smart Group by name and return its devices.
Platform – Will return all devices of that OS type.
Once you’re happy with the results (note the number of devices/users!) you can Accept this to go to the details of the notification.
By default, I’ve prepopulated some of the results from the COVID-19 Search in the description field. For the example, I’ve also showed how you could use this as a way to “check-in” on your employees to see if they’re well. If they are well you could send them off to an website that records their choice via API (another blog post on this) and if they’re not well record this and direct them to a site with your own information about how to stay safe and get help.
You’ll see an example image here, and all of this is customisable however for this App I worked with the previous scenario in mind.
In this version, all the fields are mandatory so you need to enter a value in each of these otherwise the API call to send the notification will fail.
The important parts to note here are:
Action URL – This is where the user will be sent to after pressing either the Primary or Secondary Button.
Read Text – This is what it will show after the user presses a button.
Icon URL – This needs to be a public URL. I haven’t added an upload field for this yet.
Once you’re happy with the notification, you can press Submit to send it.
It will then send the notification to the recipients you searched for and save the output to C:logs
And we’re done. Let’s now have a look at what the notification looks like.
On my iOS Device the notification looks like this:
Lock Screen and Notification Alert

Notifications Tab and Expanded View

In the Web Browser, it looks like this:
Notification Alert, Notification Tab
 Expanded View
To download this file, please visit my Github repo: https://github.com/tbwfdu/workspaceone-covid19-notifier
The Workspace ONE Notification Service is very flexible and can be customised a lot more than how I implemented this. You can also also send a notification from Intelligent Hub Services by accessing this either in your Access or UEM environment.
More detailed information about the Workspace ONE Notifications API can be found here:
https://code.vmware.com/apis/402/workspace-one-notifications