Setting Up a Jira Zendesk Integration Bidirectionally

Jira Zendesk integration

If you’re on the support or development team, you will need a Jira Zendesk integration to connect the two teams and get everyone on the same page. 

Using the right tool to do the hard work lets your developers focus on building products and lets your support team focus on customers.

When you are setting up a Zendesk Jira sync, you must choose the right technology to keep data safe at rest and in transit, as well as ensure the transformation works correctly.

In this guide, I’ll explain the benefits of Jira Zendesk integration before discussing how to set one up.

Get the Jira Zendesk Integration Guide

Learn how to achieve seamless integration between Zendesk and Jira, step-by-step.

Why Opt for a Jira Zendesk Integration?

Jira is a project management tool for tracking issues and bugs. It is popular with software development teams and is geared toward agile development.

Zendesk is an automated help desk platform that lets you manage customers easily. It is a good option for any team that deals directly with clients, including customer support, marketing, and sales teams.

A Jira Zendesk integration can be hugely beneficial to both sides of the connection. In practice, you will be exchanging information between Jira issues and Zendesk tickets. 

So you need a system that can pick which issues and tickets need to be shared and then filter the specific information you need, leaving just what the other team needs to know.

Choosing the Right Technology for a Zendesk Jira Integration 

When choosing the right integration solution, consider a few features to ensure your integration delivers its best.

  • Decentralized Integration: The integration should enable everyone to adjust their side of the integration independently without jeopardizing security. Each side of the integration should be able to control what they send out and change how they deal with incoming data. 
  • Flexibility: When you set up your integration, you may want to share additional fields or use more advanced logic to process items; the other team might want to filter some of it out. Your integration solution must be flexible enough to enable these changes easily. You should be able to adapt to it quickly. 
  • Reliability: Since your integration involves two different platforms, it should be able to handle potential issues on either side and general connection outages. If your integration solution can’t handle outages properly, it may crash or need to be set up again. 
  • Security and compliance: Standard and advanced security measures, such as token-based authentication, HTTPS, role-based access, etc., are mandatory. You also need a Jira Zendesk integration solution that is ISO 27001:2002 certified and compliant with other industry standards.
  • Multi-platform support: You want a solution that is compatible with Jira, Azure DevOps, GitHub, and the like. This will give you the liberty to connect to just another of your customers, partners, suppliers, or vendors without having to build or configure a completely new integration yourself.

The tool I’m going to use for my Jira Zendesk integration is called Exalate. Exalate was designed with these three issues in mind and is built to solve the challenges that arise when connecting platforms.

How to Integrate Jira and Zendesk in 6 Steps 

I’ll start by installing Exalate on both platforms. Then I’ll create a connection between them. Once the connection is up, you can configure it to control what it sends and then define the conditions for data exchange.

But before we dive in, would you rather watch a tutorial than read a guide? Then check out this video:

Step 1 – Install Exalate on Jira

This tutorial uses Jira Cloud, which you can read more about here. You can also check out the Exalate documentation for Jira on-premise.

Log in to your Jira instance and find the Exalate app in the Atlassian marketplace. To do that, click the cog in the top right, and select “Apps” from the menu.

If you aren’t taken straight to the marketplace, click “Find new apps” in the left-side menu, and type “Exalate” into the search field. A list of Exalate add-ons appears with “Exalate Jira Issue Sync & more” at the top.

Exalate for Jira integrations

Click that, and choose “Try it free”. A confirmation screen will appear. Click the “Start free trial” button. 

After a brief pause, you’ll see a popup appear saying Exalate has been installed successfully. Click “Get started”.

Exalate for Jira trial

You’ll see the initiate connection button highlighted, but we’re going to leave Jira for the time being. We’ll return later on.

Step 2 – Install Exalate on Zendesk

Next, you need to install Exalate on your Zendesk instance.

You can either find Exalate’s Zendesk connector for Jira on the Atlassian Marketplace.

Or just log in to your Zendesk instance, then click the cog in the left-side menu. Go to Zendesk marketplace and type “Exalate” in the search field. 

On its store listing page, click “Install”. A pop-up will appear. Select your account from the drop-down list and click “Install” again.

install Exalate on Zendesk

