The Freshdesk for Salesforce app is available in the Salesforce AppExchange and can be used with the Enterprise Edition and above.  

Note: Only Salesforce Admins can install the Freshdesk-Salesforce package.

Install the app from Salesforce AppExchange:

Here are the steps to install the Freshdesk package on Salesforce:

  1. Find the App: Go to the Salesforce AppExchange and search for "Freshdesk," then click Get it NowAlternatively, if you cannot locate the app, use this link: Freshdesk for Salesforce.

  1. Choose Installation Environment: Select whether to install the app in your sandbox or production environment, based on your current requirement.

  1. Confirm Installation:

    • Log in to your Salesforce account when prompted.

    • Accept the terms and conditions.

    • Choose who the app will be installed for: everyone or only Admins, depending on your specific use case..

Post-installation steps 

  1. Once the installation is complete, you will be redirected to the Installed Packages page. 

  2. From the left pane, go to Security Controls > Remote Site Settings

  3. Click New Remote Site to create a new remote site. Enter your Freshdesk URL and name, and click Save. If you have multiple Freshdesk accounts to connect to your Salesforce org, you can add a remote site setting for all. 

  4. Freshdesk URL - This is the domain url of your freshdesk account. It should be in the format https://acme.freshdesk.com

Note: The Remote Site Name must only have letters, numbers, and/or  underscores. Also, the Remote Site URL must start with "https://”


User Access Configuration for Freshdesk on Salesforce


To prevent access issues, grant the user profile access to the following Apex Classes and Custom Metadata Type:

Type

Name

 Apex Class

freshdesk.FreshdeskTicketUtility

 Apex Class

freshdesk.MultipartFormGeneration

 Custom Metadata Type

freshdesk.Freshdesk Ticket Configuration


Assign the necessary permissions to control user access for Freshdesk ticket management in Salesforce. You have two options for assigning these permissions: Permission Sets for specific users or Custom Permissions for an entire profile


Option 1: Assign Permission Sets (for specific users)


Assign the appropriate Permission Set to users based on the access level required:

Permission Set

Purpose

Freshdesk Auth Access

Provides access to add/modify Freshdesk account authentication details (e.g., API keys).

Provide this access to ‘Admin’ users only.

Freshdesk Configure Access

Allows configuration of table columns and fields used for creating new tickets.

Freshdesk Only Notes Access

Grants permission to add notes to a ticket without allowing editing of the ticket details.

Freshdesk Create Access

Provides both create and view access to Freshdesk tickets within the Salesforce organization.

Freshdesk Edit Access

Provides both edit and view access to Freshdesk tickets within the Salesforce organization.

Freshdesk View Access

Provides view-only access to Freshdesk tickets within the Salesforce organization.


Option 2: Assign Custom Permissions (for the entire profile)


Assign the appropriate Custom Permission to the profile:

Custom Permission

Purpose

freshdesk.Configure Freshdesk View

Controls which fields are visible on the tickets table and which are available for ticket creation from Salesforce.

freshdesk.Create access Freshdesk

Enables the creation of new Freshdesk tickets directly from Salesforce.

freshdesk.Edit access Freshdesk

Enables editing of details for existing Freshdesk tickets.

freshdesk.View access freshdesk

Enables viewing the list of Freshdesk tickets.

freshdesk.Freshdesk Auth Access

Grants access to the authentication page for entering sensitive details (like the API key) to connect the Freshdesk account to Salesforce.

frehsdesk.Add_Only_Notes_In_Freshdesk

Allows users to add notes to a ticket even if they do not have the permission to edit the ticket details.

Configure Freshdesk Auth Settings in Salesforce

  1. Go the App launcher icon, in the top left corner and search for the “Freshdesk Auth” and open the freshdesk Auth tab

  2. After opening the Freshdesk Auth tab, you will see the below screen. Click on the Add new button and enter the details API key, Freshdesk URL, Your company name(optional). Make sure you have “Freshdesk Auth Access” permission assigned.

    1. Company  - It’s an optional field. You can add your company name here. For example - Acme International LLC.

    2. API Key - This is the unique alpha-numeric API key of your freshdesk account. 

    3. URL - This is the domain url of your freshdesk account from which you are fetching the tickets in the salesforce. It is the same url used for the remote site setting. https://acme.freshdesk.com

Place Freshdesk Ticket Component on Contact and Account Record Pages

  1. To place the Freshdesk ticket component on Account or Contact record page, open any account or contact record page.

  2. Select Gear Icon (Top Right) > Edit page

  3. The lightning app builder opens up with that record page. Now search for ‘showFreshdeskTicketsParent’ component and place it at the desired location on the page.


Note: Your organization might use different lightning pages in combination with App, Profile, and Record Type. Please place the component on all possible lightning pages using the Lightning App Builder. 

You can edit the Contact or Account lightning record page and add the Lightning web component (LWC) accordingly.

Default behavior:

As a default standard the app uses Account/Company Name and Contact Email to identify unique records in Freshdesk and display the tickets in Salesforce Account and Contact record pages.

Alternative mapping of Salesforce Accounts with Freshdesk Company Id

For the account/company mapping between Salesforce and Freshdesk, instead of using the name, the Freshdesk ID can be used to identify unique records and fetch their tickets in the Salesforce account page.


To do that, the following steps must be followed:

  1. Create an External ID field in Account Object.

  2. Configure Account Identifier under Freshdesk Auth Details in Salesforce.

  3. Update account records > external ID field with the Freshdesk company ID.


Create External Id field in Account Object

Note: This external id field should be used to store the Freshdesk Company Id

  1. Go to Setup > Object Manager > Account > Fields & Relationships

  1. Select New and create a new field

    1. Field type = text

    2. Length = 20

    3. Field Name = Anything

    4. Check the box “Set this field as the unique record identifier from an external system”

  1. Select the required profiles that can edit the field

  1. Select the page layouts that should include this field and save it.


Configure Account Identifier under Freshdesk Auth Details in Salesforce

  1. Go to the App launcher icon, in the top left corner, and search for the “Freshdesk Auth” and open the Freshdesk Auth tab.

  1. Select ‘Configure Settings’ from the top.

  1. Now select the Account Identifier as ‘External ID field’ and select the newly created external id field from the previous step. Please note that the field will be shown in the dropdown if the check box “Set this field as the unique record identifier from an external system” is selected for a field.

  1. Now save the configuration to make this field as the unique identifier for Companies in Freshdesk

Update account records > external ID field with the Freshdesk company ID

  1. Visit any account record page to see the Freshdesk tickets for that account

  2. The tickets are only displayed if the Account’s mapped external id field contains Freshdesk’s unique company ID.