Outdated documentation

You are looking at the documentation for an older release. For the latest information, please see current release documentation.

Process Management

Maximizing performance while minimizing human error is a requirement of organizations of all sizes. This need is covered by defined processes and workflows, for recurring tasks. Ensuring all required information is available in the right place, and contacts are informed about their responsibilities like adding information, approving requests, etc.

OTRS supports this requirement by process management. Process tickets help by using the required mandatory and optional fields (see Dynamic Fields) that information is not forgotten upon ticket creation or during later steps of the process. Process tickets are simple to handle for customer users and agents, so no intensive training is required.

Processes are designed completely and efficiently within the OTRS front end to fit the requirements of your organization.

Use this screen to manage processes in the system. The process management screen is available in the Process Management module of the Processes & Automation group.

Manage Processes

To create a new process:

  1. Click on the Create New Process button in the left sidebar.
  2. Fill in the required fields.
  3. Click on the Save button.
  4. Add activities, user task activity dialogs, sequence flows and sequence flow actions.
  5. Set State to Active.
  6. Deploy all processes.
Create New Process Screen

Create New Process Screen

To edit a process:

  1. Click on a process in the list of processes.
  2. Modify the fields and the process path.
  3. Click on the Save or Save and finish button.
  4. Deploy all processes.

To copy a process:

  1. Click on the copy icon in the fifth column of list of processes.
  2. Click on the newly created process to edit it.

To delete a process:

  1. Click on a process in the list of processes.
  2. Set the State option to Inactive.
  3. Click on the Save button. A new Delete Inactive Process button will appear in the left sidebar.
  4. Click on the Delete Inactive Process button.
  5. Click on the Delete button in the confirmation screen.
  6. Deploy all processes.

Warning

Processes are written into file in Perl format. Without deploying, all processes are still in this cache file even if they are deleted or the State option is set to Inactive or FadeAway. Don’t forget to deploy all processes after modifications!

Give some time for agents to complete the running process tickets before the process will be deleted. It is possible to mark a process for deletion, i. e. set the process as not to be selected anymore. Process states can be:

Active
Processes can be used in new process tickets.
FadeAway
Agents and customer users cannot select this process for new tickets and neither can they assign this process to an existing ticket, but tickets where this process was assigned to can still use the process. For automation, other processes can still create new tickets with this process or assign this process to existing tickets.
Inactive
Processes are deactivated and cannot be used for new or existing tickets.

To deploy all processes:

  1. Click on the Deploy All Processes button in the left sidebar.

Note

New or modified processes have to be deployed in order to affect the behavior of the system. Setting the State option to Active just indicates, which processes should be deployed.

To export a process:

  1. Click on the export icon in the fourth column of list of processes.
  2. Choose a location in your computer to save the Export_ProcessEntityID_xxx.yml file.

Warning

The exported file contains only the process itself, and doesn’t contain the Queues, Agents, Dynamic Fields, etc. needed for the process.

To import a process:

  1. Click on the Browse… button of the Configuration Import widget in the left sidebar.
  2. Select a previously exported .yml file.
  3. Click on the Import process configuration button.
  4. Deploy all processes.

Note

Before import a process, it is still necessary to create all Queues, Agents and Dynamic Fields, as well as to set System Configuration, that are needed by each process before the import. If the process requires the use of Access Control Lists (ACL) those are also needed to be set manually.

Note

If several processes are added to the system, use the filter box to find a particular process by just typing the name to filter.

Warning

The maximum number of 50 deployed processes should not be exceeded. Exceeding this limit may affect the system performance.

Process Elements

The element names of the process modeler have been adapted to the Business Process Model and Notation (BPMN) ISO naming convention.

Activities

The following task activities can be used as basic elements of the process.

Script task activity

Script task activity is executed by the process management module and it can set dynamic field values or manage tickets automatically.

Script Task Activity Window

Script Task Activity Window

The following settings are available when adding or editing this resource. The fields marked with an asterisk are mandatory.

Activity name *
The name of this resource. Any type of characters can be entered to this field including uppercase letters and spaces.
Activity type *

The following types of task activities can be used:

  • Script task activity (selected for now)
  • Service task activity
  • User task activity
Activity description
Add additional information to this resource. It is recommended to always fill this field as a description of the resource with a full sentence for better clarity.
Activity error code
Define a custom error code for script or service task activities. The custom error code must be a positive integer number.
Can start processes in

Defines, where can the processes be started by the agents or customer users. A process can be started in the following interfaces:

  • Agent Interface
  • Agent and External Interface
  • External Interface
Script *

In this drop-down can be selected which script should be triggered immediately if the activity is set. Click on the Configure button to add parameters (key-value pairs) for the script.

See also

Each module has its own and different parameters. Please refer to the Process Modules section to learn all required and optional parameters.

Service task activity

Service task activity uses a web service to complete the task.

Service Task Activity Window

Service Task Activity Window

The following settings are available when adding or editing this resource. The fields marked with an asterisk are mandatory.

Activity name *
The name of this resource. Any type of characters can be entered to this field including uppercase letters and spaces.
Activity type *

The following types of task activities can be used:

  • Script task activity
  • Service task activity (selected for now)
  • User task activity
