OTRS Customer Portal

This article is the first of two which deals with two aspects of OTRS:

– The Customer Portal

– Creating Custom “Additional ITSM Fields”

This first article records the procedure of creating sample users and customers for the customer portal. The requirement for the customer portal is that “normal” users / customers are only able to see their own tickets through the customer portal. However, teamleads / management customers should be able to see all tickets that have been opened by their department / teams. The first part of this document should serve as a template on how to achieve this objective

The second part of this document deals with how to create custom fields in the “additional ITSM fields” section of the OTRS agent view. This feature allow an OTRS administrator to display fields containing arbitrary information which an agent can select

Part 1 : The OTRS customer portal

Please note that the customer portal URL can be reached at:


All future references to “customer portal” will be referring to the above URL. Customer management is done via the OTRS Admin tab:


1. Create new “company”
Admin > Customer Management > Customer Companies > Add Customer Company

Make special note of the “customer ID”


2. Create a new customer. “customer A”. This customer represents a normal employee, who should be able to see his/her own tickets, but nothing else. Ensure that customer_A shares the same customer ID defined in step 1 above (“CustomerPortalDocumentation” in our example)
Admin > Customer Management > Customers > Add Customer


3. Repeat step 2 as necessary, including the team lead / managers of the department (teamlead_A in our example)

4. Create an appropriate customer group to include the above customers
Admin > Agent Management > Groups > Add Group


After hitting submit for the group name, do not select anything in the next page, just hit “submit” again, as per below screenshot


5. At this stage the group is created. Assign the customers to this group via
Admin > Customer Management > Customers ↔ Groups

On the left hand side, under the “GROUPS” section, click on the group.


6. In the search box, enter the customer ID used in step 1, you should see a list of users making up the department. Give them RW access over the group


7. Important: check under Admin > Queue Settings > Queues and take note of which group the queue these users should see belongs to. For example, in the below screenshot we see the queue “customer_q” belongs to the group “bookies”.


So we ensure that our users have RW access to this group as well, same as in step 5

8. Create a special group for team leads and managers. In this example we’ll call it “CustomerPortalManage”

9. Using the Customers ↔ Groups page, assign the teamleader to the above group (RW).

10. Enable company groups. This is done via

Admin > SysConfig and type “customer” in the search box. Select Ticket -> Frontend::Customer::ModuleRegistration from the resulting list


11. Enable the module

12. Navigate to just above the field “Description” containing “Company Tickets”, and hit the “+” icon under the heading “Group”

13. Enter the name of the Management group defined in step 8 (CustomerPortalManage)


Testing the above settings:

Logon as normal customer. Note there is no “company tickets” in the header
    – Open a ticket and submit the ticket
Logon as teamleader customer. Note that now you will see company tickets, which are all tickets opened by the teamleader’s team, in our example, the ticket “documentation test” which was created preciously by the user:


Some troubleshooting tips
If when creating a new ticket as a customer, nothing in the “To” field, check the following:
Admin > syconfig > search “ticket”


And make sure the relevant queue is listed there


If when creating a ticket, the customer cannot see the right “type”, check the following:


1. Logon to the OTRS server via SSH
2. Navigate to the install directory (eg /opt/otrs/) and opent the “Kernel” directory.
3. Edit the Config.pm file and check any ACLs, for example:

  $Self->{TicketAcl}->{‘ACL-restrict-customer-ticket-types’} =
        # match properties
         Properties =>
              Frontend =>
                  Action => [‘CustomerTicketMessage’, ],

         Possible =>
             Ticket => { Type  => [‘Incident’, ‘Incident::ServiceRequest’], },

As you can see in the above, only two types are allowed.

Stay tuned for Part 2 later this week

Privacy Settings

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.