This article contains the following sections:
Overview
The Salesforce Connector App integrates with Freshdesk, providing agents and admins with data from your CRM.
The app includes two components:
1. An inbox view that displays customer details from Salesforce using their email ID.
2. A data sync feature powered by the Connector App add-on.
Installation
To setup the Salesforce Connector app, follow these steps:
- Create a Connected app in Salesforce.
- Install the Salesforce Connector app in Freshdesk.
1. Create a Connected App in Salesforce
To install the Salesforce Connector App, create a Connected app in Salesforce. To do this,
Log in to your Salesforce account.
Click on the gear icon (⚙️) in the top right corner and select "Setup."
In the left sidebar, under the "Platform Tools" section, click on "Apps" and then select "App Manager."
Click the "New Connected App" button in the top right corner.
Provide details like the Connected App Name, API Name, and Contact Email.
Check the "Enable OAuth Settings" checkbox, and enter the callback URL as https://oauth.freshdev.io/auth/callback
Add the OAuth scopes required for accessing Salesforce details through API. If you are unsure, give access to all scopes. The app uses only the necessary scopes.
Enable the following checkboxes:
Require Secret for Refresh Token Flow
Enable client credentials flow
Enable authorization code and credentials flow
Enable Token Exchange Flow
Require Secret for Token Exchange Flow
Disable Refresh Token Rotation
Set session timeout value as None
Ensure you disable the 'Require proof key for code exchange' checkbox
2. Install the Salesforce App in Freshdesk
To install the Salesforce Connector App on Freshdesk, go to the Freshdesk marketplace by navigating to Admin -> Apps and search for ‘Salesforce Connector App’.
Once you click Install, you will be prompted to enter your Salesforce app credentials.
- Enter your Salesforce URL in the following format: acme.my.salesforce.com.
- Input your Salesforce Consumer ID and Consumer Secret that you got in the previous step from your Salesforce connected app.
Enter your Freshdesk domain. Enter the URL in the format: yourcompany.freshdesk.com.
Enter an admin Freshdesk API key.
To get this, Click on your profile picture on the top right and select 'Profile Settings.'
The ‘View API key’ button is available in the sidebar on the right.
Click on it and complete the captcha verification.
Select the agents who will have access to the Salesforce configuration.
Click 'install'. Once the app installation is complete, navigate to the full-page app on the left navigation bar.
Configuring the Salesforce widget
Choose the specific Salesforce fields you wish to display in Freshdesk.
Decide if agents should have the capability to create duplicate records of existing Salesforce entries.
Hit ‘Save Settings,’ and the Salesforce details of a contact based on the email ID will appear in the widget.
Features of the Salesforce widget app
1. View Salesforce Information:
Access comprehensive information about leads and contacts.
Get insights into account details.
View associated Tasks, Cases, and Opportunity information.
2. Create Salesforce Records:
Directly from the ticket details page, agents can create:
Lead & Contact records.
Tasks, Cases, and Opportunities.
Configuring data sync
Before you configure sync, ensure you do not have any other version of the Salesforce app installed in your account.
To synchronize data between Salesforce and Freshdesk, go to the 'Data sync' tab in the full-page app. This feature is powered by the 'Connector apps add-on.' For pricing information, refer to the section below.
Authenticate the Salesforce account you want to synchronize data with. You have the option to connect either your sandbox or active account.
You will find a tab for recipes. Recipes are workflows that dictate the flow and direction of data.
Choose the direction of data flow based on your requirements:
One way - From Salesforce to Freshdesk
One way - From Freshdesk to Salesforce
Two-way - Sync between both Salesforce and Freshdesk
After choosing the direction, relevant recipes will appear. You can currently sync your contact and account information between Salesforce and Freshdesk.
Determine which fields you want to sync.
Salesforce to Freshdesk:
Contacts:
Step 1: Choose from when the recipe should pick up events. By default this is set to 1 hour. You can choose a date further back but please note that the further you go back to get updates, the more tasks you will consume
Step 2: Navigate to Step 5 of the recipe. Map the Account fields in Salesforce from Step 1 of the recipe to the Company field in Freshdesk. This ensures that contacts that have companies not present in Freshdesk are created
Step 3: In Step 6 of the recipe, choose the unique field based on which you want to search contacts based on. This can be any of the default unique fields on Freshdesk (Unique external ID, email ID, Twitter ID, Phone numbers) or custom fields. By default, this value is mapped to email.
To see how to construct this query, refer to the Filter API documentation in Freshdesk - https://developers.freshdesk.com/api/#filter_contacts
Step 4: In step 8 of the recipe, map contact fields from Step 1. This step updates Salesforce contacts that already exist in Freshdesk. Ensure all mandatory fields from your Freshdesk account have an equivalent field mapped from Salesforce.
Step 5: In step 11 of the recipe, map contact fields from Step 1. These steps create Salesforce contacts that don’t exist in Freshdesk. Ensure all mandatory fields from your Freshdesk account have an equivalent field mapped from Salesforce
Companies:
The unique identifier is companies is the “Name of the company’
Step 1: Choose from when the recipe should pick up events. By default this is set to 1 hour. You can choose a date further back but please note that the further you go back to get updates, the more tasks you will consume
Step 2: Update Step 4 & 6 of the recipes by mapping Salesforce fields from step 1 of the recipe to Freshdesk fields
Step 3: In Step 6 of the recipe, choose the unique field based on which you want to search contacts based on. This can be any of the default unique fields on Freshdesk (Unique external ID, email ID, Twitter ID, Phone numbers) or custom fields. By default, this value is mapped to email.
To see how to construct this query, refer to the Filter API documentation in Freshdesk - https://developers.freshdesk.com/api/#filter_contacts
Freshdesk to Salesforce:
Contacts:
In your Salesforce account, create a field called ‘Freshdesk Contact ID’ under the Contact object
Step 1: Choose from when the recipe should pick up events from. By default this is set to 1 hour. You can choose a date further back but please note that the further you go back to get updates, the more tasks you will consume
Step 2: Navigate to step 4 of the recipe. Map the Account fields in Freshdesk from Step 3 of the recipe to Company fields in Freshdesk. This ensures that contacts that have companies not present in Salesforce are created. The lookup field for Accounts will be the Account name.
Step 3: In Step 5 of the recipe, map the Freshdesk fields to Salesforce fields. You can configure the field which will act as the primary key. This means the recipe will search whether a contact on Salesforce exists with that value. If it’s present, it will get updated, if not a new contact will be created. By default the primary key will be set as email ID
Companies:
Step 1: Choose from when the recipe should pick up events from. By default this is set to 1 hour. You can choose a date further back but please note that the further you go back to get updates, the more tasks you will consume
Step 2: Map the fields from Freshdesk to Salesforce
Ensure these fields are present in the destination product where you're syncing the data.
After completing the configuration, click on 'Test recipe' to verify that the data is flowing smoothly.
If the data flows without any issues, enable the recipe's toggle to start.
The dashboard will display the number of successful versus failed jobs, as well as the tasks consumed.
If you want to modify the configured Salesforce account/authenticate with another user’s credentials, you can do so in the Account section.
Pricing
The Connector app add-on is a paid add-on, priced at $80 per 5000 tasks. These tasks will align with your billing cycle. For example, tasks expire monthly if you're on the monthly billing cycle or at the end of the year if you're on the annual plan.
To purchase the add-on, navigate to Admin > Plans and Billing. Then, select the number of Connector App Task Packs you wish to purchase. Please note that you will be able to purchase the add-on only once you have an active subscription on Freshdesk
How are tasks calculated?
Every action block in the recipe constitutes a task.
The table below shows the task consumption based on the entity and direction of sync.
Sync direction | Entity | Number of tasks |
Freshdesk to Salesforce | Create/Update Contact [No Company] | 1 |
Create/Update Contact with Company [Company already exists in Salesforce] | 3 | |
Create/Update Company | 1 | |
Salesforce to Freshdesk | Create Contact [No Account] | 2 |
Update Contact [No Account] | 2 | |
New/Updated Contact [Account exists in Freshdesk] | 3 | |
New/Updated Contact [Account does not exist in Freshdesk] | 4 |