Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How to set up a Jira Salesforce integration with Exalate

Want to set up a Jira Salesforce integration? You're in the right place. This type of synchronization connects teams both internally and externally, keeping sales, support, and development aligned without manual data entry.

Here is a common scenario.

When you connect your sales and product teams, the salespeople using Salesforce will get updates from developers using Jira regarding customer requests, problems, queries, and more.

By setting up a Jira Service Management integration with Salesforce, the sales team can also pass customer cases to support agents in Jira to increase customer satisfaction and visibility.

There are apps available in the Atlassian Marketplace and AppExchange that integrate Jira and Salesforce. However, most of them lack the ability to handle advanced, bidirectional sync between Jira and Salesforce. I'll discuss a couple of use cases below to show why that matters.

Exalate supports integrations with Jira, Jira Service Management, ServiceNow, Azure DevOps Cloud, Azure DevOps Server, Salesforce, Zendesk, Freshservice, Freshdesk, Asana, GitHub, and custom connectors, so you can extend your sync well beyond just two platforms.

Why Integrate Jira and Salesforce

Integrating Jira and Salesforce bridges the gap between your CRM and development workflows. Without integration, teams rely on manual copy-paste to move case details, status updates, and customer context between systems. That leads to errors, delays, and missed escalations.

With an integration in place, Salesforce Cases can automatically create corresponding Jira work items. Updates like status changes, comments, and attachments flow between both platforms in real time. Sales and support teams stay informed about development progress without ever leaving Salesforce, and developers get full customer context without logging into the CRM.

Common use cases include syncing Salesforce Cases to Jira bugs, mapping Opportunities to Epics for product planning, escalating support cases from Salesforce to development in Jira, and bidirectional status updates that keep everyone on the same page.

How to Integrate Jira and Salesforce Using Exalate

Here are the steps to integrate Jira and Salesforce using Exalate. You will set everything up from the Exalate app through a unified console.

Step 1: Log In or Create an Exalate Account

Go to exalate.app. If you already have an account, log in directly. New users can create an account by entering their email and verifying it, or by signing up with Google.

Workspaces help you organize and manage your integrations and connections in a single place. You can find all your existing workspaces under the "Workspaces" tab.

To create your first workspace, click the "+ Create Workspace" button, enter a name and description, and click "Create workspace" to confirm.

Step 2: Connect Jira to Salesforce

Once you have a workspace, you can start creating connections between Jira and Salesforce.

 

image5.png

To set up your connection:

  • Click "+ Add connections" then "Create new connection".
  • Enter the name for your first system (System A). You can name either Jira or Salesforce as System A. It does not matter which one goes first.
  • Enter the URL of your system. For example, if you start with Salesforce, enter your Salesforce instance URL.
  • Once you enter the URL, a validation check occurs. If your system is already part of the existing workspace, authentication happens automatically. If the system is part of a different workspace, it will be imported into your current workspace.
  • For new systems, you will need to enter your authentication details. Salesforce uses API tokens, and Jira uses OAuth as well.
  • Complete the same setup process for the other side.
  • Give your connection a name and description.
  • Click "Next".
  • Review the details to ensure they are correct, then click "Create connection".

When the process is complete, select "Continue to configuration" and choose a Jira project you want to use for synchronization.

 

image7.png

Note: To create a connection, you will need an active Exalate account with at least one workspace and the access credentials for the systems you want to connect.

Step 3: Configure Sync Rules

After creating your connection, you have two configuration options: "Quick Sync" and "Edit & Test".

Quick Sync lets you publish the starter configuration and sync one work item between Jira and Salesforce to verify that your connection works properly. Under the "Item sync monitor," enter the work item key in Jira or the Case number in Salesforce, then click "Sync Now".

Edit & Test opens the draft editor, where you can customize your sync rules. Click "Create a new version" or select "Open latest draft" to begin editing. Changes in the draft are saved automatically.

 

image4.png

Sync rules are based on Groovy scripts. With these scripts, you can add custom data logic and field mapping, along with conditional flows for any complex use case.

The scripts are divided into incoming and outgoing:

  • Outgoing script: Defines what data leaves your system. If the sync direction is from Jira to Salesforce, the outgoing script holds the values passed from Jira.
  • Incoming script: Defines how the values coming from the other system are mapped. The incoming script on the Salesforce side determines how Jira data appears in Salesforce.

The Replica works like a message payload and holds the actual data passed between the synced entities. It exists in JSON format.

For instance, to send custom fields from Jira to Salesforce, use the following code snippet in Jira's outgoing sync:

replica.customFields."SF Contact" = issue.customFields."SF Contact"

Here, "SF Contact" is the display name of the Jira custom field. In Salesforce's incoming sync, you can choose to display the custom fields coming from Jira in any field of your choice.

AI-Assisted Configuration with Aida

Instead of manually writing scripts, you can use Aida, Exalate's AI-assisted configuration feature, to generate sync scripts.

