IMIconnect Developer Hub

Welcome to the IMIconnect developer hub. You'll find all the resources to help you get started with IMIconnect quickly. We are here to support you if you get stuck. Let's jump right in!

Get Started

Flow Builder

Flow Builder is an editor that allows you to create interactive communication flows with minimal programming or scripting efforts. It has an easy-to-use drag and drop interface called 'Flow Canvas' that allows you to build communication flows using 'Nodes'. The communication logic is built on a flow canvas by connecting and configuring nodes in a logical order. A node contains complete information such as initiation, execution, error-handling, condition, notifications, logic - switch statements, and decision logic required to automate complex processes.

A service has one or more flows associated with it, these flows are triggered by rules defined in the service, there can be multiple rules defined, to trigger a flow.

Benefits of using Flow Builder:

  • A flow can have simple validations and expressions.
  • A flow can be grouped for better design control and usability.
  • A flow can be invoked using a rule within a service.
  • A flows can be replicated to create a new flow.

There are two types of flows

  • Flow
  • Voiceflow

List of nodes under each flow.

Flow Builder Interface

Flow Builder Interface is an interactive, easy-to-use interface to build and manage communication flows in simple steps via intuitive drag-and-drop configurable nodes.

The User Interface(UI) has the following sections:

Feature
Description
  1. Flow Canvas

This is the region where you can build and configure a flow.

The flow canvas allows you to drag and drop nodes from the Nodes Palette and connect node using connectors to build a flow

  1. Nodes Palette

It contains all available 'Nodes'. Drag and drop a node into the flow canvas to use it. For more information, see Nodes

Catagories: Nodes are categorised into groups based on their usability. When you click a node category, nodes of the selected category are displayed.

  • FLOW - These nodes contain most common functionality, hence these nodes used by the majority of the flows.

  • UTILITIES - These nodes are designed to support the functionality of message flow.

  • INTEGRATIONS - This category of nodes are custom nodes build with third-party APIs to connect with their respective systems.

  • VOICE NODES - These nodes are designed to support the functionality of a voice flow.

SearchBar: Allows you to search a node from the list of available nodes. You can see the nodes displayed, as you type in the search box.

For more information on connectors, see Connectors

  1. Bottom-line Toolbar

Contain tools to manage the flow, nodes and the activities on flow canvas.

  • Toolbar: Contain tools to manage activities on flow canvas.
  • Shortcut Key: Click to view keyboard shortcut to use the flow builder.
  • Documentation: Click on 'Documentation' icon to view the flow builder help section.
  • Debug: Click to start the flow in debug mode, see Debug
  1. Flow Management
  • Setting: Define global session parameters for the flow.
  • Share: Generate a link to share the flow with other users.
  • Edit : Click to open the flow in edit mode
  • Notepad: Provide information about the flow.
  1. Flow Version

Displays the current version and state of flow. Click to view the version of the flow. For more information, see Flow Versioning

Toolbar

The toolbar contains buttons to manage the nodes and flow on the flow canvas.

Toolbar button
Description

Undo

A multi-level undo that reverses an action and its relative effect.

Redo

A multi-level redo that will undo a previous action.

Delete

Deletes a selected node or a connector.

Auto arrange

For better visibility, all the nodes in the flow are arranged in an order from left to right with equal distance between each node.

For example, a node that is invoked in the final stage will be moved to end of the flow (extreme right.). For more information, see Configuring Events

Actual Size

Resets to default canvas size (from zoom in/out level)

Fit to screen

Flow canvas gets refreshed and the whole flow with all the nodes is display in the flow canvas.

Zoom in

Magnify the canvas.

Zoom out

Shrink the canvas.

Session Parameters

When you double-click a node, a configuration window pops up with various configuration tabs that allow you to define and configure 'Session Parameters' and 'Custom Log IDs.'

By default, a predefined set of session parameters covering popular channel attributes are available, however, you can add custom variables to address flow requirements. These parameters can be subsequently accessed within each node either to retrieve or assign a value.

Custom Logs

Custom logs can be accessed within each node to log the state of session parameters

For more information, see Defining Session Data and Custom Logs

Nodes

A Node is a discrete function that executes in a flow. These nodes are based on their configurable properties are classified into different categories for easy identification and navigation. You can drag and drop nodes to place them on the flow canvas, the node snaps to canvas-gride. You can drag a node to any position on the canvas gride that is free, however, you cannot place a node vertical (over and under) to a node.

Nodes are connected in a logical sequence using connectors to form a flow. Each node comes with specific configurable properties. Double-click to open a node and supply it with appropriate data to configure it.

Nodes encapsulate an action or a decision to form the basis of a flow. Each node performs a specific function, and in some cases depending on the outcome, can decide between two possible paths to continue. For a flow to work, a node must be connected to other nodes using connectors and configure the events.

There are three elements of a node, a node accepts input, provides output and setting to configure the events that node has to perform. When you delete a node in a flow, the successive connectors (event nodes) are also deleted and there might be a need to reconstruct the flow.

  • All node comes with predefined edges, except the 'Evaluate' node.
  • A node edge can be connected to another node with a connector.
  • A node edge is used to end the flow, by configuring the 'End Flow Setting'

Node Events

A node event is a possible outcome of a node. Depending on the data supplied, a node can have one or more outcomes. Events of a node are either connected to the next node or configured to terminate the flow.