Activity description
Add additional information to this resource. It is recommended to always fill this field as a description of the resource with a full sentence for better clarity.
Activity error code
Define a custom error code for script or service task activities. The custom error code must be a positive integer number.
Can start processes in

Defines, where can the processes be started by the agents or customer users. A process can be started in the following interfaces:

  • Agent Interface
  • Agent and External Interface
  • External Interface
Web Service *
Select one of the Web Services from the drop-down list.
Invoker *
Select an invoker for the web service. Click on the Configure button to add parameters for the invoker.
User task activity

User task activity can be used when the task is being done by an agent or a customer user.

User Task Activity Window

User Task Activity Window

The following settings are available when adding or editing this resource. The fields marked with an asterisk are mandatory.

Activity name *
The name of this resource. Any type of characters can be entered to this field including uppercase letters and spaces.
Activity type *

The following types of task activities can be used:

  • Script task activity
  • Service task activity
  • User task activity (selected for now)
User Task Activity Dialogs

You can assign user task activity dialogs to this activity by dragging the elements with the mouse from the left list to the right list. Ordering the elements within the list is also possible by drag and drop.

Click on the Create New User Task Activity Dialog button to create new dialogs.

For each configured field in a user task activity dialog, the process modeler is able to choose the following options for the fields:

  • Do not show Field
  • Show Field
  • Show Field As Mandatory

If you use Show Field for a select field the empty value needs to be added to the possible values. Otherwise without having an empty value available, this field will be always a mandatory field.

User Task Activity Dialogs

A user task activity dialog contains the actual user interaction of the process and consists of fields that can be displayed to the users in the Ticket Zoom screen or can be set automatically by them.

Click on the User Task Activity Dialogs item in the Available Process Elements widget in the left sidebar. This action will expand the User Task Activity Dialogs options and will collapse all others doing an accordion like effect.

User Task Activity Dialogs

User Task Activity Dialogs

Click on the Create New User Task Activity Dialog button.

Add User Task Activity Dialog

Add User Task Activity Dialog

The following settings are available when adding or editing this resource. The fields marked with an asterisk are mandatory.

Dialog Name *
The name of this resource. Any type of characters can be entered to this field including uppercase letters and spaces.
Available in

It determines in which interface the dialog appears.

Possible values are:

  • Agent Interface
  • External Interface
  • Agent and External Interface
Description (short) *
The dialog can be explained briefly here. The description is displayed in the user task activity dialog in the Ticket Zoom screen.
Description (long)
The dialog can be explained in more detail here. The description is displayed in the user task activity dialog in the Ticket Zoom screen.
Permission

By means of this setting, the visibility of the process dialogs can be controlled, based on the user’s permissions on the queue in which the ticket is currently located. If a user does not have the here configured permissions on the group which is associated to the queue in which the ticket is currently located, the dialog will not be visible in the Ticket Zoom screen.

This permission setting does not affect the visibility of the first user task activity dialog while creating a new process ticket.

Required Lock

By means of this setting, it is achieved that the ticket is automatically locked to the executing agent or not once an agent opens the user task activity dialog in the Ticket Zoom screen.

Possible values are:

  • yes: the ticket is locked to the executing agent while executing
  • no: the ticket is not locked to the executing agent while executing
Submit Advice Text
This text will be shown above the submit button and may contain an advice for the user.
Submit Button Text
With this text the button label can be changed from Submit to the text entered here.

To assign fields to the user task activity dialog simple drag the required field from the Available Fields pool and drop into the Assigned Fields pool. The order in the Assigned Fields pool is the order as the fields will have in the screen. To modify the order simply drag and drop the field within the pool to rearrange it in the correct place.

Add User Task Activity Dialog Fields

Add User Task Activity Dialog Fields

Available Fields
All available fields of the system are shown here in an alphabetical order.
Assigned Fields
The fields assigned to the dialog are displayed here.

As soon as the fields are dropped into the Assigned Fields pool another popup screen is shown with some details about the field.

Edit User Task Activity Dialog Fields

Edit User Task Activity Dialog Fields

Description (short)
A short explanatory text for the field can be specified here. The description will be displayed underneath the field.
Description (long)
A more detailed explanatory text for the field can be specified here. The description will be displayed when hovering over the icon next to the label of the field.
Default value
Defines a default value for that field.
Communication Channel
Defines the communication channel.
Is visible to customer
If this is checked, the customer user will be able to see the article created by the process.
Time units

For each configured field in a user task activity dialog, the process modeler is able to choose the following options for the fields:

  • Do not show Field
  • Show Field
  • Show Field As Mandatory
Display

For each configured field in a user task activity dialog, the process modeler is able to choose the following options for the fields:

  • Do not show Field
  • Show Field
  • Show Field As Mandatory

The option Do not show Field offers the possibility to set a field automatically to a certain value configured as a Default value.

If you use Show Field for a select field the empty value needs to be added to the possible values. Otherwise without having an empty value available, this field will be always a mandatory field.

Sequence Flows

A sequence flow is used to connect objects of a process and to represent the flow. The sequence flow controls the sequence of activities by checking whether certain defined conditions are met.

Click on the Sequence Flows item in the Available Process Elements widget in the left sidebar. This action will expand the Sequence Flows options and will collapse all others doing an accordion like effect.

