In-browser notifications for your ServiceNow apps

About a year ago we created a fantastic platform for in-browser ServiceNow notifications — buzzpost.io

It is a ServiceNow application, which broadcasts in-browser notifications for logged users. I already introduced the platform in this article, and there are multiple videos available (30 seconds preview, detailed overview).

This kind of interactive messaging is a missing gem of ServiceNow platform which can significantly improve user experience. We want you to explore and use it with no strings attached. So we decided to make it totally FREE.

Again… it’s FREE and available on GitHub. You can install the application on your personal developer instance.

There is a certified version of the app available in ServiceNow store, it requires almost the same configuration steps like the version on GitHub.

Below you can find detailed instructions on how to configure the application with your own broadcasting service.

1. Setup message broker

The application uses WebSockets to broadcasts messages to web browsers. This cannot be done just by ServiceNow tools, we need to use a third party message broker and the best option here is AWS IoT service.

AWS IoT provides industrial grade security/performance, requires zero configuration and it’s extremely cheap for messaging purposes. I think it can be literally free until you start sending millions of messages.

  1. Get your own AWS IoT instance.
  2. Create a IAM user with programmatic access and assign AWSIoTDataAccess IAM policy.

For buzzPost configuration you would need:

  • AWS IoT endpoint
  • Region name
  • user Access key ID
  • user Secret access key
If you don’t want setting up your own AWS IoT service — send me a message, I’ll add you to my IoT instance.

2. ServiceNow configuration

2.1 Install the application

Download and install buzzPost2.0 — application.xml update set [GitHub repo].

Download and XML import sys_properties.xml file from the same repo, that is a list of secure properties for AWS IoT connection.

sys_properties.xml is NOT an update set, that is a list of records

2.2 Activate broadcasting feature in a global scope

Next step is to activate the app broadcasting feature. Scoped application does not allow running scripts in a global background, so you need to add a global UI script manually.

Download and XML import broadcasting script.xml file.

broadcasting script.xml is NOT an update set, that is a UI script record

2.3 Configure the application

The final step is to update the app configuration, navigate to buzzPost 2.0 / Admin and set the following:

- Notification listener: disabled

- Remote message broker URL: your IoT endpoint

- Message broker region: your AWS region

- Communication key: IoT user Access key ID

- Communication secret: IoT user Secret access key

The very first step — download/install the application from the store.

That’s it. Reload your browser and you should see messages in a console log:

connection with a message broker established

There are two business rules on an Incident table, which come with the app:

They are inactive by default. Activate them and assigned users will be notified through the messaging service when an incident assigned.

examples of buzzPost notifications

The application comes with a very detailed manual how to create your own templates, run tests, create triggers etc.

3. How to disable broadcasting service

If you want to disconnect/disable broadcasting service — set bzp2.init.js UI script to inactive.