About Flow Behaviors
  • 27 Jul 2022
  • 17 Minutes to read
  • Dark
    Light

About Flow Behaviors

  • Dark
    Light

Overview

A Flow Behavior (or Behavior Type) instructs the Studio and Portal on how the Flow is intended to function. A Flow automatically assumes the Default Flow Behavior when created, which is the standard behavior for a workflow. This behavior does not need to change unless the Flow is expected to perform a different behavior. For example, if Flow logic is created with the sole purpose of providing data to a Tile on a Page or Dashboard, then this Flow would likely use the Tile Source Flow Behavior Type.


Changing the Behavior

In the Flow Designer

  1. Navigate to the Flow Properties panel.
  2. Under Settings, use the Behavior Type drop-down to expose all of the available Flow Behaviors.
  3. Select the desired behavior.

From a Designer Folder

  1. In the Designer Folder, right-click the Flow.
  2. Navigate to Edit > Advanced > Set Flow Behavior in the Action Menu. 
  3. When the window appears, select the appropriate behavior and save the changes.

Flow Behaviors Types

The table below describes the available Flow Behaviors that can be found in the platform by default, all with a different function. Use the definition, use case, and reference links to learn more about each behavior. 

BehaviorDefinitionWhen to UseMore Info
After Checkin Handler Flow

This Flow executes after a project is checked into the repository and contains just one End step. 

This Flow logic can be built to perform Flow functions for Repository actions, including synchronous and asynchronous Flow steps.
Repository Action Flows
After Project Creation Handler Flow

This Flow executes after a project is created on the repository and contains just one End step. 

This Flow logic can be built to perform Flow functions for Repository actions, including synchronous and asynchronous Flow steps
Repository Action Flows
Agent FlowThis behavior registers the Flow in the Agents folder (System > Designers > Agents). Agent Flows let you integrate intuitively with other servers or machines.
Note: Currently V7 does not support Agent Flow Behavior.
Use this behavior when a client's machine needs to work with the Decisions Server as part of its local environment. (i.e., the URL for the Decisions Server needs to be something other than localhost.)N/A due to the behavior not being currently supported
API Extension FlowThis behavior sets the Flow to expect API extension integration.Use this behavior when creating a Flow that will make use of API Extensions.Completing Assignments using API
Batch Processing FlowThis behavior creates an Async Flow that expects to receive large amounts of data. It handles the data in multiple threads to limit memory use and errors. Use this Behavior when a Flow receives large amounts of data (e.g., executing a "For Each" action on each cell of a huge Excel file). Keep in mind that this Flow behavior is Async, so if used as a Sub Flow, it will not wait to complete before moving on in the parent Flow.Run Flow For List Step
Before Checkin Handler Flow

This Flow executes before a project is checked into the repository and contains two Endpoints (End steps); Allowed and Not Allowed. 

Two different paths of Flow logic can be created to ensure that the appropriate criteria are met before the project can be checked into the Repository with two separate End steps. This Flow only allows synchronous steps with the Flow, meaning elements like Tasks, Forms, and Assignments cannot be used.
Repository Action Flows
Before Project Creation Handler Flow

This Flow executes before a project is created on the repository and contains two Endpoints (End steps); Allowed and Not Allowed. 

