Workflow

Workflow

Visualize Your Workflow

The first step in developing a business process is to design your workflow. In addition to driving the business process, the workflow also creates a visual representation of the business process and its steps.

Each step in the workflow is a status that the business process request can move through. Consider what your business process will be creating. In the case of VOB, a single request will move through the workflow and then resembles will be boarded to JDE.

When visualizing your workflow, it can be helpful to start by drawing your business process workflow by hand, using the steps and shapes below.


There are three main status types to represent each step in the workflow: “Create Request”, “Form”, or “Logic”.

Create Request

Form

Logic

This is where a BP request is created. Each BP workflow will start with a “Create Request” status.

Use as many Form statuses as you like in your drawing. A Form status should be used where you would expect users to interact with the business process and provide input/data.

Logic statuses will contain internal logic steps which can be for decision making or data processing.

Use actions to decide what happens after the create request is performed, and what workflow step will be next. (ex. Submit)

Use action to decide what happens when the user enters form data. (ex. Save, Submit, Reject)

Use exits to decide how workflow will flow once the logic has been completed.

Look at the following example for guidance.

Create Your Workflow in the IDE

Once you have a good idea of what your business process will look like, it is time to design it on the platform.

Using EASYProcess No-Code IDE, you will go to the “Business Processes” page and add a new business process. You will be asked to select a name.

For our VOB example, the business process was given a fully descriptive readable name that the users would recognize: “Vendor On-Boarding (VOB)”.

After selecting a name and the business process is created, navigate to the “Business Process Home” page and select the “Workflow Canvas” icon to create the workflow.

The “Workflow Canvas” icon

You will learn about IDE and business processes designer tools in the training guide, which provides step by step examples.

Adding a Status

The left side of the “Workflow Canvas” displays all of the status objects, where they can be dragged in and dropped onto the canvas. When a new status is added to the canvas, it prompts the business user to assign a “Status Name” to create a new status.

The “CreateRequest” status is added to the workflow canvas by being dragged in from the left menu and given a status name.

Configuring a Create Request Status

After the “Create Request” status has been dragged onto the canvas and named, the status needs to be configured using the four buttons displayed on the status.

  1. Form: This button opens a window where an existing form is chosen and visibility and validation configurations can be set. This determines what portion of the form users see when they open the form at this point in the workflow.
  2. Usage Notes: This button opens a window where notes can be written by the user. This is used for documentation purposes, to record notes for understanding the use of the status in the workflow.
  3. Actions/Exits: This button opens a window where the “Actions” and “Exits” for the status are configured. Actions are presented to the end user as buttons on the form. Each action corresponds to an exit path, which is the visual path on the canvas that leads to the next step in the workflow. The user selects the action button on the form, which then determines which exit path is taken to the next step in the workflow.
  4. Actors: This button opens an “Actors” window to configure the “Actors” or users that can act on this status. This is a tool that allows each status to be configured so that only certain users can act on it.

The “Create Request” status can be configured using these four buttons similarly to the “Form” status, as described below.

A “Create Request” status is unique however in the way that although mostly similar to a “Form” status, logic can also be configured for the status similar to a “Logic” status.

By double clicking on the “Create Request” status, a logic canvas will be opened where any necessary logic can be created. Creating this logic is further explained in Chapter 6: Writing Logic.

Configuring a Form Status

After the “Form” status has been dragged onto the canvas and named, the status needs to be configured using the four buttons displayed on the status.

A “Form” status example named “TestForm” as seen on the “Workflow Canvas”

  1. Form: This button opens a window where an existing form is chosen, and visibility and validation configurations can be set. This determines what portion of the form users see when they open the form at this status of the workflow. The use of this button is explained later in Chapter 4: Connecting the Workflow and Forms.
  2. Usage Notes: This button opens a window where notes can be written by the user. This is used for documentation purposes, to record notes for understanding the use of the status in the workflow.
  3. Actions/Exits: This button opens a window where the “Actions” and “Exits” for the status are configured. Actions are presented to the end user as buttons on the form to act on the status. Each action corresponds to an exit path, which is the visual path on the canvas that leads to the next step in the workflow.

The “TestForm” status with two exits configure: “Exit1” and Exit2”

  1. “Actors” Button: This button opens an “Actors” window to configure the “Actors” or users that can act on this status. This is a tool that allows each status to be configured so that only certain users can act on it.

Actions/Exits

The “Actions/Exits” button is used to configure the actions and the exits of the status, which will be used to create the paths from this status to the next.

In each status, actions are presented to the end user to act on the status. These actions are presented to the end user as buttons on the bottom of the form.

Each action creates a corresponding exit path, which determines what the next step in the workflow will be based on what action was taken in the status.

Clicking the circled “Actions/Exits” button opens the “Actions” window where the exit paths for the status can be created

