Table of Contents
Explore
Azure DevOps Zendesk integration

How to Set up a Zendesk Azure DevOps Integration: The Complete 2023 Guide

As more and more information flows through organizations, teams working on different platforms can benefit hugely by sharing this data. What to share and when to share it are at times tough to figure out, and filtering the correct data is also a challenge. Fortunately, integrating systems is the right way to solve these problems. In this blog post, we’re going to show you how to set up a Zendesk Azure DevOps integration, helping your Zendesk and Azure DevOps teams work together seamlessly.

Here’s what we’re going to cover in this blog post:

Why Integrate Zendesk and Azure DevOps? 

What is Zendesk?

Zendesk is a customer support platform offering features galore. It handles all forms of communication with your customers and lets you monitor and record everything. You can easily track all the information and generate metrics, helping you build and strengthen relationships.

What is Azure DevOps?

Azure DevOps is a platform for managing every aspect of the software development process. It covers version control, builds automation, and integrates these with comprehensive project management features. It is especially well-integrated with Microsoft Visual Studio, but can easily be used with other platforms.

Why Integrate Zendesk with Azure DevOps?

Teams that work separately often have information that is useful to the other. A development team using Azure DevOps can benefit from customer feedback collected by a team using Zendesk. The customer support team can also benefit from talking to developers to help solve customer issues.

Some of this mutually beneficial information can be shared manually, but that is error-prone and slow. An automated solution can exchange data regularly and reliably, making sure all items that match the right conditions are exchanged.

With the right setup, you can help your teams make the best use of the data available within the organization and can do so with minimal effort. Once an automated system is in place it will carry on doing your job without getting in your way.

Choosing the Right Technology for a Zendesk Azure DevOps Integration 

There are a few criteria you should take into consideration when picking an integration solution.

Teams will benefit from decentralized integration and be able to have full control over what data they want to share with the other side without having to leave their familiar environment.

The integration also needs to be reliable. Sometimes downtime will happen, but if so the system should be robust enough to recover. Errors on either end should not cause problems on the other.

Flexibility is yet another important factor. Teams should be able to define how they want to share data and set the conditions that trigger data exchange. This makes the way data is exchanged customizable for each side. 

The solution we use for the Zendesk Azure DevOps integration here is called Exalate. Exalate was designed with these criteria in mind and aims to provide the most flexible sync between teams across companies. Once you’ve set it up, it can sit in the background and do the hard work for you.

How to Set up a Zendesk Azure DevOps Integration (the Step-by-Step Process) 

Now, let’s set up the integration. You’ll start by installing Exalate on both platforms. Then, you’ll create a connection. Finally, you’ll configure the connection to share what you want, and decide on the conditions that trigger sharing.

Step 1: Install Exalate on Zendesk

In Zendesk, click the cog icon in the left side menu. That takes you to the admin screen. Click on “Marketplace” in the “Apps” menu.

install exalate for a zendesk azure devops integration

Type “Exalate” into the marketplace search field and you’ll see the app appear.

exalate for Zendesk

Click on the icon, then click the install button on the next screen. 

install exalate for zendesk

You’ll see a popup asking you to enter your Zendesk instance URL. Do so, then click “Install”.

Next, you’ll be taken back to your Zendesk account. You can change the app title, and enable restrictions if necessary, or you can just accept the defaults. Either way, click the blue “Install” button to continue. After Exalate installs, you’ll see its icon in the left side menu at the bottom. Click the icon now.

exalate access to zendesk account

When you first use Exalate, you need to grant it permission to access your data. Click “Allow” to do so. After that, there’s a registration screen where you need to enter your email address and other details. After clicking the button to submit them, you’ll be sent a verification mail. Click the link in it.

verify email for a zendesk azure devops integration

You’ll be taken back to Zendesk and should now be successfully verified. You’re free to use Exalate for 30 days before deciding whether to continue with it. Click “Continue”, and you’re done.

Step 2: Install Exalate on Azure DevOps

Next, you’ll install Exalate on Azure DevOps via the marketplace. It is also possible to do this via docker, so please check out the documentation if you prefer to do that.

Log in to Azure as an admin, then look at the icons at the top right of the screen. 

azure devops marketplace

Click the one that looks like a shopping bag, and select “Browse marketplace”. In the marketplace, search for “Exalate”. 

