How To Use Freshdesk Salesforce Integration For Better Sales

Published: May 18, 2025 | Last updated: May 18, 2025

Table of Contents

Sales teams and customer support staff can stay in lockstep regarding customers when both teams have access to relevant, real-time data.

This will help them sync information from default and custom fields between Salesforce cases and Freshdesk tickets.

To get this to work smoothly, you’ll need a Freshdesk Salesforce integration solution developed in-house or by a third-party vendor.

In this article, I’ll discuss the core principles of integrating Salesforce with Freshdesk, why the in-house solution isn’t feasible, and explore a few real-world use cases. 

Why Integrate Salesforce With Freshdesk?

The benefits of integrating a Freshdesk instance with Salesforce vary depending on every specific business or technical use case.

But the first reason is to unify the efforts of both teams (within the same organization) with the help of cross-platform integration

For teams in different organizations, Freshdesk to Salesforce integration is the gateway to cross-company collaborations without affecting internal company culture.

Besides, Freshdesk works well for omnichannel support delivery, while Salesforce is the perfect CRM solution for teams looking to provide the best SLA-based support to their customers.

Teams on both sides also get a better view of ongoing operations, open tickets, and trending customer concerns. This, in turn, improves the quality of services delivered to customers as well as their overall satisfaction levels.

More so, integrating Salesforce with Freshdesk using a tool like Exalate breaks down information silos, creating a clear path of communication between support and sales. 

And most importantly, both teams can save money by staying within their own instance without having to onboard new members to a separate platform in order to acquire the required information.  

What Are the Use Cases for Freshdesk Salesforce Integration?

Here are some practical applications of Freshdesk to Salesforce integration for organizations:

Case 1: Escalate Salesforce Cases as Freshdesk Tickets

Whenever a customer creates a case, the contents are escalated to Freshdesk to create a new ticket or update an existing one. This keeps each side in their own environment and provides timely updates.

With a solution like Exalate, you can write scripts to control specific mapping conditions using sync rules. 

Freshdesk ticket to Salesforce case integration Exalate

The standard fields and entities supported for integration between Freshdesk and Salesforce include comments, attachments, descriptions, account information, and many more.

On Freshdesk, you can also sync read-only entities like reporter, source, responder ID, and company ID. You can also sync case source, milestone status, custom fields, and all contact information from Salesforce CRM. 

Case 2: Sync Freshdesk Ticket Status and Priority with Salesforce Case Status

Obviously, Freshdesk cannot share status updates directly with Salesforce because they are incompatible. So, when teams on either side are working on a similar concern raised by the same customer, they can stay updated about progress updates with the help of status mapping. 

Freshdesk to Salesforce integration for status and priority Exalate

Assuming a Freshdesk ticket is marked as “Open” and the priority is “Urgent”, the case status will reflect in the Salesforce Case as “New” with “High” priority. This will help the managers in charge to delegate and allocate resources to address the issue in a timely manner, automating support workflows end-to-end. 

Case 3: Map Multiple Salesforce Cases to A Single Freshdesk Ticket

Multiple related customers could create change requests, incidents, or problems on a Freshdesk instance, and these could be synchronized to a single Salesforce Case to consolidate everything.

Freshdesk to Salesforce integration for MSPs using Exalate

In the same way, multiple related Salesforce cases can be mapped to a corresponding Freshdesk entity (problem or incident), so it can be escalated to the right support team. This prevents the unnecessary duplication of tickets and cases. 

3 Ways to Integrate Salesforce and Freshdesk

All the integration options for Salesforce and Freshdesk can be grouped into the following categories: 

Native Integrations

Freshdesk comes with an out-of-the-box native integration for different apps. You can integrate e-commerce integrations like Stripe and Shopify or work management systems such as Salesforce, Jira, and Zendesk.

Salesforce has an array of native integration options, like Mulesoft, which is a hybrid between a native and third-party solution. 

Mulesoft allows you to connect your Salesforce org with your Freshdesk account. But the major drawback is that you’re limited only to the template connections, which you cannot use for complex integration scenarios.

You’d need a Salesforce connector that gives you more flexibility and customization options.

Custom Integrations

If you want to extend the scope of applicability for your Freshdesk to Salesforce integration, a custom solution is a no-brainer. 

A custom integration solution could be a middleware application developed in-house from scratch to interact with the API of both platforms. It could also be a simple script that performs a specific function and fetches data based on the code.

The problem with custom integration is that it requires a lot of resources to build and maintain. And you will only be limited to the platforms for which the integration was developed. 

