You are on page 1of 42

JIRA SALESFORCE

INTEGRATION GUIDE
Jira is a project management tool that helps teams plan, prioritize,
and track issues. It is also used as a bug tracking and reporting
tool. Salesforce is a CRM platform that gives teams a single and
shared view of every customer. Both these tools are popular and
best suited for increasing business productivity and efficiency. But
to enhance their power further, there is a need for a Jira Salesforce
Integration.

Such integration can help provide a holistic view of business infor-


mation and increase collaboration between teams who can then
complement each other and work towards gathering the required
expertise.

This guide describes how a Jira Salesforce integration can help


teams collaborate and communicate faster and more effectively. It
then provides a step-by-step approach to achieving this integra-
tion, and finally presents a few common use cases that can benefit
from such integration.

BOOK A DEMO 2
TABLE OF
CONTENTS
04 Why do you Need a Jira
Salesforce Integration?

07 How to Choose the Right Tool for


a Jira Salesforce Integration

11 How to Set up a Jira


Salesforce Integration

37 Common Use Cases

40 Conclusion
CHAPTER 1

WHY DO YOU NEED


A JIRA SALESFORCE
INTEGRATION?
What is Jira?
Jira is a great platform for issue tracking,
project management, and bug fixing. It
has been used widely by both software
and non-software teams for a variety of
purposes. It is also a widely used tool for
teams following agile methodologies. It
comes with many predefined templates
suitable to different teams like Software
Development, Marketing, HR, and the like.

The power of Jira can be enhanced further by a variety of apps available on


the Atlassian Marketplace.

What is Salesforce
Salesforce is a very popular CRM tool. It
is predominantly used by sales teams to
view and manage all customer-related
information. Sales teams can track their
leads, manage their deals, and even pro-
vide after-sales support with the help of
Salesforce. It also provides immense cus-
tomizability to adapt to specific business
needs and is scalable.

AppExchange in Salesforce comes with some great apps to extend its


power further.

With such powerful tools in place and doing what they do best, it’s impera-
tive that they pass information between them. Let’s see why.

BOOK A DEMO 5
Why a Jira Salesforce Integration?
Today’s global teams often collaborate with one another to get the
expertise they need as fast as possible to help them increase their
efficiency. They also wish to keep working in environments they are
already familiar with to save time and get things done faster.

For this collaborative world, teams often copy and paste data man-
ually between their tools, send emails across or even spend time
on meetings and phone calls. This leads to delays in sending data
back and forth, manual data entry mistakes, misplaced or altered
data, and above all, it simply wastes time and efforts of valuable
resources.

So using a tool to help teams pass critical business information


between them not only would streamline communication, but also
reduce the number of costly errors and leave teams to work on more
important things.

For all of these reasons, it is important to consider a Jira Salesforce


integration where information is passed between sales and other
teams automatically in real-time and in a consistent manner so that
it reaches the right people at the right time.

Such integration can help these teams avoid working in silos and
ensures everyone has the correct and up-to-date information.

Now that we have discussed the advantages of a Jira Salesforce


integration, let’s quickly see why choosing the right technology for
this is also crucial.

BOOK A DEMO 6
CHAPTER 2

HOW TO CHOOSE
THE RIGHT TOOL
FOR A JIRA
SALESFORCE
INTEGRATION
Choosing the right tool for your Jira Salesforce integration is very impor-
tant since it hugely affects the benefits such integration can bring.
However, there are certain points you should consider before proceeding.

1. Decentralized Integration

The tool should let teams work independently in their familiar envi-
ronment and still allow information to be passed between them.

In this case, a decentralized integration would be the ideal choice


since each side will control what information is sent over to the other
side and how incoming information is interpreted, without having to
inform or consult the other side in advance.

Of course, this means that after the initial consultation for setting
up the integration, things must run smoothly for the remaining part
without either side interfering with one another.

It is also important that critical information is not passed around


between teams and if there is such a need, then appropriate security
mechanisms are in place.