Exalate for azure devops

Click the app when it appears, then click “Get”. On the next screen, confirm your organization is listed correctly, then click the blue “Install” button. When it’s ready, click “Proceed to organization”.

You can now reach Exlate from within Azure DevOps by clicking the marketplace icon, and selecting “Manage extensions”. You’ll see Exalate listed in the left-hand menu towards the bottom.

The first time you access Exalate, you need to provide a personal access token. To create one, open the settings menu at the top right and click “Personal access tokens”.

Click the “New Token” button. On the form that appears, you need to make sure “Read, write & manage” in the “Work items” section is ticked. It should be by default. You might want to extend the expiration date too, otherwise, you’ll have to create a new token every 30 days.

access token for an azure devops Zendesk integration

Click the “Create” button. When the token is created, you need to copy and paste it somewhere straight away, as there is no way to access it if you don’t. Click “Close” after doing so.

exalate access token for azure devops

Now, back in the Exalate screen, paste in your token. As with Zendesk, enter your email and other details, click the “Agree and submit” button, and wait until you receive an email. Click the verification link, and you are set up in Azure DevOps.

Step 3: Connect Zendesk and Azure DevOps

Now that Exalate is installed on both platforms, you can create a connection between them. You can do this from either side. I’ll use Azure in this guide.

initiate a Zendesk azure devops sync

Click “Connections” in Exalate’s left-side menu. Then click the green “Initiate connection” button.

On the next screen, enter your destination instance’s URL in the text field. Since I’m using Azure DevOps, that’s the URL of my Zendesk instance. After you enter the URL, Exalate will check that it can reach the destination instance. If it can, more fields will appear.

exalate configuration modes

Now you need to decide whether to set up the connection with basic, visual, or scripting mode. Basic mode allows you to set up a connection in an easy manner and is useful for basic synchronization needs. Visual mode allows you to easily configure the connection using simple controls. Scripting mode is more advanced and needs you to work with the ‘Groovy’ scripting language, but it allows you more control.

Choose the mode and then look at steps 4 and 5 to see how you can configure what your connection shares, and when synchronization happens.

Continue with the Basic Mode

After clicking “Next” you will be asked to select the project from a drop-down list. This will be a project on the Azure DevOps side. 

initiate Zendesk Azure DevOps connection

Click next. You will now need to verify if you have admin access on the Zendesk side. 

Click “Yes, I have admin access” since we already have access. In case you don’t have access, you will be asked to manually copy-paste a code on the Zendesk side. 

zendesk Azure DevOps sync admin access

After this, click “Initiate”. This will redirect you to the Zendesk side automatically.

Since Zendesk does not have any projects, your connection is now successfully established and you can start syncing your first ticket right away.

Enter the ticket key and click “Exalate”.

It takes a while for the ticket to be synced. Once done, you will see the status of your synchronization as “synchronized”.

For the basic mode, you can continue to sync tickets or work items as shown above, or you can create triggers to enable automatic synchronization or even sync tickets/ work items in bulk.

Continue with the Visual Mode

After clicking “Next” for the visual mode, you can name each side of the connection. Exalate will combine the names into an overall connection name that you can optionally edit. You can also add a description. It’s a very good idea to do, as it will help your team keep track of things if they create multiple connections.

initiate azure devops zendesk connection

Click “Next” and then “Verify admin access” to ensure Exalate can access the other side.

Click “Accept” and after the verification is successful click “Initiate”.

zendesk azure devops verification

Now that the connection has been successfully established, you can start to configure the connection directly by clicking on the “Configure Sync” button or by editing the connection later.

azure devops to zedensk sync scope

After clicking the button, you’ll see the “Scope” screen. Here you can choose which entities are synced. If you click on the filter buttons on either side of the connection, another popup will appear. 

On this popup, you can specify the properties of items you want to synchronize. These include tags, status, type, priority, and many more. Click “Save” when you’re ready.

You can also choose the sync method in each direction using the drop-down boxes in the middle of the popup. Synchronization can be manual, automatic, or disabled. That lets you make the connection uni- or bi-directional.

Zendesk azure devops visual sync rules

Click “Next” when you’re finished and you’ll be taken to the rules screen. Here you can see how various attributes on synced entities map to each other. If you don’t want an attribute mapped, click its delete icon, and that mapping will be removed. You can also click the edit icon to change which attributes are mapped to each other.