Node Events in a node helps to define and configure possible outcomes of an event. By default, the node event tab lists the possible outcome of that particular node, you can define a node event and assign a result label.

To view Node Events of a Node

  1. Select and double-click a node to open the node configuration window
  2. Click NODE EVENTS tab to see the list of node events.

Connectors

Connections are made using connectors within the nodes. Connectors appear when you point, hold and drag a node edge towards a target node (except the Start node, as it does not accept inputs). When you are about to connect an event to the target node, the target node is highlighted. A dotted line appears till you connect the event. After the event is connected, the dotted line turns into a continuous line.

Working with Error and Warnings

When you save a flow, it might be incomplete or have errors. When you attempt to save incomplete flows, errors are generated and listed under ERROR & WARNING pane, at the right side of the flow canvas. Most of the errors and warnings are self-explanatory, hence you can address the errors by editing the flow.

Errors and Warnings are generated under the following context,

  • When you save an incomplete flow.
  • When a mandatory parameter is left incomplete in a flow.
  • When a node edge is left unassigned.
  • When a connector is incomplete.

Debug

The Debug feature in a flow details the execution and transactional details. It helps you to view the sequence of activities in a node and progress of the flow. You can search and filter a transaction log using the search feature.

Debug panel displays following details of each flow execution:

  • A list of most recent transaction logs of the flow.

  • Option to drill down into details of each Transaction by clicking on the Transaction ID.

  • Date and Timestamp of a given transaction. You can filter the logs based on selected date range and day ( Logs are available for the latest 30 days)

  • Duration: Total time the system has taken to execute the request in milliseconds.

The DEBUG button is present at the right bottom of the flow canvas.

Click Debug to open the split window.

Important considerations

  • Ensure to save and make the flow live before executing the flow.
  • Most recent 10 transactions are listed, however, you can use the timestamp to view transactions up to 30 days.
  • Click on a transaction sequence to view(drill down) the details of each flow.

Using Debug Feature

You can make use of the Debug feature to view the Flow sequence, look out for error or unexpected behavior and transaction details of each Node.

  1. Search/Locate the service on the services dashboard.
  2. Click on the service you want to debug.
  3. On the setting panel, click Flows.
    All the flows are displayed in the flow list.
  4. Choose the flow you want to Debug, click the corresponding MANAGE button and select EDIT.
    The Flow canvas opens in full view mode.
  5. Click Debug button available at the bottom right corner of the flow canvas.
    The debug screen appears split view mode (two halves screens), the upper part contains the Flow with each Node assigned a number. The lower section of the screen presents the Transaction Details of the Flow.

Start Debug activity

Debug functionality lists the events that took place while the flow was executed. Debug helps to view transaction details of the Flow and activity particulars of each Node. Using Debug you can view and ensure that the flow meets the goals it is designed for.

Feature
Description

Transaction logs

The details below this heading are of Transactions log.

DECRYPT LOGS

Provide a passcode to decrypt and view transaction details.

Note: Encryption is enabled when the 'DEBUG LOGGING' option is enabled on the General setting page.

Contact your IMIconnect admin for Decryption passcode.

Help

View information about Debug feature.

Refresh

Click to refresh the transaction log details.

Close(X )

Click to close the split windows mode.

Date & Time

Date and Time of the Transaction ID.

Transaction ID

Transaction ID of the Flow, Click the transaction ID for a drill down node level details and the flow

Search

Search a particular transaction using 'Traansactional ID' or by choose a time stamp.

Invoked By

The Rule that invoked and started the Flow.

Time Elapsed(s:ms)

Total time taken to complete the Flow in ms/s

Laste Node

Sort

sort icon s are availabe for each of the heading, click to sort the details of the column in ascending or decending order.

View Debug logs

‘Transactional Logs’ are set of records that contain the sequence of all the activity related to the flows. The log records include details such as the timestamp, title, execution status as well as an option to view detailed log.

The most recent 10 transaction logs are displayed by default, however, you can use a timestamp to view transaction logs.

  1. Click the datestamp under Transaction Logs
  2. Select Custom Range button to define a datestamp, choose From and To dates from the calendar.
  3. Click Apply and search.
    The Transaction IDs between the selected dates are displayed.
  4. Click a Transaction ID to view additional details.
  5. The selected Transaction ID is displayed near the Transaction logs and is displayed in pink color. The table below details now display the details of the Transaction ID.
Name
Description

Transaction ID

The Transaction ID generated when the flow was invoked by a Rule.

Flow Time Elapsed

Time required to complete the flow in millisecond or seconds

Invoked by

The rule that triggered the flow.

Sequence

The sequence of node in the flow.

Time Stamp

Execution date and time of the node.

Node ID - Label

Name and ID of the node in execution at a timestamp.

Time Elapsed

Response time to execute the Node.

  1. Click a record to view the Flow sequence.
  2. Click |> to view the drill-down of the sequence.
    To copy Data, click the clipboard icon next to available data.
  3. Toggle |> to close the drill-down view.

When you click on the Transaction ID records in the table, you will notice that the corresponding Node is selected in the other pane.
You can sort the Time Stamp and Node ID by clicking the icons next to it.
Use F12 function key to toggle between full screen and split screen.

Flow Builder


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.