# Step by step: Workflow configuration

**URL:** <https://community.novulo.com/t/step-by-step-workflow-configuration/514>\
**Category:** Wiki\
**Tags:** getting-started, step-by-step\
**Created:** [October 2, 2024, 10:08am UTC](https://community.novulo.com/t/step-by-step-workflow-configuration/514 "2024-10-02T10:08:56Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yori](https://yyz2.discourse-cdn.com/flex008/user_avatar/community.novulo.com/yori/32/12_2.png) [@Yori](https://community.novulo.com/u/Yori)\
**Post date:** [October 2, 2024, 10:08am UTC](https://community.novulo.com/t/step-by-step-workflow-configuration/514/1 "2024-10-02T10:08:56Z")

</div>

# How to create your first workflow configuration

This post is meant as an example to create your first working workflow.

This is not an explanation of everything that can be done by using workflows, and also not an explanation of all the fields.

For more info and details, see this post: [Workflow configurations](https://community.novulo.com/t/workflow-configurations/286)

## Introduction

We are going to create a workflow configuration that contains user interaction and a process call.

The overall way of working of all workflow configurations is:

1. Create a workflow configuration record.
2. Create a workflow step.
3. Set the initiating transaction _(Important step that is best to do ASAP)_
4. Creating a second step
5. Adjusting the transition expression
6. Making sure there is an end to the workflow.

## 1. Create a workflow configuration record

First add a new workflow configuration:  
_Settings \> Workflow configuration \> add button_

 ![image](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/a6b32da7abf85da1f8f573cae64e5a5f2cd69c9c.png)

## 2. Add a step: User interaction

a. Click add from workflow configuration page:

 ![image](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/f81b65c2ca436297a9ed86d5e735623a270b0df5.png)  
b. Fill in an internal\_name (this name can be referenced to in later workflow steps. Make sure to use lowercase and underscores).  
c. Choose step\_type: User interaction  
d. Save the step.  
 ![image](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/becb6fd9307ff6a7062d25b509d3139daf5112dc.png)

e. In the Questions and Buttons forms you can ask input from the user. Let’s start with asking a question.  
f. Add a question.

- ![image](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/da4043205343bdfb8c8c1fa5d8d509af8dfe57b8.png)
- Fill in the fields.
- Keep the datatype to “Text”
- ![image](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/406d9a7b4d83fe089775cb0d8ffbba3bb03891cf.png)

g. Next we will add a button.

- ![image](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/0c5bc3ae965ecc6df47f9aea6667882dd1a32bd2.png)
- Fill in the fields
- Make sure the internal name is lowercase.
- ![image](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/fe19c2e992ec02f9c9a0ce2016698da3ba69bf43.png)

## 3. Add a initiating transition

1. Go back to the workflow configuration page and add an initiating transition.  
_The reason you need to add this is so the workflow configuration know with which step to start. This is also required if you want to reference other workflow-steps, because the system will check if the workflow-step is within context._  
 ![image](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/f9266fb61105c8e47196b27550abc7a95280e29e.png)
2. Choose in the ‘To’ searchlink your created step.  
_By leaving the “From” empty, the system know this is the first step._  
 ![image](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/000e0b2c067a6eff82f197643a820c91927c553e.png)

## 4. Add a step: Process call

a. Go back to the workflow-step we created in step 2. From here we will create a new workflow-step by using the “Outgoing transitions” form.  
_This streamlines the flow of creating the workflow-steps and will automatically create a transition between the steps._  
-

 ![image](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/895b870be0ce7f847ede3450ffdae16997e9d027.png)  
- ![image](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/347c3fb474dd06a2e751e8e805e639771fac698d.png)  
- Click “Add”.  
b. Fill in an internal\_name _(this name can be referenced to in later workflow steps. Make sure to use lowercase and underscores)_.  
c. Choose step\_type: Process call  
d. Choose process call: Add/Edit (if this doesn’t exist yet, see this topic about [proces action definitions](https://community.novulo.com/t/process-action-definitions-procesaanroepen/538))  
e. ![image](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/87861a396c342aa2d39812babb1c7301bff80698.png)  
f. Also fill in the parameters that belong to the chosen process:

- record: “organizations:getnull()”
- values: “[\<“name”, this.my\_first\_workflow\_step.question\_text.concat(” - Created by workflow at “).concat(datetime:now().tostring())\>]”  
 ![image](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/900284e838a438a6d494b3034502f0df0f651fee.png)
- _This expression might be a bit intimidating, below a short description:_
  - _This is the syntax [\<“fieldname”, where expression\>]_
  - _“my\_first\_workflow\_step” refers to the workflow-step we created. If you used a different name, this needs to change accordingly._
  - _“.question\_text” will return the value provided by the user for that question. If you used a different name, this needs to change accordingly._

g. Save the step

## 5. Adjust the transition by providing an “if true” expression

a. Within the workflow step of step 3, click on the incomming transition. This will open a form where we can provide an expression.

 ![image](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/bc310085b23d923698c85887193c84e790e06411.png)

b. We want to listen to when the user clicks on the “Next” button. This can be done by using this expression.

- Expression: “this.my\_first\_workflow\_step.button.equals(“next”)”  
 ![image](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/82dbbcd5a50ac981b0fcff37b39963d3bb4ec7f4.png)

## 6. Add outgoing transition that ends the workflow

1. Open the step from step 3 again and add an outgoing transition:  
 ![image](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/ad13134b4b2a8cffd48ac7dd175bd075c6a9bfa0.png)
2. Leave “To” empty in this case, so the transition goes from this step to nothing (end of workflow)

–  
[Topic ideas]

- Example of all step types
  - Currently available: User interaction; Process call

If you have any suggestions for more examples, please comment below.

---

<div class="post-metadata">

**Author:** ![gweijman](https://yyz2.discourse-cdn.com/flex008/user_avatar/community.novulo.com/gweijman/32/444_2.png) [@gweijman](https://community.novulo.com/u/gweijman)\
**Post date:** [October 16, 2024, 8:59am UTC](https://community.novulo.com/t/step-by-step-workflow-configuration/514/2 "2024-10-16T08:59:56Z")

</div>

Great @Yori !

I also created a simple How to that can help to configure a first workflow including progress display for a new relation:

[![](https://canada1.discourse-cdn.com/flex008/uploads/novulo/original/1X/84c238849ea61b7d523e1b96303b225642ff8cb3.jpeg "Low Code How To - Een eenvoudige relatie workflow configureren in Novulo") ](https://www.youtube.com/watch?v=_hHa_AvKLJw)