You’ll be taken back into Zendesk with another install screen. On this screen, you can change the Exalate app’s name if you want to refer to it as something else. You can also set role and group restrictions if you want to limit who can use it.

Change those if you need to, and then click the “Install” button. Exalate will now install itself. You’ll see its icon listed under the settings cog in the left-side menu. Click the Exalate icon now.

Exalate panel zendesk integration

When you access it for the first time, Exalate will ask for permission to read and write data.

Click “Allow” to give it the permissions.

Zendesk Jira integration API tokens

Next, you’ll have to accept Exalate’s user license agreement. Click the green “Accept” button to do so.

Finally, you need to add a license to your installation. Click on the 30-day trial image. Enter your email address in the popup that appears, and click “Send”.

Check your inbox for the license activation mail. When it arrives, copy the code you get onto the clipboard.

Click the license button at the bottom of the Exalate license screen. Scroll down from the 30-day license image to find it. When you click it, a license key field will appear. Paste the code from your email into the field.

Click “Update” and Exalate will register the license for you. You are now ready to go. 

Exalate for Zendesk trial

Step 3 – Connect Your Jira and Zendesk Instances

Now that you’ve installed Exalate on both platforms, you can connect the two. To create the connection, you need to initiate it on one side and accept the invitation on the other side.  

You can start in either Jira or Zendesk. Exalate gives you a consistent interface across platforms so the process is the same either way.

This guide uses Zendesk, so if you aren’t there already, log in, select the Exalate icon on the left, and then click “Connections” in Exalate’s left-side menu.

Jira Zendesk connection

You can see all your connections here. To create your first one, click the green “Initiate connection” button. 

Now you need to enter the URL of the destination side. Here, enter the URL of your Jira instance. Verification is performed to check if Exalate is installed on the destination or not.

Click “I don’t have a URL” if you don’t have one and follow these steps.

Configuration modes in Exalate

At this point, you can choose one of the 3 ways to continue. Exalate allows you to set up your connection using 3 modes: the Basic Mode, the Visual Mode, and the Script Mode

Exalate’s Basic Mode allows you to work with preset sync rules that are generated automatically and cannot be modified. These connections are recommended for use cases with basic synchronization needs.

The Visual Mode gives you an easy way to set your connection up to share what you want, at the time of your choosing. If you prefer, you can use the script mode, which lets you use more advanced features and configurations using programming logic.

The Script allows you to sync almost anything. You can modify the sync rules using the “Groovy Scripting” language. This mode is also AI-assisted. We will learn more about it in the coming section.

We will have a look at all of these modes one by one.

Continue with the Basic Mode

For getting started with the Basic Mode, click “Next” after selecting it. 

This will take you to a screen where you must confirm if you have admin access to the Jira side. 

Click “Yes, I have admin access” and then “Initiate”. If you don’t have access then you will be required to copy and paste an invitation code manually from the Zendesk to Jira instance. 

exalate basic mode admin access

Now, move on to selecting a project on the Jira side.

Select it from a drop-down list and click “Confirm”.

accept jira zendesk sync invitation

This successfully establishes a connection between Zendesk and Jira. Now you can sync your first issue by directly entering the issue key as shown below, or by creating a trigger. You can even synchronize your issues in bulk.

Enter the issue key and click “Exalate” to synchronize it.

successful basic jira zendesk sync

This means an issue synchronized from the Jira side will generate a ticket on the Zendesk side. Wait until you get the “synchronized” message on the screen.

Continue with the Visual Mode 

The Visual mode gives you a straightforward interface that many people find easier to work with than outright scripting.

To get started, select “Visual” from the start screen and click “Next”

initiate zendesk to jira connection

Enter the name and description for both sides of the connection. When done, click “Next”. 

To verify that you have access to the other side of the connection, click “Verify admin access”.

verify admin access exalate integration

Click “Accept” to allow access. You’ll then be taken back to the other window, where you’ll see your confirmation of your verification.

Continue setting up the connection by clicking “Initiate”.

Next, there’s a brief wait while Exalate tries to establish a connection. After a while, you can click the green “Configure Sync” button to configure your connection.

zendesk to jira sync rules visual mode

