The Jira Salesforce connector that keeps both tools in sync automatically. Integrate once, and every case, issue, and update flows between them in real time.

sync issue types, labels, priority, status...
sync any custom fields, attachments...
sync comments, worklogs, history...
sync opportunity, case, taks, account, product...
sync owner, status, number, priority...
sync contact details, internal comments...

4.3/5
Highest Rated Integration App on the Atlassian Marketplace




Sync any entity using a one or two-way mapping. Configure and map the entities precisely as you require them.

All fields are supported, including:
All fields are supported, including:
All fields are supported, incuding:
Exalate for Salesforce allows syncing all the available objects and their fields within the Script connection. This page only shows the most popular and widely used objects and their fields.

Jira Software (Cloud and Data Center)
Jira Service Management
(Bugs, Tasks, Stories…)
+40 fields are supported, including:
All fields are supported, incuding:

Easily connect multiple projects, instances, and platforms. With local, or external partners.
Set your sync rules to make sure the right data is shared.
Prompt Exalate’s AI to generate rules, or fine-tune with Groovy-based custom mappings and logic for complete control.
Set triggers to automate your sync based on specific conditions.
Now your connected instances will exchange information automatically. Happy syncing!




Two-way, real-time sync between platforms. Updates flow automatically. No manual exports, no delays.

Connect multiple projects, instances, and platforms. Use different rules for each connection.

Get AI-powered recommendations for resolving the issue, including possible fixes and next steps.

Describe your integration goal. Aida reviews your sync rules and connector type, then suggests script changes

Set various conditions for automatic synchronization.


Check the real-time status of your active syncs, spot failures, and trigger a manual push. All from a browser extension, without opening the Exalate console.

Exalate comes with default sync rules, that can be adapted to your specific needs.
Build your unique integration rules with just a few lines of Groovy Script – or a few prompts.




Work with simple integration templates. Or, completely customize your sync.
Set up one-way or two-way syncs between new or existing Jira and Salesforce entities. Sync issues, epics, sprints, etc in Jira. Sync any Salesforce entity such as cases, accounts, opportunities, contacts, custom objects, etc. Map fields by configuring the sync rules. Start automatic sync with triggers.
Control your Jira Salesforce sync at a granular level.

Sync standard and custom Salesforce objects with custom Jira fields. Update the connected Salesforce Account details from the corresponding custom field in Jira.

entity.entityType == “Custom Object Name”
replica.customFields.”CF Name” = issue.customFields.”CF Name”

Sync custom fields in Salesforce like Date or Date/Time by converting them into a common format for Jira.

import java.text.SimpleDateFormat;
import java.text.DateFormat;
def dateCustomFieldValue(replicaCustomField) {
def datePattern = “yyyy-MM-dd HH:mm:ss.S”; // define the desired date/time format
String dateString = replicaCustomField.value;
if (dateString) {
dateString = dateString.replaceAll(“\””,“”).trim();
DateFormat formatter = new SimpleDateFormat(datePattern);
date = formatter.parse(dateString);
return date.time;
}
}
entity.date__c = (Long) dateCustomFieldValue(replica.customFields.“DateCf”)
entity.datetime__c = (Long) dateCustomFieldValue(replica.customFields.“Date

Present a Salesforce case object containing a contact and a linked account on the Jira side.

if (replica.”TYPE” == “Case”) {
if(firstSync){
issue.projectKey = “UD”
issue.typeName = “Task”
syncHelper.syncBackAfterProcessing()
}
issue.summary = replica.summary
issue.description = replica.description
issue.comments = commentHelper.mergeComments(issue, replica)
issue.attachments = attachmentHelper.mergeAttachments(issue, replica)
}
else if (replica.”TYPE” == “Contact”) {
def contact = issue.”SF Contact”
if (contact == null || contact.trim() == “”) {
contact = “””||Name:| ||Title:| |||Email:| || | |”””
}
def name = replica.”Name”
def title = replica.”Title”
def email = replica.”Email”
issue.”SF Contact” = “””|| Name | $name |
|| Title | $title |
|| Email | $email|”””
}
else if (replica.”TYPE” == “Account”) {
def name = replica.”Name”
def description = replica.”Description”
issue.”SF Account” = “””|| Name | $name |
|| Description | $description|”””
}

Sync comment threads and user mentions between Jira and Salesforce. Also, personalize the comment sync based on use case.

replica.comments = issue.comments.collect {
comment ->
def matcher = comment.body =~ /\[~accountid:([\w:-]+)\]/
def newCommentBody = comment.body
matcher.each {
target = nodeHelper.getUser(it[1])?.email
newCommentBody = newCommentBody.replace(it[0],target)
}
comment.body = newCommentBody
comment
}

Cases coming in from Salesforce need to be forwarded to three different work types based on status, urgency, assignee, etc. So the incoming case will appear as a support ticket, bug, or feature request.

Insights in Jira will prompt our Jira to Salesforce integration REST API to sync work items/tickets to Salesforce opportunities.
If you add an insight to a Jira ticket, it will automatically populate a field in the Salesforce opportunity with the number and status of that Jira ticket.


Select an item from a picklist field in the Salesforce case and sync it to a Jira work item’s custom field.

//Jira outgoing sync
issue.customFields.“Hobby”.value = replica.priority?.value ?: “Running”
//Running will be set as a default option if Priority has no selected option
//Salesforce incoming sync
entity.SuppliedCompany = replica.customFields.“text”.value

Christof Cuyper |

Exalate offers a 30-day Free Trial
Small teams with straightforward synchronization needs
Growing teams with moderate synchronization volume
Organizations needing enterprise systems
pricing per integration starts atThis is the entry price for the lowest-cost integration. Your price depends on which systems you connect, items in sync, environments, SLA/support, and add-ons. To get a tailored quote, contact sales.
$
550
/mo
Billed annually
Large-scale deployments with custom requirements
Let's talk
Get in touch for your custom pricing














& more





Answers to the most frequently asked questions
It’s a connection between Jira and Salesforce that keeps issues and cases synchronized automatically. When a case changes in Salesforce, the linked Jira issue updates. When a Jira issue changes, Salesforce reflects it too.
Install Exalate on both Jira and Salesforce, initiate a connection from one side, and accept it on the other. You then configure which fields, objects, and projects are in scope. A basic integration takes about 15 minutes.
Yes, docker installations for both Jira and Salesforce are available with Exalate. You can also deploy Exalate for Jira on-premise. You can even connect Exalate with an instance behind a firewall, called private connections.
We provide both Standard and Premier Support options. Standard Support covers help with specific issues related to installation, upgrades, troubleshooting, and similar concerns. Premium Support assigns you a dedicated support engineer, aids with your configurations, offers enhanced SLAs, and more. Additionally, we offer a specialized Exalate for Service Providers package to facilitate connections with your service providers and foster a robust collaborative network.
Yes, Exalate supports single-tenancy, which minimizes the risk of information exposure at the infrastructure level. When you deploy an Exalate Cloud node, it functions within a ‘Kubernetes pod’ meticulously configured to safeguard against data leakage.
Yes, you can use Exalate to connect multiple Jira and Salesforce instances. Exalate also supports other popular tools like Azure DevOps, Zendesk, GitHub, etc. You can also set up a connected network with your external partners through the MSP program Exalate offers.
Cases, Opportunities, Accounts, Contacts, Change Requests, and any custom objects. All fields within each object are supported, including custom fields.