Sequence Flows

Sequence Flows

Click on the Create New Sequence Flow button.

Add Sequence Flow

Add Sequence Flow

The following settings are available when adding or editing this resource. The fields marked with an asterisk are mandatory.

Sequence Flow Name *
The name of this resource. Any type of characters can be entered to this field including uppercase letters and spaces.
Type of Linking between Condition Expressions

A sequence flow consists of one or many condition expressions. If the sequence flow has more than one condition expressions you can select the type of linking between the condition expressions.

Possible logical operators:

  • and: the output is true if all inputs are true.
  • or: the output is true if one or many of its inputs are true.
  • xor: the output is true only if exactly one of its inputs is true.

A new condition expression can be added by clicking on the Add New Condition Expression button.

Type of Linking

A condition expression can have one or many conditions. If your condition expression has more than one condition you can select the type of linking between them.

Possible logical operators:

  • and: the output is true if all inputs are true.
  • or: the output is true if one or many of its inputs are true.
  • xor: the output is true only if exactly one of its inputs is true.
Name

The name field contains the name of the attribute which shall be checked.

In case of dynamic fields the prefix DynamicField_ has to be used in front of its name. Make sure that the spelling of the attribute name is correct.

Type

Three types of condition checks can be selected here.

  • String: checks for a fixed value.
  • Regular Expression: checks for patterns using regular expressions.
  • Validation Module: checks if a certain logic is met which is contained in the validation module. Validation modules are custom made.
Value

The value field can contain the following values:

  • string,
  • regular expression,
  • a combination of the above.

By means of the + symbol on the right side, a new condition consisting of name, type and value can be added.

Examples:

Check if the ticket state is open.

  • Name: State
  • Type: String
  • Value: open
Sequence Flow Example

Sequence Flow Example

Check if the dynamic field named NewField1 contains the string full.

  • Name: DynamicField_NewField1
  • Type: String
  • Value: full
Sequence Flow Example

Sequence Flow Example

Check if the dynamic field named NewField1 contains something.

  • Name: DynamicField_NewField1
  • Type: Regular expression
  • Value: .+
Sequence Flow Example

Sequence Flow Example

Sequence Flows Actions

With sequence flow actions ticket data can be changed or created, mails can be send from a ticket and data can be pushed from one OTRS object to the other.

Sequence flow actions need to be associated to a sequence flow. A sequence flow action is executed if the sequence flow is triggered and it gets executed after the following activity.

Click on the Sequence Flow Actions item in the Available Process Elements widget in the left sidebar. This action will expand the Sequence Flow Actions options and will collapse all others doing an accordion like effect.

Sequence Flow Actions

Sequence Flow Actions

Click on the Create New Sequence Flow Action button.

Add Sequence Flow Action

Add Sequence Flow Action

The following settings are available when adding or editing this resource. The fields marked with an asterisk are mandatory.

Sequence Flow Action Name *
The name of this resource. Any type of characters can be entered to this field including uppercase letters and spaces.
Sequence Flow Action Module *
In this drop-down field it can be selected which action module shall be executed.

If both fields are filled in, click on the Save button. A new Configure button will appear next to the action module field. Click on the Configure button and add the needed configuration parameter keys and values.

Sequence Flow Action Parameters

Sequence Flow Action Parameters

See also

Each module has its own and different parameters. Please refer to the Process Modules section to learn all required and optional parameters.

Process Modules

Process management modules can be used in sequence flow actions and script task activities. The modules are scripts which can interact with other objects like tickets, knowledge base articles, configuration items or appointments. Using these modules makes it possible to change the attributes of the process ticket or other objects.

Some built-in modules are shipped with the framework.

DynamicFieldSet

A module to set the dynamic field values of a ticket.

Process Management Module DynamicFieldSet

Process Management Module DynamicFieldSet

Configuration parameters section

The dynamic field values of the process ticket can be set here. The key is the attribute of the process ticket. The value can be a pre-defined text, an attribute from the process ticket in form of an OTRS tag or a concatenation of both. The <OTRS_TICKET_*> OTRS tag prefix can be used here.

Examples:

Key Value
Approved 1
User_ID 123

See also

See the DynamicFieldSet API reference.

TicketArticleCreate

A module to create an article for a ticket.

Process Management Module TicketArticleCreate

Process Management Module TicketArticleCreate

Configuration parameters section

Here can be set the article attributes of a ticket. The key is the attribute of the article which will be created. The value can be a pre-defined text, an attribute from the process ticket in form of an OTRS tag or a concatenation of both. The <OTRS_TICKET_*> OTRS tag prefix can be used here.

Examples:

Key Value
Body
<table cellspacing="2" cellpadding="2" border="1">
  <thead>
    <tr>
      <th>Field</th>
      <th>Content</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Book Title</td>
      <td><OTRS_TICKET_DynamicField_Title></td>
    </tr>
    <tr>
      <td>Book Author</td>
      <td><OTRS_TICKET_DynamicField_Author></td>
    </tr>
    <tr>
      <td>ISBN</td>
      <td><OTRS_TICKET_DynamicField_ISBN></td>
    </tr>
  </tbody>