Here you can see various controls to let you choose what is shared over the connection. On the Jira side of the connection, there is a “Select Project” dropdown box that lets you pick a project to use for synchronization.

zendesk jira integration filters

When you’re happy with the filters you’ve set, click “Next”. Here you can use field mappings to control what happens when items are synced. You might want to map similar items directly onto each other, or you might want to map fields to other fields.

Jira to Zendesk mapping

You can drag and drop these rules if you want to reorder them. The icons on the right of each mapping allow you to edit or delete them. If you select the edit button, you can choose to have that specific field mapped in one direction only, or the default which is both directions. 

edit jira zendesk sync mapping

Some fields, such as comments in the screenshot above, have additional checkboxes allowing you to filter them in more detail.

add mapping in Exalate visual mode

Adding New Mapping and Script

To add a completely new mapping, click the “Add mapping” button at the top right. The add mapping popup works in a similar way to the edit popup. The only difference is you have to pick the fields to get started. 

Once you’ve selected the fields, further controls may appear, allowing you to set conditions, as in the edit mapping popup. When you’ve set things up as you like, click “Save,” and the new mapping will be created.

add script to jira zendesk visual sync

Click the arrow next to the “Add mapping” button and you’ll also see the “Add script” button.

Click this and you’ll see a further popup letting you add rules using a simple scripting language.

The visual mode works better for simple rules, but scripting allows you to get more creative. Read this to learn more.

You add rules by typing them into the field. A few examples are shown when you open the page. 

If you want to sync a field you can type something like jira.issue.labels = zendesk.issue.labels. If you want to set a specific value for Jira’s labels, you can change that to jira.issue.labels = “synced from Zendesk”.

After adding the scripting rules, click “Save” to go back to the main screen.

When you’ve got everything set up, click the “Publish” button. With visual mode, that’s all you need to do. You can edit the connection later by clicking the “Connections” entry in the left-hand menu, clicking the edit icon on the connection you want to change, and going through these steps again.

You can skip and go directly to step 5 if you want to use only the Visual mode.

Advanced Synchronization with the Script Mode

If you don’t want to use visual mode, select the other option- “Script”. 

On the next screen, you need to enter the URL of the destination instance, in this case, the Jira node URL, and it will ask you to fill in the name for the connection and some other details, just like you did for the visual mode.

initiate zendesk to jira connection

When done, click “Next”. You’ll learn how to configure Exalate fully in steps 4 and 5.

copy exalate invitation code

Exalate will now generate an invitation code for you. Copy it to your clipboard. Then paste the code somewhere safe, such as a text editor. 

Now on the Jira side, if you’re not already on the “Connections” screen, navigate there by clicking “Add-ons” on Jira’s top menu, followed by “Connections” from the left-side menu under the “Exalate” heading.

jira zendesk sync invitation code

“Accept invitation”, paste the invitation code, and click “Next”. 

Next, you need to choose a project for synchronization on the Jira side. Choose one from the drop-down list, and then click “Confirm”.

Exalate connection in script mode

After your connection is set up, you can see the connection listed on the “Connections” screen in both Jira and Zendesk. 

In the next steps, you’ll learn how to configure the connection.

Step 4 – Configure Your Connection to Determine What Gets Shared

When Exalate synchronizes items, it copies data from the fields on one side of the connection to those on the other. You can also set specific values for synchronized tickets, or use advanced programming logic to fill in the information.

To get started, go to the “Connections” tab.

Click the edit connection icon. You’ll see four tabs on the next screen with “Rules” selected by default, along with “Triggers”, “Statistics” and “Info”. 

Note: You can configure the connection by clicking on the “Configure Sync” button while creating the connection as well. 

Zendesk sync rules

Looking at the outgoing rules, we can see how Zendesk ticket issues are mapped to the outgoing replica. In this case, all fields are mapped to equivalents with the same name.

If there’s any data here you don’t want to share, you can remove it. You can do that permanently by deleting the line or temporarily by making the line a comment.

Just comment lines by adding “//” to the start. You can also comment blocks by adding “/*” to the beginning and “*/” to the end of the section you want to comment.