2. Flexibility
Business and customer requirements evolve and change over time.
The data you synchronize currently might not need synchronization
next year. You might want to synchronize some new data altogether.

With such a change comes the pain of having to spend a huge


amount of time and effort to configure the integration tool.

But a tool that supports information exchange with the least config-
uration, even for the most complex and customized use cases must
be your first priority. Handling changing business requirements with
minimal tweaking must be possible.

BOOK A DEMO 8
3. Reliability
The reality of downtime and the way it is handled cannot be ignored.
The tool must be able to guarantee the synchronization without any
kind of manual intervention. When one system is down, then the tool
should be able to resume operations once it’s back up again.

Considering all these points, we have used a tool called Exalate for
this guide. This is because it inherently supports a decentralized
architecture. It allows you to control information flow and work inde-
pendently on both sides of integration with the help of sync rules.

It also provides security mechanisms like encrypted file exchange,


role-based access controls, secure protocols like HTTPS, and the like.
You can learn more about this by reading Exalate’s security architec-
ture whitepaper.

It also comes with different configuration modes and advanced


scripting capabilities for enhanced flexibility. And above all, it is easy
to use and understand by both business and technical users.

Let us have a look at how a step-by-step Jira Salesforce integration


can be implemented.

BOOK A DEMO 9
Bi-directionally connect your work
across multiple work management
systems in real-time

A frictionless collaboration across internal teams and outside company borders

Complete autonomous control over both outgoing and incoming information

Maximum security due to complete control over the data being shared with the other systems

Limitless customizability to fit your unique and complex integration needs

Set up a synchronization between multiple work management systems. Available for Jira,
Salesforce, Azure DevOps, ServiceNow, Zendesk, GitHub, HP ALM & more

BOOK A DEMO TRY IT FOR FREE


CHAPTER 3

HOW TO SET UP A
JIRA SALESFORCE
INTEGRATION
To begin with, you need to install Exalate on both Jira and
Salesforce. Once that is done, you move ahead and set up a con-
nection between them. You can start synchronizing Salesforce
entities with Jira issues after that. If and when needed, you can con-
figure and control what information is shared between them.

We will look at all the steps in detail. So let’s get started

We also have this and other


tutorials in a video format

CHECK OUR INTEGRATION VIDEOS

BOOK A DEMO 12
1. Install Exalate on Salesforce
Install Exalate on Salesforce by visiting its marketplace i.e
AppExchange. You can check out Exalate listining here.

Go through the details of the app if you want to know a little more
about how it works. Click on “Get It Now” to begin the installation
process.

On the next screen choose the environment to install Exalate on:


Production or Sandbox. Choose according to your requirements. I
have chosen “Install in Production” here.

BOOK A DEMO 13
Read further the terms and conditions displayed on the screen,
then head over to the bottom of the page, accept them and click
“Confirm and Install”.

If you haven’t logged into your Salesforce instance, now is the time
you do.

You will now be redirected to an important screen. This screen


allows you to choose the users that will have access to the Exalate
app. You can decide to choose only admins, all users, or specific
users only. For the specific profiles option, you will be prompted
with a screen that has a list of all the available users and their per-
missions that you can set. Once confirmed with your choices click
You can change
the “Install” button to proceed. the user per-
missions you
have set here
On the next screen, you can have to allow access to third-party anytime!
websites. Click “Continue” to allow access.

BOOK A DEMO 14
This will successfully install Exalate on Salesforce and display the
message “Installation Complete!”. It’s time to request an Exalate
node for your Salesforce instance. To proceed click “Done”.

Back to your Salesforce environment, go to Apps and type Exalate


in the search bar.

Click on the blue “Request Node” button. On the next screen,


“Allow” access to Exalate with the necessary permissions.

Then proceed to fill in your basic details so Exalate can verify


your instance, activate an evaluation license, and make an admin
account to receive error notifications.