</table>
CommunicationChannel Internal
ContentType text/html;charset=UTF-8
HistoryComment Last man standing
HistoryType AddNote
IsVisibleForCustomer 1
SenderType agent
Subject Summarization of Former Process Ticket Content: <OTRS_TICKET_Title>

See also

See the TicketArticleCreate and the ArticleCreate() API reference.

TicketCreate

A module to create a ticket.

Process Management Module TicketCreate

Process Management Module TicketCreate

Configuration parameters section

Here can be set the ticket attributes. The key is the attribute of the ticket which will be created. The value can be a pre-defined text, an attribute from the process ticket in form of an OTRS tag or a concatenation of both. The <OTRS_TICKET_*> OTRS tag prefix can be used here.

Examples:

Key Value
CustomerID <OTRS_TICKET_CustomerID>
CustomerUser <OTRS_TICKET_CustomerUserID>
DynamicField_ProcessManagementActivityID Activity-1a1924ad9c1a6b23f70fc58a80961760
DynamicField_ProcessManagementProcessID Process-95a06ad414cf371ebc4b82c8c2a3c389
LinkAs Child
Lock unlock
OwnerID 1
Priority 3 normal
Queue Postmaster
State open
Title Subtask of: <OTRS_TICKET_Title>

See also

See the TicketCreate and the TicketCreate() API reference.

TicketCustomerSet

A module to set the customer of a ticket.

Process Management Module TicketCustomerSet

Process Management Module TicketCustomerSet

Configuration parameters section

Here can be set the customer of the ticket. The key is the attribute of the process ticket. The value can be a pre-defined text, an attribute from the process ticket in form of an OTRS tag or a concatenation of both. The <OTRS_TICKET_*> OTRS tag prefix can be used here.

Examples:

Key Value
CustomerID client123
CustomerUserID client-user-123

See also

See the TicketCustomerSet and the TicketCustomerSet() API reference.

TicketLockSet

A module to set the lock status of a ticket.

Process Management Module TicketLockSet

Process Management Module TicketLockSet

Configuration parameters section

Here can be set the lock status of a ticket.

Examples:

Key Value
Lock locked
LockID 1

See also

See the TicketLockSet and the TicketLockSet() API reference.

TicketOwnerSet

A module to set the owner of a ticket.

Process Management Module TicketOwnerSet

Process Management Module TicketOwnerSet

Configuration parameters section

Here can be set the owner of a ticket.

Examples:

Key Value
Owner root@localhost
OwnerID 1

See also

See the TicketOwnerSet and the TicketOwnerSet() API reference.

TicketQueueSet

A module to move a ticket to a new queue.

Process Management Module TicketQueueSet

Process Management Module TicketQueueSet

Configuration parameters section

Here can be set the queue of a ticket.

Examples:

Key Value
Queue Misc
QueueID 1

See also

See the TicketQueueSet and the TicketQueueSet() API reference.

TicketResponsibleSet

A module to set the responsible agent of a ticket.

Process Management Module TicketResponsibleSet

Process Management Module TicketResponsibleSet

Configuration parameters section

Here can be set the responsible agent of a ticket.

Examples:

Key Value
Responsible root@localhost
ResponsibleID 1

See also

See the TicketResponsibleSet and the TicketResponsibleSet() API reference.

TicketSendEmail

A module to send an email from a ticket.

Process Management Module TicketSendEmail

Process Management Module TicketSendEmail

Configuration parameters for recipients section

Here can be set the recipients of the email.

Send to these agents
Select the agents who will receive the email.
Additional recipient email addresses
Additional email addresses can be added here.
Configuration parameters for article section
Here can be set if the article is visible to customer.
Configuration parameters for email section

Here can be set the subject and the body of the email. Multiple languages are supported.

See also

See the TicketSendEmail API reference.

TicketServiceSet

A module to set the service of a ticket.

Process Management Module TicketServiceSet

Process Management Module TicketServiceSet

Configuration parameters section

Here can be set the service of a ticket.

Examples:

Key Value
Service MyService::Subservice
ServiceID 123

See also

See the TicketServiceSet and the TicketServiceSet() API reference.

TicketSLASet

A module to set the SLA of a ticket.

Process Management Module TicketSLASet

Process Management Module TicketSLASet

Configuration parameters section

Here can be set the service level agreement of a ticket.

Examples:

Key Value
SLA MySLA
SLAID 123

See also

See the TicketSLASet and the TicketSLASet() API reference.

TicketStateSet

A module to set the state of a ticket.

Process Management Module TicketStateSet

Process Management Module TicketStateSet

Configuration parameters section

Here can be set the state of a ticket.

Examples:

Key Value
State open
StateID 1

See also

See the TicketStateSet and the TicketStateSet() API reference.

TicketTitleSet

A module to set the title of a ticket.

Process Management Module TicketTitleSet

Process Management Module TicketTitleSet

Configuration parameters section

Here can be set the title of a ticket.

Examples:

Key Value
Title Some ticket title

See also

See the TicketTitleSet and the TicketTitleUpdate() API reference.

TicketTypeSet

A module to set the type of a ticket.

Process Management Module TicketTypeSet

Process Management Module TicketTypeSet

Configuration parameters section

Here can be set the type of a ticket.

Examples:

Key Value
Type Default
TypeID 1

See also

See the TicketTypeSet and the TicketTypeSet() API reference.

