Process instance
A process instance is a specific execution of a business process that is defined on the FlowX.AI platform. Once a process definition is added to the platform, it can be executed, monitored, and optimized by creating an instance of the definition.
Overview
Once the desired processes are defined in the platform, they are ready to be used. Each time a process needs to be used, for example each time a customer wants to request a new credit card, a new instance of the specified process definition is started in the platform. Think of the process definition as a blueprint for a house, and of the process instance as each house of that type being built.
The FlowX.AI Engine is responsible for executing the steps in the process definition and handling all the business logic. The token represents the current position in the process and moves from one node to the next based on the sequences and rules defined in the exclusive gateways. In the case of parallel gateways, child tokens are created and eventually merged back into the parent token.
Kafka events are used for communication between FLOWX.AI components such as the engine and integrations/plugins. Each event type is associated with a Kafka topic to track and orchestrate the messages sent on Kafka. The engine updates the UI by sending messages through sockets.
More about Kafka
Checking the Process Status
To check the status of a process or troubleshoot a failed process, follow these steps:
- Open FlowX.AI Designer.
- Go to Processes → Active Process → Process instances.
- Click Process status icon.
Understanding the Process Status data
Understanding the various elements within process status data is crucial. Here’s what each component entails:
- The Status field indicates the state of the process instance, offering distinct values:
Status | Indicates the state of the process instance. Offers distinct values: |
---|---|
CREATED | Visible if there’s an error during process creation. Displays as STARTED if there were no errors during creation. |
STARTED | Indicates the current running status of the process. |
DISMISSED | Available for processes with subprocesses, seen when a user halts a subprocess. |
EXPIRED | This status appears when the defined “expiryTime” expression in the process definition elapses since the process was initiated (STARTED ). |
FINISHED | Signifies successful completion of the process execution. |
TERMINATED | Implies a termination request has been sent to the instance. |
ON HOLD | Marks a state where the process is no longer editable. |
FAILED | Occurs if a CronJob triggers at a specific hour, and the instance isn’t finished by then. |
- Active process instance: The UUID of the process instance, with a copy action available.
- Variables: Displayed as an expanded JSON.
- Tokens: A token represents the state within the process instance and describe the current position in the process flow.
For more information about token status details, here.
- Subprocesses: Displayed only if the current process instance generated a subprocess instance.
- Exceptions: Errors that let you know where the process is blocked, with a direct link to the node where the process is breaking for easy editing.
For more information on token status details and exceptions, check the following section:
- Audit Log: The audit log displays events registered for process instances, tokens, tasks, and exceptions in reverse chronological order by timestamp.
Audit
Color coding
In the Process Status view, some nodes are highlighted with different colors to easily identify any failures:
- Green: Nodes highlighted with green mark the nodes passed by the token.
- Red: The node highlighted with red marks the node where the token is stuck (process failure).
Starting a new process instance
To start a new process instance, a request must be made to the FlowX.AI Engine. This is handled by the web/mobile application. The current user must have the appropriate role/permission to start a new process instance.
To be able to start a new process instance, the current user needs to have the appropriate role/permissions:
Configuring access roles for processes
When starting a new process instance, we can also set it to inherit some values from a previous process instance.
Troubleshooting possible errors
If everything is configured correctly, the new process instance should be visible in the UI and added to the database. However, if you encounter issues, here are some common error messages and their possible solutions: Possible errors include:
Error Message | Description |
---|---|
”Process definition not found.” | The process definition with the requested name was not set as published. |
”Start node for process definition not found.” | The start node was not properly configured. |
”Multiple start nodes found, but start condition not specified.” | Multiple start nodes were defined, but the start condition to choose the start node was not set. |
”Some mandatory params are missing.” | Some parameters set as mandatory were not included in the start request. |
HTTP code 403 - Forbidden | The current user does not have the process access role for starting that process. |
HTTP code 401 - Unauthorized | The current user is not logged in. |
Was this page helpful?