This feature is available only on the Enterprise plan.
If you're looking for the Salesforce CRM docs, please refer to the corresponding article.
Salesforce is a cloud-based CRM platform that helps businesses manage relationships with customers, partners, and leads using cloud technology.
Salesforce consists of multiple cloud services, including Marketing Cloud, Commerce Cloud, Sales Cloud, and Service Cloud.
Lokalise currently integrates only with SFDC (Salesforce.com), supporting the following use cases:
Salesforce interface – relevant for global sales and support teams that require localized interfaces, especially when sales reps and support agents do not speak English. Since most Salesforce instances are customized, this integration ensures translated content remains consistent.
Knowledge – designed for support and customer success teams who store knowledge articles in Salesforce. Lokalise pulls this data for translation and localization.
Community pages – many community pages are built using Custom Labels, which Lokalise can extract for translation. These pages can serve as intranets, partner portals, non-profit communities, and marketing portals.
Supported objects
Knowledge articles are structured objects containing various fields. Lokalise can pull article titles and field values of the following types:
text
text area
text area (long)
Lokalise can only work with articles in draft state. Articles in other states have different limitations:
Archived – cannot be updated and will be ignored by the Lokalise app.
Published:
if all languages are published, the article cannot be updated and will be ignored.
if there are drafts for some languages, only the drafts can be updated, while published versions remain unchanged.
if a new draft is created, only the draft version will be updated and displayed in Lokalise.
Draft – can be fully updated and modified through Lokalise.
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 the appropriate license from the User License dropdown.
For the Articles app, users can have either a Salesforce or force.com license.
Additionally, you must enable the Knowledge user option for the user.
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). Ensure the correct license is selected and system permissions are adjusted accordingly.
On the System Permissions page, select either Salesforce or force.com (if available).
Enable the following system permissions:
API enabled
Under App permissions, enable:
Article translation - edit
Article translation - submit for translation
Manage articles
Assigning permission set to a user
Once the permission set is created and configured, it must be assigned to a user.
Go to Administration > Users > Users, find the user, 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.
Adding translation languages
The language ISO codes in Salesforce must match the language codes in Lokalise to ensure proper synchronization.
To add languages for Salesforce Knowledge, go to Knowledge settings and select one or more languages from the list.
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 Knowledge from the Content integration dropdown.
Once the project is created, go to the Content management tab. If you are not redirected automatically, open your project manually and navigate to this tab.
Choose the Salesforce environment (production or sandbox) and authorize the app.
Using the app
Salesforce Knowledge supports automated import and export. More details can be found in the corresponding article.
Importing translations from Salesforce
After authorizing the app, you’ll see a list of available items that can be imported to Lokalise for translation.
Select one or more items and click Import selected. Choose the languages you want to import—any missing languages will be automatically created in your Lokalise project.
If Overwrite updated translations is checked, all previously imported translation keys will be updated with the latest data from 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 translations to Salesforce
Once translations are completed, return to the Salesforce Knowledge app page, 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
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.
Handling required fields in during export
Some Salesforce Knowledge articles contain required fields. These fields are marked with a red asterisk (*) next to the field label.
Required fields can be:
Supported by the Lokalise integration (e.g., Text, Text Area, Text Area (Long))
Not supported (e.g., Picklist, Picklist (Multi-Select), and others)
When exporting content to a Salesforce Knowledge article, Salesforce will silently reject updates if the payload does not include values for all required fields.
In this situation you'll need to contact Lokalise Support if you're unsure whether your export issue is caused by this Salesforce API error.
How to handle required fields
The steps depend on whether the required field is supported by the Lokalise integration.
If the required field is supported
Supported types: Text, Text Area, Text Area (Long)
You must confirm both of the following before exporting:
Ensure the field’s translation in Lokalise is not empty. Open the article key(s) in Lokalise editor and confirm that the field contains a value for the target language.
Include this field when exporting the article. When running an export from Lokalise to Salesforce, make sure this field is selected in the export configuration.
If the required field is not supported
Unsupported types include: Picklist, PicklistMultiSelect, and others.
In this case, choose one of the following options.
Option A: Manually set a default value in Salesforce in the target language version
You can assign a default value directly on the Salesforce article for the target language. This ensures SF always has a valid value, even when Lokalise cannot provide it.
Option B: Remove the target language draft and let Lokalise recreate it
When Lokalise creates a new version of an article, Salesforce automatically applies the default value for unsupported required fields in each language version. This only works if default values are configured in Salesforce (see below).
Setting a default value for a required field in Salesforce
To make unsupported required fields work smoothly with Lokalise, you can set default values inside Salesforce. Here's how:
Navigate to the Salesforce Object Manager.
Go to: Setup > Object Manager > Knowledge > Fields & Relationships. This page lists all custom fields for Salesforce Knowledge.Locate the required custom field
Find the field used in your Knowledge articles.
Click the field name and press Edit
Set the default value
In General Options > Default Value:
Enter one of the existing field values
Enclose the value in double quotes
Example:"Published"Salesforce also allows dynamic placeholders, but this article does not cover them.
Repeat this process for every required field
Each unsupported required field must have its own configured default.
After setting default values
Once all required fields have valid defaults:
Lokalise will be able to create new language versions of the article.
Lokalise will also be able to update existing translations.
Each language may ultimately need its own value for these required fields. After the export completes, you can adjust the field values manually in Salesforce for each target language as needed.



