Example process

Processes are more complex than other resources in OTRS. To create a process, you need to do several steps. The following chapters shows you, how to define a process from the specification and create the needed resources. Let’s see an example to make it more demonstrative. We will define a book order process.

Process Specification

The book order process has four states.

Recording the demand

Before an order will be placed, the demand for literature by an employee will be recorded. The following book is needed in our example:

Title: Prozessmanagement für Dummies
Autor: Thilo Knuppertz
ISBN: 3527703713
Approval by manager
The head of the employee’s department needs to decide on the order. In case of a denial, a reason should be recorded by the manager. In case of approval, the order is passed to the purchasing department.
Processing by purchasing department
Purchasing now has the task to find out where the book can be ordered with the best conditions. If it is out of stock, this can be recorded in the order. In case of a successful order purchasing will record the supplier, the price and the delivery date.
Processing by the mail room
The shipment will arrive at the company. The incoming goods department checks the shipment and records the date of receipt. Now the employee will be informed that their order has arrived and is ready to be collected.

Introduce The Process Elements

If we assume that a ticket acts in this workflow like an accompanying document that can receive change notes, we already have a clear picture of process tickets.

From the analysis of the example process we can identify the following necessary items:

  • Possibility to record data, let’s call this user task activity dialog.
  • Check which can react to changed data automatically, let’s call this sequence flow.
  • Change which can be applied to a process ticket after successful transitions of a process ticket, let’s call this sequence flow action.
  • A possibility to offer more than just one user task activity dialog to be available. In our example this is needed when the manager must have the choice between Approve and Deny. Let’s call this activity.

Now, with activities, user task activity dialogs, sequence flows and sequence flow actions we have the necessary tools to model the individual steps of our example. What is still missing is an area where for each workflow the order of the steps can be specified. Let’s call this process.

Create Necessary Resources

Before the creation of the process and its parts is necessary to prepare the system. We need to define some Queues, Agents and Dynamic Fields as well as set some System Configuration settings.

Create the following Queues:

  • Management
  • Employees
  • Purchasing
  • Post office

Create the following Agents:

  • Manager
  • Employee

Create the following Dynamic Fields:

Object Type Name Label Possible values
Ticket Text Title Title  
Ticket Text Author Author  
Ticket Text ISBN ISBN  
Ticket Dropdown Status Status
  • Approval
  • Approval denied
  • Approved
  • Order denied
  • Order placed
  • Shipment received
Ticket Text Supplier Supplier  
Ticket Text Price Price  
Ticket Date DeliveryDate Delivery date  
Ticket Date DateOfReceipt Date of receipt  

Set the following System Configuration settings:

Note

Don’t forget to deploy the modified system configuration settings.

Now, go back to the Process Management screen and click on the Create New Process. Fill in the required fields.

Book Ordering - Create New Process

Book Ordering - Create New Process

The new process is created. You can add some process element now.

Create User Task Activity Dialogs

Click on the User Task Activity Dialogs item in the Available Process Elements widget in the left sidebar. This action will expand the User Task Activity Dialogs options and will collapse all others doing an accordion like effect. Click on the Create New User Task Activity Dialog button.

Book Ordering - User Task Activity Dialogs

Book Ordering - User Task Activity Dialogs

In the opened popup screen fill in the Dialog Name as well as the Description (short) fields. For this example we will leave all other fields as the default.

Book Ordering - Add User Task Activity Dialog

Book Ordering - Add User Task Activity Dialog

To assign fields to the user task activity dialog simple drag the required field from the Available Fields pool and drop into the Assigned Fields pool. The order in the Assigned Fields pool is the order as the fields will have in the screen. To modify the order simply drag and drop the field within the pool to rearrange it in the correct place.

In this example we will use:

  • Article field for comments.
  • DynamicField_Title, DynamicField_Author, DynamicField_ISBN fields for the data to be collected for the order.
  • DynamicField_Status with the possibility to choose Approval.

Drag these fields from the Available Fields pool and drop into the Assigned Fields pool.

Note

In this screen all dynamic fields has the prefix DynamicField_ as in DynamicField_Title. Do not confuse with the field Title that is the ticket title.

Book Ordering - Add User Task Activity Dialog Fields

Book Ordering - Add User Task Activity Dialog Fields

As soon as the fields are dropped into the Assigned Fields pool another popup screen is shown with some details about the field. We will leave the default options and only for Article fields we should make sure that the Communication Channel field is set to OTRS and that the Is visible for customer is not checked.

Book Ordering - Edit User Task Activity Dialog Fields

Book Ordering - Edit User Task Activity Dialog Fields

After all fields are filled in, click on the Save and finish button to save the changes and go back to the project management screen.

Create the following user task activity dialogs with fields:

  • Recording the demand (already created before)

    • Article field for comments.
    • DynamicField_Title, DynamicField_Author, DynamicField_ISBN fields for the data to be collected for the order.
    • DynamicField_Status with the possibility to choose Approval.
  • Approval denied

    • Article field for comments.
    • DynamicField_Status with the possibility to choose Approval denied.
  • Approved

    • DynamicField_Status with the possibility to choose Approved.
  • Order denied

    • Article field for comments.
    • DynamicField_Status with the possibility to choose Order denied.
  • Order placed

    • DynamicField_Supplier, DynamicField_Price, DynamicField_DeliveryDate fields for purchasing.
    • DynamicField_Status with the possibility to choose Order placed.
  • Shipment received

    • DynamicField_DateOfReceipt for the mail room.
    • DynamicField_Status with the possibility to choose Shipment received.

