This integration is available from the Pro plan and above.

Overview

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 (Salesforce.com) 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 Articles — 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 integration 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.

  • Knowledge Article object with a set of fields with different types. Currently, we can pull article titles and field values with the following types: text, text area, text area (long).

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 translation workbench.

  • Add translations to all translatable fields.

  • Lokalise integration works through a translation workbench.

Note on Salesforce Knowledge Articles states

If you are going to use Salesforce Knowledge Articles integration, please note that we can only work with articles in draft state. Articles can have one of the following states:

  • Archived — couldn’t be updated and will be dismissed by the Lokalise integration.

  • Published:
    - With all published languages — couldn’t be updated and will be dismissed by Lokalise integration.
    - With drafts for any languages — only drafts can be updated (already published articles will be left intact).
    - With created new draft — only the draft can be updated and only draft will be shown in the integration page.

  • Draft — can be updated.

Initial setup

Creating a connected app

Before enabling Lokalise integration, you have to add a new app to your Salesforce account. To achieve that, proceed to Salesforce and then go to Setup > Apps > App Manager. On this page click the New Connected App button and fill in the form:

  1. Add the required basic information: Connected App Name, API Name, and Contact Email.

  2. Check the Enable OAuth Settings checkbox.

  3. Add the link to the Lokalise at Callback URL field: https://app.lokalise.com/salesforce-redirect/crm for CRM and https://app.lokalise.com/salesforce-redirect/articles for articles. You can add both links to one connected app or create different apps.

  4. Select the required OAuth Scopes: Perform requests on your behalf at any time (refresh_token, offline_access).

  5. Check the Require Secret for Web Server Flow checkbox.

  6. Click Save.

  7. Copy Consumer Key and Consumer Secret.

Please note that it can take up from 10 minutes to several hours for Salesforce to recognize the created application.

Required permissions

The user who was authorized in Salesforce while adding the integration should have the following permissions:

  • Salesforce license (the user shouldn’t use any other licenses because they have limitations on working with objects and fields).

  • The user's profile has to include:
    - Enabled administrative permissions: Modify Metadata Through Metadata API Functions, API Enabled.
    - Access to the created connected app (it can be done in your profile as shown in the screenshots below).

Additionally, for CRM integration the user will need to have read access to the required objects and fields.

For Knowledge Articles integration the user will require the following:

  1. Read, create and edit permissions for the Knowledge base.

  2. The following administrative permissions should be checked: Article Translation - Edit, Manage Salesforce Knowledge, Article Translation - Publish, Article Translation - Submit for Translation.

  3. Enabled Knowledge license for the user.

Adding translation languages

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.

To add languages for Knowledge Articles, proceed to Knowledge settings and choose one or more languages from the list:

Connecting Lokalise to Salesforce

Open your Lokalise project, click More > Integrations and then find Salesforce CRM or Salesforce Knowledge Articles in the list of integrations. Click Connect and then Connect again. Insert consumer key and secret obtained earlier, choose the Salesforce environment (production or sandbox), and then authorize the app.

Using the integration

Salesforce CRM

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):

If the Overwrite updated translations checkbox is checked, then all previously downloaded translations keys will be updated using data from 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 integration page again and choose one or more items. Then click Export selected.

Choose the languages to export and click Ok.

Salesforce Knowledge Articles

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):

If the Overwrite updated translations checkbox is checked, then all previously downloaded translations keys will be updated using data from 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:

To upload translations back to Salesforce, open the Salesforce Knowledge Articles integration 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?