You can set up a ticket form that has pre-filled values in specific fields (such as the Subject or Description fields). This can save time for your end users and get them closer to a resolution. It also benefits your support agents by ensuring they have accurate and specific input from customers.
For example, if an article in your help center explains how to troubleshoot a coffee maker, you can create a link at the end of that article that opens a ticket form pre-populated with the coffee maker model and issue. Users who click this link will have much less information to fill out when submitting their ticket.
This article includes the following sections:
Related articles:
Configuring a pre-filled ticket form
When you create pre-filled ticket forms, you add parameters for the fields that you want to pre-fill to the URL of the form. If you have multiple ticket forms, you’ll also include the specific ticket form ID in the URL.
To configure pre-filled fields in a form
- Copy the URL for the ticket form that end users see when they click Submit a request and paste it into a text editor file.
It should resemble this, where mycompany is your subdomain: https://mycompany.zendesk.com/hc/en-us/requests/new?Note: If you have host mapping, your URL will look different from the previous example (see Host mapping - changing the URL of your help center).
- (Multiple ticket forms only) In Admin Center, click
Objects and rules in the sidebar, then select Tickets > Forms. Select the ticket form you want to pre-fill, then copy the form ID from the URL in Support and paste the ID to the end of the URL in your text editor.
-
In Admin Center, click
Objects and rules in the sidebar, then select Tickets > Fields. Copy the field values you want to pre-fill and paste them along with values to the end of the URL in your text editor.
For system values, copy the title of the field (for example "Subject"). Use the following format to paste the title at the end of the URL that you are building, along with the value that you want to assign to the field:
&tf_{title}={value}
For custom values, copy the Field ID of the field (for example, “12345”). Use the following format to paste the Field ID at the end of the URL that you are building, along with the value that you want to assign to the field:
&tf_[fieldID}={value}
- Continue adding fields and values to the end of the URL in your text editor as needed.
The parameters should be similar to the following example:
&tf_subject=Faulty charger 999 recall&tf_12345=USA
- Copy the URL from the text editor and paste it wherever you want to link end users to the pre-filled form. Your final URL should resemble one of the following examples:
- Single ticket form:
https://www.example.zendesk.com/hc/en-us/requests/new?tf_subject=Faulty charger 999 recall&tf_12345=USA
- Multiple ticket form:
https://www.example.zendesk.com/hc/en-us/requests/new?ticket_form_id=1500000300222&tf_subject=Faulty charger 999 recall&tf_12345=USA
- Single ticket form:
Parameter keys and values
The URL parameter keys and values differ based on what type of field you want to pre-fill. There are two different field types that are used in a request ticket form:
-
System fields - are the default fields in a ticket and have a unique name.
-
Custom fields - are fields that you can create to supplement the information that is already being gathered from the existing system fields.
System fields
The URL parameter of system fields uses the prefix tf_
followed by the field name. For example tf_subject
. For more information, see System ticket fields. Use the following parameters for the Zendesk system fields:
-
Email:
tf_anonymous_requester_email
-
Priority: Include the value type (low, norm, high, urgent), after the field name, for example
tf_priority=high
-
Type: Include the value type after the field name, for example
tf_type=incident
-
Description:
tf_description
-
Subject:
tf_subject
-
Due date: (Used when Type=task) Use the canonical date format YYYY-MM-DD, for example
tf_due_at
-
Cc: (Used when a user is logged in). Separate the emails with a comma, not a space, for example
tf_collaborators=name1@example.com,name2@example.com
-
Organization ID: Include the value type after the field name, for example
tf_organization_id=123456789
Custom fields
The URL parameter of custom fields uses the prefix tf_
followed by the field ID. For example tf_40630945
. For more information, see About custom field types. With custom objects, you can create the following custom fields:
- Multi-select: Use field tags as the values and separate them with a comma, not a space, for example blue,green,red.
-
Drop-down menu: Use the tag associated with the value. For example
tf_40630945=dog_beagle
. - Checkbox: Use the value true/false
- Decimal: Use integers and non-integers (for example, -8.012345679). Do not use commas.
- Date: Use the canonical date format: YYYY-MM-DD
-
Lookup relationship: Use the value or custom object record ID. For example:
tf_40630945=HVAC02345
Using pre-filled ticket forms with SSO authentication
When you use pre-filled ticket forms in environments with single sign on (SSO) authentication, end users must be logged in before they can submit a ticket. This means that if an end user accesses the pre-filled ticket form from another source (for example, website or QR code), they must be logged in to see the initial values in the pre-filled ticket form. If they are not logged in, they will be prompted to log in before being directed to the ticket form. Because users are accessing the form from the login page rather than from the original link or QR code, the pre-filled ticket values no longer appear. Users can still fill out the form and submit the ticket, but they will not see any pre-filled values.
To ensure that users can access pre-filled ticket forms at all times, you can choose to not require user authentication prior to access the ticket form. Alternatively if your environment requires user authenticaion in all cases, you can include content for users wherever they access the link, instructing them to return to this link after they log in to the environment. Once they are logged in, they can click the link or use the QR code to access the pre-filled ticket forms.
122 comments
Brett Bowser
I'm going to create a ticket on your behalf so our Customer Care team can look into this further with you.
You'll receive an email shortly stating your ticket has been created.
Cheers!
0
Andrea Rochira
Hi there,
We are in much need of this feature to optimize a work flow, but I'm concerned about what some users commented on this other support article: https://support.zendesk.com/hc/en-us/articles/4408820214554-About-Guide-templating-versions
How can we know if a migration to the "Templating API v2" will go smooth? What checks are recommended to perform in advance? Do you suggest to open a ticket with Zendesk in order to be assisted?
Thanks a lot for the feedback
0
Greg Katechis
Hi Andrea! We don't have a specific checklist, but we do have these docs that you can use to see if you're utilizing any of those elements within your themes. With respect to the dropdown issues noted there, it's likely that this was a result of the update to drop-downs that we made. It's possible that their implementations of drop-downs were upset as a result of this, but it is difficult to know for sure. If you run into any questions while you go through the above documentation, let me know!
0
Andrea Rochira
Hi Greg Katechis,
Thanks for pointing me in the right direction, but I'm still a bit confused about the next step.
Am I supposed to switch to the new Copenaghen theme (and eventually import custom code, if any, from the current one)?
I don't see how I can maintain the current theme (theme version 1.2.0 and API v1) and not incurring into issues while trying to update the manifest.json file to use API v2. I actually tried to follow this article, "Importing and downloading your theme and manifest file", but I ended up getting 16 errors related to template files while attempting to import it back in Help Center (very likely due to the new helpers supported by API v2). So, I guess that a simple update of the current theme is not feasible for compatibility reasons with the new template files.
Two quick questions:
1) if we switch to the new Copenaghen theme, will I still find the old theme available in case I need to roll back to it?
2) if we have added the Zendesk Support widget to a company website, is there anything to update on that end too?
0
Lacy
This is not working for me. I'm able to pre-fill the Description but not the Subject. What am I doing wrong?
I'm adding &tf_360015811134=Delete Account to the end of my URL but to no avail. I also tried just using &tf_subject=Delete Account. I did the same thing for description and it worked, what is happening?
0
Andrea Rochira
In our environment, this feature is working great for end-users, but not for agents.
If an agent clicks on the link of a pre-filled form, it opens the Zendesk Support dashboard and that's it. If an end-user clicks on that same link, it works as expected.
Not sure what we are missing... any thought?
0
Matt Taylor
Hi
We have dynamic content enabled for our fields. What would the expected description be for fields using dynamic content, or is this unsupported?
0
Kasper Sørensen
Hi Matt Taylor
Dynamic content is used for the display name of the field, but for setting it's value in the URL you would use it's ID, so something like
Where "43278425432" is the field's ID.
0
Matt Taylor
Thanks @...
Would this mean that we amend the URL with something along the lines of:
or
(Using &tf_43278425432 instead of the actual ID)
0
Kasper Sørensen
Ah, I think I understand your point now. The parameter value (part after the equals sign) is not evaluated as a DC expression. So you will need to translate that string on the page that contains the link.
0
Gail
Hello - what if I wanted to have a pre-filled subject that also included the date/time of the end user opening the form URL - something like:
&tf_subject=Complaint YYYY.MM.DD
Is there a way to do this? thanks!
0
Salim Moumouni
Is is possible to get formatting like the below?
0
Salim Moumouni
In reference to my earlier post, I'm trying to see the possibility of adding point forms and indentation/spaces in the description field. See format https://support.zendesk.com/hc/en-us/articles/4408839114522/comments/4513145611674
0
Jorge Moreno
Hi, good idea, I have three things I wanted to ask/suggest:
- Is it possible to prefill using a macro, any way to apply a macro using url?
- If not possible, how do I go about prefilling the description field with several paragraphs and bulletpoints?
- Any chance that you can add pre-filling functionality to ticket form settings instead? This is a good start but a bit messy for complex settings and it would be perfect to have pre filling as an action on the conditions of the form instead.
0
Dane
You will not be able to automatically fill up the Contract Number if the value resides on a user field. What you can do is utilize Ticket Update API via webhook and user triggers to automatically populate each created ticket for your users with the values from the user field. A similar method was utilized here.
@Jorge,
As it turns out, it's not possible to use macro with the method mentioned in this article. I'll mark this as a feedback so as to bring this to the attention of our Product Managers. I'd recommend creating a Community post separately for that with your use case to help get more visibility and votes on the idea. Then, others can share their use cases to further drive demand for that feature.
0
Julien Poirot
I have the same problem as Sam with SSO / JWT.
Only the ticket_form_id is kept in the redirect_to field.
Remi the return_to value is encoded by Zendesk itself but in your demo, the return_to seems hard coded in your JWT snippet.
In most cases, the link to the prefilled form must include dynamic data from other systems like order id.
I think the built-in SSO function should encode all the parameters itself.
0
Krishnamurthy Veeraraghavan
Hi Kasper
When ever customer creates the ticket and enters the subject line details at that time it need to prefix a word before the subject line. Do let me know how can we achieve this.
Have three ticket form and need to make this change in all these three ticket forms
0
Asger Andersen
Hi
I'm facing an issue setting this up.
When following the link in an authenticated state (ie. being logged in as help center admin) I get the following error:
When I try my link from an incognito/non-authenticated tab, I'm directed to the login screen instead of the filled ticket form, and if I mimic an end-user login, I get the following error:
My link format is:
https://wexervirtual.zendesk.com/hc/en-us/requests/new
&tf_subject=Request to delete user account
&tf_114103530114=Client name X
&tf_description=I would like to request that my personal data be deleted
0
Asger Andersen
Matt Taylor we only have one form and we are on the Professional support plan
0
Asger Andersen
Matt Taylor ah understood, no worries. I'm not sure, I'd guess we are not. Where can I see that?
0
Asger Andersen
Matt Taylor I'm seeing the below; no mention of Template API, so maybe that's our issue
0
Federica Sapienza
Hi,
in case of values in different languages (e.g. {{dc.request_type_option_36}}), what will the value for the custom field be?
Thanks
0
Dave Dyson
The dynamic content variant to be shown will be based on the user's language determined by the help center: Understanding how translated content is displayed in your help center
0
Mark Pinfold
I can get my prefilled form to take a subject line but when trying to get it to fill a custom drop down it doesn't seem to want to "take" for whatever reason.
It just passes right over the instruction to fill the tf_[field ID]="Value_Name" - if that is indeed the correct format?
I have tried both with and without the "" and neither seem to work. It does seem to "nudge" the field during the render but it quickly returns to default.
0
Stephen Nock
How could I configure a form so that when an end-user completes the form, the next time they complete the form, certain values are preserved? Could a value input in a ticket form be automatically imported into a user value, and then (for a logged in user) recognize the value in the user profile and automatically pre-fill the field (or not ask the question in the form)?
0
Elizabeth C
This is a GREAT feature. My question is we are setting up the description for several forms but we don't want it to be editable. How can we do this.
0
Dane
Unfortunately, the feature for your use cases is not natively available for the prefilled form is still using the WYSIWYG form which cannot be customized.
0
mfg
Is this case sensitive? I wasn't getting subject and description to populate, but updated the case to all lower case and now it works. I don't think there were any other edits.
0
DS RF
Yes, everything needs to be lowercase, among other restrictions. I haven't re-read the main article to see if they've updated it, but I wrote up a summary of things that weren't made clear in a comment above...
https://support.zendesk.com/hc/en-us/articles/4408839114522/comments/4850417035162
0
Jimmy van der Have
Is there a possibility to parse the external (user) id with the form? In the system fields I see e-mail and organization ID, but I only have the external user id available. I would like to use it to match the new ticket to its creator.
0