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:
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
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:
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:
- Continue adding fields and values to the end of the URL in your text editor
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.
The URL parameter of system fields uses the prefix
by the field name. For example
tf_subject. For more
information, see System ticket fields. Use the
following parameters for the Zendesk system fields:
Priority: Include the value type (low, norm, high, urgent), after
the field name, for example
Type: Include the value type after the field name, for example
Due date: (Used when Type=task) Use the canonical date format
YYY-MM-DD, for example
Cc: (Used when a user is logged in). Separate the emails with a
comma, not a space, for example
Organization ID: Include the value type after the field name, for
The URL parameter of custom fields uses the prefix
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
- 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
EDIT: Reason this is not working because we are using theme v1
Is it possible (using this feature) to prefill custom ticket fields that are for agents only? (NOT editable for end-users).
Hi SundaySky Israel,
The pre-filled ticket form feature is intended for end-users and will be applicable to end-user editable fields. Since agent-only fields will not be visible on the Help Center request form they cannot be prefilled by this feature.
Eric G. Gao | Technical Support Architect | Zendesk
Thank you, Eric!.
Is there a plan to add this functionality to the feature?
Any idea how can I automatically update agent-only fields during/after a ticket was created from the help center contact support form?
Unfortunately there are no immediate plans to add this functionality to the pre-fill ticket form feature, but you could potentially set up some triggers to auto-populate fields on those tickets upon creation: https://support.zendesk.com/hc/en-us/articles/203662246
Eric G. Gao | Technical Support Architect | Zendesk
@... It seems that the ticket field parameters after the ticket form ID are not preserved if the user has to sign in.
The prefill URL (https://helpdesk.asmnet.com/hc/en-us/requests/new?ticket_form_id=360001129171&tf_subject=New Add Manufacturer Request from Instep&tf_description=Please add [manufacturer_name] to the system&tf_360035346351=customer_account_-_add/change_adv_erp_ax) is successful if I'm already signed in.
However, when I tested it in an incognito window, after I signed in, my browser navigated to https://helpdesk.asmnet.com/hc/en-us/requests/new?ticket_form_id=360001129171, therefore no prefilling was done.
Is it possible to get this to work so that if the user has to log in, the parameters are preserved?
Without having to create my own form and use the API, is it possible to set the value of a hidden custom field based on a url param? I'd like it to be a private/agent only field, but given the responses above, it seems unlikely. As a possible workaround, could I stick some custom js that sets the value and hides that particular field? I'm using the Copenhagen theme.
Any guidance would be most appreciated.
Thanks in advance!
Hi Albert, as indicated above, only end-user editable fields can be pre-filled this way. For visibility to our Product team, would you be willing to post to our Feedback on Guide topic, and use our template there to format your feedback?
How to change ticket form from TEXT to Drop-down option? I cannot find edit option.
I believe you are pertaining to the fields in your Ticket Form and that will be your Ticket fields. To change a specific field, you need to edit them under your Ticket fields by going to Support>Manage>Ticket Fields. You can check Editing and managing your ticket fields for more information.
Can someone please help me with the code suppose I want auto-filled customer field then how to do for the following customer field, please provide example along with screenshot.
Hey @...! Let's say we have a ticket form (ID 1001) to collect information about donations. The form has the following fields:
If I wanted to create a pre-filled form where there was an anonymous $75.50 donation to the Local Food Pantry, here is how I would make the URL:
I am trying to use the pre fill feature to set the brand name but its not working.Not sure if any more information is needed to be passed in the url.
Has anyone else had this functionality stop working? I have a ticket open w/Zendesk right now, but I am hoping that someone else may have encountered this and have a solution. I have previously used it without issue but the URL which previously worked is no longer working.
Hi @... Yes, thanks, it's been resolved now. It had been functioning in September and early October so I didn't realize that there was a recent deprecation of API v1 for the feature. It would be nice if there had been a notification that pre-filled forms were going to stop working on the v1 prior to the change happening.
It's not prefilling the location field. please suggest
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.
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
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!
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?
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?
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?
We have dynamic content enabled for our fields. What would the expected description be for fields using dynamic content, or is this unsupported?
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.
Would this mean that we amend the URL with something along the lines of:
(Using &tf_43278425432 instead of the actual ID)
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.
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:
Is there a way to do this? thanks!
We have enable the single sign-on connection, via JWT token.
When we access to a form with a prefilled ticket form, (like tf_123456=lopsem), if end user is already connected, it's working well.
However, if end user is not connected, after connection and redirect to the form url, the prefilled ticket form parameter disappeared from the form url
Exemple of workflow :
How can we keep tf_ parameter when end user is redirected after connection ?
Please sign in to leave a comment.