You can integrate Zendesk with your own custom support form created in Formstack to automatically generate a support ticket when the form is submitted. Once configured, submissions are sent directly to your Zendesk account, helping your team respond to requests more efficiently.
In this article, we’ll walk through how to set up the Zendesk integration, connect your accounts, and configure your form so tickets are created accurately and consistently.
Setup Walkthrough
To add this integration to your form, click Integrations at the top of the Form Builder. Then search for Zendesk and click Add next to the integration to begin setup.
Note: You can also filter integrations by selecting the Help Desk category to narrow your search.
Next, you need to add your Zendesk subdomain, email and password/API Key, which will bring up the fields that you can map to Zendesk, including any custom fields you may have.
Note: You must use Admin credentials for this integration to work properly.
On your Formstack form, you will want to have fields for name, email, and comment. Fields like Status, Type, Priority, Group and Assignee can be passed to Zendesk if required, but are optional and probably not needed for most use cases. A basic support ticket form would look like this:
Passing Assignee or Group to Zendesk
If you want to automatically assign Zendesk tickets to a specific user, you would need to map a field to the Assignee field in Zendesk. You can't use the Assignee's name for this, however, you have to find their ID in Zendesk and pass this along instead.
To find this, you would log into Zendesk, click on Manage People and then click on the name of one of your Zendesk users. This will take you to their Profile page.
If you look at the URL for this page, you will see a number in the URL. This is the ID number that you will use to identify the Assignee.
Now on your form, you will need to create a field that contains this ID number. One way to do this would be to create a short answer field with a default value set to the Assignee ID, like so:
You then map this field on the Zendesk integration page and all of your tickets sent to Zendesk with be assigned to this person.
You would need to pass an ID for Group the same was as assignee.
Passing Status, Type, Priority to Zendesk
In the rare case that you want to pass Status, Type, or Priority with your tickets, you would need to create fields on your form that contain the options for these. For Status, for example, you would need a select list field that contains the options New, Open, Pending, Solved, and Closed. Review the allowed values in Zendesk API documentation. For convenience, you can find these below:
Ticket Status
| Status | Status ID |
| New | New |
| Open | Open |
| Pending | Pending |
| Solved | Solved |
| Closed | Closed |
Ticket Type
| Type | Type ID |
| Question | Question |
| Incident | Incident |
| Problem | Problem |
| Task | Task |
Ticket Priorities
| Priority | Priority ID |
| Low | Low |
| Normal | Normal |
| High | High |
| Urgent | Urgent |
To create a field for Status, use separate values and assign each status type on your select list field a corresponding ID, as the ID is what needs to be passed on to Zendesk.
Mapping to Custom Dropdown Fields
Unfortunately, you cannot populate a custom multiple-selection field in Zendesk with a field from your form. Only default Zendesk fields (like those listed above) can be populated with an option from a multiple-selection field on your form. The options on custom drop-down fields will only, ever create “tags” on the ticket – assuming the options are valid options already pre-determined on that field in Zendesk. This is a limitation of the Zendesk API:
Once you’ve finished configuring the Zendesk integration, make sure to switch the Run Mode to On.
Turning the integration on ensures that form submission data is sent to Zendesk and that tickets are created upon submission.
Note: If the Run Mode is set to Off or Test, submissions will not be sent to Zendesk in production.
Re-Running the Integration
If an integration fails upon submission, check your integration settings for errors in API or login credentials or in the mapping of form fields. Then, click on a submission in your database. You will see ‘Integration Status’ on the left side of the submission. Click "Run Again". The integration will begin running. If it is successful, a green "Success" message will appear. If it is not, a red "Failed” message will be shown. If this happens, go back to your integration settings and check for other errors in setup.
Troubleshooting
There was an error processing the request: There was an error getting your Zendesk ticket fields. Status code: 400. Status message: Bad Request.
-- First, ensure the current and active Zendesk Subdomain, Zendesk Email and Password (Admin credentials) have been entered into the Form integration settings. Also, be sure your Zendesk Password Access is enabled for your API / Channel settings.