Salesforce CRM
Learn how to integrate your project with Salesforce CRM.
Ilya Krukowski avatar
Written by Ilya Krukowski
Updated this week

This feature is available only on the Enterprise plan. Salesforce apps also support automated import and export. You can learn more in the corresponding article.

If you're looking for the Salesforce Knowledge docs, please refer to the corresponding article.



Salesforce is a cloud computing service as a software (SaaS) company that specializes in customer relationship management (CRM). Salesforce services allow businesses to use cloud technology to better connect with customers, partners, and potential customers.

Salesforce consists of different clouds, e.g. Marketing Cloud, Commerce Cloud, Sales Cloud, Service Cloud. At the moment, Lokalise integrates ONLY with SFDC ( covering the following use cases:

  1. Salesforce interface (e.g. Sales & Service Clouds) — this might be relevant for global sales teams (e.g. sales reps are not speaking English) and support teams. Usually companies adjust their Salesforce instance and add a lot of custom content.

  2. Knowledge — this is relevant for Support & Customer Success teams who store knowledge articles inside CRM. We are pulling this data from Salesforce and allowing it to be translated into Lokalise.

  3. Community Pages — often the content of community pages is also built on Custom Labels that we are pulling. There are multiple use cases for community pages: intranet, partner portals, non-profit communities, marketing portal, etc.

Supported objects

  • Custom & Standard Objects — standard objects are objects that are included with Salesforce. Common business objects like Account, Contact, Lead, and Opportunity are all standard objects. Custom objects are objects that users create to store information that’s specific to their company or industry.

  • Custom Field (Picklist Values + Lookup filter) — each object includes fields. It could be standard or custom fields. Custom fields can have different types: text, number, picklist, etc. The app works with the following field types: Picklist, Picklist (Multi-select), Text, Text Area.

  • Custom Labels custom text values that can be accessed from Apex classes, Visualforce pages, or Lightning components.

  • Button and Link Label — custom buttons and links are used to integrate Salesforce data with external URLs, applications, the company’s intranet, or other back-end office systems (see details).

  • Quick actions custom quick actions are used to make user navigation and workflow as smooth as possible by giving them convenient access to information that’s most important (see details here).

  • Record type — lets users offer different business processes, picklist values, and page layouts to different users. For example, the company has two sales divisions, hardware and consulting, and only the consulting division receives leads through seminars. You can choose to display the Seminar contact lead source for the consulting division only.

  • Validation Error Message the user can add custom validation error messages to any object. These messages are also one of the translatable fields.

Salesforce CRM

Translation workbench is used to maintain translated values for metadata and data labels in the Salesforce CRM. The workflow:

  • Activate translation workbench.

  • Add languages to the translation workbench.

  • Add translations to all translatable fields.

  • The Lokalise app works through a translation workbench.

Initial setup


To manage user license, proceed to Administration > Users > Users, find the user you would like to modify, click Edit next to the name, and select one of the elements from the User License dropdown:

For CRM app users must have the Salesforce license.

Creating permission sets

Proceed to Administration > Users > Permissions sets and create a new set of permissions. Enter a label and an API name — you can use any values here. It's important to choose a proper license and adjust system permissions as explained below. Permissions can be adjust on the System Permissions page:

Choose Salesforce as the license.

Enable the following system permissions:

  • API enabled

  • Customize Application

  • Manage Translation

  • Lightning Experience User

  • Modify Data Classification

  • Modify Metadata Through Metadata API Functions

Assigning permission set to a user

After you have created and adjusted a new permission set, you have to assign it to a user. To achieve that, proceed to Administration > Users > Users, find a user that you would like to modify and click on his/her name (don't click Edit).

Next, click Permission set assignments:

Then, click Edit assignments:

Add a permission set that you've created and click Save:

CRM object permissions

To translate your objects on Lokalise, the app has to be able to "see" these fields. However, only the Salesforce system administrator profile has full access to all objects. The only exception is Custom Labels content type — it doesn't require any object permissions.

While you could use system administrator to set up the app, it is not very safe. Therefore, we recommend to specify object permissions manually. There are two ways to achieve that: by adjusting a permission set (which is recommended) or creating a new profile.

Adjusting object permissions in a permission set

Proceed to Administration > Users > Permission sets, find the set you're interested in, open it, and then click Object settings:

Then find an object that you would like to synchronize with Lokalise, open it, click Edit, and modify its permissions. Objects require Read, Create, and Edit permissions.

Fields require Edit Access permission.

Then make sure that this permission set is assigned to the user as explained above in the Permission sets section.

Adjusting object permissions in a profile

Proceed to Administration > Users > Profiles and create a new profile based on the Standard User:

After the profile is created, scroll to the bottom and find the Standard Object Permissions section. You'll have to adjust permissions for the objects that you would like to synchronize with Lokalise:

Objects require Read, Create, and Edit permissions. Fields require Edit Access permission.

After you're done with setting profile permissions, you'll need to assign this profile to your user. To achieve that, proceed to Administration > Users > Users, find a user you're interested in, and click Edit. Find the Profile setting and choose your newly created profile from the dropdown:

Please note that if the user license is not set to Salesforce, you'll not be able to choose your newly created profile because it was assigned a Salesforce license, and the licenses must match for the user and his/her profile.

Adding translation languages

Please note that language ISO codes on Salesforce must match language codes on Lokalise!

To add languages for Salesforce CRM, proceed to User Interface > Translation Workbench > Translation Language Settings. Here you will see all currently added languages as well as the Add button to create new ones.

Connecting Lokalise to Salesforce

Open your Lokalise project and proceed to Apps:

Find Salesforce CRM in the list. Click Install and then Connect. Insert consumer key and secret obtained earlier, choose the Salesforce environment (production or sandbox), and then authorize the app.

Using the app

After authorizing the application, you will see the following screen:

It lists all the items that you can import to Lokalise and translate as usual. Choose one or more items and then click Import selected. Then decide what languages you would like to import (all missing languages will be created in your Lokalise project automatically). Also you'll be able to adjust the following options:

  • If the Overwrite updated translations checkbox is checked, then all previously downloaded translations keys will be updated using data from Salesforce.

  • Skip key creation for empty translations — when checked, Lokalise will not create a translation key for translation items that are empty on Salesforce.

The import process will be performed in the background, and its status can be checked on the Activity page.

Note that you can find a specific item using the search box in the top right corner, or narrow the scope by using the Filter dropdown:

Once the import is completed you can return to the project editor and perform translations as usual. To upload translations back to Salesforce, open the Salesforce CRM app page again and choose one or more items. Then click Export selected.

Choose the languages to export and click OK.

Did this answer your question?