added

Updates to Flows - March 2019

We are excited to introduce next iteration of IMIconnect flows. Flows have always been central to IMIconnect allowing you to build complex customer communication journeys with ease. This release brings in several major usability improvements and exciting new features which aim to help you create flows faster and easier.

Let us take a look at the latest features:

New node interface


We have completely re-designed the node interface to help simplify the configuration experience. The node window is fully responsive and it now sports a split screen view.

  • The main window area is dedicated to Configuration
  • The split view on the right presents contextual information related to the node configuration
1124

New node interface showing Receive node, with Receive SMS setup

Node configuration area

The configuration area comprises of two tabs

  • Configuration: The main tab (open by default) lists all the mandatory and optional fields required for setting up the node. All mandatory values must be set in this tab to save the configuration.
  • Transition actions: This tab lists the node transition actions i.e. actions to be performed by the flow while entering/leaving this node. A transition action can be configured to run on entering a node or while leaving a node. 4 transition actions are supported:
  • Set variable: Allows a variable value to be set. 2 types of actions are supported within this function
    • Allows capturing a node output variable value into a custom variable (or)
    • Set a custom variable value to a fixed value - For e.g. set the status code on receiving an API response.
  • Log a value to logbook: Allows capturing data into custom logs using a logbook already setup. Allows capturing one or more flow variables into logbook
  • Log a value to transaction log: Flow transaction logs are available in the debug view. This action allows you to capture a variable value into the transaction log for quickly validating a variable values during flow run time. This action is only functional when 'Descriptive logging' is enabled in Flow settings.
  • Log all flow variables to transaction log: Captures a snapshot of all flow variable values into flow transaction logs for quick view in debug view. This action is only functional when 'Descriptive logging' is enabled in Flow settings.
1120

New node interface showing 'Transition actions' tab of a node.

Node contextual information sidebar

The sidebar presents contextual node data for use within the main configuration area. The following information is available in the node sidebar

  • Input variables: A list of all variables available as input to this node. It lists all nodes that are directly connected to this node. Variables can be searched by their name.
  • Output variables: The node output variables of the current node are listed here. The list is updated based on the node configuration.
  • Node outcomes: Lists all possible node outcomes. The outcomes are colour coded to match the 3 node edges. Yellow for timeout edge, Green for Success edge & Red for Error edge.

Improved canvas interface


The flow canvas has been redesigned to be fully responsive and to load faster.

  • We have maximized the canvas area by removing the footer. Canvas controls are now overlaid on the canvas as a floating toolbar at the bottom.
  • The node categories have been simplified into three standard ones - Utilities, Channels and Integrations. Custom integration nodes setup show under the 'Integrations' category.
  • Introducing a new design language for nodes where they are colour coded by the node category in which they are available.
  • Based on the feedback, each channel supported by IMIconnect is now listed separately as a node. This facilitates quick search across all nodes.
  • Added keyboard shortcuts for standard flow operations
1920

New flow canvas interface

Improved variable management system


Variables in flows allow data to be shared between the flow nodes. Previously 'Custom variables' in flows have allowed you to define new variables to capture node specific data and make it available for use in rest of the flow nodes.
In addition to these custom variables, we are introducing a new set of 'node level variables' that are auto generated by each node and can easily be referenced in other nodes through out the flow. These variables are prefixed with that particular 'Node ID' allowing unique access to each of these node level variables.

384

'Node level variables' for a Receive node listed with the other nodes

Using variables
The Contextual Information Sidebar in the node window lists all variables available as input into a given node under the 'Input variables' tab. To use any of these variables in the node configuration, place the control on any of the text boxes within the configuration area of the node and click on one of the variable names listed in the sidebar.
For example, the message received from the end user in a 'Receive' node with node ID 11 is available via a node level variable $(n11.receive.message).

Externalize custom variable

Custom variables can be marked to be externalized for setting the variable value later during flow launch.
This allows the variable values to be manged centrally across multiple nodes at once during flow launch.

797

Adding a new Custom Variable

Flow settings


The new settings UI makes it faster and easier to manage flow configuration. Information is categorized into 4 tabs namely:

  • General: Basic and advanced flow settings relating to the flow behaviour can be configured here.
  • Custom logs: Allows mapping logbook(s) for capturing custom log data
  • Flow outcomes: Manage flow end results & optionally set outcome based notifications
  • Custom variables: View & manage custom variables used in a flow
1540

Flow settings interface

Descriptive logs
Enabling the descriptive logs captures detailed 'Node execution detail' in the transaction logs for debugging purposes. This can be toggled ON / OFF from the 'General' Settings tab under the flow settings.

πŸ“˜

'Node transition actions' tagged with [DEBUG] only function when the 'Descriptive logs' is turned ON.

Triggering a flow using Start node


Flows can now be configured to be triggered from within the flow using the 'Start' node. You no longer need to setup a separate rule after creating a flow to trigger it. This allows you to configure the flow trigger in context of the standard flow configuration. Further the data from the trigger is available as 'Node level variables' for use in rest of the flow nodes.

3 trigger categories are supported:

  • Inbound events on any channel supported by IMIconnect
  • Events originating from Integrations setup
  • Custom events
1328

Start node - Triggers

Trigger conditions in Start node

Conditions set on a trigger allow selectively triggering the flow only when the set criteria is met.
The list of variables on which a condition can be set is dependent on the trigger - event.
E.g. Conditions can be set on the inbound message, or the sender number for an 'SMS' trigger with Inbound message.

One of the several conditional operators can be used to set the condition:

  • Equals
  • Not equals
  • In
  • Not in
  • Contains
  • Greater than
  • Less than
  • Greater than equal to
  • Less than equal to
  • Equals Ignore case
  • Starts with
  • Ends with

Compound conditions can also be set on the variables using the AND / OR operators.

1541

Inbound SMS with a condition on the text message set as trigger to invoke flow

Launching a flow


A new 'Make Live Configuration' wizard simplifies the flow launching process. From this wizard you can now manage:

  • Apps / Numbers for the channels used in the flow. Apps will only need to be selected if you have used a send or a receive node and selected one of the app based channels such as Mobile/Web apps, Messenger, Email etc.
  • Define values for Custom Variables you have created in the flow.
  • Add a comment against the flow version optionally.

πŸ“˜

The Make Live Configuration wizard allows you to quickly change the parameters while taking a flow live. In theory you can quickly switch between a set of 'Test' parameters and 'Live / production' parameters without having to edit each node in the flow.

1537

Make Live Configuration wizard

Adding new app
When an app based channel such as Messenger, WhatsApp etc. is used in the flow, you can either select one of your existing app or create a setup a new one from within the wizard. The context of the flow along with the settings is maintained while the app is setup.

πŸ“˜

Setting up an App or purchasing a Number is no-longer a pre-requisite to creating a flow.

🚧

Launch

We will be rolling out the new interface gradually. If you see something exciting that you would like immediate access to please feel free to reach out to us at connectproduct[at]imimobile[dot]com

Changelog

Added

  • Start node with support for trigger events with conditions
  • Contextual information sidebar to the node configuration window
  • 4 new node transition actions
  • Node level variables that can uniquely be referred in addition to Custom variables
  • Centrally manage flow configuration data while taking a flow live via the 'Make Live Configuration' wizard
  • Descriptive log toggle setting under Flow settings

Improved

  • Flow canvas UI and layout
  • Flow creation, setup & make live process
  • Node UI made consistent across all nodes
  • Several performance improvements under the hood to significantly reduce page load time

Broken

  • Flows created in new version cannot be imported into the older version and vice versa

IMIconnect release v5.1.0