About Flow Behaviors
  • 22 Oct 2020
  • 12 Minutes To Read
  • Print
  • Share
  • Dark
    Light

About Flow Behaviors

  • Print
  • Share
  • 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 it is 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

To change the Flow Behavior while in the Flow Designer, click into some empty space to populate the Flow properties on the right. Navigate to the Settings section and use the Behavior Type drop-down to expose all of the available Flow Behaviors. Select the appropriate behavior and save the Flow to apply the changes.

From a Designer Folder

To change the Flow Behavior while in the Designer Folder, right-click the name of the Flow in the folder and navigate to Edit > Advanced > Set Flow Behavior in the Action Menu. When the window appears, select the appropriate behavior and save the changes.


Flow Behaviors (Behavior Types)

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

BehaviorDefinitionWhen to UseMore Info
Agent FlowThis behavior registers the flow in the Agents folder (System > Designers > Agents). Agent Flows let you integrate intuitively with other servers or machines.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.)Writing File Using Agent
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 will receive 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 it is used as a subflow it will not wait to complete before moving on in the parent Flow.Run Flow For List Step
Color FlowThis behavior is used to color rows or columns in Reports. It outputs the "ColorDetails" Type.Use this behavior when creating a Flow to control row/column coloring on a Report at runtime.Color Flow Behavior
Converter FlowRequires 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. For example, number data stored as string; create a Converter Flow that converts it to Int32 data. This can also be be selected via data mapping options in other Flows within the same Designer Folder.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 Flow Behavior (Sync)This is the default behavior for Flows automatically assigned when another is not chosen. It is a "sync" behavior, meaning that if this Flow is called by another 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 is in contrast to an async flow behavior, which would kick off the subflow and immediately move on without waiting for a result path or output data.Create Your First Flow
Default Form Behavior 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.Creating Your First 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).Exporting a Report to Excel (XLSX)
Flow Step Trigger (After)This behavior sets a Flow to be selectable in the trigger properties of any step (under the Simulation and Testing properties section). The after-trigger behavior launches the flow after the step has completed its action.Use this behavior to create the equivalent of a subflow 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
Flow Step Trigger (Before)This behavior sets a flow to be selectable in the trigger properties of any step (under the Simulation and Testing properties section). The before-trigger behavior launches the flow before the step takes any action.Use this behavior to create the equivalent of a subflow that can launch without using a Run Flow step. Using a step trigger flow is a way to simplify Flow design.Flow Step Trigger (After, Before, Error) Flow Behavior
Flow Step Trigger (Error)This behavior sets a flow to be selectable in the trigger properties of any step (under the Simulation and Testing properties section). The Error trigger behavior launches the flow if the step encounters an error in its action.Use this behavior to create the equivalent of a subflow 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 Aware FlowAdds 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 contents of the folder 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
Folder Count FlowThis behavior creates a Flow to count the contents of any folder 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 as well as the color of the reference. For example, counting the number of new tasks created in a folder and display it as grey if it's 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 the properties of 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 the Form Assignment Handler Flow Behavior
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 dynamically create custom validation rules for a Form. 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 as 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 Task Assignment Via Email Response or Embedded Links
Icon FlowThis behavior is used to apply icons to Report rows/columns. It outputs "ImageInfo" Type.Use this behavior to dynamically choose icons to appear in a Report at runtime. This function is similar to the Color Flow Behavior.Using Icons On Reports
Login User FlowThis behavior is used to create a Flow that is initiated every time a user logs in.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
Message Queue Handler FlowThis behavior takes in messages from a message queue (such as an AWS JSON message) and parses the data for use in an application.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 styling or text of the notification as it appears in the portal or to save notification data.Use this behavior to create custom notifications in the portal, or to 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 user of a new task).Send Notifications Within a Flow
ODBC Metadata FlowThis behavior is used to integrate with databases that Decisions doesn't immediately know how to integrate with. Metadata refers to data types, stored procedures, queries, and any other database-specific information flow would need to talk to the database.Use this behavior to integrate with a proprietary database that is not included with Decisions' default integrations (ex: Netezza IBM database).Integrating With Sybase Database
Post To Flow HandlerThis behavior is 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 to receive messages from the queue instead of retrieving them. Essentially this is enabling push notifications from any service you choose.Setting Up Messaging Overview
Replace String FlowThis behavior doesn't work. It expects string data type input and allows any output type.Use this behavior to take in string data and parse/map it into another data type.
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 you choose 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.Merging Report Fields
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.Creating Your First Report
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 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
Reporting Data Source FlowRequires output as a list. Flows with this behavior show up as available data sources in a report.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
Reporting 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
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.Creating Custom Rule Verbs Using Rule Engine Extension
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. 
Sequential Rule [True/False]Sequential Rule is a Flow that represents a sequence of steps that evaluate dataUsed when the designer wants to embed a complex data evaluation or a sequence of simple rules into a single Rule by means of a sub-flow. 
Sub Dialog Data FlowSub Dialog Data Flow works in a similar manner as Data Flow, in a form allows a more personalized user interactionIn 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
System Cache Fetch BehaviorHow to get a collection of data from a cacheCan be used to fill the cache in with data that needs to be kept for a certain timeCache 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 FlowUnit Test utility is separated from the Debugger.Users are able to Test Flow/Rule and see if it is executing correctly in the Debugger or create Unit Tests to apply custom Rules to the places in the Flow/Rule that need to be testedRunning Unit Tests on a Flow
Was This Article Helpful?