OTRS 3.0 Ticket Templates

You all know the need of our agents to have Ticket-Template-Buttons in Phone and Email View.
This is of course not as good as it could be, because you need to modify standard *.dtl files. Therefore you actually need to change something that is not update save.

but …

NOW THERE IS OTRS 3.0 !!!

AgentNavigationBar

AgentNavigationBar

If you hit this new created navigation item you are redirected to the normal phone ticket view, but the page is magically prefilled with content. The content can be the default Queue for requests regarding software, the ticket type for incidents, a meaningful subject and body … maybe with a checklist … open your mind and create your own templates ;-)

This is the resulting screen – just as an example:

AgentTicketPhone

AgentTicketPhone

But how does this magic works???

Simple answer: by extending options in the OTRS 3.0 SysConfig

You need it more specific? Here we go:

|-> SysConfig

|-> Ticket

|-> Frontend::Agent::ModuleRegistration

|-> Frontend::Module###AgentTicketPhone

There you just need to add a new SysConfig hash where you can describe additional menu entries with URL params as you want.

Adding a new hasg is simply done by clicking on theplus sign on the bottom.

My  configuration for the screens above:

AdminSysConfigEdit

AdminSysConfigEdit

Where the Action Param is:

Action=AgentTicketPhone;Subaction=StoreNew;ExpandCustomerName=2;Subject=Example+Subject;Dest=1%7C%7CPostmaster;NextStateID=4;TimeUnits=5;Body=%3Cstrong%3E%3Cspan+style%3D%22color%3A+rgb%28255%2C+0%2C+0%29%3B%22%3EMy+bonnie+is+over+the+ocean%3C%2Fspan%3E%3C%2Fstrong%3E%2C+%3Cspan+style%3D%22color%3A+rgb%28230%2C+230%2C+250%29%3B%22%3E%3Cspan+style%3D%22background-color%3A+rgb%280%2C+0%2C+255%29%3B%22%3Emy+bonnie+is+over+the+sea%3C%2Fspan%3E%3C%2Fspan%3E%2C+%3Cspan+style%3D%22color%3A+rgb%280%2C+128%2C+0%29%3B%22%3E%3Cspan+style%3D%22font-size%3A+16px%3B%22%3E%3Cspan+style%3D%22font-family%3A+Comic+Sans+MS%2Ccursive%3B%22%3E%3Cem%3E%3Cu%3Eoh+bring+back+my+bonnie+to+me%3C%2Fu%3E%3C%2Fem%3E%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fspan%3E!%3Cbr+%2F%3E%0D%0A

Define the ticket’s options, all are optional as argument for
“Action=AgentTicketPhone;Subaction=StoreNew”

Remember to encode everything non-ASCII (even a SPACE is represented as ‘+’)

http://en.wikipedia.org/wiki/Percent-encoding

Subject      : Subject=Example+Subject
Target queue : Dest=1%7C%7CPostmaster  (means: 1||Postmaster)
Next state   : NextStateID=4           (check your configuration for valid state IDs)
Time units   : TimeUnits=5
Type         : TypeID=1                (check your configuration for valid type IDs)
Service      : ServiceID=5             (check your configuration for valid service IDs)
Priority     : PriorityID=3            (check your configuration for valid priority IDs)
...

Hint:

To find valid values for the above xxIDs, please have a look into the Admin interface or the source of a generated website.

And there is more power !!! Unlike other systems, you can now define permission groups for EACH template. This enables you to provide IT related ticket templates to your IT Department guys and HR related templates to your HR guys … again, open your mind … to OTRS 3.0!

Have phun with OTRS 3.0