BOOK A DEMO 15
After you click “Agree and Submit”, a verification email will be
sent out. For verification, open your email and click “Verify Exalate
instance”.

Voila, your work here is done! You can now log in to your Salesforce
Exalate instance by following these steps.

You can start with setting up your first connection already by skip-
ping to step 3 if you have installed Exalate on your Jira instance.

If you still haven’t, then move on to the next step.

BOOK A DEMO 16
1. Install Exalate on Jira
Installing Exalate on Jira is pretty straightforward. You can do
it directly from the Exalate website, or by visiting the Atlassian This tutorial
uses Jira Cloud,
marketplace. which you can
read more
about here.
We’ll set up Exalate from within Jira here. We are assuming you You can also
use Jira Cloud, but Exalate allows you to synchronize Salesforce check out the
Exalate docu-
with Jira on-premise as well. You can find out how to go about the mentation for
installation for that here. Jira Server.

Check out more information about Jira Cloud here.

BOOK A DEMO 17
To install Exalate, first, click on the “Settings” icon on the top right
of your Jira instance and choose “Apps” from the drop-down menu.

On the left-hand submenu, select “Find new apps”.

In the search box, type “Exalate” and hit enter. You can see Exalate
apps for different issue trackers listed here. Make sure you choose
the right one. Here we select “Exalate Jira Issue Sync & more”.

BOOK A DEMO 18
Now click on the “Try it free” button.

An “Add to Jira” pop will be displayed. You can have a look at the
Exalate app details by clicking on the “View app details” button. If
not, click on the “Start free trial” button to start the evaluation for
Exalate on Jira. A few pop-ups will be displayed that will indicate
the status of the app installation process.

After a while, click on the “Get Started” button

BOOK A DEMO 19
3. Connect Jira to Salesforce
The first thing you do when Exalate gets installed is initiating a
connection on one side and accepting it on the other side.

Here, we will start initiating the connection from Salesforce, but you
can start from either side.

Exalate offers you uniformity in terms of its interface across all


platforms, so you don’t have to worry about where to start and how
to proceed.

Your Salesforce instance looks like this. In case you have logged out,
follow these steps to log in again.

If you have already created connections before, the screen will list
their names and statuses. If this is your first time, you start by click-
ing on the “Initiate Connection” button.

BOOK A DEMO 20
The next screen prompts you to enter the destination instance URL.

The purpose of this is to know whether Exalate has been installed


on the other side or not. Appropriate messages regarding the instal-
lation status are provided here. Click on “I don’t have the URL” if you
are not aware of your destination URL and follow these steps.

We enter the Jira instance URL since we are initiating the connec-
tion from the Salesforce side.

After a quick check, you will now need to choose the mode of con-
nection. Exalate comes in 2 modes: Basic and Script.

Basic Mode: enables you to set up a connection for a limited set of issue fields like
summary, description, comments, attachments, and issue types. The sync rules are
generated automatically by Exalate and cannot be modified. These connections are
recommended for use cases with basic synchronization needs.

Script Mode: is a bit trickier, but lets you use more advanced programming logic.
The scripts are groovy-based, so you’ll have ultimate flexibility to define your sync
however you want.

BOOK A DEMO 21
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.

Here, the first thing you need to do is select the project in which you
want the Salesforce entities to sync. Select the correct one from a
drop-down list and click “Confirm”.

BOOK A DEMO 22
You can now immediately start syncing your first issue by entering
its key in the text box and clicking on “Exalate”.

If this is done on the Salesforce side, you need to enter the Case
number instead.

You can even sync issues or Salesforce entities individually using


the connect operation in Jira, or in bulk using the “Bulk Connect”
option, or create automatic triggers for syncing. We will cover trig-
gers in the coming sections.

After clicking “Exalate”, wait for some time, the appropriate status
messages will be displayed.

BOOK A DEMO 23
Sit back and relax, you will soon get your first issue synced.

This will successfully establish a Jira Salesforce integration in the


Basic mode and you can already see your first synchronization
status.

