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.

ticket-proccessing-workflow

You can get all the details of this workflow here.

TicketProcessing1 TicketProcessing2 TicketProcessing3 TicketProcessing4 TicketProcessing5 TicketProcessing6

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.

CF_IfElse

This activity will check if the Priority is high or not.

CF_IfElse2


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.

Correlate1

This will set TicketId as CorrelationId.

Correlate2


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.

Timer2

Here we have One minute time interval.

Timer3