How to Set up a Jira Zendesk Integration (the 2020 Step-by-Step Guide)

Jira Zendesk Integration

Zendesk is an amazing tool for customer support. While Jira is the go-to choice for development teams.

Effectively integrating both solutions means you’ll create a powerful collaboration between these teams. You’ll synchronize development and support into a seamless communication process. That means no longer manually copying data. An effective integration means synchronization between Zendesk and Jira happens seamlessly and automatically.

In this guide, you’ll learn the step-by-step process on how to set up this integration between Zendesk and Jira. And save a ton of time for your development team and customer service reps in the process.

Here is an overview of what we will cover:

Why Integrate Zendesk with Jira?

2 general reasons you’ll likely want to integrate Jira and Zendesk and set up a flexible synchronization:

1. Saving Time by Synchronizing (instead of Copying Data)

Instead of exchanging support tickets via email, or manually creating Jira issues for every ticket, a Zendesk to Jira integration enables you to automatically create linked issues whenever a ticket is generated.

If you’re manually adding issues in Jira, you’ll also need to manually update the Zendesk ticket whenever new is added to the issue. Not a great use of your team’s time!

By synchronizing both tools automatically, less information is lost than by going the manual route. As less information will fall through the cracks, you’ll not only save time, but it will result in you providing a better experience for your users as well.

2. Driving Effective Collaboration between Service Desk and Development Teams

The general reason most teams will want to integrate Zendesk with Jira is to “experience a seamless collaboration between their development and support teams”.

Development teams and customer service teams generally don’t have the same type of workflows, and that’s perfectly fine. But the Development processes for a Software/Product/Service are inter-connected with the Support processes.

Either side is also used to working in its familiar environment. Zendesk for support teams and Jira for development teams. Teams perform best when they use their own systems and unique workflows.

Integrating Zendesk and Jira correctly enables each team to stay in their system, while still communicating with the other side. And they keep their own workflows.

The development team doesn’t need to leave Jira to communicate with customer support. And customer support doesn’t have to learn Jira to provide detailed reports to the dev team. So everybody’s happy in this scenario!

Note: To find out more about aligning your service desk and development teams, you can download this free ebook and read all about it. 👇

service desk development teams alignment

How to Integrate Zendesk with Jira Using Synchronization

Choosing your Integration Solution

Before we can integrate both systems, we will first have to choose a suitable synchronization solution.

In this post, we will use the synchronization tool, Exalate.

As you may or may not know, there is also a general Zendesk add-on for Jira.

As you may or may not know, there is also a general Zendesk add-on for Jira.

But there are some important reasons we’ll be using Exalate.

First off, Zendesk for Jira requires the support of an engineer to select the target project. Whereas, with Exalatem this selection can be automated based on the properties set on the ticket.

There’s also the important factor of keeping both sides autonomous. Because this selection is done on the Jira side, dependencies between the systems are reduced. Whenever tickets need to be escalated towards other projects, that reconfiguration can be done without reconfiguration at the Zendesk side

But the real value comes with the two-way sync Exalate provides.

Some of the added benefits of Exalate are:

  • Synchronize any field you need in custom Jira configurations
  • Sync with multiple instances at the same time
  • Use native comment exchange for all existing comments
  • Customize workflow synchronization
  • Supports the integration with other types of issue trackers such as ServiceNow, GitHub, Zendesk (indeed), HP ALM and more to come

Plus, it’s easy to set up triggers and rules to automatically generate synchronized Jira issues when a Zendesk ticket is created.

But there are some important reasons we’ll be using Exalate.

First off, Zendesk for Jira requires the support of an engineer to select the target project, whereas anyone can easily select a target project using Exalate for Zendesk. This creates more autonomy for the team.

Zendesk for Jira is also limited to Jira Cloud – on the other hand, Exalate for Zendesk is natively integrated into Jira.

But the real value comes with the two-way sync Exalate provides.

With a two-way sync, your team can:

  • Synchronize any field you need in custom Jira configurations
  • Automatically get bidirectional updates when one side is modified
  • Use native comment exchange for all existing comments
  • Link a single Zendesk instance to multiple target Jira instances
  • Customize workflow synchronization
  • Sync with multiple instances at the same time