Create Sequence Flows

Click on the Sequence Flows item in the Available Process Elements widget in the left sidebar. This action will expand the Sequence Flows options and will collapse all others doing an accordion like effect. Click on the Create New Sequence Flow button.

Book Ordering - Sequence Flows

Book Ordering - Sequence Flows

In the opened popup screen fill in the Sequence Flow Name. For this example in the Condition Expressions we will use just one condition expression and just one field. For both we can leave the Type of Linking as and and we will use the filed match type value as String.

Book Ordering - Add Sequence Flow

Book Ordering - Add Sequence Flow

After all fields are filled in, click on the Save and finish button to save the changes and go back to the project management screen.

Create the following sequence flows:

  • Approval (already created before)

    Check if the DynamicField_Status is set to Approval.

  • Approval denied

    Check if the DynamicField_Status field is set to Approval denied.

  • Approved

    Check if the DynamicField_Status field is set to Approved.

  • Order denied

    Check if the DynamicField_Status field is set to Order denied.

  • Order placed

    Check if the DynamicField_Status field is set to Order placed.

  • Shipment received

    Check if the DynamicField_Status field is set to Shipment received.

Create Sequence Flow Actions

Click on the Sequence Flow Actions item in the Available Process Elements widget in the left sidebar. This action will expand the Sequence Flow Actions options and will collapse all others doing an accordion like effect. Click on the Create New Sequence Flow Action button.

Book Ordering - Sequence Flow Actions

Book Ordering - Sequence Flow Actions

In the opened popup screen fill in the Sequence Flow Action Name and the Sequence Flow Action module then click on the Save button. A new Configure button will appear next to the module field.

Book Ordering - Add Sequence Flow Action

Book Ordering - Add Sequence Flow Action

Click on the Configure button and add the needed configuration parameter keys and values.

See also

Each module has its own and different parameters. Please refer to the Process Modules section to learn all required and optional parameters.

Book Ordering - Sequence Flow Action Parameters

Book Ordering - Sequence Flow Action Parameters

After all fields are filled in, click on the Save and finish button to save the changes and go back to the project management screen.

Create the following sequence flow actions:

  • Move the process ticket into the “Management” queue (already created before)

    To be executed when the sequence flow Approval applied.

  • Change ticket responsible to “Manager”

    To be executed when the sequence flow Approval applied.

  • Move process ticket into the “Employees” queue

    To be executed when:

    • The sequence flow Approval denied applied.
    • The sequence flow Order denied applied.
    • The sequence flow Shipment received applied.
  • Change ticket responsible to “Employee”

    To be executed when:

    • The sequence flow Approval denied applied.
    • The sequence flow Order denied applied.
    • The sequence flow Shipment received applied.
  • Move process ticket into the “Purchasing” queue

    To be executed when the sequence flow Approved applied.

  • Move process ticket into the “Post office” queue

    To be executed when the sequence flow Order placed applied.

  • Close ticket successfully

    To be executed when the sequence flow Shipment received applied.

  • Close ticket unsuccessfully

    To be executed when:

    • The sequence flow Approval denied applied.
    • The sequence flow Order denied applied.

There are places where the same sequence flow actions should be executed. Therefore it is reasonable to make it possible to link sequence flow actions freely with sequence flows to be able to reuse them.

Create Activities

Click on the Activities item in the Available Process Elements widget in the left sidebar. This action will expand the Activities options and will collapse all others doing an accordion like effect. Click on the Create New Activity button.

Book Ordering - Activities

Book Ordering - Activities

In the opened popup screen fill in the Activity name field and select User task activity from the Activity type drop-down.

Book Ordering - Add Activity

Book Ordering - Add Activity

To assign dialogs to the activity simple drag the required dialogs from the Available User Task Activity Dialogs pool and drop into the Assigned User Task Activity Dialogs pool. The order in the Assigned User Task Activity Dialogs pool is the order as the dialogs will be presented in the Ticket Zoom screen. To modify the order simply drag and drop the dialog within the pool to rearrange it in the correct place.

Note

This order is specially important in the first activity, since the first user task activity dialog for this activity is the only one that is presented when the process starts.

In this example we need to assign only the Recording the demand user task activity dialog. Drag this dialog from the Available User Task Activity Dialogs pool and drop into the Assigned User Task Activity Dialogs pool.

Book Ordering - Assign User Task Activity Dialog

Book Ordering - Assign User Task Activity Dialog

After all fields are filled in, click on the Save and finish button to save the changes and go back to the project management screen.

Create the following activities:

  • Recording the demand (already created before)

    Assign the user task activity dialog Recording the demand.

  • Approval

    Assign the user task activity dialogs Approval denied and Approved.

  • Order

    Assign the user task activity dialogs Order denied and Order placed.

  • Incoming

    Assign the user task activity dialog Shipment received.

  • Process complete

    This is an activity without possible user task activity dialogs. It will be set after Approval denied, Order denied or Shipment received and represents the end of the process.