Two different paths of Flow logic can be created with two separate End steps to ensure that the appropriate criteria are met before the project can be created. This Flow only allows synchronous steps with the Flow, meaning elements like Tasks, Forms, and Assignments cannot be used.
Repository Action Flows
BPMN DiagramBusiness Process Model Notation or BPMN Flow Behavior is a type of Flow that only contains the BPMN and Drawing Flow steps. These Flow steps are helpful to sketch out processes before building them out.This feature helps the design process tie the actual Flow process to the BPMN Model step to illustrate its function. The steps that can have implementation Flows on them are optional.Creating a BPMN Flow
Chart Data FlowProvides data for rending a Chart, as well as Inputs for controlling that Data.When a user needs to create a Chart. 
Converter FlowConverts data from one Data Type into another. Requires Flow input data (to be converted) and output data (the converted data). Flows with this behavior show up as selectable Converter Flows you can use in other Flows in that Designer Folder.Use this behavior to create a Flow that converts data from one type into another data type. Can be used to clean up data for more elegant handling in a Process/displayed as desired. Building and Using Converter Flows
Custom Email Parsing FlowThis behavior expects the email response job (EmailResponse) from an assignment. It pulls in this data to perform rules or other manipulations.Use this behavior to manipulate email response data from an assignment.Setting Up Email Response Scheduled Job
Default Form FlowThis is the default behavior for Flows that are Form-based. It creates a sync Flow.Use this behavior when you want to create a Form-based sync Flow.Create a Form
Export Report Handler FlowThis behavior takes in Report data and expects a File Data output. It is designed to transform Reports into different export formats.Use this behavior to transform Reports (ex: to generate an XLSX file from Report data).Downloading/Exporting a Report
FlowThis is the default behavior for Flows automatically assigned when another is not chosen. It is a "sync" behavior, meaning that if another Flow calls this Flow, that Flow will wait for it to fully complete (hit the end step) before moving on.Use this behavior to create a standard Flow. A good example of this behavior would be an approval subflow that needs to complete before the parent Flow moves on. This contrasts with an async Flow behavior, which would kick off the subflow and immediately move on without waiting for a result path or output data.Create a Flow
Flow Step Trigger (After)A special type of Flow that can be attached to another Flow that will run after every step is executed. This behavior sets a Flow to be selectable in any step's Trigger properties (under the Simulation and Testing properties section). Used for auditing, logging, and/or data manipulation. Use this behavior to create the equivalent of a Sub Flow that can launch without using a Run Flow step; this simplifies the Flow design. Flow Step Trigger (After, Before, Error) Flow Behavior
Flow Step Trigger (Before)A special type of Flow that can be attached to another FLow that will run before each step is executed. This behavior sets a Flow to be selectable in any step's trigger properties (under the Simulation and Testing properties section). Used for auditing, logging, and/or data manipulation. Use this behavior to create the equivalent of a Sub Flow that can launch without using a Run Flow step; this simplifies Flow Design.Flow Step Trigger (After, Before, Error) Flow Behavior
Flow Step Trigger (Error)A special type of Flow that can be attached to another Flow that runs when a step encounters an error; does not trigger if the step in question has an outcome, or path called Error, and completes as normal. This behavior sets a Flow to be selectable in any step's trigger properties (under the Simulation and Testing properties section). Use this behavior to create the equivalent of a Sub Flow that can launch without using a Run Flow step. Using a step trigger Flow is a way to simplify the Flow design.Flow Step Trigger (After, Before, Error) Flow Behavior
Folder Count FlowThis behavior creates a Flow to count any folder's contents and display it as a small label on the specified folder.Use this behavior to create a quick visual reference for the number of entities in a folder and the color of the reference. For example, counting the number of new tasks created in a folder and displaying it as grey is under 10 and red if higher than 10.Folder Count Flow Behavior
Form Assignment Handler FlowThis behavior expects assignment input data. It is used to take action on an assignment at the moment it is created. A Flow with this behavior shows up as a selectable option in an assigned Form (under Start > Flow to Run).Use this behavior to manipulate a Form assignment when it is created. For example, creating a tag on an assignment to expose additional data.Using Guest Account for Anonymous Tasking
Form Data FlowHave the ability to run additional Flows from a Form. These can be triggered automatically or run based on user interaction. Used when a Form control requires a Flow as a data source such as instances where a Form changes based on user input. A Form Data Flow will run and push data back to the Form. Using Data Flow in a Form
Form Validation FlowThis behavior runs on a Form to create custom validation parameters. It expects inputs from the Form and validation parameters you configure.Use this behavior to create custom validation rules for a Form dynamically. For example, calculating a date three days after the current date, then return a custom validation message (such as "Date must be on or after xx/xx/xx").Validating Form Data with a Flow
Handle Invalid Response Email FlowThis behavior runs on an assignment email response that contains an invalid or unrecognized response.Use this behavior for error handling when using an email response for Assignments. For example, a Flow of this Behavior can be set to return a message that notifies the responder that their response was invalid, the reason it was invalid, and instructions on a valid response.Handling Email Response Replies
HL7 Receiver