All of the above cannot be done using Zendesk for Jira.

Plus, it’s easy to set up triggers and rules to automatically generate synchronized Jira issues when a Zendesk ticket is created.

Getting Started with the Jira Zendesk Integration

Without further ado, let’s get into the nitty-gritty of how Exalate for Zendesk works.

1. Install the Exalate Plugin for Zendesk

Exalate for Zendesk is available on the Zendesk app store.

Jira Zendesk Integration Marketplace

You’ll need to install Exalate once for each Zendesk instance you have. Use your Zendesk agent directly to download the app.

When you install the Exalate app, you’ll need to configure the proxy user. This user will be used to carry out all changes in Exalate, including creating issues, updating data, creating comments or attachments, etc.

You’ll have to first create a new agent that will be dedicated to Exalate.

Next, you’ll need to generate an access token. Be sure you are logged in with the proxy account for this step.

You can do this by going to your Zendesk Admin under the Channels – API tab. Once the token has been generated, you can copy it and keep it handy for the installation.

Jira to Zendesk API

When you download Zendesk on the Zendesk app store, you’ll be prompted to choose which account to install it on if you have multiple accounts. Choose the right one and fill in the required fields that match your proxy user.

Installing Zendesk to Jira Integration

Once you click Install, you’re all done.

Now that you are in the Exalate UI, accept the EULA. Then you should navigate to the licensing page. And request the Free 30-day Trial.

exalate for zendesk jira integration

Enter your email address and then check your inbox for the key. Click the green ‘license key’ button and enter the key to activate your trial.

zendesk integration license

To learn more about the installation process, have a look at this Exalate documentation page.

2. Configure a Connection

Exalate is installed, but it’s not doing anything yet. You’ll need to connect it to the Jira instances you need. One side will configure the connection first, then invite the second side to add this connection.

To open Exalate, click on the Exalate icon in your Zendesk app.

The first time you’ll open Exalate, the app will tell you that you have no existing connections yet. You can initiate your first connection by clicking the ‘Initiate connection’ button on the upper right corner.

Connecting Jira and Zendesk

From there, you’ll need to choose the type of connection you want to initiate. Connection type defines how Exalate will communicate with the Jira instance.

You can synchronize between instances, even if one instance is not accessible from the outside network.

Or, you can also use Local Connection to synchronize between projects within one instance.

If the destination instance is accessible from your side, you’ll have another step to go through – specify connection details. If you chose another type of connection, this step won’t be available.

Jira Zendesk Sync Connection Type

Next, you can choose from the preexisting sync rules templates. This will determine which data points will be synchronized from your Zendesk tickets to your Jira instance.

Now that all your options are picked, all you need to do is create a connection name and click ‘Initiate connection’ at the bottom right.

Jira Zendesk Connection Name

Quick note: you can toggle the Active option on and off, which means you can prepare a connection before you have a need for it.


An invitation message will be generated once you initiate the connection. Copy the message and send it to the user who will be in charge of accepting the connection for your Jira instance.

If you are in charge of both, keep the copied message and follow the next steps.

Zendesk to Jira Connection Invitation

3. Accept the Connection Invitation

For the connection to be complete, the second side will need to accept the invitation and configure the settings according to their own workflow.

If you have received an invitation code – or if you are completing a connection yourself from Step 2 – you’ll need to open up Exalate.

This time, you need to click the grey ‘Accept invitation’ button on the top right corner.

A wizard will pop up to walk you through the process. You’ll be prompted to copy your invitation code, which should have been generated when the connection was first initiated.

Accepting Zendesk Jira Integration

Click next, and the code will validate automatically.

Because Exalate auto-detects the type of connection, it will pick the connection type by itself. So you won’t need to configure this on your end.

However, you’ll need to choose the sync rules template for this side. This is the magic of Exalate. Both sides can have their own sync rule templates, so each side can pick the one that is most suited to their workflow.

Once you confirm, the connection is all set!

4. Start Synchronizing Zendesk Tickets

Exalate can automatically create Jira issues that are synchronized to Zendesk tickets based on a specific set of rules.

