This chapter assumes that you already know basically how to create and configure process items and how to place a process path on the drawing area. Please read the Process Management chapter for more information or participate in an OTRS administrator training.
This chapter contains two simple process examples from practice. You can use them yourself to apply your learned knowledge.
Application for Leave
This sample process describes a possible handling for a leave request. The agent creates a process ticket and enters the data. The ticket is then first sent to the head of department. After the approval of the head of department, the ticket is sent to the queue HR Department. If the department head does not give an approval, a ticket with the rejection is sent to the agent and the process ends.
The HR department receives the ticket with the approval of the head of department. Now it is checked if the agent still has enough free days available. If yes, a ticket is sent to the agent with the information Confirmed and the process ends. If there are not enough days available, a ticket with the information Rejected is sent to the agent and the process ends.
Enable the following System Configuration settings:
-
Ticket::Service
-
Ticket::Type
Create the following Queues:
-
Administration
-
HR Department
Create the following Services:
-
Application for Leave
Create the following Types:
-
Internal Request
Create the following Dynamic Fields:
Object |
Type |
Name |
Label |
---|---|---|---|
Ticket |
Text |
|
Process State |
Ticket |
Date |
|
Vacation Start |
Ticket |
Date |
|
Vacation End |
Ticket |
Text |
|
Days of Vacation Used |
Ticket |
Text |
|
Days of Vacation Open |
Ticket |
Text |
|
Emergency Phone Number |
Set the following System Configuration settings:
-
AgentFrontend::TicketDetailView::Widget::BusinessProcessInformation###DynamicField
-
ProcessState
→ 1 – Enabled -
VacationStart
→ 1 – Enabled -
VacationEnd
→ 1 – Enabled -
UsedVacationDays
→ 1 – Enabled -
OpenVacationDays
→ 1 – Enabled -
EmergencyTelephone
→ 1 – Enabled
-
Create a new process named Application for Leave.
Create the following user task activity dialogs with fields:
-
Recording the demand
-
CustomerID
→ Display: Show Field As Mandatory -
DynamicField_ProcessState
→ Default value: approval, Display: Do not show Field -
DynamicField_OpenVacationDays
→ Display: Show Field As Mandatory -
DynamicField_UsedVacationDays
→ Display: Show Field As Mandatory -
DynamicField_VacationStart
→ Display: Show Field As Mandatory -
DynamicField_VacationEnd
→ Display: Show Field As Mandatory -
Queue
→ Default value: Administration, Display: Do not show Field -
Service
→ Default value: Application for Leave, Display: Do not show Field -
State
→ Default value: open, Display: Do not show Field -
Type
→ Default value: Internal Request, Display: Do not show Field
-
-
Approved
-
DynamicField_ProcessState
→ Default value: approved, Display: Do not show Field
-
-
Approval denied
-
Article
→ Communication Channel: OTRS, Time Units: Do not show Field, Display: Show Field -
DynamicField_ProcessState
→ Default value: approval denied, Display: Do not show Field -
State
→ Default value: closed successful, Display: Do not show Field
-
-
Application for leave processed
-
Article
→ Communication Channel: OTRS, Is visible to customer: no, Display: Show Field As Mandatory -
DynamicField_OpenVacationDays
→ Display: Show Field As Mandatory -
DynamicField_UsedVacationDays
→ Display: Show Field As Mandatory -
DynamicField_ProcessState
→ Default value: confirmation received, Display: Do not show Field -
State
→ Default value: closed successful, Display: Do not show Field
-
-
Not enough vacation days
-
DynamicFieldProcessState
→ Default value: not enough vacation days, Display: Do not show Field -
State
→ Default value: closed unsuccessful, Display: Do not show Field
-
Create the following sequence flows:
-
DynamicField_ProcessState = approval
-
Name:
DynamicField_ProcessState
-
Type: String
-
Value: approval
-
-
DynamicField_ProcessState = approval denied
-
Name:
DynamicField_ProcessState
-
Type: String
-
Value: approval denied
-
-
DynamicField_ProcessState = approved
-
Name:
DynamicField_ProcessState
-
Type: String
-
Value: approved
-
-
DynamicField_ProcessState = confirmation received
-
Name:
DynamicField_ProcessState
-
Type: String
-
Value: confirmation received
-
-
DynamicField_ProcessState = not enough vacation days
-
Name:
DynamicField_ProcessState
-
Type: String
-
Value: not enough vacation days
-
-
DynamicField_ProcessManagementActivityStatus = 0 (successful)
-
Name:
DynamicField_ProcessManagementActivityStatus
-
Type: String
-
Value: 0
-
Create the following sequence flow actions:
-
Set ticket title “Application for leave: EmployeeName”
-
Module:
TicketTitleSet
Click on the Save then the Configure button and add the following parameters:
-
Key:
Title
, value: Application for leave: <OTRS_CUSTOMER_REALNAME>.
-
Create the following user task activities:
-
Recording the application
Assign the user task activity dialog Recording the demand.
-
Approval
Assign the user task activity dialogs Approval denied and Approved.
-
Confirmation of HR department
Assign the user task activity dialogs Application for leave processed and Not enough vacation days.
-
Process complete
Create the following script task activities:
-
Send ticket to queue “HR Department”
-
Script:
TicketQueueSet
Click on the Save then the Configure button and add the following parameters:
-
Key:
Queue
, value: HR Department -
Key:
UserID
, value: 1
-
-
Send notification of confirmation to employee
-
Script:
TicketArticleCreate
Click on the Save then the Configure button and add the following parameters:
-
Key:
Body
, value: Good News! You can take your free time! -
Key:
CommunicationChannel
, value: Internal -
Key:
ContentType
, value: text/html;charset=UTF-8 -
Key:
HistoryComment
, value: Send note -
Key:
HistoryType
, value: AddNote -
Key:
IsVisibleForCustomer
, value: 1 -
Key:
SenderType
, value: agent -
Key:
Subject
, value: Your application for leave was successfully processed
-
-
Send notification of denial to employee
-
Script:
TicketArticleCreate
Click on the Save then the Configure button and add the following parameters:
-
Key:
Body
, value: Your <OTRS_TICKET_Service> was denied. Please talk to your manager. -
Key:
CommunicationChannel
, value: Internal -
Key:
ContentType
, value: text/html;charset=UTF-8 -
Key:
HistoryComment
, value: Send note -
Key:
HistoryType
, value: AddNote -
Key:
IsVisibleForCustomer
, value: 1 -
Key:
SenderType
, value: agent -
Key:
Subject
, value: Approval denied
-
Create the process path as follows:
Double click on the DynamicField_ProcessState = approval sequence flow and assign the Set ticket title “Application for leave: EmployeeName” sequence flow action.
Set the process state to Active and save it.
Defect Handling
This sample process describes a possible procedure for software defect handling. First, the possible software defect is recorded and classified via ticket. If it is a software defect, the ticket is sent to the queue Development. If it is not a software defect, the process ends at this point.
The ticket is now processed in development and runs through the Troubleshooting activity. If the defect has been fixed, the process ends.
If troubleshooting is unsuccessful, the ticket is returned to the Development queue for reprocessing.
Install the following packages:
-
OTRSServiceManagement
-
OTRSConfigurationManagement
-
OTRSDynamicFieldCI
Enable the following System Configuration settings:
-
Ticket::Service
-
Ticket::Type
Create the following Queues:
-
Technical Support
-
Development
Create the following Services:
-
Software
Create the following States:
-
ready for release → State type: open
Create the following Types:
-
Defect
Create the following Dynamic Fields:
Object |
Type |
Name |
Label |
Possible values |
---|---|---|---|---|
Ticket |
Text |
|
Process State |
|
Ticket |
Configuration item |
|
Affected Software |
|
Ticket |
Multiselect |
|
Affected Version |
|
Ticket |
Multiselect |
|
Affected Component |
|
Ticket |
Dropdown |
|
Severity |
|
Ticket |
Dropdown |
|
Likelihood |
|
Ticket |
Text Area |
|
Tasks |
Set the following System Configuration settings:
-
AgentFrontend::TicketDetailView::Widget::BusinessProcessInformation###DynamicField
-
ProcessState
→ 1 – Enabled -
AffectedSoftware
→ 1 – Enabled -
AffectedVersion
→ 1 – Enabled -
AffectedComponent
→ 1 – Enabled -
Severity
→ 1 – Enabled -
Likelihood
→ 1 – Enabled -
Tasks
→ 1 – Enabled
-
Create a new process named Defect Handling.
Create the following user task activity dialogs with fields:
-
Report new software defect
-
CustomerID
→ Display: Show Field As Mandatory -
DynamicField_AffectedSoftware
→ Display: Show Field As Mandatory -
DynamicField_AffectedComponent
→ Display: Show Field As Mandatory -
DynamicField_AffectedVersion
→ Display: Show Field As Mandatory -
DynamicField_Severity
→ Display: Show Field As Mandatory -
DynamicField_Likelihood
→ Display: Show Field As Mandatory -
Article
→ Communication Channel: OTRS, Display: Show Field As Mandatory -
DynamicField_ProcessState
→ Default value: defect reported, Display: Do not show Field -
Queue
→ Default value: Technical Support, Display: Do not show Field -
Service
→ Default value: Software, Display: Do not show Field -
State
→ Default value: open, Display: Do not show Field -
Type
→ Default value: Defect, Display: Do not show Field
-
-
Defect classification
-
DynamicField_Severity
→ Display: Show Field As Mandatory -
DynamicField_Likelihood
→ Display: Show Field As Mandatory -
Priority
→ Display: Show Field As Mandatory -
Article
→ Communication Channel: OTRS, Display: Show Field -
DynamicField_ProcessState
→ Default value: defect classified, Display: Do not show Field
-
-
Planning of defect handling
-
DynamicField_Tasks
→ Display: Show Field As Mandatory -
Owner
→ Display: Show Field As Mandatory -
DynamicField_ProcessState
→ Default value: planning finished, Display: Do not show Field
-
-
No Defect
-
DynamicField_ProcessState
→ Default value: no defect, Display: Do not show Field -
State
→ Default value: closed unsuccessful, Display: Do not show Field
-
-
Defect solved
-
Article
→ Communication Channel: OTRS, Display: Show Field As Mandatory -
DynamicField_ProcessState
→ Default value: defect solved, Display: Do not show Field -
State
→ Default value: ready for release, Display: Do not show Field
-
-
Defect not solved
-
Article
→ Communication Channel: OTRS, Display: Show Field As Mandatory -
DynamicField_ProcessState
→ Default value: defect not solved, Display: Do not show Field
-
Create the following sequence flows:
-
DynamicField_ProcessState = defect reported
-
Name:
DynamicField_ProcessManagementActivityStatus
-
Type: String
-
Value: 0
-
-
DynamicField_ProcessState = defect classified
-
Name:
DynamicField_ProcessState
-
Type: String
-
Value: defect classified
-
-
DynamicField_ProcessState = planning finished
-
Name:
DynamicField_ProcessState
-
Type: String
-
Value: planning finished
-
-
DynamicField_ProcessState = defect solved
-
Name:
DynamicField_ProcessState
-
Type: String
-
Value: defect solved
-
-
DynamicField_ProcessState = defect not solved
-
Name:
DynamicField_ProcessState
-
Type: String
-
Value: defect not solved
-
-
DynamicField_ProcessState = no defect
-
Name:
DynamicField_ProcessState
-
Type: String
-
Value: no defect
-
-
DynamicField_ProcessManagementActivityStatus = 0 (successful)
-
Name:
DynamicField_ProcessManagementActivityStatus
-
Type: String
-
Value: 0
-
Create the following sequence flow actions:
-
Set ticket title “Defect reported”
-
Module:
TicketTitleSet
Click on the Save then the Configure button and add the following parameters:
-
Key:
Title
, value: Defect reported
-
-
Set linked CI in operational state
-
Module:
ITSMConfigItemDataPush
Click on the Save then the Configure button and add the following parameters:
-
Main search parameters:
-
Class: Software
-
Incident State: Operational
-
Link Type: Relevant to
-
-
Additional configuration items matching conditions:
-
Key:
Limit
, value: 1
-
-
Linked configuration items attributes to be updated:
-
Key:
IncidentStateID
, value: 3
-
-
Create the following user task activities:
-
Report Software Defect
Assign the user task activity dialog Report new software defect.
-
Classification
Assign the user task activity dialogs Defect classification and No Defect.
-
Planning
Assign the user task activity dialog Planning of defect handling.
-
Defect Troubleshooting
Assign the user task activity dialogs Defect solved and Defect not solved.
-
Process complete
Create the following script task activities:
-
Send ticket to queue “Development”
-
Script:
TicketQueueSet
Click on the Save then the Configure button and add the following parameters:
-
Key:
Queue
, value: Development -
Key:
UserID
, value: 1
-
Create the process path as follows:
Double click on the DynamicField_ProcessState = defect reported sequence flow and assign the Set ticket title “Defect reported” sequence flow action.
Double click on the DynamicField_ProcessState = defect solved sequence flow and assign the Set linked CI in operational state sequence flow action.
Set the process state to Active and save it.