If you want to give a specific value to a field, you can do that by replacing any of the issue values with a specified value in quotes. For example, instead of replica.type = issue.type, you can use replica.type = “sent from Zendesk”. 

The incoming rules show you how the data coming from Jira is used to create matching Zendesk tickets. Again, you can specify any values you want, or comment out any you don’t want to use.

There are also advanced ‘script helpers’ that handle complex processing for you. For example, in the incoming sync rules, the line issue.attachments  = attachmentHelper.mergeAttachments(issue, replica) uses a helper to process attachments. 

Attachments are complicated and may contain different file types, so using a helper can make your life much simpler.

There are many different helpers available. Read this guide to learn more. 

Use AI to Generate Sync Rules in Script Mode

Exalate’s Script mode now utilizes AI, with AI Assist appearing as a chat window in both your incoming and outgoing sync rule tabs. All you have to do is enter your sync requirements, and AI Assist will automatically generate the scripts for you.

These scripts are built based on your inputs, existing settings, and Exalate’s scripting API.

Keep in mind, that AI Assist isn’t foolproof. To get the best results, be as precise and detailed as possible when crafting your prompts.

Here’s an example of how AI Assist can help:

If you want to sync ticket statuses from Zendesk to Jira issue statuses, you can enter something like:

For incoming sync (Jira): “Map Zendesk status ‘New’ to Jira’s ‘Open,’ ‘Open’ to ‘In Progress,’ and ‘Solved’ to ‘Done’ in the Jira incoming configuration.”

AI Assist in Exalate

In just a moment, the script will be ready.

Changes are clearly marked: red lines indicate deletions from the existing script, while green lines show the additions. You can accept or reject the AI’s suggestions, and fine-tune your prompt if needed. Once you’re satisfied, make sure to publish the final script.

Step 5 – Set Up Automated Synchronization Triggers

Synchronization triggers determine the conditions under which issues and tickets are synchronized. You might want to synchronize all issues of a particular type or everything assigned to a particular team member. You might want to create a tag that one team can use that marks those items for sharing with the other team. 

Whatever conditions you want to set, it is likely you can implement them with Exalate. The process for creating triggers is the same in Jira and Zendesk, but they each use a different language. Jira uses Jira Query Language or JQL for short. Zendesk uses Zendesk search syntax.

Here’s a guide to setting it up in Jira, and here’s one for Zendesk. For the rest of this step, I’ll use Zendesk to create a trigger.

If you’re following this tutorial step by step, you should be on the edit connection screen. If not, get there by clicking “Connections” from Exalate’s left-side menu, and then clicking the edit button.

jira to zendesk sync triggers

Then click the “Triggers” tab. On this screen, click the “+ Create trigger” button on the right. You can access a similar screen by clicking “Triggers” from Exalate’s left-hand menu. That gives you a similar interface, but you’ll have to specify the connection for each trigger.

Trigger screen in Zendesk

There are several fields on the add trigger popup. There’s a drop-down box to let you choose the entity type the trigger applies to. In this case that will be a “ticket”.

Next, there’s a box where you can enter your query. Here in Zendesk, I’ve used the type: ticket status:open. That will synchronize all open tickets. I’ve also added a description of that effect in the box above. As with connections, it is a good idea to fill out description fields with as much information as possible.

There’s also a checkbox to turn the trigger on and off. When everything is ready, click the green “Add” button.

jira zendesk connection triggers

You should see the trigger listed on the previous screen.

Step 6 – Start Synchronizing Tasks

You’ve set your connection up and defined what is shared. You’ve also set the conditions for synchronization. When an issue meets those conditions, it will be synced. 

For performance reasons, Exalate checks for matching items periodically, so if you don’t see the sync begin immediately, check again after a few minutes.

After a while, you should see the synced items reflected in the connection entry in the connections list. If not, make sure your sync rules and triggers are set up correctly. Don’t be afraid to make adjustments and test them until everything is working as you intend.

Jira Zendesk Integration Use Cases  

Here are a few examples of situations where you can improve your workflows using a Jira Zendesk integration.

Sync Multiple Zendesk Tickets with One Jira Cloud Issue

You can use Exalate to transfer these issues from Zendesk to Jira under the conditions you specify. One way of implementing this is to sync multiple Zendesk tickets to a single Jira Cloud issue

