Monday, March 10, 2025

Integrating Omnissa's Experience Management For Horizon With 3rd Party Solutions Like ServiceNow

Intelligence for Horizon has provided cloud based monitoring and analytics since 2022.   The data this solution feeds into Omnissa Intelligence is foundational to the Experience Management for Horizon add-on, an enhancement that tracks the digital employee experience (DEX) of Horizon users.  Along with providing rich visibility this DEX solution entitles customers to Workflow Connectors, an Omnissa Intelligence feature for 3rd party integrations.  Based on Horizon telemetry or experience analytics these Workflow Connectors execute REST API calls against popular solutions like ServiceNow.

In the graphic above telemetry is collected from the Horizon Client, Horizon Agent,  Connection Server and UAG appliance, then funneled into the Omnissa Intelligence cloud through the Horizon Edge Gateway Appliance.  Using this data, along with it's own proprietary telemetry, Experience Management for Horizon generates experience analytics that reflect the health of Horizon sessions, infrastructure components and delivered applications.  These experience analytics or underlying raw Horizon telemetry can trigger workflows that execute REST API calls against any 3rd party services supporting a REST API.  For example, in the video below a slow login time for a VIP user triggers the automatic creation of an incident ticket within ServiceNow. 



The impressive automation capabilities of Omnissa Intelligence, formerly called Workspace ONE Intelligence, have been around for over half a decade now.  The biggest difference today is that many customers now actually have Horizon data within Omnissa Intelligence to trigger automation with.  Over the last few years the most common subscription licenses sold have included the Intelligence for Horizon service, so increasingly customers have gained access to Horizon telemetry within the Omnissa Intelligence data lake.  In parallel, SaaS adoption has only accelerated, with solutions like ServiceNow, Office 365 and Salesforce dragging enterprises kicking and screaming into the 21st century.  Given the confluence of these two trends the workflow automation capabilities of Omnissa Intelligence are more relevant than ever, enabling customers to better adapt, fine tune and enrich the SaaS based solutions that support their Horizon environments.   

This article will detail the process behind creating a Custom Connector, a customized Workflow Connector type that's a catch all solution for integrating Omnissa Intelligence with 3rd party apps.  Specifically, I'll walk through the creation of the Custom Connector for ServiceNow used in the demo video above.  However, before doing a deep dive into Custom Connectors I want to review the Horizon data and analytics we can use to drive this automation.    


The Data Driving The Automation

Omnissa Intelligence for Horizon provides cloud based monitoring and analytics for an organizations entire Horizon estate, across cloud and on-premises deployments.  Loosely speaking it represents an aggregation of the individual Horizon session metrics typically viewed through the Horizon Help Desk Tool.  So imagine the data output of the Horizon Help Desk tool for all the current sessions across your enterprise collected in a single place. Add to this a few additional metrics like wifi signal strength and WAN latency, along with monitoring for Horizon Connection Servers and Unified Access Gateway, and that's the Omnissa Intelligence for Horizon dataset in a nutshell. It's information collected across an enterprise at one minute samples and retained for 2 to 3 months within the Omnissa Intelligence data lake. This vast source of Horizon data is the foundation for the Experience Management for Horizon solution and the experience analytics it provides.  



Experience Management for Horizon generates Horizon session analytics based on 12 experience KPIs and customer defined thresholds for these KPIs. Assessments of each of these KPIs bubble up into a super metric called a Horizon Session Experience Score.   As mentioned earlier, most of these KPI assessments are based on the Omnissa Intelligence for Horizon dataset, though Experience Management for Horizon also introduces proprietary telemetry regarding local LAN latency and Active Directory GPO processing.   Horizon Session Experience Scores based on all 12 KPIs are calculated at 4 hour intervals, 6 times a day, and retained for up to a year.  So compared to Intelligence for Horizon datapoints we're talking about lower frequency but higher retention. 



This is all in the name of defending the Horizon user experience.  It's based on an understanding that a deficit in any one of these KPIs is detrimental to the entire user experience.  In other words, the user experience is no better than the weakest KPI.  If 1 KPI out of 12 is consider poor, then the user experience is considered no better than poor, regardless of what the other 11 KPIs look like.  This makes perfect sense when you think of the fragility of the user experience.  For example, if you have poor protocol latency, it doesn't matter how good everything else is, you're users are going to have a bad time.

Experience Management for Horizon also introduces proprietary telemetry and KPIs for applications running within Horizon sessions.  This data is collected from an Experience Management agent running within the virtual desktop or RDS host.  It records this data at a much higher frequency, tracking app cpu usage, memory usage, hangs and crashes, then uses these metrics to calculate overall scores for the application enterprise wide.   