Aida is available in both incoming and outgoing script sections. Here is how it helps:

  • For Outgoing scripts: Describe what data should leave your system. For example, "Exclude attachments" or "Only sync high-priority Cases."
  • For Incoming scripts: Describe how incoming data should be applied. For example, "Map Salesforce Case statuses to Jira work item statuses" or "Set a default assignee if the user cannot be found."

Based on Exalate's scripting API and your existing scripts, Aida generates working Groovy scripts with proper field mappings. Once Aida finishes drafting your script, review the suggested changes. Green highlights indicate new additions, and red highlights show lines that will be removed. You can choose to "Insert" or "Discard" the suggestions.

Note: While Aida is helpful, like any AI tool, review the generated code before applying it.

 

image6.png

Test Run: Validate Before Production

Once your sync scripts are ready, you can test them using the "Start Test Run" option. Select the work items you want to apply the sync to, then click "Start Test Run". You can view all the incoming and outgoing replicas for each item in their respective tabs.

Review how the sync configuration will be applied to your items, preview the replica, and verify that the field mappings look correct. If needed, go back, adjust the scripts, and test again. Deploy only when you are confident everything works correctly. This safety net prevents errors from affecting live data.

 

 

image3.png

Once everything matches your needs, click "Publish Version" to apply the updated configuration to your live synchronization.

Step 4: Automate Your Sync with Triggers

Triggers control how your sync starts automatically. Once you set them and their conditions, every time that set of conditions is met, they will sync the entities you configured.

Click the "+ Add trigger" button to start creating triggers. Triggers are platform-specific:

  • For Jira: Use Jira Query Language (JQL) syntax to specify conditions for work items.
  • For Salesforce: Use the Salesforce Object Query Language (SOQL) syntax. You can also select trigger conditions through a visual interface.

Some common Jira triggers:

  • project = PROJA AND labels = sync
  • issuetype = Bug AND assignee in (mia)
  • reporter in (alana) order by lastViewed DESC
  • issuetype = Task AND status = Done

Some common Salesforce triggers:

  • Sync any newly created Salesforce contacts to Jira from today
  • Sync any Salesforce account object whose details were modified in the last 7 days
  • Sync any case created within this week
  • Sync any case belonging to a particular supplied company
  • Sync any opportunity that was modified in the last 30 days
  • Sync any leads created this month

Save your changes by publishing them. Your synchronization will start automatically based on the sync rules and triggers you have set.

 

 

image1.png

Troubleshooting with Aida

Aida also helps you troubleshoot errors faster by offering clear and context-aware suggestions right where you see them.

If there is an error, go to the "Troubleshooting" tab of your workspace. Hover over the error you want to diagnose and click on the Aida icon that appears next to it. You will see an AI-generated explanation of the error and a proposed solution. You can also "View Full Analysis" for more context, or view "Error details" and "Replicas" for the full stack trace and JSON format.

 

image2.png

Advanced Jira Salesforce Integration Use Cases

Products, cases, opportunities, accounts, tasks, and contacts are some common Salesforce objects that can be synced. Beyond that, you can sync almost any default or custom Salesforce object and its fields using Exalate's scripting engine.

In Jira, you can sync any default and custom work item fields. You can also sync sprints, epics, work logs, third-party app data, and much more.

Some common Jira Salesforce integration scenarios are:

  • Update Salesforce account details via a Jira custom field.
  • Sync date and time fields between Jira and Salesforce, irrespective of their native formats.
  • Sync multiple related Salesforce objects to Jira bidirectionally. For instance, a case linked to an account and contact is synced to Jira with the required details.
  • Sync comment threads and user mentions between Salesforce and Jira.
  • Sync any Salesforce entity available via REST APIs.
  • Map Salesforce Case statuses to Jira work item statuses with custom transformation logic.
  • Convert Salesforce Opportunities into Jira Epics for product planning and development tracking.

Why Use Exalate for Jira Salesforce Integration

Exalate combines flexibility with operational simplicity through a unified management console:

  • Script-based engine: Groovy scripting for any custom Jira Salesforce workflow, no matter how complex.
  • Unified console: Manage all integrations and connections from one interface. Form multi-tier Jira Salesforce integration networks.
  • Aida (AI-assisted configuration): Helps generate and troubleshoot sync scripts using natural language prompts.
  • Test Run: Test your sync scripts against real data before production deployment.
  • Script versioning: Every script publish creates a new version. Full audit trail of who changed what and when, with rollback capability.
  • Real-time sync: Complete queue visibility and full work item history.
  • Security-first: ISO 27001 certified, role-based access control (RBAC), encryption at rest and in transit (TLS 1.2/1.3), and decoupled access control. Visit the Exalate Trust Center.
  • Outcome-based pricing: You pay for active work items in sync, not user seats or per-transaction fees. Each integration is billed independently with subscription-based plans, and the cost per item decreases as you scale.

And voila! You have set up your Jira Salesforce sync using Exalate, with automation and beyond.

If you would like to learn more, we can discuss your use case further. Book a call with our integration engineers.

 

0 comments

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events