Third-party Applications

To avoid the development and maintenance costs associated with custom integration development, the other option is to opt for a third-party integration.

Unlike native integrations, third-party apps allow bidirectional data exchange between CRMs, ERPs, and cloud solutions.

In addition to that, third-party integrations support connections with multiple platforms simultaneously, which makes it possible to scale with your system workload. 

Exalate is an AI-powered integration tool that supports one-way and two-way custom connections between Salesforce and service desk platforms such as Freshdesk, Zendesk, and ServiceNow

It also supports integrations with work management systems such as Azure DevOps and Jira.

Let’s look at the standout reasons why enterprises choose Exalate: 

  • The Groovy-based scripting mode improves the flexibility of the integration by allowing your engineers to implement advanced sync scenarios. Its embedded AI chatbot, AI Assist, automates script generation.
  • Exalate uses automated triggers to streamline the replication of tickets and other desired actions on either side of the connection. They rely on native conditional logic to control how a connection acts when an event occurs (ticket priority changes, for example).
  • Exalate provides an IaaS (integration as a service) offering for companies connecting with multiple partners, vendors, MSPs, customers, or suppliers.
  • It uses a single-tenant architecture to isolate your system (and data) from other companies. The system also uses JWT-based authentication, role-based access controls, and secure data encryption protocols.
  • Exalate also scales according to the ticket volume or the number of issues without needing additional maintenance or upgrades.

How to Implement Freshdesk Salesforce Integration Using Exalate

The following are the integral steps involved in installing and configuring Exalate for Salesforce to Freshdesk integration.

Step 1 – Install Exalate on Salesforce

To install Exalate for Salesforce, go to the AppExchange marketplace and search for it. You can also get Exalate from the integrations page.

Exalate Salesforce connector in the AppExchange marketplace

 Click “Get it Now” to install it in Production or click “Try It Free” to install it in the Sandbox.

Install Exalate for Salesforce in production

Fill out the required fields. Check that you have read and agree to the Terms and Conditions, then click “Confirm and Install.”
 

Log in to your Salesforce account. You are automatically redirected to the Salesforce login screen once you confirm the installation.

Select a group of users who have permission to use the Exalate app.

Check out how to manage users’ permissions in Exalate for Salesforce. Choose the installation option and click “Install”.

Approve third-party access for Exalate

Then check the box and click “Continue” to approve third-party access.

Click Done to complete the installation and head back to your Salesforce instance.
 

Next, go to Setup and search for “Trusted URLs”. Click “Add new trusted URL”.

Add trusted URLs for Exalate on Salesforce

Fill in Trusted URL Information: API Name and URL. Check all the boxes in the CSP Directives section, then click “Save”.

Next, go to Setup > Permission sets.

Exalate permissions sets for Salesforce

To assign a permission set to a user, go through these steps:  Exalate Admin > Manage Assignments > Add assignment > Select User with System Administrator Profile > Assign > Done.

The next step is to create the Connected App. Go to Setup > Apps> App Manager and click on  New Connected App.

Add Exalate as a connected app from Lightning Experience App manager

Select the “Create a Connected App” option:

Create a connected app for Exalate in Salesforce

On the setup page, fill in these fields:

  • Connected App Name
  • API Name
  • Contact Email
  • In API (Enable OAuth Settings), check Enable OAuth Settings
  • In the Callback URL field, paste: https://connect.exalate.net/rest/oauth/callback
  • Select and add all rows in Selected OAuth Scopes
  • Require Secret for Web Server Flow should be selected
  • Require Secret for Refresh Token Flow is optional

Important: Do not select Require Proof Key for Code Exchange (PKCE)!

In case this field is not editable or this feature is required by your organization, please contact support for help with the additional steps required.

This issue is being addressed and will be resolved in an upcoming release.

connected app configuration

Click “Save” when done.

Connected app: Exalate for Salesforce

Important: Wait 10-20 minutes after creating the connected app for the changes to be fully applied.

Go to Setup > Apps> App Manager > Your created App > View > Manage Consumer Details and collect the Consumer Key and Consumer Secret from the connected app.

Exalate connected app consumer details

Once the application is installed, you can request an Exalate node. First, find the Exalate app in the search bar.

Exalate console from Salesforce home

Copy the Consumer Key and Secret from the connected app and paste them here, then click on “Request Node”.

Consumer key and secret for Exalate

Click Allow on the app permissions.

