Zendesk

You can integrate Zendesk with your own custom support form created in Formstack to generate a ticket upon submission of a form that will be automatically transferred to your Zendesk account.

To add this integration to your form, click on Settings > Integrations > Help Desk and click the Add button next to Zendesk. This will place a tab underneath Integration where you can begin the setup.

You will then type your Zendesk subdomain, email and password (or you can skip a few steps and copy your credentials from another form!), 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. Zendesk won't recognize the words, however, so you need the actual numerical IDs for these fields from the Zendesk API documentation. For convenience, you can find these below:

Ticket Status

Status

Status ID

New

0

Open

1

Pending

2

Solved

3

Closed

4

Ticket Type

Type

Type ID

No Type Set

0

Question

1

Incident

2

Problem

3

Task

4

Ticket Priorities

Priority

Priority ID

No Priority Set

0

Low

1

Normal

2

High

3

Urgent

4

So to create a field for Status, you would need to 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. Such a field would look like this:

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:

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.