Designing a Flow

Workflows automate business processes by defining a sequence of actions that are triggered by specific events. This guide will walk you through creating a simple Onboarding Workflow and explain the fundamentals of Flow.

Prerequisites

  • Install Flow from the Oqtane Module Marketplace.
  • Check the Flow jobs: Flow installs 2 scheduled jobs,'Flow Manager' and 'Workflow Manager'. Make sure these are both enabled and running.

Step1: Add the Flow Designer

AddFlowDesigner.png

As with any other Oqtane Module, select 'Add New Module' from the Oqtane Module Management screen. This will add a new Flow designer to your page. You only need one of these for your site as all Flows can be managed from the same designer.

Step 2: Create the Flow

AddFlow.png

Give your Flow a meaningful name and description.

"Requires Assigned User": This denotes whether workflows created by this Flow require an admin user to take ownership over that workflow. This can help keep the Workflow process consistent across actions, where a single admin user is responsible for managing the workflow and processing any steps that require admin input. Workflows also provide basic processing statistics, which include how many workflows are assigned to each admin user.

Step 3: Adding Flow Items

AddFlowItem.png

  • Clicking the 'Add Flow Item' button opens the 'Manage Flow Item' screen.
  • Actions: For the first item in our onboarding flow, we are going to send an email to the user who triggered this flow. For this, we select the Notification action. Note: The list of available actions will depend on whether you have any 3rd-party modules installed that support Flow.
  • Each action may have a set of properties that need to be defined for it to be successfully processed.

Action Properties Explained

ActionProperties.png

  • To keep the system as flexible as possible, action properties can be entered when either designing a flow (design time) or processing a workflow (processing).
  • This can be set when designing the flow by checking 'For Workflow.' The checkbox named 'Show on Workflow' is handy if the property is set at design time, but you still want it to be displayed on the workflow at processing time.
  • Note: Depending on the action, some properties may be required to be entered when processing a workflow. In this instance, the property will either not be visible or will be read-only when designing the flow, and a label will be added to the property that states, 'This is a Workflow Property.'

Action Processing

ProcessedBy.png


Note: If ANY properties exist that are required and entered during workflow processing, the 'Processed By' will default to User. The 'Processed By' system is only available if the action has all the necessary property values it needs to successfully execute the action (automated). This means that some actions can not be automated. This restriction is by design and depends on the properties for each action and whether the designer of the Flow has flagged any properties as 'For Workflow.'

Assignment Options

ActionAssignment.png

When an action is 'Processed By' User, the 'Assigned to' dropdown is shown with the following options:

Admin: This item will appear in the 'Workflow Processing' module and be available for processing by users who have permissions to process workflows.

Source User: This action will appear in the 'Tasks' list for the person who triggered this workflow (usually the user logged in at the time).

Specific User: Enter the email address of a specific user to process this item.

Member Onbording Example

OnboardOverview.png

Above is what our simple Onboarding Flow looks like. We have 3 actions, each of which are processed by different methods and by different users. Let's break them down.

1. Welcome Email Action

This action sends an email to the user who triggered this Flow, with a 'Welcome.pdf' attachment. Because all of the properties were entered at Flow design time and no properties require user input, this action has been set to be processed by the system (automated).

Send Email Property

SendEmail.png

Send to Property

SendTo.png

Subject Property

Subject.png

Body Property

Body.png

Folder Property

Folder.png

File Property

File.png

Welcome Processing Settings

Notice that all properties have been set in the Flow Designer; this makes this action eligible for automated system processing and because of this, we are not required to enter a prompt.

WelcomeProcessing.png

2. Confirm Rules Action

The only property of the 'User Task' action is 'Confirm.' This property is always entered when processing the workflow action. Therefore, we are unable to enter it when designing the flow.

Confirm Property

UserTaskConfirm.png

Confirm Processing Settings

As the 'Confirm' property is entered during workflow processing, we do not have the option to automate this action. Instead, for our onboarding, we assign this action to the source user (the user who triggered this action), and we set an appropriate prompt.

ConfirmProcessing.png

3. Add User To Role Action

The 'Add User To Role' action has a single 'Role' property. If we know in advance what role we want to add the user to, we could set this property here and automate this action, but for our simple Onboarding example, we have specified that this will be entered when processing the workflow action.

Role Property

RoleProperty.png

User Role Processing Settings

We cannot automate this action, as it involves entering the Role property during workflow processing. Importantly, we have designated this action to be processed by an admin user, as we don't want the source user (the user who triggered this flow) to be able to add themselves to a role.

RoleProcessing.png

Links

For details on how to trigger your flow, including connecting your flow to a 3rd party module, see: Triggering a Flow

For details on processing Workflows (Workflow Processing and User Tasks), see: Workflow Processing