After you allow the permissions, you will be redirected back to the Salesforce interface.
Note: The Exalate console may render in a few minutes.

Once you have requested the node, it is time to configure it. 

Fill in your contact information in the registration form. Exalate sends you a verification email to verify your instance, activate an evaluation license, and create an admin account to receive error notifications.

user registration exalate console

Click “Agree and submit” to agree to the EULA and continue.

Note: After clicking Agree and submit, you accept our End User License Agreement (EULA). You can read it here: https://static.idalko.com/legal/eula-addons.pdf.


Click “Resend email” if you have not received a confirmation email. Click “Change email” to modify the email address provided earlier.  

If you encounter an error during verification, check out Solving issues with email verification.

Open your email and click “Verify Exalate instance”. 

Verify Exalate instance for Salesforce

Once you receive the email and verify the registration of the node, you are redirected to the Exalate console admin > Connections screen.

Congratulations! The registration process has been completed.

The entire documentation page for the installation process is available here. You can also install and host Exalate for Salesforce on Docker

Step 2 – Install Exalate on Freshdesk 

Next, request your Freshdesk Exalate node from the integrations page. Enter your basic information, and our team will reach out to you with further details for the trial

​​After submitting the form, you will be redirected to your new node in a separate tab. Save the link to this node, as it serves as your permanent access point to the Exalate Freshdesk node.

Next, fill in and save the “General Settings” fields by providing your Freshdesk instance and the credentials of the Exalate proxy user. 

configuration setting for Freshdesk node

Note: A proxy user is a Freshdesk account that is responsible for accessing the information stored on your instance and applying any incoming changes.

The form fields signify the following:

  • Tracker URL: a URL of your Freshdesk account where you install Exalate.
  • Exalate URL: a Freshdesk node URL, provided by Exalate.
  • User: an account of a proxy user.
  • Password / API Token: an API key generated for your Freshdesk proxy user. See details here.

To complete the registration, provide the details and credentials of the user who will configure synchronization in the Exalate console. Then, read and agree to the End User License Agreement.

registration page for Exalate EULA

An email confirmation will be sent to your mailbox. If you can’t find it in your inbox, check the spam or junk folder.

verify Exalate instance for Freshdesk


In the confirmation email, click “Verify Exalate Instance.” This will redirect you back to the Exalate console application to configure your first sync.

To change the proxy user in Exalate for Freshdesk, log in to the Exalate admin console. Then go to “Settings” and input the necessary details.

Configure General Settings for Freshdesk

Once done, click “Save” to complete the Freshdesk installation process.

Step 3 – Connect Your Salesforce and Freshdesk Instances

Now that you’ve installed Exalate on both platforms, you can connect them. 

Exalate allows you to set up your connection using the Basic Mode and the Script Mode. 

The 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 AI-assisted Script Mode allows you to sync almost anything. You can modify the sync rules using the Groovy language. This mode is also AI-assisted. We will learn more about it in the coming section.

Basic Mode Connection

Let’s start with the simple Basic Mode connection from the Salesforce side. You can also start from the Freshdesk side. One side initiates the connection, and the other side accepts the connection invitation. 

In your Salesforce instance, click the “Initiate connection” button. 

initiate connection options exalate

Then enter the destination URL and select the Basic Mode.

exalate initiate connection screen

Confirm if you have admin access to the destination instance. The flow is different depending on the user’s access level. We’ll cover both instances.  

If you have admin privileges, click on “Yes, I have admin access” and then click “Next”. You’ll be redirected to the destination instance to establish a connection.

confirm admin access for Exalate instance

You will be automatically redirected to the destination instance, which will also verify and set up the connection. After establishing the connection, you can sync your first issue in Exalate to see how it works.

If you don’t have admin privileges, then click “No, I have admin access”. Click on “Initiate”. 

copy invitation code

Copy the invitation code to your dashboard.

You can send the invitation code to the destination instance admin and click “Done”.

Next, go over to the destination instance. Click on “Accept Invitation” under the Connections tab in the Exalate Admin Console in the destination instance and paste the invitation code.

paste and accept invitation code

Once pasted, click “Next” to complete the configuration and set up the connection. 

enter entity key Exalate

Next, enter an “entity key” and click Exalate to complete the process.

Script Mode Connection

In your Salesforce instance, click the “Initiate connection” button. 

initiate connection screen for Exalate

Enter the Destination Instance URL, then select Script Mode and click “Next”.

Exalate configuration modes

After selecting Script Mode, you will see a screen where you can enter the details of the connection.

