This feature adds support to define a primary ticket and some secondary tickets that follow their primary ticket updates:
-
Replies (sent new articles as email)
-
Notes (any new article)
-
State changes (including pending time set)
-
Priority changes
-
Owner changes
-
Responsible changes
-
Lock status changes
The primary/secondary relations are very flexible. It is possible to create new primary ticket, remove the primary or the secondary status or assign a ticket as the secondary ticket of another ticket.
Note
This feature has been renamed. The former name was Master / Slave until OTRS 7.
Activate the Primary / Secondary Feature
There is a PrimarySecondary
dynamic field of type Primary / Secondary where the primary/secondary information is stored. This dynamic field is set as invalid by default. To activate the primary/secondary feature, the dynamic field has to be set as valid. The creation of more fields of this type is not possible.
The Primary / Secondary dynamic field is added to the ticket create screens. This makes it possible to set the primary or the secondary status of a ticket at ticket creation time.
To remove the Primary / Secondary dynamic field from the ticket create screens:
-
Go to the System Configuration screen.
-
Search for the setting
Forms###AgentFrontend::TicketCreate::Phone::CreateProperties
. -
Change the related form setting to remove the dynamic field from the screen. Since this dynamic field is a special dynamic field, the name is not
DynamicField_PrimarySecondary
, but it is justPrimarySecondary
. Example:- Name: PrimarySecondary
Same applies for the process management. The field which needs to be added to a user task activity dialog is called PrimarySecondary
, not DynamicField_PrimarySecondary
.
Exception for Closing Parent Ticket
The Ticket::Acl::Module###1-Ticket::Acl::Module
is not compatible to use with this feature by default. To allow closing parent tickets only if all its children are already closed, an additional ACL has to be added which makes an exception for primary/secondary tickets.
Here is an example ACL for this exception:
---
- ChangeBy: root@localhost
ChangeTime: 2021-09-07 13:45:58
Comment: Exception for primary/secondary tickets.
ConfigChange:
PossibleAdd:
Endpoint:
- AgentFrontend::Ticket::Action::Close
Ticket:
State:
- '[regexp]close'
ConfigMatch:
PropertiesDatabase:
DynamicField:
DynamicField_PrimarySecondary:
- Primary
CreateBy: root@localhost
CreateTime: 2019-05-24 11:45:29
Description: 'This ACL allows using the Primary/Secondary feature together with the “Ticket::Acl::Module###1-Ticket::Acl::Module” setting.'
ID: 1
Name: Primary/Secondary Exception
StopAfterMatch: 0
ValidID: 1
ACL Reference for Primary / Secondary
This feature adds endpoints that can be used in ACLs. The following reference lists all endpoints added by this feature and extends the existing ACL Reference with the new entries only.
---
- ChangeBy: root@localhost
ChangeTime: 2021-09-13 13:51:29
Comment: ACL Reference for Primary/Secondary.
ConfigMatch:
Properties:
DynamicField:
DynamicField_PrimarySecondary:
- Primary
- SecondaryOf:TICKET_NUMBER (where TICKET_NUMBER is a primary ticket number)
Frontend:
Endpoint:
- AgentFrontend::Ticket::Action::AddSecondaries
- AgentFrontend::Ticket::Action::EmailToSecondaries
- AgentFrontend::Ticket::Action::MoveToPrimary
- AgentFrontend::Ticket::Action::NoteToSecondaries
- AgentFrontend::Ticket::Action::SetOnlyToPrimary
- AgentFrontend::Ticket::Action::SetToPrimary
- AgentFrontend::Ticket::Action::SetToSecondary
- AgentFrontend::Ticket::Action::SmsToSecondaries
- AgentFrontend::Ticket::Action::UnsetPrimary
- AgentFrontend::Ticket::Action::UnsetSecondary
- AgentFrontend::Ticket::Action::UpdateSecondaries
PropertiesDatabase:
# Match properties (existing values from the database).
# Please note that Frontend is not in the database, but in the framework.
# See section "Properties", the same configuration can be used here.
ConfigChange:
Possible:
# Reset possible options (white list).
Endpoint:
# Limit the functions on agent interface.
- AgentFrontend::Ticket::Action::AddSecondaries
- AgentFrontend::Ticket::Action::EmailToSecondaries
- AgentFrontend::Ticket::Action::MoveToPrimary
- AgentFrontend::Ticket::Action::NoteToSecondaries
- AgentFrontend::Ticket::Action::SetOnlyToPrimary
- AgentFrontend::Ticket::Action::SetToPrimary
- AgentFrontend::Ticket::Action::SetToSecondary
- AgentFrontend::Ticket::Action::SmsToSecondaries
- AgentFrontend::Ticket::Action::UnsetPrimary
- AgentFrontend::Ticket::Action::UnsetSecondary
- AgentFrontend::Ticket::Action::UpdateSecondaries
Ticket:
# Possible ticket options (white list).
DynamicField_PrimarySecondary:
- Primary
- SecondaryOf:TICKET_NUMBER (where TICKET_NUMBER is a primary ticket number)
PossibleAdd:
# Add options (white list).
# See section "Possible", the same configuration can be used here.
PossibleNot:
# Remove options (black list).
# See section "Possible", the same configuration can be used here.
CreateBy: root@localhost
CreateTime: 2021-09-13 13:51:29
Description: This reference lists the possible endpoints added by Primary/Secondary.
ID: 1
Name: 201-ACL-Reference
StopAfterMatch: 0
ValidID: 3
Usage of Primary / Secondary
This feature adds new actions to the ticket detail view to set and change the primary/secondary status and to update the secondary tickets. Bulk actions are available to do the same in ticket lists.
Note
The ticket handling with Primary / Secondary has significantly changed in comparison to Master / Slave. The major changes are:
-
Changed: Normal ticket updates will not be applied to secondary tickets. The agent have to use the primary/secondary ticket actions to replicate the actions done in a primary ticket.
-
New: Beside replications now the agent can add information and/or messages to the secondary tickets only without adding the information or messages to the primary ticket.
-
New: Added bulk actions.
-
New: Filter for primary/secondary tickets in any ticket list.
Create Primary / Secondary Relation
To create a primary ticket:
-
Go to the ticket detail view.
-
Select the Set to Primary or the Set Only to Primary action in the Actions menu.
-
Click on the Set button.
The Set to Primary action makes it possible to set secondary tickets at the same time as well as to add a message if needed. If the Properties section is configured, additional information can be added.
Using the Set Only to Primary action sets the ticket as primary immediately without confirmation. In this case, secondary tickets can be added later.
To create a secondary ticket:
-
Go to the ticket detail view.
-
Select the Set to Secondary action in the Actions menu.
-
Select a primary ticket from the list and add a message if needed.
-
Click on the Set button.
It is possible to move a primary ticket as secondary ticket to a different primary ticket. In this case the old secondary tickets of the primary ticket will be unset.
To move a secondary ticket to a different primary ticket:
-
Go to the ticket detail view of the secondary ticket.
-
Select the Move to Different Primary action in the Actions menu.
-
Select another primary ticket and add a message if needed.
-
Click on the Move button.
To unset a primary ticket:
-
Go to the ticket detail view of the primary ticket.
-
Select the Unset Primary action in the Actions menu.
-
Click on the Unset button.
With this ticket action the primary ticket can be set to a normal ticket which is no primary or secondary any more.
With the checkbox Keep secondary tickets as linked tickets it can be controlled that the link between the unset primary ticket and its secondary ticket shall be kept or not.
If message has been added or if some properties are changed via the configured Properties section it can be controlled whether the message shall be replicated to the old primary ticket and/or to the secondary tickets. The first behavior can be set with the checkbox Update old primary while the latter can be set with the checkbox Update secondaries.
There is a Replace Primary and Move Secondaries button which makes possible to move the secondary tickets to an other primary ticket. Without this, the secondary status of the secondary tickets will be also unset.
To unset a secondary ticket:
-
Go to the ticket detail view of the secondary ticket.
-
Select the Unset Secondary action in the Actions menu.
-
Click on the Unset button.
If the Keep primary ticket as linked ticket checkbox is checked, only the secondary status of the ticket will be removed and the existing link to the primary ticket will be kept.
The primary/secondary relations are based on Primary / Secondary dynamic field using the ParentChild link type.
Update or Replicate Updates to Secondaries
Normal ticket updates will not be applied to secondary tickets. The agent have to use the primary/secondary ticket actions to replicate the actions done in a primary ticket.
For updating secondary tickets or replicating information from the primary ticket to the secondary tickets the following ticket actions are available:
-
Update Secondaries
-
Add Note to Secondaries
-
Send Email to Secondaries
-
Send SMS to Secondaries (if SMS is available in the system)
To update secondary tickets from a primary ticket:
-
Go to the ticket detail view of the primary ticket.
-
Select the Update Secondaries action in the Actions menu.
-
Change the priority to 1 very low and add a message.
-
Check the Update primary ticket checkbox.
-
Go to the ticket detail view of the secondary ticket.
-
The priority of the secondary ticket has been also changed to 1 very low and the same article has been added to this ticket as the primary ticket has.
For this example the priority of the primary ticket has been changed, but there are other activities that can be done instead to test this behavior, like change the state, the owner, the responsible, the lock status, reply the ticket, add a note or close the ticket.
When a new article is created on the primary ticket, the secondary tickets replicate the article using the own customer user.
When updating the secondary tickets, the agents can decide if they want to update the primary ticket as well. There is a checkbox in each update action of the secondary ticket to control this behavior.
Primary / Secondary Bulk Actions
A new primary/secondary icon has been added to the breadcrumb bar of each ticket lists to enable the bulk action. The bulk action screen enables the following actions:
- Add to New Primary
-
To add the selected tickets to a newly created primary ticket.
- Unset Primary
-
To unset the current primary ticket.
- Set to Secondary
-
To assign the selected tickets as secondary ticket of a primary ticket.
- Unset Secondary
-
To unset secondary tickets.
Using this bulk action screen is similar to other bulk actions. The agents have to have proper permission to tickets that are affected by the bulk action.
There are two options that may appear while using bulk actions. Displaying the options depends on the chosen primary/secondary bulk action and on the primary/secondary status.
- Move secondary tickets to new primary
-
If this option is checked, the secondary tickets of the old primary ticket will be moved to the new primary ticket. Without this, the secondary status of the secondary tickets will be unset.
- Keep secondary tickets as linked tickets
-
If this option is checked, the existing links between the tickets will be kept.
Ticket Create Screens
If the Primary / Secondary dynamic field is added to the ticket create screen, the agent can set the primary/secondary status of the new ticket at creation time.

Dashboard Widget
This feature adds a Primary / Secondary widget to the dashboard. The widget lists the primary tickets and the secondary tickets of each primary ticket. The agent can hover the mouse over the number of secondary tickets to display a popup window that lists the secondary tickets.
Using the new widget is the same as the usage of other widgets on the dashboard.