HL7 Modules Receiving and Processing Messages
Login User FlowThis behavior is used to create a Flow that is initiated every time a user logs into the Decisions Portal. Allows for additional logic such as notifications to be run on user login. (Does NOT allow Forms to be used in this logic). Use this behavior to create a Flow that runs every time a user logs into the portal. For example, it can be used to send a notification or record details of each login.Login User Flow Behavior
Login User UI FlowTriggers when a user logs into the Decisions Portal. Comes with pre-added End Form step. Used when a Form needs to be displayed again on login. Login User Flow Behavior 
Message Queue Handler FlowThis behavior takes messages from a message queue (such as an AWS JSON message) and parses the data for use in an application. Runs as the Decisions System a not as a user. Use this behavior to integrate with an external service that uses message queues. After choosing the desired message queue type (e.g., JSON or XML message), configure how to parse/handle that data to pass it out as output data.Setting Up Messaging Overview
Notification Processing FlowThis behavior takes in notification message data type (NotificationMessage) and passes out the same type. Its purpose is to transform the notification's styling or text as it appears in the portal or to save notification data.Use this behavior to create custom notifications in the portal or take special action on a notification (e.g., saving certain data when the notification is created).Creating Custom Modes of Notification with Notification Flows
Notification Send FlowThis behavior creates a custom notification delivery method. By default, the portal allows the choice of email, pop up dialog, or SMS message, but a notification processing Flow can configure another delivery with a custom Flow.Use this behavior to integrate an outside notification delivery method (e.g., send a Tweet to notify a new task user).Send Notifications Within a Flow
ODBC Metadata FlowODBC Metadata Flows are very special Flows that allow users to connect ODBC database types that are not built into Decisions by default. This Flow type is very technical and allows users to to specify the unique characteristics of a certain database type so that the new database type becomes an option in the normal Database Integration wizards.Use this behavior to integrate with a proprietary database not included with Decisions' default integrations (ex: Netezza IBM database).Connecting with an ODBC
Outbound SIP FlowThis behavior creates an outbound Flow that allows and creates call to an SIP domain with specified SIP credentials.
Use this behavior when sending SIP calls with a telephony handler.
Creating an Outbound SIP Flow
Page Context Aware FlowThe Page Context Aware Flow is used to pass in a page context id when the Flow/Report is on a page. Use the "Get Page Variable" step to get the value from the URL.Use this behavior when trying to locate another Folder within its parent Folder.
Post To Flow HandlerSpecial Behavior that allows completely arbitrary data to be sent to a Flow via POST or GET methods. Can operate as a named user in Decisions therefore calling to the Flow does not require specific user credentials. Used to create a Flow that defines a specific URL as a delivery destination for a message queue. Such a Flow tells the external system where to post the messages.Use this behavior when receiving messages from the queue instead of retrieving them. Essentially this is enabling push notifications from any service you choose.Post to Flow Behavior
Process Folder Data Aware Flow

The Process Folder Data Aware Behavior enables Designers to assign a Subflow that triggers every time a new Process Folder is created. 

This behavior excels in situations where multiple workflows must work in parallel with another such as sending emails or notifications to an account group once starting a process or logging out detailing for debugging once starting a process. 

About Process Folders
Replace String FlowExpects String Data Type input and allows any output type.

Note: Presently deprecated/non- functional
Use this behavior to take in String data and parse/map it into another data type.N/A due to behavior being non-functional
Report Column Change FlowThis Flow runs when something is moved from one column list to another.This behavior is used when configuring the columns view of Reports.Report in Columns View
Report Data Source Flow
Flows with this behavior show up as available data sources in a Report. Requires output as a list.
Use this behavior to report on data that is not already in a defined structure or table. For example, when there's a need to run a custom SQL query and report on the results.
Using a Flow to Source a Report
Report Field Action Handler FlowThis behavior creates links in a designated column to launch a Flow for each field in a Report. Flows with this behavior appear as selectable when choosing Calculated Columns > RunFlowInlineField for the data field property in a Report.Use this behavior to create a Flow that runs when Report viewers click a link for a certain field. For example, when needing to let users send specific report data to another user in an email or task.Report Field Action Handler Flow
Report Group Action FlowThis behavior creates a Flow that takes action on a group of selected rows in a report. Flows with this behavior appear as selectable in the group actions menu of a live report.Use this behavior to create a Flow that takes custom action on a group of rows in a live Report.Create a Report
Report Inline Field FlowThis behavior creates a Flow that populates data for a report at runtime. It expects a string output (the value of the report field). Flows with this behavior appear as selectable when you choose Calculated Columns > FlowInlineField for the data field property in your Report.Use this behavior to create a Flow that creates or manipulates a Report data field at runtime.Using Flow Inline Fields to Extend Report Data
Report Output Handler FlowWith this Flow Behavior configured, users will get a new option for saving a Report onto an excel file.This Flow type is used as a Report Output Handler. With this Flow configured, users will get a new option for saving a Report onto an excel file. This Flow takes in Report Data and organizes this Report Data onto an Excel file.Report Output Handler Flow
Report Row Color FlowThis behavior is used to color rows in Reports. It outputs the "ColorDetails" Type.Use this behavior when creating a Flow to control row coloring on a Report at runtime.Setting Report Row Colors with a Flow
Report Row Icon FlowThis behavior is used to apply icons to Report rows. It outputs the "ImageInfo" Type.Use this behavior to choose icons to appear in a Report at runtime dynamically. This function is similar to Color Flow Behavior.Using Icons On Reports
Report Selected Row Handler FlowRuns a Flow upon selecting a row within a Report.With Cache Steps, Data values are stored in memory and retrievable for a defined time.Cache Steps
Rule Engine ExtensionThis behavior creates a Flow that appears as a selectable verb in the Rule Engine. It expects a boolean (true/false) output.Use this behavior to run a Flow as part of a Rule. For example, a Rule might need to check whether a file has been uploaded to a given folder at runtime.Rule Extensions
SAML User Not Found Flow 


