Application Development

Dave Slusher

9 minute read

One of the many exciting features of the Madrid release is that inclusion of JWT (JSON Web Tokens) as a supported authentication type. Before this feature, I had been working with very limited success to help a Box user integrate with ServiceNow via JWT. JWT are non-trivial to construct and require access to cryptographic tools, so having them in the platform is a big step up. I’m going to walk through the steps I took to get an integration working with Box.

Andrew Barnes

2 minute read

Offline for Mobile As promised we will cover more of the Madrid mobile features. Today we will look at the ability to configure and use offline abilities in the new mobile application. Offline on mobile devices opens up the locations and types of applications that can be deployed to your workforce. The offline mode must be installed by ServiceNow, which means you need to use HI to request the plugin for customer instances.

Dave Slusher

3 minute read

As we continue our lightning tour of new developer-facing features of the Madrid release, we touch on some that are not net-new but include relevant changes. Today’s post is one of these. The London release featured the first release of Flow Designer APIs that allowed for invoking Flows via JavaScript APIs. That capability has been beefed up in Madrid and we’ll look at that. Server-Side Flow APIs The London release had two APIs, startAsync for Flows and SubFlows.

Andrew Barnes

2 minute read

Virtual Agent The spotlight for today is Virtual Agent which was introduced in London. The developer blog has a previous post Virtual Agent (London) to get you familiar with the product so check it out first before you read on about the new changes in Madrid. On to the changes we go! Condition builder One of the first and notable changes is the addition of the condition builder to many of the activities.

Andrew Barnes

4 minute read

Mobile in Madrid One of my favorite things in Madrid is the changes to Mobile. This will be a multipart series as we have a great deal to cover. Right off the bat, there is a whole new native app in the iOS and Google Play stores. ServiceNow Agent is its name. The previous mobile app is now named ServiceNow Classic. This single App will be the basis for all of the new targeted applets and experiences you make for your users.

Dave Slusher

2 minute read

Much of the work for Flow Designer in the Madrid release has been towards achieving feature parity with Workflows. That is to say that any work that could previously be done in a Workflow could now also be done in Flow Designer. Here is one of those features. Do Until Loops This is a common bit of logic that is needed in any programming context, and now it is available in Flows.

Andrew Barnes

2 minute read

Payload Builder A handy new feature in Madrid is the payload builder. This allows for reasonably simple name-value pairs payloads to be crafted into a payload object. The ability to use the inputs combined with a payload builder lowers the bar for building dynamic integration actions.

You can see the Name-Value pair setup is pretty straight forward using the data pill setup that is now familiar in Flow/Action Designer.

Dave Slusher

3 minute read

One of the things that I personally enjoy exploring each release is what has changed in the Automated Test Framework. This is a capability that I love and I like watching it improve to the point where organizations can capture ever more of their testing needs with it. Let’s look at some of what is new in Madrid. Parameterized Tests One of the impediments to using the ATF at scale has been the handling of large quantities of test data.

Andrew Barnes

3 minute read

Decision Tables The first feature in Madrid I am going to highlight is Decision Tables. These decision tables are a place to store the decision logic for variable situations. Each decision table record (sys_decision) handles a single decision. Related lists are the decision inputs (sys_decision_input) and decision (sys_decision_question) records. Each decision record contains an answer.

Our example will be for routing after hours service calls. We take multiple inputs in the form of location, time of submission, and the service.

Andrew Barnes

7 minute read

GlideRecord To start the new year, I want to dive into the depths of the GlideRecord object and how this information can make you a better developer. This article will be at a reasonably advanced level but should be valuable for most any level of ServiceNow developer. We will utilize a variety of tools to expose the details of GlideRecord under the hood. The easiest way to inspect the details of the fields and values that are available to the GlideRecord object and when they are available is the script debugger.