Ticket templates for automatic ticket creation

In this article, you'll learn how to create and use ticket templates while using our Zendesk tasks app. If you're a fan of this app and the Zendesk workflows it allows you to achieve, you might consider looking at using some of our other Zendesk apps too.

This video provides a quick overview of what ticket templates are and their benefits:

This video goes into all the fine details of how to setup and implement ticket templates: 

 For any task, at the point that it's added to a ticket, you can specify a sub-ticket to automatically be created containing predefined details relative to the ticket it's being created from.

An example of where a ticket template might be used is when you have a new hire start at your business. You may have a saved task list containing all of the things that need to be completed. One of those items may need to be a sub-ticket for "Harriette" make sure she looks after "Employee Orientation". In Harriette's ticket you may want to automatically set her as the assignee of the ticket, the requester to the new employee, and copy other details from the parent ticket so she has all the information she needs in the one place. This is where ticket templates can help.

This article will cover: 

Setting up a ticket template.

Using templates on tasks in saved task lists.

Using templates on existing/ad-hoc tasks.

If you're spinning up a pre-defined ticket the old way then we also have a video on how to converting ticket data on task list items to ticket templates.



Setting up a ticket template.

To create a ticket template click on the tasks admin icon in the main bar on the left of the screen, click on "Ticket Templates" and then click "Add ticket template" like this:




Now, just as if you were creating a normal ticket, fill out the details of what you want your sub-ticket to be.

  • Subject: By default, this field will be set to copy the contents of the parent ticket as is indicated by the light grey text "Same as parent". To alter this, click inside the box and type the desired subject. 


    Tip: Did you know that you can pull in the name of the task in the parent ticket into the child ticket?! By using the placeholder {{task.name}} you can add extra context to the subject line, or any other part of the child ticket.

  • Description: This field is required by Zendesk when creating any new ticket. As such if you leave this field blank, at the point the ticket is created the app will place a "." as the first ticket comment, so it is recommended that you add at least a small description as to what the ticket is for.


    Note: When typing out the subject and description you're able to use placeholders & liquid markup just like you would in any other ticket, macro, automation or trigger, but the information being pulled in from a template is coming from the parent ticket, not the child that is being created.

    So, for example, if you'd like to pull in all comments that have already been made on the parent, you could add in the placeholder "{{ticket.comments_formatted}}" into the description.




  • System Ticket fields: You're also able to predefine all of the fields on your new ticket. Note that there are some differences with how you go about predefining these. One big difference is that each field contains extra options to copy stuff from the parent. For example, the "Requester" dropdown field also gives you the options "Same as parent" and "Parent assignee". In fact the "same as parent" option is available in many of options like "Status", "Priority" and "Form" as you can see below: 



  • Custom ticket fields: Once you've selected a ticket form for your new ticket, the custom ticket fields available on that form will then be shown for input. 

    Dropdown & Checkbox fields will give you the option "(same as parent)" as an extra option like this: 


    All other fields types (such a Text, Multiline text, Numeric, Decimal etc.) will allow you to enter text, placeholders or liquid markup. If you'd like to copy the contents of the field from the parent there is a blue ticket button on the right to create the required placeholder for you that looks like this: 


    However, if you would like to append extra information in addition to the placeholder, or pull in data from another part of the ticket with another placeholder you're able to curate content like this: 



    WARNING: Note that the restrictions applied to Zendesk field types will still apply. This means that you can't add text into numeric or decimal fields; Date fields will only accept date formatted data (ie. YYYY-MM-DD); Regex fields will only accept regex formatted data etc. 

    If you set the template to push data into a field that will not accept it, then at the point the sub-ticket is created an error will occur creating a sub-ticket containing the error message instead of containing the intended data. 

  • Special ticket fields (Tags & Multi-select fields): There are two types of fields that you can choose to copy the data from the parent ticket exactly the same as above, however instead of having the field's placeholder automatically added for you, the app will place in some liquid markup like this:
    The reason why we place in liquid into the field instead of placeholders (like the other fields) is that an appropriate placeholder does not exist for these two fields. 



Using templates on tasks in saved task lists.

Once the template is created all you'll need to now is specify which task will automatically create it. To do this go into a save task list and click to edit one of the tasks like this: 


Then from the dropdown menu select the template and click 'Update task' like this:


Now, whenever that task list is added to the ticket, the task that's been altered will spin up a sub-ticket using the template you specified.


Using ticket templates on existing/ad-hoc tasks.

You can apply a template to any task that already existing on a ticket. To be able to do this, you'll first need to ensure that the template you'd like to use has "manual" switched on like this: 



Then in the apps pane, on the right of any ticket, click on any existing task and from the dropdown field select "Convert to new ticket":



Then from the popup modal, select the template from which you'd like to spin up the ticket for like this: 


That's it!

Thanks for learning about ticket templates within the tasks app. If you've liked what this allows you to do, our Recurring Tickets app and our Future Tickets app also have similar template modules that help facilitate different use cases. 

