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 !!!
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:
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:
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




Again, one more KIX4OTRS-function which made it into OTRS-mainstream. However,
we think that the way it’s configured could be improved…
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 ?
Try this action params:
Action=CustomerTicketMessage;Subaction=StoreNew;Expand=3;Dest=1||Postmaster;Subject=Test;Body=Test;PriorityID=3
Cheers, Nils
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
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.
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
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
http://www.youtube.com/watch?v=1B8mZ9Ku_bA&feature=channel_video_title
A video to go along with this post (almost)
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