In the example below there is a list of all parameters which can be used for ACLs.
Example 18.5. Reference showing all possible important ACL settings.
# ticket acl $Self->{TicketAcl}->{'200-ACL-Reference'} = { # match properties Properties => { # current action match properties Frontend => { Action => ['AgentTicketPhone', 'AgentTicketEmail'], }, # current queue match properties Queue => { Name => ['Raw'], QueueID => ['some id'], GroupID => ['some id'], Email => ['some email'], RealName => ['OTRS System'], # ... } }, # current user match properties User => { UserLogin => ['some login'], # ... Group_rw => [ 'hotline', ], # ... }, # current customer user match properties CustomerUser => { UserLogin => ['some login'], # ... }, # current service match properties Service => { ServiceID => ['some id'], Name => ['some name'], ParentID => ['some id'], # ... }, # current type match properties Type => { ID => ['some id'], Name => ['some name'], # ... }, # current priority match properties Priority = { ID => ['some id'], Name => ['some name'], # ... }, # current SLA match properties SLA = { SLAID => ['some id'], Name => ['some name'], Calendar => ['some calendar'], # ... }, # current state match properties State = { ID => ['some id'], Name => ['some name'], TypeName => ['some state type name'],, TypeID => ['some state type id'], # ... }, # current ticket owner match properties Owner => { UserLogin => ['some login'], # ... Group_rw => [ 'some group', ], # ... }, # current ticket responsible match properties Responsible => { UserLogin => ['some login'], # ... Group_rw => [ 'some group', ], # ... }, # current dynamic field match properties DynamicField => { # keys must be in DynamicField_<field_name> format DynamicField_Field1 => ['some value'], DynamicField_OtherField => ['some value'], DynamicField_TicketFreeText2 => ['some value'], # ... }, # current ticket match properties Ticket => { Queue => ['Raw'], State => ['new', 'open'], Priority => ['some priority'], Lock => ['lock'], CustomerID => ['some id'], CustomerUserID => ['some id'], Owner => ['some owner'], DynamicField_Field1 => ['some value'], # Must be the untranslated values # specified in the dynamic field # definition and not the IDs DynamicField_MyField => ['some value'], # ... }, }, # return possible options (white list) Possible => { # possible ticket options (white list) Ticket => { Queue => ['Hotline', 'Coordination'], State => ['some state'], Priority => ['5 very high'], DynamicField_Field1 => ['some value'], DynamicField_MyField => ['some value'], # ... NewOwner => ['some owner'], OldOwner => ['some owner'], # ... }, # possible action options (white list) Action => { AgentTicketBounce => 1, AgentTicketClose => 1, AgentTicketCompose => 0, AgentTicketCustomer => 0, AgentTicketForward => 0, AgentTicketFreeText => 1, AgentTicketHistory => 1, AgentTicketLink => 0, AgentTicketLock => 1, AgentTicketMerge => 0, AgentTicketMove => 1, AgentTicketNote => 1, AgentTicketOwner => 1, AgentTicketPending => 1, AgentTicketPhone => 1, # only used to hide the Split action AgentTicketPhoneInbound => 0, AgentTicketPhoneOutbound => 1, AgentTicketPrint => 1, AgentTicketPriority => 0, AgentTicketResponsible => 1, AgentTicketWatcher => 1, AgentTicketZoom => 1, AgentLinkObject => 1, # only used to hide the Link action }, }, # remove options (black list) PossibleNot => { # See section "Possible" # ... }, };