If your customer service team uses Zendesk and your developers use Jira Software, there is likely potential for useful information exchange. 

The customer service team will use Zendesk to create tickets based on their interactions with customers, which will include details of problems and bugs. They need to pass a few of these issues over to the development team working in Jira. An efficient way to handle this is to integrate both of these platforms.

Sometimes, many different customers report similar problems. Instead of creating a new issue for every problem, you can create a single Jira issue for all related problems and add all the relevant details to it.

Sync Multiple Jira Issues With a Single Zendesk Ticket or Task

The marketing team will want to know about new features so they can conduct further research to see what consumers think of them, and designers will want to know about the feedback.

By syncing different Jira issues from the design team related to the same problem with the dedicated Zendesk ticket, the marketing team will have access to relevant information in real time without bothering designers. 

Maintain Issue Priority Across Two Organizations

Teams in different organizations might have a vested interest in a project — say, an outsourcing partner providing development services for a customer. 

To ensure both teams are on the same page about timelines, you can sync issue priority between Jira Cloud and Zendesk. So whenever the admin on the outsourcing team changes the ticket priority, your team will get instant updates. 

Syncing issue priorities during the initial phase of mergers and acquisitions can benefit both parties. This can also be applied internally between teams working on a similar initiative.

You can also handle comment visibility by limiting the comments that will appear on the remote side of the connection.

Connect Sales and Onboarding Teams

If you’re offering services online, you may use Zendesk for sales and Jira to manage your user data. Your sales team will work with clients to set up contracts, during which they’ll collect various data stored on Zendesk. 

When they make a sale, you’ll want to transfer some of this information to Jira. An integration tool can do this automatically, filtering the data and transferring necessary data to Jira tickets. Your onboarding team can use these tickets to help set the new customers up with their accounts.

Companies like DPG Media have used Exalate to connect teams using Jira and Zendesk while keeping the autonomy of each team.

An integration tool can do this automatically, filtering the data and transferring what’s needed to Jira tickets. Your onboarding team can use these tickets to help set the new customers up with their accounts.

Key Takeaways 

A Jira Zendesk integration can increase collaboration productivity, tighten connection security, and automate data exchange. 

Exalate lets you do this easily and gives you a flexible interface to control the integration. You can share what you want and set the conditions for sharing. All of it can be easily adjusted and switched on and off quickly.

If you want a reliable Jira ServiceNow integration, book a demo with our solution engineers.

Frequently Asked Questions

Why integrate Jira and Zendesk?

Integrating Jira and Zendesk can reduce information silos between the engineering and the support team. Tickets raised in Zendesk can be fast-tracked and forwarded automatically without manual errors as issues in Jira. You can filter and send only the required ticket information. The support team will have visibility over the status of the ticket without asking for updates from the engineering team. 

How do I connect Jira and Zendesk?

There are both native and non-native ways to connect Jira and Zendesk. 

A native app is available for connecting these platforms. It gives a holistic view of Zendesk tickets with customer conversations for the team working in Jira so they can resolve issues faster. There are various third-party integration tools like Exalate that help set up bespoke integrations between Jira and Zendesk. You can configure your integration via a visual interface or set up advanced data mappings using the Groovy-based script mode. 

What can I sync between Jira and Zendesk?

You can sync the ticket summary, internal comments, tags, customer information, etc from Zendesk to Jira. From Jira, you can pass the issue status, comments, attachments, etc to help the support agent give status updates to the customer. You can connect multiple Zendesk tickets to a single Jira issue or sync multiple Zendesk instances to a single Jira instance in an MSP (Managed Services Provider) setup. 

The possibilities are endless, so choose a solution that best suits your requirements. 

Can I integrate Jira and Zendesk for free?

Yes, you can integrate Jira and Zendesk for free using a native integration app. However, the app is limited by the data mapping and synchronization it provides. You would typically need to explore third-party apps or build a custom integration using APIs to connect Jira and Zendesk. While some apps or plugins offer free plans with basic functionality, more advanced features and capabilities might require a paid subscription. We recommend you visit the respective marketplaces to explore the available integration options.

Recommended Reads:

Comments are closed.