Finally, similar to Horizon Session scores, Experience Management for Horizon generates health scores for Horizon Connection Servers and Unified Access Gateways supporting on-premises Horizon environments.   This involves KPIs regarding session capacity, cpu usage, memory usage and SSL cert status that contribute to overall experience scores calculated for Connection Servers and UAG appliances.  



Again, much of the analytics generated by Experience Management For Horizon is based on the raw telemetry collected by Omnissa Intelligence for Horizon.  Accordingly, you might be able to squeeze some DEX insights out Omnissa Intelligence for Horizon on it's own using custom dashboards and elbow grease.  However,  you would land far short of the DEX solution provided by Experience Management For Horizon.  For starters, you wont have access to more than 2 to 3 months of data and some of the visualization magic of Experience Management for Horizon will be impossible to match.  Further you simply wouldn't have access to the proprietary telemetry provided by Experience Management for Horizon.  No local LAN latency visibility, no segmentation of GPO performance and most notably, no application performance metrics.  A great analogy given by Cris Lau, a PM for the solution, is it's like the difference between building something with generic lego blocks vs a themed lego set.  Yeah, using generic lego blocks with some creativity and imagination you might be able to approximate the outcome of a purpose built themed lego set, but there are hard limitations in terms of how close you can get and you'll have to seriously lower your expectations.



Along with missing DEX visualizations and insights, without Experience Management for Horizon most Horizon customers would be missing out on the automation capabilities provided by the Workflow Connectors of Omnissa Intelligence. These are what allow for integrations with 3rd party solutions like ServiceNow, enabling Horizon shops to drive automation based on Experience Management analytics or raw data collected from Omnissa Intelligence for Horizon. Without Experience Management for Horizon or Workspace ONE Enterprise licenses, these automation capabilities aren't available to Horizon customers.

Creating A Custom Connector For ServiceNow

Out of the box Omnissa Intelligence includes built-in Managed Connectors for solutions like ServiceNow, Slack and Zoom, not to mention Omnissa products like Workspace ONE UEM and Hub Services.   These Managed Connectors represent, "easy buttons," for Workflow Connector integrations.   You simply add a URL for your service along with credentials and you're off the races.   For example, within an hour of spinning up a ServiceNow developer tenant I had the Managed Connector for ServiceNow integration working after following the first few paragraphs of guidance within this official documentation.



While these Managed Connectors are impressive, Custom Connectors allow for customization and a far broader set of potential integrations with 3rd party vendors.  For example, to customize the integration between ServiceNow and Intelligence I went with a Custom Connector to achieve the functionality demonstrated in the video above.  

The process for developing a Custom Connectors begins with developing a firm understanding of the target vendor's REST API.    From there you go on to develop a request to the API within a Postman Collection.  After fine tuning the request and successfully testing it's execution from Postman you export the collection and then import it into Omnissa Intelligence.   Examples of these types of custom integrations are currently available at GitHub, while official Omnissa guidance on the creation of Workflow Connectors can be found here.  For Horizon admins who require a primer on REST APIs and Postman I'm proud to offer up one of my previous articles, No Rest For The RESTful: Omnissa's Horizon Server API.  

For the Custom Connector demonstrated in the video above I tweaked out a ServiceNow example from the GitHub repository just mentioned.  After importing the sample ServiceNow collection into my instance of Postman I had a request that looked like this:



After populating this imported collection with variables for the base url and authorization credentials I was able to begin creating incidents in ServiceNow directly from Postman.  While the automation introduced through this sample Custom Connector is impressive, there's a ton of attributes for an Incident it leaves out.   This includes some very compelling information like Assignment Groups, configuration items, Category, etc...  To extend the Custom Connectors functionality to cover these additional items I needed to get more familiar with the ServiceNow REST API options.   Fortunately ServiceNow makes it really easy to do this through the REST API Explorer.  It not only provides documentation on the relevant Table API, but also a way to test out calls against your ServiceNow instance in real time.  For example, after navigating to the REST API Explorer, I selected the crud operation I was interested in exploring, then selected, "Incident," as the table name.



Then, after scrolling down, there's was absolutely wonderful Builder tab under Request Body.  It provides a method for exploring all the key/value pairs associated with the Incident table.



Even more impressive, it offers an option to actually test out a REST API call directly against your ServiceNow tenant.  So, to explore leveraging the Assignment Group key I selected Assignment group then associated it with a test value.



