For service organizations that use the OTRS helpdesk software in different departments or that have to respond to many different types of customer requests, this feature is a definite must-have. With it you can display different ticket masks and forms in the agent and external interfaces, depending on which dynamic fields are relevant to the customer request. Moreover, the ticket creation process is faster as headlines and message body fields are pre-filled with the necessary information. You can define required fields for forms as well as display pre-filled fields, such as ticket types and services, in the external interface based on the customer group settings. You can also pre-fill ticket masks by adding attachments, using Rich Text format, or using the OTRS smart tags <OTRS_CONFIG_*>
and <OTRS_CURRENT_*>
in the template body.
With this feature the following screens can be configured:
-
Agent interface
-
New phone ticket
-
New email ticket
-
-
External interface
-
New ticket
-
In addition, the Hide/Show Dynamic Fields feature enables you to define which dynamic fields you want to display in your ticket forms and which ones you want to hide. This gives you more freedom to configure all ticket screens to your specific needs.
The Dynamic Ticket Templates feature uses the extension to the ACLs mechanism to create ticket templates based on the selected ticket type and service. These templates include a predefined ticket body, title, attachments and full dynamic fields visibility configuration.
For this example we will use the same fields as in the example of Hide/Show Dynamic Fields, but is necessary to comment or remove the ACLs.
Note
While the dynamic ticket templates can work in conjunction with other ACL rules, it is recommended to test the templates without other affecting ACLs, and after the templates work as needed, incorporate other ACLs one by one.
To show the full functionalities of the dynamic ticket templates we can simply remove all dynamic fields from the New Phone Ticket screen by resetting the system configuration setting Forms###AgentFrontend::TicketCreate::Phone::CreateProperties
to the default value, or disable the specific dynamic fields in the YAML configuration of this form:
- Label: Dynamic Fields
Collapsible: 1
Fields:
- Name: DynamicField_Brand
Inactive: 1
- Name: DynamicField_VWModel
Inactive: 1
- Name: DynamicField_VWProductionFacility
Inactive: 1
- Name: DynamicField_PeugeotModel
Inactive: 1
- Name: DynamicField_PeugeotProductionFacility
Inactive: 1
- Name: DynamicField_Fuel
Inactive: 1
- Name: DynamicField_Accessories
Inactive: 1
- Name: DynamicField_Remarks
Inactive: 1
- Name: DynamicField_RegistrationDate
Inactive: 1
- Name: DynamicField_InvoiceDate
Inactive: 1
To define a dynamic ticket template it is necessary to specify a ticket type and a service. If these features are not activated by default, please follow the next steps before start using this feature.
To activate ticket type and service features:
-
Go to the System Configuration screen.
-
Search for the setting
Ticket::Service
and enable it. -
Search for the setting
Ticket::Type
and enable it.
To activate ticket type and service features for the external interface:
-
Go to the System Configuration screen.
-
Search for the setting
ExternalFrontend::TicketCreate###Service
and enable it. -
Search for the setting
ExternalFrontend::TicketCreate###TicketType
and enable it.
Create the following services:
-
Peugeot Service
-
VW Service
All services should be available for the customer user who will use this feature, or marked as default services.
The goals of this example are the follows:
-
If the selected service is VW Service and the selected dynamic ticket template is VW Template 1, the ticket form should look like:
Subject
VW Service Request 1
Body
-
Oil Change
-
Oil Filter Change
-
Air Filter Change
-
Fluids Check
Dynamic Fields
-
VWModel
: visible and required -
VWProductionFacility
: visible
-
-
If the selected service is VW Service and the selected dynamic ticket template is VW Template 2, the ticket form should look like:
Subject
VW Service Request 2
Body
The selected accessory reports the
following issues:Dynamic Fields
-
VWModel
: visible -
Accessories
: visible and required -
Remarks
: visible -
RegistationDate
: visible -
InvoiceDate
: visible
-
-
If the selected service is Peugeot Service, the ticket form should look like:
Subject
Peugeot Service Request
Body
The car computer reports the following issues:
Dynamic Fields
-
PeugeotModel
: visible -
PeugeotProductionFacility
: visible -
Fuel
: visible
-
To create a dynamic ticket template:
-
Go to the System Configuration screen.
-
Search for the setting
Ticket::DynamicTicketTemplate
and enable it. -
Go to the Dynamic Ticket Templates screen.
-
Click on the Add template button in the left sidebar.
-
Fill in the required fields.
-
Click on the Save button.
If you have added other dynamic fields by your own, the template form will show more fields than the ones explained in this examples. There is nothing to worry about, just leave all other dynamic fields as Hide while you create the new templates.
There are special dynamic fields from other packages that are not displayed in the template form. These special fields have a determined behavior and they should be always hidden, always shown or their visibility depends on other configurations, so they can not be part of the template definition. Also any dynamic field marked as Internal will not be displayed in the template form.
See also
A quick way to know if a dynamic field is Internal is to look at dynamic fields in the overview table of the Dynamic Fields Management screen. Internal dynamic fields can not be deleted, and they does not have a icon in the Delete column.
Create the VW Template 1 dynamic ticket template with the following data:
Field name |
Value |
---|---|
Name |
|
Comment |
VW Template 1 |
Valid |
valid |
Frontend |
Agent and External Interface |
Type |
Unclassified |
Service |
VW Service |
Subject |
VW Service Request 1 |
Body |
|
Attachments |
|
|
Hide |
|
Show as mandatory |
|
Show |
|
Hide |
|
Hide |
|
Hide |
|
Hide |
|
Hide |
|
Hide |
|
Hide |
Create the VW Template 2 dynamic ticket template with the following data:
Field name |
Value |
---|---|
Name |
|
Comment |
VW Template 2 |
Valid |
valid |
Frontend |
Agent and External Interface |
Type |
Unclassified |
Service |
VW Service |
Subject |
VW Service Request 2 |
Body |
The selected accessory |
Attachments |
|
|
Hide |
|
Show |
|
Hide |
|
Hide |
|
Hide |
|
Hide |
|
Show as mandatory |
|
Show |
|
Show |
|
Show |
Create the Peugeot Template dynamic ticket template with the following data:
Field name |
Value |
---|---|
Name |
|
Comment |
Peugeot Template |
Valid |
valid |
Frontend |
Agent and External Interface |
Type |
Unclassified |
Service |
Peugeot Service |
Subject |
Peugeot Service Request |
Body |
The car computer reports the |
Attachments |
|
|
Hide |
|
Hide |
|
Hide |
|
Show |
|
Show |
|
Show |
|
Hide |
|
Show |
|
Show |
|
Show |
Once there are one or more templates activated in the system, you can use them.
Note
ACL restrictions will be ignored for the superuser account (UserID 1).
To activate a dynamic ticket template:
-
Click on the Take Phone Call menu item of the Action menu in the header bar.
There is a new field called Dynamic Ticket Template. By default it is empty and it will be filled automatically when you select the appropriate combination of ticket type and service.
-
Fill the form with the following data:
-
Type: Unclassified
-
Customer user: Customer 1
-
Queue: Misc
-
Service: VW Service
-
-
The Dynamic Ticket Template field will be automatically populated with VW Template 1 and VW Template 2.
-
Select each template and match the resulting New Phone Ticket form with the expected results.
-
Now change the selected service to Peugeot Service. As there is only one template defined for this combination of ticket type and service, the template will be automatically selected for you.
-
Compare the resulting New Phone Ticket form with the expected results.
This complete example can be tested also New Email Ticket or external New Ticket screen without changing anything.
The template definition is independent from the screen and once a template is defined, it can be used on any ticket creation screen, but please review the dynamic field configuration on each screen for the default fields configuration when a template is not selected.
Dynamic Ticket Templates Customer Groups
For this example we will use the Peugeot Template defined in the example above.
The goal to have a pre-filled form to create a new ticket in external interface.
To configure a customer group:
-
Go to the System Configuration screen.
-
Search for the setting
CustomerGroupSupport
and enable it. -
Search for the setting
Ticket::DynamicTicketTemplate::CustomerGroup
and enable it. -
Go to the Groups screen.
-
Create the group Peugeot Customer.
-
Go to the Customers ↔ Groups screen.
-
Assign Customer 1 customer to the Peugeot Customer group.
-
Go to the Dynamic Ticket Templates ↔ Groups screen.
-
Assign the Peugeot Customer group to the Peugeot Template template.
-
Login in the external interface as customer user of Customer 1 and create a new ticket.
-
Compare the pre-filled new ticket form with the expected results. Also notice that the ticket type is pre-selected as default and service is also pre-selected as Peugeot Service.
You can also set the optional settings, but for this example we will not use these optional settings, so you can leave it as default.
See also
If no template is assigned to a group and the notification is enabled, such notification can be customized by adding different recipients or updating the notification body. To do this, edit the Missing DTT assignment for CustomerGroup notification in the Ticket Notifications screen of the administrator interface.
- Missing DTT assignment for CustomerGroup
-
If no template is assigned to a group and the notification is enabled, such notification can be customized by adding different recipients or updating the notification body.
To configure the optional settings for the notification:
-
Go to the System Configuration screen.
-
Search for the setting
Ticket::DynamicTicketTemplate::CustomerGroup::Notify
and enable it to send a notification if a customer does not use a template to create a ticket. -
Add agent login names to
Ticket::DynamicTicketTemplate::CustomerGroup::NotifyAgents
setting. The agent list in this setting will receive the notification when a user creates a ticket without using a template.