Enter connection name and description

Enter the names and description of the connections for both the local and remote instances. Then click “Initiate”.

Copy the invitation code to your clipboard and click “Done” before heading over to the destination instance. 

copy invitation screen Exalate

To finish setting up the connection, the partner on Freshdesk needs to accept the connection invitation.

Navigate to the Connections tab in the Exalate console on Freshdesk and click “Accept Invitation”.

accept invitation button Exalate

Paste the invitation code and click “Next”.

Accept invitation screen Exalate

Congratulations! The connection is set up. 

Exalate configuration success

You can now start making changes to the sync by clicking on “Configure Sync”.

Step 4 – Configure Your Connection to Determine What Gets Shared

Exalate also allows you to configure the sync rules using the “Rules” tab. 

You can choose to send or receive specific information between Salesforce and Freshdesk. For instance, you can choose to send attachments from Salesforce to Freshdesk. 

Click on the “Edit Connection” icon next to the Script mode connection or click the “Configure sync” button above to get started. 

edit connection in Exalate

This will redirect you to the “Rules” tab. Rules are divided into Incoming and Outgoing sync rules. 

outgoing and incoming sync exalate

The above image shows the rules for the Salesforce instance. Similar rules exist on the Freshdesk side. 

Here, the Outgoing sync decides what information leaves the Salesforce instance, whereas the Incoming sync decides how the information coming from the Freshdesk instance is mapped. 

outgoing and incoming sync rule tab exalate

The rules use the Groovy language, so if you already have some experience, all the better. 

Note: You can learn more about Groovy in chapter 4 of the Exalate Academy or refer to our Groovy scripting guide.

Each rule shows how fields are mapped onto each other.

replica.attachments = entity.attachments

You can adjust these lines to change anything you like. If there are fields you don’t want to sync, delete them. Read more about the sync rules here.

When you’re done, click the green “Publish” button to save your changes.

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.

For instance, you can write a prompt to map the statuses of a Salesforce case with a Freshdesk ticket so that any “Open” Salesforce case will be reflected as a “New” Freshdesk ticket.

Exalate AI Assist

The part highlighted in green is the added code, while the part highlighted in red is the deleted portion. If you’re satisfied with the output, click “Insert Changes”. Otherwise, click “Discard”.

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

Keep in mind that AI Assist is prone to errors. To get the best results, be as precise and detailed as possible when crafting your prompts.

Step 5 – Set Up Automated Synchronization Triggers

Triggers define the synchronization conditions. If you click the “Triggers” tab on the left panel of the Exalate console, you can access the automated synchronization triggers.

Note: You can also set them by clicking the “Triggers” tab when you edit the connection. Only this way, you won’t need to select the connection. 

If you want to create a new trigger, click the “Create Trigger” button at the top right.

Exalate triggers configuration

Triggers are written in a different language depending on the platform. Freshdesk and Salesforce use their own query languages to create triggers. Read more about it in the documentation.

On the “Add trigger” screen, there’s a drop-down box at the top where you can select what kind of entity the trigger applies to. 

The Freshdesk trigger looks something like this. 

filter = new_and_my_open, requester_id = 103099112292

This query filters for tickets that are new and open that are assigned to the user (with ID 103099112292), making the query.

On the Salesforce side, you have to use the Salesforce Object Query Language to set the triggers.

Back in the trigger list, you can see the entry you just created. Now, items that match the condition will be synced automatically.

You can edit or delete these triggers by clicking the respective icons in the list under the “Action” heading. If you click the three dots, you also get the option to “Bulk Exalate” and “Unbulk Exalate”.

Step 6 – Start Synchronizing Tasks

You’ve set up your Freshdesk Salesforce integration and defined what is shared. You’ve also set the conditions for synchronization. When a ticket or case 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. Make adjustments and test them until everything is working as you intend.

Get Started with Your Freshdesk Salesforce Integration

Salesforce and Freshdesk integration can help your organization provide better support and improve customer satisfaction. Before choosing any integration solution, consider how it fits into your organization’s budget and objectives.

Exalate provides one-way and two-way connectivity with partners, clients, MSPs, and internal teams. You just need to set up the connection and configure the triggers to kick things off.

Want to learn more about Exalate? Find out how it works. To discuss your use case and see if Exalate is the right choice, book a demo with our integration engineer.

Recommended Reads

Unlock Exclusive Content

Join +5.000 companies and get monthly integration content straight into your inbox

Shopping Basket