BOOK A DEMO 24
Continue with
the Script mode

If you wish to use the Script mode, then select it and click “Next”.

You will now need to name your connection. This is important while
identifying your connection in case you have many. Exalate asks
you to name the local instance, in our case Salesforce since we are
initiating the connection from it, and also the remote instance, Jira
in our case. Once you enter the instance names, a connection name
will automatically be generated for you, but you can change it if you
want.

Enter a description stating the purpose of your connection or any


other important details. Be sure to elaborate and take your time!
Once done, hit “Initiate”.

Exalate now generates an invitation code for you. Click on “Copy


Invitation code” to copy it and save it someplace safe.

BOOK A DEMO 25
Your work on the Salesforce side is over. You need to go to your Jira
instance for further steps. To do so, click on “Go to remote”.

On the Jira side, it will open up the “Connections” tab for you by
default.

In case it doesn’t, click on “Apps” at the center of the screen, then


click “Manage your Apps”. On the left-hand submenu look for
Exalate. Click “Connections” under it.

On the “Connections” screen click “Accept the Invitation”.

This opens up a text area for you. Paste the invitation code you just
copied here. Then click “Next”.

BOOK A DEMO 26
You now need to select the project on the Jira side just like you did
for the Basic mode. Select the appropriate one from the drop-down
list. Click “Confirm”.

The connection between Jira to Salesforce has now been success-


fully established.

BOOK A DEMO 27
There are 2 ways to proceed with configuring the connection from
here. You either directly click on the “Configure Sync” button shown
below or edit the connection as shown in step 4. Both of them will
redirect you to similar screens.

P RO T I P

Want someone to help you get started with Exalate?

Our partners are located all over the world in more than 50
countries. They will help you with implementation, support,
and license management for Exalate. They can give a demo,
prepare a PoC, and handle almost any complex use-cases.

FIND A PARTNER

BOOK A DEMO 28
4. Configure Your Connection to Determine
What Gets Shared
Once your Jira Salesforce integration is established, it’s time you
control what information is sent between Jira and Salesforce. With
Exalate, you can achieve this by configuring the connection.

For this, you can go to the “Connections” page in your Salesforce


or Jira instance and see your connection listed there. Click the edit
connection icon.

In addition to the edit connection icon, you can directly go to the


other side of the connection by clicking the remote antenna button,
or you can click the 3 dots and either activate, deactivate, or delete
your connection.

Once you click the edit connection icon, the following screen will
appear. The first tab is “Rules”, which we will see in this step, the
“Triggers” tab will be covered in the next step.

BOOK A DEMO 29
The “Statistics” tab displays the overview of your connection syn-
chronizations like the number of syncs, the date on which you last
synced, etc.

The “Info” tab provides some general information about the connec-
tion like the name of the connection, the destination instance URL,
and the type of connection. You can go ahead and edit the descrip-
tion of the connection if you want here.

On the “Rules” tab, you have sync rules as shown above. These
are in Groovy scripting language. So if you are familiar with it, it
shouldn’t be difficult for you.

There are outgoing sync rules to decide what you want to send to
the other side, and there are incoming sync rules to control how you
interpret information coming from the other side.

Both sides of the connection have these rules, but the only differ-
ence is the way in which the entities are addressed. They depend on
the platform the connection is accessed from.

BOOK A DEMO 30
You can straight away edit the rules inside the textboxes, or you can
copy and paste them somewhere safe and work on them later.

Here we are seeing the rules on the Salesforce side.

As seen in the “Outgoing sync” rules, “replica.description = entity.


Description” means the description of the Case(entity) is saved
inside a replica. The replica is just a placeholder working to save the
values you want to send to or receive from the other side. Here, it
means the description of the Case will be sent out from Salesforce
and will be saved under the description of the issue created in Jira.
As such, on the Jira side under the “Incoming sync” rules: “issue.
description = replica.description” means the description of the rep-
lica(Case from Salesforce) will be copied into the description field of
the Jira issue.

