This feature is available only on the Enterprise plan.
If you're looking for the Salesforce Knowledge docs, please refer to the corresponding article.
Salesforce is a cloud-based CRM (Customer Relationship Management) platform that helps businesses connect with customers, partners, and potential leads. Lokalise integrates only with SFDC (Salesforce.com), covering the following use cases:
Salesforce interface – supports global sales and support teams that work with custom content inside Salesforce.
Knowledge – allows support and customer success teams to translate knowledge articles stored in Salesforce.
Community pages – enables translation of content for partner portals, marketing portals, intranet, and non-profit communities that rely on Custom Labels.
Introductory information
Supported objects
Salesforce content consists of standard objects and customizable fields. Lokalise integrates with key objects that store translatable content in Salesforce.
Standard objects – built-in Salesforce objects like account, contact, lead, and opportunity.
Custom fields (picklist values + lookup filter) – each object contains fields, which can be either standard or custom. Supported field types include picklist, picklist (multi-select), text, and text area.
Custom labels – custom text values accessible from Apex classes, Visualforce pages, or Lightning components.
Button and link labels – custom buttons and links that integrate Salesforce data with external applications, the company’s intranet, or other systems.
Quick actions – custom shortcuts that improve navigation and workflow by giving users easy access to critical information. Find more details in the official docs.
Record type – allows businesses to configure different processes, picklist values, and layouts for different teams. For example, a company with hardware and consulting divisions can ensure that only the consulting division sees seminar-related leads.
Validation error messages – custom validation error messages added to any object. These are also translatable fields.
Salesforce CRM and translation workbench
Salesforce uses translation workbench to manage translations for metadata and data labels. Lokalise integrates with this workbench to pull and update translated values. The process includes:
Activating translation workbench
Adding languages to the workbench
Adding translations to all translatable fields
Initial setup
Licenses
To manage user licenses, go to Administration > Users > Users, find the user you want to modify, click Edit next to their name, and select a license from the User License dropdown.
For CRM app users, the Salesforce license is required.
Creating permission sets
Go to Administration > Users > Permission sets and create a new permission set. Enter a label and an API name (any values can be used). The correct license type must be selected, and system permissions should be adjusted as outlined below.
System permissions can be modified under System Permissions:
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
Once the permission set is created and configured, it needs to be assigned to a user.
Go to Administration > Users > Users, find the user you want to modify, and click on their name (do not click Edit). Click Permission set assignments.
Click Edit assignments.
Add the newly created permission set and click Save.
CRM object permissions
For Lokalise to translate objects, the app needs permission to access these fields. By default, only Salesforce system administrators have full access to all objects. The only exception is Custom Labels, which do not require any object permissions.
While using a system administrator profile is possible, it is not recommended due to security risks. Instead, object permissions should be set manually by either:
Adjusting permissions in a permission set (recommended)
Creating a new profile
Adjusting object permissions in a permission set
Go to Administration > Users > Permission sets, find the relevant permission set, open it, and click Object settings.
Locate the object you want to synchronize with Lokalise, open it, click Edit, and modify its permissions:
Objects require Read, Create, and Edit permissions
Fields require Edit Access permission
Make sure this permission set is assigned to the user as described in the Permission sets section.
Adjusting object permissions in a profile
If you prefer to create a new profile instead of modifying a permission set:
Go to Administration > Users > Profiles and create a new profile based on Standard User.
Scroll to the Standard Object Permissions section and adjust permissions for the objects you want to sync with Lokalise.
Objects require Read, Create, and Edit permissions. Fields require Edit Access permission.
Once profile permissions are set, assign this profile to the relevant user:
Go to Administration > Users > Users
Find the user and click Edit
Under Profile, select the newly created profile from the dropdown
The user license must match the license assigned to the profile. If the user’s license is not set to Salesforce, the newly created profile will not be available for selection.
Adding translation languages
To add languages for Salesforce CRM, go to User Interface > Translation Workbench > Translation Language Settings. This section displays all currently added languages and provides an Add button to create new ones.
The language ISO codes in Salesforce must match the language codes in Lokalise to ensure proper synchronization.
Connecting Lokalise to Salesforce
If you haven’t already, create a Marketing and support project in Lokalise.
Enter a project name, select the base and target languages, and choose Salesforce CRM from the Content integration dropdown.
Once created, go to the Content management tab. If not redirected automatically, open your project manually and proceed to this tab.
Choose the Salesforce environment (production or sandbox), and then authorize the app.
Using the app
Salesforce CRM supports automated import and export of translatable content. More details can be found in the corresponding article.
After authorizing the app, you’ll see a list of available items that can be imported to Lokalise for translation.
Importing content
Select one or more items and click Import selected. You’ll then be prompted to choose the languages to import. Any missing languages will be automatically created in your Lokalise project.
You can also adjust the following options:
Overwrite updated translations – if checked, all previously imported translation keys will be updated with the latest data from Salesforce.
Skip key creation for empty translations – if checked, Lokalise will not create translation keys for items that are empty in Salesforce.
The import process runs in the background, and you can track its progress on the Activity page.
To find a specific item, use the search box in the top right corner or filter content using the Filter dropdown.
Exporting content
Once translations are completed, return to the Content management tab, select the items you want to export, and click Export selected.
In the export dialog, choose the languages to upload and click OK. The process runs in the background, and the translations will be updated in Salesforce.
Known issues and limitations
Salesforce authentication and token expiration
From time to time, Salesforce integrations may stop working unexpectedly. In most cases, this is not caused by Lokalise, but by authentication policies controlled at the Salesforce organization level.
How the Lokalise ↔ Salesforce connection works
Each time you connect a Salesforce app to a Lokalise project:
Salesforce issues a refresh token to the Lokalise OAuth app
This token allows Lokalise to access your Salesforce data (import/export, syncing, refreshing lists)
Lokalise does not set an expiration time for refresh tokens in its app configuration
Every time you actively use the integration (for example, refreshing content or syncing translations), Salesforce may rotate and reissue the refresh token. If the connection still breaks, it means the refresh token was expired or revoked by Salesforce, based on org-level security rules.
Common reasons Salesforce may expire or revoke tokens
Salesforce organization administrators can invalidate OAuth tokens in several ways, intentionally or automatically:
Org-wide OAuth policy changes
Even if a Connected App is set to “Valid until revoked”, an org admin can later enforce a fixed expiration period for all apps.Manual token revocation
Admins can manually revoke user tokens for connected apps.Sandbox refresh from Production
Refreshing a Sandbox environment revokes all existing tokens in that Sandbox.Password changes
If the org setting “Revoke OAuth tokens on password change” is enabled, any password reset (manual or forced) invalidates app tokens.
These policies are fully controlled by Salesforce and vary between organizations.
What Salesforce admins may need to check
Depending on org setup, an admin can:
Install or approve the Lokalise Connected App at the org level
Or grant users the “Approve Uninstalled Connected Apps” permission via Profile or Permission Set
Summary
If a previously working Salesforce integration stops syncing with Lokalise:
Lokalise does not expire refresh tokens on its own
The cause is almost always Salesforce org-level security or policy changes
Checking Connected App policies and OAuth/session settings usually resolves the issue
If needed, your Salesforce org administrator can confirm which rule caused the token to expire.
Localized images
Localized images in target language are not preserved during retranslation. If the English source is updated and re-exported, target articles will revert to the English images. Find more detailed explanation and a suggested workaround in the Marketing and support article.
Items with identical names
Lokalise cannot synchronize data with Salesforce if multiple fields, buttons, or other items have identical names, regardless of case sensitivity. If synchronization fails and you suspect duplicate item names, contact our support team for assistance in identifying and resolving these conflicts.




