Was this article helpful?
4 out of 5 found this helpful



  • Love this new feature however it seems to be throwing off a JSON parsing error (765: unexpected token) when I use it.  I think the issue might be from the "body" value for an internal note.  It seems to not be escaping the " properly.


    < "comment": {
    "public": false,
    "body": "{"id"=>1026120825174, "value"=>"\\u0026gt;assign task", "value_rich"=>"\\u003cdiv class=\\\"zd-comment\\\" dir=\\\"auto\\\"\\u003e\\u0026gt;assign task\\u003cbr\\u003e\\u003c/div\\u003e", "is_public"=>false, "author"=>UserDrop, "created_at"=>"Feb 6, 2020", "created_at_with_time"=>"Feb 6, 2020, 14:24 UTC", "attachments"=>[]}{"id"=>1025857289433, "value"=>"\\u0026gt;Add Manager Approval Required Task", "value_rich"=>"\\u003cdiv class=\\\"zd-comment\\\" dir=\\\"auto\\\"\\u003e\\u0026gt;Add Manager Approval Required Task\\u003cbr\\u003e\\u003cbr\\u003e\\u003c/div\\u003e", "is_public"=>false, "author"=>UserDrop, "created_at"=>"Feb 6, 2020", "created_at_with_time"=>"Feb 6, 2020, 13:47 UTC", "attachments"=>[]}{"id"=>1026079750294, "value"=>"\\u0026gt;adult approval", "value_rich"=>"\\u003cdiv class=\\\"zd-comment\\\" dir=\\\"auto\\\"\\u003e\\u0026gt;adult approval\\u003cbr\\u003e\\u003c/div\\u003e", "is_public"=>false, "author"=>UserDrop, "created_at"=>"Feb 6, 2020", "created_at_with_time"=>"Feb 6, 2020, 13:46 UTC", "attachments"=>[]}{"id"=>1026076616914, "value"=>"Template Section\\n\\nGroup: \\n Line Item Name: \\n Detailed Changes:\\n \\nDocument Location:", "value_rich"=>"\\u003cdiv class=\\\"zd-comment\\\" dir=\\\"auto\\\"\\u003e\\u003cb\\u003eTemplate Section\\u003c/b\\u003e\\u003cbr\\u003e\\u003cbr\\u003eGroup: \\u003cbr\\u003e\\u003cpre style=\\\"white-space: pre-wrap\\\"\\u003e\\u003cbr\\u003e\\u003c/pre\\u003eLine Item Name: \\u003cbr\\u003e\\u003cpre style=\\\"white-space: pre-wrap\\\"\\u003e\\u003cbr\\u003e\\u003c/pre\\u003e\\u003cb\\u003eDetailed Changes:\\u003c/b\\u003e\\u003cbr\\u003e\\u003cpre style=\\\"white-space: pre-wrap\\\"\\u003e\\u003cbr\\u003e\\u003c/pre\\u003e\\u003cbr\\u003e\\u003cb\\u003eDocument Location:\\u003c/b\\u003e\\u003cbr\\u003e\\u003cpre style=\\\"white-space: pre-wrap\\\"\\u003e\\u003cbr\\u003e\\u003c/pre\\u003e\\u003c/div\\u003e", "is_public"=>false, "author"=>UserDrop, "created_at"=>"Feb 6, 2020", "created_at_with_time"=>"Feb 6, 2020, 13:42 UTC", "attachments"=>[]} Subticket automatically created by tasks app."
  • Hi Greg, thanks for posting. Based on the code you've sent through it looks like you may have been editing the template in advanced mode? We did have an issue with escaping quotes for a short time there so it is likely what you were experiencing has since been resolved. None-the-less, if you're still having issues, could you please submit a ticket to support@sweethawk.co so we can help you more specifically on this one.  

  • Hi Sweethawk Team,

    I really like this feature to create a Subticket automatically. In your Videos the ticket requester of the main ticket and the subticket is the same. In my case the requester of the subticket is someone completely different, so I tried to leave it empty in the settings and the idea was that our agents fill the requester manually in the ticket form after the ticket was created. The subticket has been created as it should be but the requester was automatically filled with the first available account in the dropdown list of the Ticket Template configuration. Can you help me out with that issue?

    Thanks and regards


  • Hi Michael,

    The short answer would be that Zendesk requires a requester when creating a ticket so a default one is selected if this is left blank on the template. In most cases, this will be the App Owner/Authorized API user.

    I've moved this over into a ticket so that I can assist you easier regarding your use case.

  • Is it possible to pass a ticket field from the parent to populate the Requester? For our use-case we're storing a specific subject-matter expert's email address as a ticket field, and that would be a great workaround to support additional automation. It would be ideal to kick this sub-process off with a new requestor via a child ticket without any manual intervention other than populating that ticket field. Can it be done?

  • Hi Danielle, unfortunately, you are not currently able to easily populate the requester of a subticket based on a selection from a custom field on the parent ticket. You're only able to set it as the requester, assignee or by directly specifying who the requester. However, it is feasible that we'll introduce this functionality at some point. 

    That being said, I think this would still be possible now using a HTTP target, a trigger and some cleverly structured JSON to reset the requester of the subticket the instant it is created. We have a knowledge base that explains how to make a HTTP target do anything to a ticket here. So the way that it could work is that you could create a dropdown field of all of all the potential requesters, and for each selection in the dropdown field you could fill the tag in with their actual user ID. Then in the JSON that updates the ticket you would refer to the dropdown field tag as a means to specify the ID of the new requester. It's a bit of an advanced flow and would require a bit of trial and error so if you decide to have a go at setting this up and run into trouble it would be best to submit a support ticket to continue this conversation on. 


Please sign in to leave a comment.