Sometimes there is a need to set particular values for entity fields.


In this case, you simply replace any of the given values with values
inside “quotes”. For example, you can replace replica.description =
entity.Description with replica.description = “sent from Salesforce”.

For data you don’t want to share anymore, you can simply delete
the corresponding line or comment it, so it’s ignored at the time of
synchronization.

Attach “//” before the starting of the line you want to comment.
This will comment only a single line. To add a comment for multiple
lines at one time add “/*” at the start of the block of lines and then
“*/” wherever you want the comment to end.

For instance, as shown in the image below if you don’t want to sync
the description of the Case with the Jira side you simply add “//” at
the start of the line in the Outgoing sync rules.

BOOK A DEMO 31
You can also explore advanced ‘script helpers’ that can help you
with complex processing.

For example, on the Jira side, in the incoming sync rules issue.
attachments = attachmentHelper.mergeAttachments(issue, replica)
uses a helper to process attachments.

This is because attachments are complex and can contain different


file types, so using a helper is an easy way out.

You can edit them in the outgoing sync rules section or the incom-
ing one depending on whether you want to make changes to the
data sent or received.

5. Set Up Automated
Synchronization Triggers
Triggers determine the condition under which Jira issues and
Salesforce entities must synchronize.

You might want to synchronize an “Account” in Salesforce related to


a particular customer, in Jira or automatically create an issue when-
ever a “Case” is created or updated in Salesforce.

Whatever the conditions, they can be easily implemented.

BOOK A DEMO 32
Then click the “Triggers” tab. On this screen, click the “+ Create trig-
ger” 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.

The process for creating triggers is the same in both Jira and
Salesforce, but the search queries at both ends are platform-spe-
cific. For instance, JQL (Jira Query Language) is used for Jira, and
SOQL(Salesforce Object Query Language) is used for Salesforce.

Creating triggers is pretty straightforward and intuitive. You can


always learn more about how to set triggers in Jira and Salesforce.

For this step, we will create it on the Salesforce side.

If you are following this tutorial step-by-step, you should be on the


edit connection screen now. If you aren’t there, go to “Connections”
in the Exalate console and click the edit connection button. On the
tabs above, click on “Triggers”.

Alternatively, you can also create a trigger from the left-hand menu
of Exalate. Both approaches lead you to similar screens, but the
latter one prompts you to select the connection you want to create
a trigger for since it is from the general tab.

BOOK A DEMO 33
If this is your first trigger, the screen will be empty. Click on “Create
trigger” to get started. You will now be taken to the “Add trigger”
screen.

Several fields will pop up allowing you to select the entity type. There
is a drop-down list of Salesforce entities that you can select from,
but the most popular ones are Account, Case, Opportunity, Task, and
Product. Depending on what you select in the dropdown, more fields
will appear.

You can create a trigger by entering specific conditions to filter. For


instance, if you choose Opportunity from the drop-down list, then you
can manually enter the details for it as shown in the screen below.

BOOK A DEMO 34
Or you can toggle the search query button and enter a SOQL query
instead. Write the query in the “If” section.

Don’t forget to add “Notes”. They will help you to understand what the
trigger is created for if you have too many of them.

There is a toggle button called “Active” to either activate or deac-


tivate the trigger. The trigger will work only when it is in the active
stage.

This is useful when you don’t want to keep creating the trigger every
time. Just toggle the button to deactivate it when not required.

Click “Add” when you are done.

BOOK A DEMO 35
You now see the trigger listed on the previous screen.

You can activate or deactivate the trigger from this screen by tog-
gling the “Status” button. You can also click on the 3 dots under
“Action” to either edit, delete, or “Bulk Exalate” from the trigger.
Bulk exalate allows you to sync existing issues or entities that sat-
isfy the trigger conditions you have set.

Don’t forget to click “Publish” once you have made all the changes.

6. Start Synchronizing Tasks

