Storing business data
Any kinds of business data can be stored on processes, there is no strict data model enforced. The data is stored for each process instance in JSON format. The data can be later referenced in the process flows by using their respective JSON keys. Make sure to use easy to remember keys and organize them clearly according to your business requirements.
1
{
2
"application": {
3
"client": {
4
"firstName": "Michael",
5
"lastName": "Scott",
6
"age": 25
7
},
8
"onboardingStarted": false
9
}
10
}
Copied!
A process instance can be started with or without any business data. As the process flow advances through its nodes, new business data is produced for the process and appended to the existing data.
The following types of process nodes can be used to acquire process data:
  • user task nodes that will store data from user input
  • message receive nodes that will store data received from external systems
  • task nodes can have business rules on them that can manipulate existing process data and generate new data
The process data can also be sent to external systems. The external systems usually require a specific data format. This is defined when adding a new integration with an external system. Before sending the data to the integration, some process data values will be replaced in the data to be forwarded.
The business data stored on each process can be viewed from the FlowX Designer:

Process data snapshots

At certain points in a process flow, snapshots of the process data values will be stored in the database. These will be later used for moving a token backwards in a process flow or for debugging process instances.
A small configuration is needed:
1
debug: ${PROCESS_DEBUG:false}
Copied!
If the debug flag is set to false, the data snapshots will be taken before manual actions and receive nodes. If the flag is set to true, data snapshots will be taken before every process action.
Copy link