Upon clicking Send the test was executed against my tenant.  The results of this execution were shown at the bottom of the page.  Further, when I looked under Incidents within ServiceNow I could see the newly created ticket.  Liking what I saw, translating this to a request in Postman was a walk in the park.  I just yanked this assignment group key value pair form the builder and plugged it into my Postman request.



Now, after confirming successful execution from Postman, I began the process of importing this logic into Omnissa Intelligence. First I needed to right click on the collection in Postman and select the option to export.



With my paws on the exported JSON, I now needed to add a special ID field as instructed in the official documentation for Workflow Connectors.  Accordingly, I inserted the value pair highlighted below.  



With this small edit made and saved to the exported JSON file I was able to begin the import into Omnissa Intelligence.  From within the Omnissa Intelligence console I navigated to Integrations --> Workflow Connectors, then clicked Add. 



This launched the Add New Workflow Connector Wizard. I populated that with the base URL for ServiceNow along with my credentials and clicked setup at the bottom.



After the successful creation of the Connector I navigated to Actions. It's here I had the option to import the exported JSON from Postman.



And a little drag and drop and voila! I had this new action to work when creating Workflows with Freestyle Orchestrator.





A Whole World Of SaaS And 3rd Party Integrations To Explore 

While ServiceNow is one of my favorite integrations to talk about it's only one of countless possibilities.  Again, Custom Connectors could theoretically be created for any 3rd party application that supports a REST API.  You would follow the same basic process I just detailed for the custom ServiceNow connector.   For a ServiceNow integration we went from:

ServiceNow REST API Explorer --> Postman Collection Creation --> Custom Connector

So step one was getting familiar with the ServiceNow REST API and figuring out exactly how to interact with the API and what key/value pairs were necessary.  Then there was creation and testing within Postman, followed my an export of the JSON collection.  Finally, there was the creation of the Custom Connector within Intelligence and import of the JSON collection.  For any other solution it's a similar path:

Sort Out REST API Logic of App X --> Postman Collection Creation --> Custom Connector

This general process is demonstrated through the numerous examples in GitHub for popular solutions like Atlassian, Microsoft Teams, Pager Duty, Salesforce and Zendesk.   


Additional Resources

When it comes to the Experience Management for Horizon solution explicitly, one of the first things to read is the official documentation.  You'll also want to read the official documentation for Omnissa Intelligence For Horizon.  Further, there's the videos Experience Management for Horizon Powered By Workspace ONE Intelligence and Intelligence for Omnissa Horizon Powered By Workspace ONE Intelligence. (Keep in mind that Workspace ONE Intelligence is called Omnissa Intelligence nowadays.)  From there you might find it worthwhile to check out the more broader overviews of Omnissa's DEX solution that include the Workspace ONE UEM side of the house.  In that regard, I'd recommend two Tech Zone articles, What Is Digital Employee Experience (DEX)? and Getting Started With Workspace ONE Experience Management.   Also, there's what you might consider a sister article to this post that reviews the automatic creation of ServiceNow tickets based on Workspace ONE UEM telemetry, Automating Service Desk Ticket Creation With Omnissa Intelligence Freestyle Orchestrator Workflow.

For a deeper dive on the Horizon telemetry driving the Experience Management for Horizon solution, don't miss this YouTube Series by Cameron Fore, Getting Started With Intelligence for Horizon.  The first installment of this series, Part 1: Where Is The Data, focuses on the types of data available within Intelligence for Horizon.  One of my favorite parts of this first video is the introduction to the recently released Omnissa Intelligence Data Explorer, a great tool for getting your hands dirty with the Horizon data stored in Intelligence.  That said, all four videos of the series are definitely worth checking out for anyone curious enough to make it this far through an article like this.  For context, Cameron is the guy who designed the new Horizon Operations Overview dashboard and has focused on Horizon monitoring in one shape or another for over a decade now.   


Ruthless Automation Across An Ecosystem Of Apps And Services

To my mind the ability to drive automation across 3rd party SaaS solutions amounts to end user computing scripting for the 21st century.  Sure, getting into the guts of the Windows operating system with PowerShell is still highly relevant for most Horizon admins.  However, as SaaS has gotten more and more relevant the potential for Horizon shops to benefit from more integration and automation with those solutions has emerged.  What's possible and on the table really amounts to what options that vendor has made available through their REST API.  In the case of ServiceNow, it's A LOT.  In the case of other vendors maybe it's not so impressive, but when any vendors does step up with some interesting REST API capabilities Experience Management For Horizon will allow Horizon admins to take advantage of them.  



No comments:

Post a Comment