We started by creating a connection between Jira and Salesforce

For the Basic mode, you can sync by creating triggers or synchro-
nizing several issues or entities together using the “Bulk Connect”
option. You can also explore the “Connect” operation that will allow
you to sync existing Jira issues to Salesforce.

For the Script mode, once you are done configuring the synchroni-
zation the way you want, the issues or entities will automatically be
synced when the conditions are met.

Exalate periodically checks for syncs and updates, so if your syn-


chronization isn’t reflected immediately, wait for some time and try
again.

You can configure and alter the sync rules and triggers anytime to
make sure everything is working as you intend it to.

BOOK A DEMO 36
CHAPTER 4

COMMON
USE CASES
Now that we have seen how a Jira Salesforce integration can be
set up, let’s explore a few use cases where this kind of integration
would be useful.

Sales and Project Management Teams

Your sales and project management teams can benefit hugely from
passing information between them.

With a Jira Salesforce integration issue statuses and updates within


Jira can be viewed and tracked in Salesforce by the sales team. Say
UI of a project is handled in Jira. The sales team always has all the
necessary details about the customer feedback or queries in the
form of Cases in Salesforce. Some UI-related Cases could trigger an
issue in Jira which then is assigned to the correct team member by
the project manager.

Comments and status updates of the issue can be then be viewed


on both the integrated applications so that the sales and the pro-
ject management teams can always have consistent and up-to-
date information delivered automatically within tools they are
familiar with.

“ The best feature is definitely its flexibility. We can do a lot


of scripting which we use a lot at this moment. The scripting
makes Exalate as flexible as a solution can be.
CHRISTOF CUYPERS | GANTNER
READ FULL STORY →

BOOK A DEMO 38
Sales and Development Teams

With the tools integrated, the sales team can easily escalate bugs
and feature requests of key Opportunities from Salesforce. When
such a bug or feature request is identified, it automatically cre-
ates an issue in Jira and is taken up by the concerned developer.
Henceforth the status of that issue, the comments passed back and
forth can all be tracked within Salesforce without the sales team
having to contact the developers every time they need a status
update.

The product updates maintained and tracked by the development


team in Jira can also be synchronized to Salesforce so the sales
teams know when to expect the next product update their key cus-
tomer is eagerly waiting for.

Sales and Back-office Teams

If your back-office teams use Jira for generating and managing


licenses and handling contracts, and also for tracking sales deal
progress, then they might benefit from a Jira Salesforce integration

Such tasks, if synced with Salesforce, can help them get real-time
updates on deals and help them streamline their licensing and con-
tracting tasks without making incessant phone calls and sending
emails to the sales team to gather the information they need.

BOOK A DEMO 39
CHAPTER 5

CONCLUSION
We have seen how the synchronization of information between two
powerful tools like Jira and Salesforce can help teams collaborate
and streamline communication. It also ensures data transparency
across teams and helps everyone stay on the same page.

We also saw how a Jira Salesforce integration can be implemented


in 6 steps, setting Exalate up on both sides and connecting them
afterward. Finally, we walked you through creating triggers in
order to customize the synchronization based on your specific
requirements.

We chose Exalate as a tool for this integration because of its inher-


ent support for distributed architecture and advanced scripting
capability.

LEARN MORE

DOWNLOAD THE EBOOK DOWNLOAD THE EBOOK DOWNLOAD THE EBOOK

BOOK A DEMO 41
The Leading Cross-Company
Integration Solution
Exalate is the leading and the only solution specifically
built for cross-company integration scenarios with the
most complex synchronization use cases.



The first thing that hits you when using this app is how easy it is to get
a synchronization up and running. By default, everything works so well.


With the amazing support team and the flexible capability of Exalate,“
we were able to see it work nicely and become an important part of our
work life cycle.



Exalate is marketed as the most flexible synchronization tool for issue
trackers and that short definitions is pretty accurate from what we
have observed.

BOOK A DEMO TRY IT FOR FREE

You might also like