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
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 YYY-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 "value" and replace spaces with underscores. For example, "dog beagle" becomes "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
69 Comments
Hi Sam! Something like this may be specific to your IdP, however this external article shows how you can use cookies, which might work for you. I'd recommend checking with your IdP to see how that data is handled and passed back to us after login.
Hello Greg Katechis
The problem does not come from our LdP.
The problem comes from the connection url generated by Zendesk.
For example, on this page:
https://mywebsite.zendesk/hc/fr/requests/new?ticket_form_id=123456789&tf_subject=lorem%20ipsum
the connection url generated by Zendesk will be: "/hc/fr/signin?return_to=https%3A%2F%2Fmywebsite.zendesk.com%2Fhc%2Ffr%2Frequests%2Fnew%3Fticket_form_id%3D123456789"
The parameter "tf_subject" is not present.
Testing with an unknown parameter, like lorem_param=lorem ipsum, the parameter is well preserved.
For example, on this page: https://mywebsite.zendesk/hc/fr/requests/new?ticket_form_id=123456789&lorem_param=lorem%20ipsum
the connection url generated by Zendesk will be :
"/hc/fr/signin?return_to=https%3A%2F%2Fassistance.leboncoin.info%2Fhc%2Ffr%2Frequests%2Fnew%3Florem_param%3Dlorem%2520ipsum%26ticket_form_id%3D123456789"
Can you check why Zendesk does not generate a connection link with all the tf_ parameters?
Is is possible to get formatting like the below?
Greeting Sam,
Thank you for your reply. Hope you are doing well today !
In order to make this work and pass multiple parameters in your URL, you will have to "encode" your URL.
Example :
should be encoded as :
I ran this test on my JWT SSO using the "return_to" parameter and this works like a charm!
and

See attached gif. (right click on it and "open in new tab" to see the gif in full size)
Hope this clarifies it! Have a great rest of your day.
Best regards,
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
Hello, I have a scenario where I couldn't get an answer about.
Scenario : The end user is connected on the help center and wants to submit a new request. There's a field where he must enter his contract number each time he submits a request.
Problem : How can we automatically fill the "Contract number" field for each request by an end user ( We can only get the information about the "Contract number" ticket field on the new page request from a user field called "CO" on our domain).
Thank you !
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.
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.
I have the same problem as Sam with SSO / JWT.
Only the ticket_form_id is kept in the redirect_to field.
Remi Saumet 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.
Please sign in to leave a comment.