Dynamic Inputs One of the great features in the New York release is the inclusion of Dynamic Inputs. It can be tedious to develop a Flow when it requires a script step to transform data from one form to another. Dynamic Inputs to the rescue! Imagine the case where the inputs to an Action inside of a Flow are based on the data outside of your instance such as creating a record in an external system.
Store Releases ServiceNow will now be releasing spokes when they are ready. No longer waiting until the next family release for all feature updates. The first batch of these spokes was released into the wild in early March. While this isn’t a deep dive technical post, it is very relevant to previous and future posts. For example our post and videos about JWT signing Part 1 and Part 2.
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.
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.
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.
Flow Designer is a great tool to create business logic, particularly by those outside of traditional development roles: process owners, subject matter experts and the like. However, it is almost certain that sooner or later they will want to create Flows that require Actions that do not exist in the baseline system nor easily available Spokes. So then what? My suggestion is that this is where the traditional developers should step in, by creating Actions for use by those business users who don’t want to get deep in the implementation details.
As Flow Designer gets more real world use, the feature set continues to evolve towards the needs of production customers. In the London release, one of those features is Subflows. By its nature, Flow Designer is pleasingly fractal in nature. You build a Flow out of Actions. When you drill into Actions, the UI looks almost the same as the Action Steps build into the Action. Subflows are another layer of this fractal, allowing for reuse by building a piece of a Flow that can be reused in multiple Flows or even across the same Flow.
Share Spotlight Welcome to the second share spotlight! Every Friday we will be spotlighting a project from the Share site on the Developer Portal. Add to Update Set For the second installment, we are featuring a project called Add to Update Set Utility authored by friend of the Developer Program Ben Hollifield. This project adds a Global UI Action to place items into your current update set that might not normally be saved to an update set.
Share Spotlight we are beginning a new feature here on the Developer Blog. Every Friday we will be spotlighting a project from the Share site on the Developer Portal. We dug deep and decided to call this “Share Spotlight”. Show Flow Context For the first installment, we are featuring a project called Show Flow Context authored by friend of the Developer Program Tom Cullen. This project does one thing, which is to add a UI Action to Task based records to show active Flows for that record.