JennyHu
Tera Guru
Tera Guru

With this #BuildWithAES challenge, my goal is to explore what App Engine Studio (AES) offers for low-code and pro-code developers. I started my exploration over a weekend, continued over some weeknights, and here I am documenting my experience.

The Scenario

Imagine a company offering travel packages for seniors traveling within Canada. Let’s call the company Safe Travels. Safe Travels offers top-notch personalized services to its customers. They know that the last thing seniors wish is to get sick while traveling and destination hospitals at capacity. With many Canadian provinces lifting mandatory COVID isolation restrictions, the company is looking to analyze the COVID data and would like to have an internal dashboard to monitor the COVID trend and automate their workflow. A key indicator is the COVID ICU Occupancy number. If the number is at capacity, they would like to highlight that in red on their internal dashboard and send a company memo alerting all regional travel agents so they could alert their clients.

 

Based on the above requirement, we will need the following to create an app with AES:

  • a data source of COVID summary across Canada over time,
  • a regional dashboard for travel agents,
  • a red highlighted ICU Occupancy number in if it reaches capacity, and
  • an automated email notification to travel agents when ICU Occupancy is at capacity.

The How

Getting COVID data into ServiceNow involves finding an API, analyzing the data returned, setting up a custom spoke in Integration Hub to call the API, and parsing the JSON response.

 

After some research, I found an open COVID API that I can work with: https://opencovid.ca/api/

 

As creating a custom spoke/action is NOT currently a feature provided by AES, I ended up using Flow Designer (another low-code tool in ServiceNow to automate processes) to build the spoke/action. The spoke/action consists of defining inputs, a REST step to call the API, and a JSON Parser step to convert JSON output to a complex object that flows can work with.

find_real_file.png

Now that we have the spoke/action. The next step is to create a flow.

 

Switching back to AES, I was able to create a Flow in AES utilizing the "Get Covid Summary" custom spoke/action I created.  I set the flow to run daily at midnight.  If the REST API call is successful, the flow will loop through each item in the response and insert the COVID data into a ServiceNow table if it doesn't already exist.

 

find_real_file.png

 

Now we have the data set up, the next step is building a dashboard in AES using UI Builder.

 

UI Builder was new to me. It felt intimidating at first with an overwhelming number of configuration options. Starting with the basics, I was able to use the out-of-the-box Data Visualization component to display a trending report of COVID ICU admissions and today's COVID data.

find_real_file.png

I'd like to take a step further to show the reports based on a Canadian province drop-down selection.  For more advanced data binding, I had to spend some time learning about Data Resources. To create a new data broker, I had to switch to the legacy view to create an ux_data_broker ACL for the data resource. Overall, it was a steep learning curve to connect the dots to have dynamic data visualization: scripting a data broker, creating an ACL for the data broker and reviewing the available components and what they do.

 

Now on to the email automation.  I set up an email notification whenever the ICU admission exceeds capacity.  But looks like I can only select users/groups from the table fields.  There isn't a place for us to enter an email address or select a user from the sys_user table for the recipient, unlike the Email Notification that we can configure in the UI16 interface.

find_real_file.png

 

The Experience

In summary, I say AES can easily benefit low-code developers with the following:

  • Ease of creating a new application shell
  • Create table and import text data from Excel (.xlsx) file
  • Set up form view
  • Adding new fields
  • Ability to create flows and utilize Actions/Spokes
  • Various configuration options for the Data Visualization component:
    • Color Rules to dynamically set the color for Single Score Data Visualization in UI Builder
    • Formatting options to adjust decimal values

find_real_file.png

find_real_file.png

 

Beyond the above, the user interface especially for the UI Builder can get very complicated. Developers will still need knowledge of ServiceNow, knowledge of database structure and table inheritance, manipulating JSON objects, binding data sources, creating event handlers, and knowledge of CSS grid layout to design an appealing UI experience and create a dynamic workspace experience.

find_real_file.png

Speaking from the pro-developer perspective, I have yet to complete my exploration to determine the benefits of AES.  So far, I found I couldn't stay in the AES interface to complete my tasks and had to switch back and forth between AES, the legacy interface, and Flow Designer to set up custom spoke/action, ACLs, and test the automated email. 

 

I'm only scratching the surface of AES.  There is so much more to AES, such as the ability to easily spin off variants of an application using templates and the ability for pro-code developers to collaborate with no-code developers. 

 

Anyways, hope you like my COVID Dashboard and automation ideas!  Until next time, let your imagination run wild, and see how you can create an application with AES.  What do you love about it and what is blocking you?

 

 

API Dataset Credits:  The COVID-19 Open Data Working Group dataset is available under the Creative Commons Attribution 4.0 International license. API programming by Jean-Paul R. Soucy. Dataset by the COVID-19 Open Data Working Group.

 

Version history
Last update:
‎09-03-2022 09:39 PM
Updated by: