How to create a workflow process

Center of Excellence
edited May 2023 in How-To Guides

1. Abstract

Many organizations would like to automate approval processes and workflows through Board software in order to create a reliable and standardized series of steps which guide users to ensure work is completed and approved the same way.

In Board, a workflow intended as an approval process can be designed through a series of entities, cubes and procedures that allow to manage the opening, the rejection, and the submission of .

2. Context

We will take as an example a planning process composed of four steps, from sales target definition, through sales and costs budgeting to the creation of a Profit & Loss.

Each step is executed by a different user per each company, so each Company has to follow its own independent workflow.

Each of the planning process step involves different status, at the beginning of the process each step is Closed, then become Open as a consequence of the initialization of the process itself or the approval of the previous step. Once a step is open cell editing got enabled and the dedicated planner can complete his planning job and submit the step. An approver will then Approve or Reject it.

The Workflow process is indeed designed to drive the ability for planners to perform data entry and edit cells content for each step based on its current status.

3. Content

To set up such a workflow in Board we need to identify at which level it has to be applied and create an entity per each dimension of the approval process. Based on the context explained above our Workflow will be at the following details:

  • Company
  • WKF Step (Top-Down Target, Sales Budget, Cost Budget, P&L)
  • WKF Status (Open, Submitted, Approved)

Note that the Company dimension could be replaced by another one depending on the company business and on the process; the Workflow Step elements are customizable depending on the company's complexity approval process.

If Company is an Entity most probably already used across multiple cubes of planning Data Model WKF Step and Status are dedicated entity for the Workflow process and required to be created.

WKF Step (Top-Down Target, Sales Budget, Cost Budget, P&L)

WKF Status (Open, Submitted, Approved)

We use the following set of cubes.

  • WKF – Status: a flag to identify the current Workflow Status per each Step and Company.
  • WKF – Lock: a flag to enable cell editing (data entry open) per each Step and Company.
  • WKF – Tracker: a text to track the latest workflow actions per each Step and Company.

While WKF - Status requires to be structured by all dimensions, WKF – Lock doesn’t need the status per each step but consists of a binary status per each Step (Open or Closed which can be achieved by populating it with 0 or 1). The same for WKF – Tracker which is expected to keep track of the latest status switch per each step.

The Workflow process is aimed to provide control in determining the ability to perform data entry actions on specific slices of Cubes. Cube Visibility feature is designed for this purpose by defining locking conditions that rely on dedicated grant Cubes, in our case WKF – Lock, for applying access level rules to physical cells of data Cubes.

With this feature, we don’t have to limit access to data in Screens or Procedures with complex locking or filtering rules but we can define an extremely granular data entry right into the Data model itself, for each user and for each cell of Cubes.

Cube visibility rules can be defined from the Database security section of each Data model. When editing or creating a new security profile, a new table in the “Database profile options” sliding panel allows you to manage/review Cube visibility rules.

We can refine data entry permissions for Budget Costs with advanced Locking conditions based on WKF – Lock by clicking on the "Edit" button above the table.

The submission Procedure contains the following steps:

  • Procedure will inherit the Company and the Workflow Step from selection applied to the screen.
  • Clear the current Status.
  • Select Status “Submitted”.
  • Data Flow to flag with a 1 the combination selected.
  • Data Flow to flag with a 1 the current step which will deny cell editing.
  • Data Flow to populate the Tracker with username and timestamp.

The reject Procedure contains the following steps:

  • Procedure will inherit the Company and the Workflow Step from selection applied to the screen.
  • Clear the Status cube.
  • Clear the Lock cube to enable cell editing.
  • Select Status “Open”.
  • Data Flow to flag with a 1 the combination selected.
  • Data Flow to populate the Tracker with username and timestamp.

Approval Procedure contains following steps:

  • Procedure will inherit the Company and the Workflow Step from selection applied to the screen.
  • Clear the Status cube.
  • Select Status “Approved”.
  • Data Flow to flag with a 1 the combination selected.
  • Data Flow to populate the Tracker with username and timestamp.

The Approver can monitor the current status per each Workflow Step and Reject or Approve each of them.

Through “Column Appearance we can attach the execution of WKF – Rejection and WKF – Approval to related column as a button:

The user as a planner should be able to launch a procedure to submit the data for approval; in this way there will not be the possibility to enter data anymore and the workflow status will change.

In the same screen – for example the Sales Planning one – the approver user will have a different label to launch the Approval procedure and change again the status to the final one.

Concerning instead the labels that allow changing the Workflow status by launching a procedure, it is possible to customize what the user sees and launches.

Firstly, it is necessary to order the objects in the screen objects area, then to play with the graphic effect, in particular the transparency. The label layout needs to be configured with an algorithm that check the workflow status: if the cube, with a refer to on the status, is populated, a specific label is shown (for example, depending on the status, “Submit data” or “Approve data”) – this is possible thanks to the functionality “Settings” on the bottom of the layout → “Dynamic Options” → “Visibility” linked to the algorithm.

Each label, then, has a procedure linked to it; in each procedure, there is a check of which is the status and then it is changed based on which is the initial status (reset the previous one and write 1 on the following status in the Workflow status matrix).

Comments

  • Fethi ZERARA
    Fethi ZERARA Active Partner, Community Captain
    Fourth Anniversary 5 Answers 25 Likes 10 Comments

    Thank you very much for this Huge Work @Leone Scaburri !

    I'd like to make an additional notes regarding security management. We've observed that when utilizing Database Security (the Cube Access Permission Section) on an unbalanced Hierarchy, data entry is restricted solely to the Leaf level.

    This means that entering data at higher levels (Parents) is not feasible under these circumstances.

    Additionally, it's important to note that there are instances where we may need to utilize the "Disable Unbalanced Hierarchy" option (found in the Rules section of a Layout) for an Entity, effectively using it as a lock. However, it's crucial to acknowledge that this capability to toggle between an unbalanced hierarchy and disabling it isn't available within the database security settings.

    Therefore, these limitations must be considered and accounted for accordingly.

    In our case, we have encountered a mix of these limitations…

    Best Regards,

    Fethi Zerara