Ticket Processing Tutorial - NeoSOFT-Technologies/workflow-plugins GitHub Wiki
Ticket Processing Workflow
Description
Short-running Workflows can be useful to implement a business rules engine, while long-running workflows greatly simplify the implementation of complex processes that involve coordinating between multiple agents (users & machines).
Ticketing feature is basically used to track issues related to agents, or events. A ticket is a work request created in response to a situation that requires further investigation.
Below is a simplified process flow for an Ticket processing.
You can get all the details of this workflow here.
Activity Explanation
Explanation for highlighted activities are as follows:
1. If/Else
The If/Else activity evaluates a Boolean expression and continue execution depending on the result.
The If/Else has three branches : True, False and Done. If you have a True outcome, it executes immediately and then the Done branch is executed. But if you have a False outcome, it's waiting on the Done branch before execution.
This activity will check if the Priority is high or not.
2. Correlate
Correlate activity sets the CorrelationId of the workflow to a given value. Elsa enables you to correlate workflows with a application-specific values. These values can be anything, but typically represent an identifier of an entity in your domain.
This will set TicketId as CorrelationId.
3. Timer
Timer triggers at a specified interval. It is used to create a delay in the workflow to prevent the immediate triggering of a subsequent event/activity. In a workflow whenever a timer node is encountered, then the workflow execution will be paused for the configured amount of minutes/hours and resume from it when the delay time elapses.
Here we have One minute time interval.