Now we can clearly see that activities are precisely defined states of a process ticket. After a successful sequence flow a process ticket moves from one activity to another.

Create Process Path

Let us conclude our example with the last missing piece in the puzzle, the process as the a flow describer. In our case this is the whole ordering workflow. Other processes could be office supply ordering or completely different processes.

The process has a starting point which consists of the start activity and the start user task activity dialog. For any new book order, the first user task activity dialog of the first activity is the first screen that is displayed. If this is completed and saved, the process ticket will be created and can follow the configured workflow.

The process also contains the directions for how the process ticket can move through the process. Let’s call this process path. It consists of the start activity, one or more sequence flows (possibly with sequence flow actions) and other activities.

Assuming that the activities has already assigned their user task activity dialogs, drag an activity from the accordion in the Available Process Elements widget in the left sidebar and drop it into the canvas area below the process information. Notice that an arrow from the process start (white circle) to the activity is placed automatically. This is the first activity and its first user task activity dialog is the first screen that will be shown when the process starts.

Book Ordering - First Activity On Canvas

Book Ordering - First Activity On Canvas

Next, drag another activity into the canvas too. Now we will have two activities in the canvas. The first one is connected to the start point and the second has no connections. You can hover the mouse over each activity to reveal their own activity dialogs.

Book Ordering - Second Activity On Canvas

Book Ordering - Second Activity On Canvas

Then let’s create the process path (connection) between this two activities. For this we will use the sequence flows. Click on sequence flow in the accordion, drag a sequence flow and drop it inside the first activity. As soon as the sequence flow is dropped the end point of the sequence flow arrow will be placed next to the process start point. Drag the sequence flow arrow end point and drop it inside the other activity to create the connection between the activities.

Book Ordering - First Sequence Flow On Canvas

Book Ordering - First Sequence Flow On Canvas

Now that the process path between the actions is defined, then we need to assign the sequence flow actions to the sequence flow. Double click the sequence flow label in the canvas to open a new popup window.

Book Ordering - Assign First Sequence Flow Action

Book Ordering - Assign First Sequence Flow Action

After the sequence flow actions are assigned, click on the Save button to go back to the main process edit screen. Click on Save button below the canvas to save all other changes.

Complete the process path by adding the following activities, sequence flows and sequence flow actions:

  • Recording the demand (already created before)

    Possible sequence flow: Approval

    Starting activity: Recording the demand

    Next activity: Approval

    If the condition of this activity is fulfilled, the ticket will move to activity Approval.

    Additionally, the following sequence flow actions are executed:

    • Move the process ticket into the “Management” queue
    • Change ticket responsible to “Manager”

    The activity Recording the demand is a defined step of the process ticket, where there is the possibility for the sequence flow Approval. If this applies, the ticket will move to the next activity Approval, and the sequence flow actions Move the process ticket into the “Management” queue and Change ticket responsible to “Manager” are executed. In the activity Approval, the user task activity dialogs Approval denied and Approved are available.

  • Approval

    Possible sequence flow: Approval denied

    Starting activity: Approval

    Next activity: Process complete

    If this matches, the process ticket will move to activity Process complete.

    Additionally, the following sequence flow actions are executed:

    • Move process ticket into the “Employees” queue
    • Change ticket responsible to “Employee”
    • Close ticket unsuccessfully

    Possible sequence flow: Approved

    Starting activity: Approval

    Next activity: Order

    If this matches, the process ticket will move to activity Order.

    Additionally, the following sequence flow actions are executed:

    • Move process ticket into the “Purchasing” queue

    We can see that from the current activity, which defines a step of the process ticket, there are one or more possibilities for sequence flow which have exactly one target activity (and possibly one or more sequence flow actions).

  • Order

    Possible sequence flow: Order denied

    Starting activity: Order

    Next activity: Process complete

    If this matches, the process ticket will move to activity Process complete.

    Additionally, the following sequence flow actions are executed:

    • Move process ticket into the “Employees” queue
    • Change ticket responsible to “Employee”
    • Close ticket unsuccessfully

    Possible sequence flow: Order placed

    Starting activity: Order

    Next activity: Incoming

    If this matches, the process ticket will move to activity Incoming.

    Additionally, the following sequence flow actions are executed:

    • Move process ticket into the “Post office” queue
  • Incoming

    Possible sequence flow: Shipment received

    Starting activity: Incoming

    Next activity: Process complete

    If this matches, the process ticket will move to activity Process complete.

    Additionally, the following sequence flow actions are executed:

    • Move process ticket into the “Employees” queue
    • Change ticket responsible to “Employee”
    • Close ticket successfully

The complete process path for the book ordering process will then look like this:

Book Ordering - Process Complete

Book Ordering - Process Complete

After you finish the process path, click on Save and finish button below the canvas to go back to the process management screen.

Click on the Deploy All Processes button in the left sidebar. This will gather all processes information form the database and create a cache file (in Perl language). This cache file is actually the processes configuration that the system will use to create or use process tickets.

Note

Any change that is made on the process will require to re-deploy the process in order to get the change reflected in the system.

Create Access Control Lists

With the help of Access Control Lists (ACL), the selectable values in process tickets can be limited. Some ACLs have to be defined for the book ordering process to operate correctly.