azure devops zendesk integration

When you’ve finished here, click “Publish”. You’ll see your new connection listed on the connections screen.

Continue with the Script Mode

If you choose script mode rather than visual mode, then the first thing you need to do is give a name to the connection just like you did for the visual mode. After that, select the project on the Azure DevOps side from the drop-down list.

initiate exalate script connection

After you click “Initiate”, Exalate will generate an invitation code. 

Click the “Copy invitation code” button to copy it to your clipboard and paste it somewhere safe. Then, click the “Go to remote” button and you’ll be taken to the other side of the connection, Zendesk in this case.

exalate invitation code

In Zendesk, click the “Accept invitation” button, then paste the code into the field provided and click “Next”.

configure zendesk azure devops sync

The connection will now be created. You can click the configure button to proceed to the next steps or edit the connection later.

Step 4: Configure Your Connection to Determine What Information Gets Shared

To edit a connection, click the edit button on its entry in the connections list. You’re then taken to the “Rules” screen. There you’ll see a list of incoming and outgoing sync rules.

azure devops zendesk sync rules

These define what fields are mapped to one another when items are synchronized. If you don’t want to sync a particular field, just delete its line. You can also edit these lines to route fields differently, for example, you might want the ‘type’ in Azure DevOps to match the status in Zendesk.

You can also set specific values for fields. For example, the description could be set as issue.description = “Synced from Zendesk”.

Step 5: Set Up Automated Synchronization Triggers

From the edit connection screen, click the “Triggers” heading. Here you can set the conditions for synchronization. Items that match these rules are copied between platforms.

exalate sync triggers

Click the “Create trigger” button to get started. You’ll see the “Add trigger” screen. There’s a drop-down box at the top to choose the entity type the trigger applies to. Below that is the query field. This is the important bit. You need to write a query that picks out the entities you want.

add triggers to azure devops zendesk sync

Both Zendesk and Azure DevOps have their own version of the search syntax. In the Azure DevOps screenshot above, I’m creating a trigger to select items of the ‘Task’ type. 

In the notes box, you can write text describing what your trigger does and why. That can be a big help if there are lots of connections and triggers in your setup.

There’s also a switch at the bottom, which you’ll need to set to active for the connection to work. That helps you switch triggers on and off as needed. Click the “Add” button when you’re done.

exalate triggers

The trigger is now listed, and can be edited, deleted, or switched on and off easily.

Step 6: Start Synchronizing Tickets

Now that your connection is set up, you can sit back and wait for tickets to be synchronized. Synchronization happens regularly, but not immediately, so make a coffee and wait before checking back in.

Common Use Cases 

Customer Support and Engineering

Developers working in Azure DevOps will use it to assign issues and track progress. Customer support operatives will talk to customers, and log bugs in Zendesk. The customer support team can mark issues to be sent to engineering, and Exalate can detect these and synchronize them.

The synchronization will be selective and only pass on the info developers need to work on the problem. When an issue is fixed, it can be marked as such, and Exalate can automatically send the solution back from Azure DevOps to Zendesk.

Marketing and R&D

A marketing team might use Zendesk to track their interactions with customers and use analytics to tally the most requested features. Exalate can synchronize these with an Azure DevOps system used by an R&D department. 

The R&D department can investigate the customer needs, and see how they can be worked into new or existing products. Their suggestions can be automatically synced back with Zendesk, and the Marketing team can see how the customer base reacts to their ideas.

Conclusion 

In this blog post, we walked you through a step-by-step process of setting up a Zendesk Azure DevOps integration. Now that your platforms are synchronized, you can enjoy the benefits of information sharing without further work. If either of your teams wants to make a change, they can do so quickly and easily. You can also edit and refine the synchronization further, and create more connections for different tasks if needed.

Recommended Reads:

More Insights

#HERpower with Maria from Radix

Groovy Scripting Made Easy: A Beginner’s Guide to Mastering the Basics

Test Post (auth cw)

Demo Blog

Nevaris

How a Construction Tech Company Implemented Exalate to Maximize Workflow Efficiency

How to Sync and Maintain Issue links, Relations, and Sub-task Mappings between Jira and Azure DevOps

Shopping Basket