Clicking the “Actions/Exits” button will open a window containing an “Add/Edit Action” section to create the actions and exits. The “Action Description” will be what is displayed to the user on the form. “Exit Description” will be displayed on the workflow to create the path to the next status.

Once created the actions will be listed under “Action List”. The exits will be listed under “Exit Bottom List” or “Exit Side List” depending whether the exit path is on the bottom or the side of the status, which will be defined by the “Bound” value..

The “Add/Edit Action” section has been used to create two actions and exits: “Approve” and “Deny”

Actions can also have logic attached to them that will be executed when the action takes place. This logic can be configured using the gear icon next to each action, which will forward the business user to a “Logic Canvas”. This is further explained in Chapter 6: Writing Logic.

The highlighted gear icon can be used to configure logic for the selected action

The “Exits” table lists each exit and its current configurations as displayed in a table with the following columns:

  • Name: The name assigned to the exit path.
  • Description: The description assigned to the exit as defined by the “Exit Description” field.
  • Bound: The position of the exit path, which determines which side of the status the path will exit from visually, “Right” or “Bottom”. By default, all exit paths are bound to the “Bottom” position, however using the blue circle next to the position, will switch the position. Statuses have nodes on the left and top of where the path from the last status will enter, and the exit paths are created on the right or bottom side.
  • Index: The Index defines which order the exits are displayed and can be changed using the arrows in the index column. As previously mentioned, the actions are presented to the end user as a series of buttons at the bottom of the form. The “Index” value for an action allows the order of the buttons to be customized.

For example, if the bottom of the status has two exit options, “Approve” and “Deny”, the “Approve” will have an Index of “0” since it is displayed first, and the “Deny” will have a value of “1” since it is listed next. This is the same function for the exits as shown on the workflow, and the action as shown on the form.

  • Color: The color the path will appear on the workflow. This can be customized by selecting a color from the dropdown.

The “TestForm” status has been configured with two exits: “Approve” and “Deny”. As seen above, there is a path from the previous status entering the top of the “TestForm” status. If the form is approved, the green “Approve” exit path on the right side of the status will be taken, if the status is denied, the red “Deny” path at the bottom of the status will be taken.

Actors

The “Actors” button opens an “Actors” window which allows the status to be configured to have a specific “Actor Type”. “Actor Type” refers to who is allowed to act on the status, this provides a way for the status to be restricted so that only certain users can act on the status.

When the highlighted “Actors” button is clicked, an “Actors” window opens to configure the actors for the status. The “Actor Type” is set to “Requester” by default.

The “Actors” window has two parts:

  • Status ID: The internal reference ID number of the status which is automatically assigned.
  • Actor Type: The type of users that are able to act on this status. This is also known as setting the “Owner” of the status which determines who is able to act on the status.
  • Requester: By default, the “Actor Type” is set to “Requestor” which refers to the business user who created the status and is requesting the information.
  • User: This “Actor Type” allows the status to be assigned to a single user as the status “Owner”. When this type is selected, a dropdown of the existing user ids will appear to assign the “Owner Id”.
  • Role/Group: This “Actor Type” will allow any user in a certain “Workflow Role” or “Group” to be able to act on the status. When this is selected, a dropdown of all existing roles will appear to select which role the “Owner Id” will be set to.
  • User Property: This will set the owner to all users that meet the specified criteria. The “Owner Id” dropdown will be populated with the existing columns in the “EPUsers” table. The “ Property Value” will be a value in the specified column. Any user whose EPUsers record has the given “Property Value” in the column selected by the “Owner Id” dropdown, will be made an owner of the request.

When the “Actor Type” and “Owner Id” have been set, the “Add Actor” button is used to save the changes. The actors will then be displayed in the table below. This allows for more intricate configurations by being able to assign multiple actor types for a single status.

The “TestForm” has two “Actors” added. The “User” type was added to assign the “Tenant_Admin” user as an owner, as well as the “Requester” type. This means both the “Tenant_Admin” user and the user that made the request can both act on the status.

Configuring a Logic Status

When a logic status has been dragged onto the canvas and named, the major difference from the other status types is that a logic status only has two buttons, “Usage Notes” and “Exits”.This is because the actions taken in the status happen automatically as predetermined in the logic behind the scenes, and does not map to a form that the user sees. Without a form, there are no buttons that can be clicked for the "Actions".

A Logic Status “Logic” as seen on the workflow. The circled “Exits” button is used to open the “Exits” window to create the exits. Logic has two exits “Record Exists” and “Create Record”.

Using the “Exits” button, the exits can be configured by editing configuring the “Name”, “Description”, “Bound” location, “Index”, and “Color”.

The rest of logic status configuration is accomplished by double clicking on the status, which will open the logic canvas where the logic the status will execute can be created.


Creating this logic is further explained in Chapter 6: Writing Logic.