Shared State Transition Flow Automatically run when utilizing a Case Entity. Triggered when the State has been hit in the Process of a Defined State. For use with Case Entities. Creating and Using A Case Entity Data Structure
Shared User Action Flow User initiated Flows that are dependent on the current State of a Process. Only appear if a Process is in the defined State. For use with Process tracking/States. Creating and Using A Case Entity Data Structure
Sequential RuleThis behavior is used to create a Flow that acts as a complex rule - a rule that uses multiple steps or a combination of simple rules that returns a single output. It expects input data to evaluate and outputs the data chosen.Use this behavior as an alternative to creating complex rules in the Rule Engine. About Rules
Sequential Rule [True/False]Sequential Rule is a Flow that represents a sequence of steps that evaluate data; results in a True/False Output. Used when the designer wants to embed a complex data evaluation or a sequence of simple rules into a single Rule using a sub-Flow. About Rules
Sequential Rule Extension [Flow]Allows users to create a custom Rule Verb that can be embedded in another Rule using the Flow Designer. Used in place of Sequential Rule [Statement Rule] for further logic customization. Rule Extensions
Shared State Transition FlowRun automatically when utilizing a Case Entity. Triggered when the State has been hit in the Process of a defined State. Can be re-used and defined under multiple States. Used with Case Entities. Creating and Using a Case Entity Data Structure
Shared User Action FlowUser-Initiated Flows that are dependent on the current State of a Process. Only appear if a Process is in its defined State. Can be re-used and defined under multiple States. For use with Process tracking/States. Creating and Using a Case Entity Data Structure 
Simple Flow A linear sequence of steps, provides a simplified form of the Flow Designer; built as constrained sequences of Simple Flow Steps. Used in instances where a user needs to change the order and type of steps quickly/easily. About Simple Flows
Simple Flow StepActs a single step that can be used within a Simple Flow. Used when a designer is constructing a Simple Flow/as a part of a Simple Flow. Creating Simple Flows
Step Simulation Path ProviderIf you want to run simulations, this Flow can be used for steps that have multiple different outcomes (i.e. Fetch Entities has Results and No Results). If you create a connected Simulation Selected Path Flow, it creates a Flow with 2 different end points. You dictate the logic here for which path the simulation will take.This Flow type is used for simulation behaviors when debugging.
N/A
Sub Dialog Data FlowSub Dialog Data Flows allow for a smaller more targeted view of another Form to be opened from a button on the parent Form. This can be used to extend user interactions while preventing clutter. It has two end steps defined in the Flow, one that will update the values passed out on the parent Form and another that will cancel any data changes.In Sub Dialog Data Flow, Forms can be used for user interactions. These Forms will show up in a Sub Dialog window.Sub Dialog Data Flow
Sync FlowAllows a Sub Flow and Main Flow to run synchronously. 

Sync Flows are helpful for handling processes that require the Main Flow and Sub Flow to occur one after the other.

About Sync and Async Sub Flows
System Cache Fetch BehaviorUsed to get a collection of data from a cache. It can be used to fill the cache in with data that needs to be kept for a certain time.Cache Fetch Flow Behavior
Tile Source FlowUsed to create Tiles for Pages. Outputs TileData.Use this behavior to create Tile on the Page and use the Tile Page component.Tile Source Flow Behavior
Tiles Source FlowSame as Tile Source Flow but outputs an array of TileData.Use this behavior when needing more than one Tile to be shown on one Tile component on the Page.Tile Source Flow Behavior
Unit Test Execution Completed Notification FlowAutomatically runs after scheduled Unit Test to send an email notification to a specified Decisions accountUse this behavior to track when a scheduled Unit Test succeeds or fails: useful for routine testing of specific logic and scenariosUnit Testing (Advanced)
Unit Test FlowUnit Test utility is separated from the Debugger. Adds the Flow to the list of System Unit Tests that are run by the Unit Test Module. Used with the Unit Test Module. Users can Test the Flow/Rule and see if it is executing correctly in the Debugger or create Unit Tests to apply custom Rules to the Flow/Rule places that need to be tested.Running Unit Tests on a Flow
User Action Flow [Folder Aware]Adds Folder ID and Page Name as Flow input. When the Flow is run, it has the context of the folder it's being run from.Use this behavior to make the folder's contents a Flow is being called from available in the Flow. An example would be to have a page that can be used on different folders to display the comments that live in that folder.Flow Run Part

Was this article helpful?