Flows
  • 06 Jan 2023
  • 5 Minutes to read
  • Dark
    Light

Flows

  • Dark
    Light

Article Summary

A Workflow is a visual representation of a process that contains a sequence of Steps, similar to BPMN. This can include steps for user interaction like Forms and completely automated processes like Scheduled Jobs or API endpoints. Flows built for user interaction and for automated processes are built in the same Flow Designer; this allows users to learn how to build and apply knowledge to specific tasks instead of learning multiple design languages. The Flow Designer is performant and can execute thousands of steps per second in a production environment. Flows run independently; every executed Flow is unique. For example, two instances of the same Flow started simultaneously will not share the same memory space or variables. Every time a Flow starts, a copy is made, the input data is passed in, and the Workflow Engine begins processing.

The Flow Designer displays a workspace for visual configuration of Steps that receive, manipulate, and move data. Each Flow has a green Start step and at least one red End step. During design time, sample data and unit tests can be configured to assist while debugging the Flow to ensure it works as intended. 

The following article reviews many features of Flow Designer.


Flow Designer Features

To access the Flow Designer, Create a Flow in a Designer Project. This Designer has many features to Create, Configure, Debug, and Integrate Flows and easily apply Best Practices to ensure the logic is built for peak performance and reusability.

Create

  1. Side Panel
    The Flow Designer offers six tabs on the left-hand side to assist in creating, configuring, and debugging the placed logic. The tab names and functions are listed below.
    Panel NameDescription
    InfoProvides a place to view and update general information about a Flow, such as the Flow Name, Flow ID, Description, Owner, and Tags.
    ToolboxLibrary for all steps available for use within the Flow. Steps are used to visualize what the back-end code is accomplishing. Steps are divided into specific categories based on their function.
    Samples / Unit Test
    Sample Data and Unit Tests can be defined for testing purposes.
    Data ExplorerLists all of the data available within the Flow. 
    Step ExplorerLists all of the steps currently in the Flow by name. If there are multiples of the same step, this list will show the steps listed with the same name and a differentiating number.
    Steps by TypeLists all of the steps currently in the Flow by the type of step it is. For example, if two Create Data steps were used in the Flow, it would list them as ‘Create Data (2), indicating two of them. Selecting the step highlights it with a box in the workspace.
    Help CenterFive icons consistently appear on the left side of the screen in the Studio. These icons provide helpful information about Flow functionality and other resources.

  2. Top Action Bar

    The top action bar is available in all Designers and contains core actions used by the Designers. Furthermore, keyboard shortcuts may be used to operate these actions quickly. 

    ActionFunction
    SaveIt saves the Flow without closing the Designer. This action includes a window to write notes for the current save if needed.
    CheckpointCreates a Backup of the Flow where the checkpoint is saved, then stores it in the history folder. This is useful when making drastic changes that could affect Flow functionality. 
    Undo (CTRL + Z)Reverses the last design change.
    RedoReapplies the last design change.
    Cut(CTRL + X)Copies the selected step with its Properties and removes it from the workspace. 
    Copy (CTRL + C)Copies the selected step with its Properties.
    Paste (CTRL + V)Pastes any copied steps or templates.
    ViewDisplays options to reset the zoom level, show grid lines to guide the steps' placement and allow the steps' rotation. 
    DebugRedirects to the Debugger window, which displays options to test Flow logic. 
    CompareCompare different Flow versions that are created on each checkpoint save. 
    DependenciesIt shows which elements this Flow depends on and which elements depend on the Flow in a Simple Flow visual view. 
    IntegrationsThis button is not available by default. Instead, the Integration Type must be defined in the Flow properties by navigating to Settings > Service Settings for the Integration actions to appear. Once the type is specified, the Integrations button will appear and, when clicked, will show the integration details for use with REST API calls.
    -/+ (CTRL + -/+)A toggle for zooming in and out of the workspace in the Flow Designer.
  3. Workspace
    The workspace is an area to drag and drop Steps to build a process visually. This area is blank by default but can be set to show gridlines using the View drop-down in the Top Action Bar. In addition, the workspace automatically includes the Start and End steps specific to the Flow Behavior chosen. 

Configure

  1. Data Explorer
    The Data Explorer tab displays available data to be used as inputs on Steps in a Flow. Flow Data and System Constants are always available within Flows; additional data can be added through the SETUP INPUT DATA button in the configuration bar above the workspace or by adding Flow Input Data on the Start step. Selecting any data within the tab will highlight which steps currently use the data.
     
  2. Integrations
    Configure the Integration Type to be API Service, User Interface, Webhook, or None. Once a Type is picked, further configuration options become available, a VIEW button to supply additional settings, display information for calls and expected outputs, and test the integration.

  3. Properties Panel
    The Flow Settings and Step Properties are located in the Properties panel of the Designer. Flow Settings include configurations for a Flow, such as the  Behavior Type, Recursion Policy, Storage Policy, etc. 

Debug

  1. Debug
    Select the Debug button in the Top Action Bar to pull up the Debug window. The Debugger is an interface where the logic built within the Flow Designer can be tested.

  2. Sample/Unit Tests
    Sample Data is a set of configured data of one or many types that can be referenced by any Flow and used for mapping. Unit Tests are saved configurations comprised of test values corresponding to the Flow Input Data.

  3. Global Debugger and Profiler
    The Global Debugger provides flexibility to troubleshoot Designer Elements. When turned on, it captures real-time processes running in the platform, which assists in troubleshooting processes that can not be debugged efficiently in the Flow Debugger. The Profiler captures data on all step executions, the count of executions, and the time it took to complete the process. This is beneficial to evaluate how to optimize a process better.

Implement

The contents of a Flow can be made available for an end-user to run. Each published Flow will have various elements that can activate it, including scheduled jobs, a Workflow catalog, actions on a Dashboard, and an external system via URL.


Best Practices

  1. Flow Templates
    Flow logic can be grouped and saved as a template to reuse the logic in other processes.

  2. Flow Management steps
    Flow Management steps allow for handling errors, branching and merging, iteration handling, and much more.

What's Next