In this section, all necessary ACLs are defined. Each ACL is added here in YAML format, so you can copy them, save them as separate .yml files and import them in the ACL management screen.

Warning

The exported ACLs contain the activity dialog IDs from the system, where they were exported from. Do not forget to change the IDs based on your process. Otherwise the ACLs will not work.

See also

Use the Show EntityIDs link in the header of the process canvas to see the entity IDs. For the activity dialogs, hover the mouse over the name in the list of activity dialogs in the left sidebar to see the ID.

001-ACL-BookOrderingStatus

This ACL enables only the Approval value for the Status dynamic field in the Recording the demand activity dialog.

---
- ChangeBy: root@localhost
  ChangeTime: 2020-04-18 15:46:16
  Comment: Approval
  ConfigChange:
    Possible:
      Ticket:
        DynamicField_Status:
        - Approval
  ConfigMatch:
    Properties:
      Process:
        ActivityDialogEntityID:
        - ActivityDialog-bfa31751ee47f8d8ec3a15e4cf1de732
  CreateBy: root@localhost
  CreateTime: 2020-04-18 15:42:06
  Description: ''
  ID: 1
  Name: 001-ACL-BookOrderingStatus
  StopAfterMatch: 0
  ValidID: 1
002-ACL-BookOrderingStatus

This ACL enables only the Approval denied value for the Status dynamic field in the Approval denied activity dialog.

---
- ChangeBy: root@localhost
  ChangeTime: 2020-04-18 15:46:08
  Comment: Approval denied
  ConfigChange:
    Possible:
      Ticket:
        DynamicField_Status:
        - Approval denied
  ConfigMatch:
    Properties:
      Process:
        ActivityDialogEntityID:
        - ActivityDialog-1ce810fd3668ce799f25cf968b139427
  CreateBy: root@localhost
  CreateTime: 2020-04-18 15:44:21
  Description: ''
  ID: 2
  Name: 002-ACL-BookOrderingStatus
  StopAfterMatch: 0
  ValidID: 1
003-ACL-BookOrderingStatus

This ACL enables only the Approved value for the Status dynamic field in the Approved activity dialog.

---
- ChangeBy: root@localhost
  ChangeTime: 2020-04-18 15:47:04
  Comment: Approved
  ConfigChange:
    Possible:
      Ticket:
        DynamicField_Status:
        - Approved
  ConfigMatch:
    Properties:
      Process:
        ActivityDialogEntityID:
        - ActivityDialog-96b8e0d7f8a0e69e170f7871cbb83e15
  CreateBy: root@localhost
  CreateTime: 2020-04-18 15:46:22
  Description: ''
  ID: 3
  Name: 003-ACL-BookOrderingStatus
  StopAfterMatch: 0
  ValidID: 1
004-ACL-BookOrderingStatus

This ACL enables only the Order denied value for the Status dynamic field in the Order denied activity dialog.

---
- ChangeBy: root@localhost
  ChangeTime: 2020-04-18 15:48:07
  Comment: Order denied
  ConfigChange:
    Possible:
      Ticket:
        DynamicField_Status:
        - Order denied
  ConfigMatch:
    Properties:
      Process:
        ActivityDialogEntityID:
        - ActivityDialog-5b60db9960a9cd488f448e3308cc8b4f
  CreateBy: root@localhost
  CreateTime: 2020-04-18 15:47:07
  Description: ''
  ID: 4
  Name: 004-ACL-BookOrderingStatus
  StopAfterMatch: 0
  ValidID: 1
005-ACL-BookOrderingStatus

This ACL enables only the Order placed value for the Status dynamic field in the Order placed activity dialog.

---
- ChangeBy: root@localhost
  ChangeTime: 2020-04-18 15:48:51
  Comment: Order placed
  ConfigChange:
    Possible:
      Ticket:
        DynamicField_Status:
        - Order placed
  ConfigMatch:
    Properties:
      Process:
        ActivityDialogEntityID:
        - ActivityDialog-a756ccae6ae83f356faa8333549a87f0
  CreateBy: root@localhost
  CreateTime: 2020-04-18 15:48:13
  Description: ''
  ID: 5
  Name: 005-ACL-BookOrderingStatus
  StopAfterMatch: 0
  ValidID: 1
006-ACL-BookOrderingStatus

This ACL enables only the Shipment received value for the Status dynamic field in the Shipment received activity dialog.

---
- ChangeBy: root@localhost
  ChangeTime: 2020-04-18 15:49:41
  Comment: Shipment received
  ConfigChange:
    Possible:
      Ticket:
        DynamicField_Status:
        - Shipment received
  ConfigMatch:
    Properties:
      Process:
        ActivityDialogEntityID:
        - ActivityDialog-885f547d9a0e07aa6e2703af59ec08ae
  CreateBy: root@localhost
  CreateTime: 2020-04-18 15:48:57
  Description: ''
  ID: 6
  Name: 006-ACL-BookOrderingStatus
  StopAfterMatch: 0
  ValidID: 1

Note

Don’t forget to deploy the imported ACLs.

Create Process Ticket

The book ordering process is ready to use. Go to the New Process Ticket screen in the agent interface, and find the book ordering process.