17 thoughts on “OTRS 3.0 Ticket Templates

  1. I tried to adapt it to Frontend::Customer::ModuleRegistration::CustomerTicketMessage

    Unfortunately, the link :
    Action=CustomerTicketMessage&Subaction=StoreNew&Subject=New+project&Body=Project+name

    raises the following error :

    Error: Need TicketID! Comment: Traceback: ERROR: OTRS-CGI-10 Perl: 5.10.0 OS: linux Time: Thu Nov 11 19:59:26 2010

    Message: Need TicketID!

    Traceback (6339):
    Module: Kernel::System::Ticket::Article::ArticleCreate (v1.259) Line: 118
    Module: Kernel::Modules::CustomerTicketMessage::Run (v1.73) Line: 409
    Module: Kernel::System::Web::InterfaceCustomer::Run (v1.55) Line: 956
    Module: ModPerl::ROOT::ModPerl::Registry::opt_otrs_bin_cgi_2dbin_customer_2epl::handler (unknown version) Line: 48
    Module: (eval) (v1.42) Line: 204
    Module: ModPerl::RegistryCooker::run (v1.42) Line: 204
    Module: ModPerl::RegistryCooker::default_handler (v1.42) Line: 170
    Module: ModPerl::Registry::handler (v1.99) Line: 31

    Looks like it ask for a TicketID but this should be a template …
    Is there something wrong ?

  2. Try this action params:

    Action=CustomerTicketMessage;Subaction=StoreNew;Expand=3;Dest=1||Postmaster;Subject=Test;Body=Test;PriorityID=3

    Cheers, Nils

  3. Hi Martin,

    could you please explain this a little more? Having the possibility of Ticket Templates is in OTRS since versions. So I don’t see any reference to KIX4OTRS here. Feel free to enhance the configuration ;-)

  4. Hi Jens,

    for sure, I like to explain this.
    I can agree with you – Ticket Templates via URL is possible in any version (, I’ve ever used). To enable this in a more friendly way, we’ve extended AgentTicketPhone and added a special part in SysConfig. Please take a look at http://tinyurl.com/3xhgoov and http://tinyurl.com/36e6ssu to see how it is configured. You can find the new perl code starting with “Self->{DefaultSetName}” approximately in line 275.

    Well, now you can easily create a new template and register it without the need of a non-ASCII encoding.

    What do you think?

    Greetings, Martin B.

  5. Hi Martin,

    I really like you idea.
    Maybe you could be so kind and share your code and description as an enhancement entry in our bugzilla? This would be great!

    Many thanks for your effort and your inventiveness!!

    Cheers, Nils

  6. One simple way to do the percent encoding (since you’ve got a machine with Perl installed) is to design the HTML for your email body in a text file, remove all of the carriage returns (in vi, just hold down shift+j) and then run the following:

    perl -e ‘use URI::Escape;print uri_escape();print “\n”;’ < html.txt

  7. Hi Shawn,

    thanks for your great video. Just keep in mind that this is working but not update save as the AgentTicketPhone file has to be modified. Adding just a few XML lines into a new file in Kernel/Config/Files/MyConfig.xml makes more sense I feel :-)

    Cheers, Nils

  8. Hello,

    found this wonderful solution and it works like a charm! But, one question: How to get created button in different languages? For example the name, description, preloaded values in english or german or francais, depending of the chosen user language?

    Cheers,
    Robbie

  9. Finally stumbled upon this, and it is pretty awesome to create quick tickets. One question: Is it possible to auto select the agent as the currently logged in agent?

  10. great post.
    Is it possible to define the “ToCustomer” adress field in the Otrs 3.2.12 version?

  11. Thanks for the template introduction. We made excessive use of it until now.
    A question concerning the action link: is there a chance of adding a dynamic field (type ticket) and its predefined value?
    The idea is, offering a ticket form in the customer frontend, defining the raw queue as its destination but giving the helpdesk agents a hint where this ticket omight be queued after having revised its contents. I.e. dynamic field (type ticket) “targetQueue” with value QueueID::QueueName.

    Thanks for any suggestions

  12. Is there anywhere a list with all possible arguments which i can use in the Link?
    I´m searching for a possibility to autofill the “Customer Contact” field at the top but i can´t find a solution for this.

  13. I’ve the same issue that David Fritsch, I can’t autofill the Customer Field.
    I’ve used PreSelectedCustomerUser, SelectedCustomerUser, CustomerUser, … without success.

  14. I noticed that the author of this artciel doesn´t exist anymore….so we have to contact the other authors. :-(

  15. If you change your agent ticket phone screen from post to get, you will see all necessary arguments in the URL. No need to contact other authors ;-) If you are still in trouble, just contact OTRS Group at http://www.otrs.com and request support. :-)

Leave a Reply