You can set up these rules using triggers.

On the left-hand side of your Exalate app, make sure you have the Triggers tab selected, then click ‘Create Trigger’.

Sync Jira Zendesk Tickets

You’ll be given an ‘if’ field – this is where you input your condition for synchronization.

For instance, you could choose to only sync issues with the ‘open’ status. Alternatively, you could set up a rule that syncs issues that are of type ‘ticket’ only.

For a full list of possibilities, you can check out the Zendesk syntax.

If you have multiple connections, you’ll need to pick which connection you want this trigger to work for. You can also add notes for extra details.

Each trigger has an ‘active’ toggle, just like the connections. Toggle between on and off to activate and deactivate the trigger.

Once the trigger is set up and toggled on ‘active’, Exalate will automatically detect issues that fit your query and sync these issues to the connected Jira instance.

5. Synchronize Custom Zendesk Fields

If you have custom Zendesk fields set up – also called ticket fields – Exalate can synchronize these to Jira as well.

You can synchronize all standard custom fields including:

  • Multi-select (Options)
  • Multiline (textarea)
  • Text (string)
  • Numeric (number)
  • Decimal (number)
  • Drop down (Option)
  • Date

In any case, there are always two main configuration points: outgoing sync, which is the sending side, and incoming sync, which is the receiving side. You’ll need to do a bit of simple scripting to get this to work.

A. Outgoing Sync

To send the custom field data to the Jira instance, add the custom field to the replica in the Outgoing sync(Data Filter). You’ll need to pick one of the following depending on your circumstances:

issue.customFields is an array of custom fields. Every custom field contains a value or a set of values.

replica.customFields is empty.

Here’s an example code snippet you can add to the outgoing side:

{ replica.customFields. ”Custom field name” = issue.customFields. “Custom field name”}

B. Incoming Sync

The receiving side – your Jira instance – will get a replica and process it in the Incoming sync(Create/Change processor). For simple fields, you can just assign the value of the received custom field to any local field.

The replica.customFields is set by the remote Instance. The issue.customFields is your local customField in Jira where you put the received data from the remote side.

This is an example of how to assign the value of the received custom field to the local custom field using code:

{ issue.customFields. “Remote Address”.value = replica.customFields. “Remote Address”.value }

Set the Value of Your Custom Field in your Sync Rules

You can set a value of the custom field in your Sync Rules. To do that, you’ll first need to know the type of the custom field value.

The custom field value type depends on the type of the custom field itself. Each value type has different properties and fields that can be used during synchronization.

This chart outlines custom field values depending on type:

Zendesk Ticket Field TypeValue on Script
Multi-selectList of Options
Text (single line)String

Common Pitfalls to Avoid After Setting Up the Jira Zendesk Integration

Zendesk has a pretty simple workflow, so it’s quite simple to align workflows when working in tangent with Jira and Zendesk.

However, there’s a caveat. Beware of the way Zendesk handles ‘closed’ tickets!

When you mark an issue as ‘closed’ in Jira, you can still edit the information as much as needed. However, the same is not true for Zendesk.

Once an issue has a ‘closed’ status on Zendesk’s side, it becomes read-only. This means you can no longer change any of the data on the ticket.

Take this into account before marking an issue as ‘closed’.

If you believe you still need to edit data on the Zendesk side, consider not closing the issue.

If, for some reason, you absolutely must mark the issue as ‘closed’ on Jira, consider disconnecting the issues so that the ticket remains open in Zendesk until you perform the necessary edits.


And that’s it! Now you’re ready to fully combine the power of Jira and Zendesk.

Here’s a quick recap of what we’ve covered:

  • Why set up an integration between Jira and Zendesk in the first place
  • How to use the synchronization tool, Exalate, to set up a live synchronization
  • How to set up a connection between both systems
  • How to automating Jira issue creation with triggers
  • How to best align your workflows to make the most of Jira and Zendesk
  • What common pitfalls to avoid in a Jira Zendesk workflow

Hope you liked it! To learn more about Exalate, visit the website here. Or you can try it free on the Zendesk Marketplace.

One Response

Add a Comment

Your email address will not be published. Required fields are marked *