How to enable and use the Salesforce integration

Edited

Overview

The Salesforce plugin allows you to create, view, and edit Salesforce records directly from Front, and trigger automated actions with rules in Salesforce. You can interact with standard Salesforce objects including Contacts, Leads, Accounts, Opportunities, Tasks, Activities, and Cases as well as custom objects linked to any of these standard objects.

You must have Front company admin permissions to set up the integration.

You can also enable the Salesforce contacts or accounts syncs during the setup process, which allows you to use Salesforce data in Front rules, analytics, and search to power workflows and get insights. See the articles below to learn more:


Instructions

Admin steps

Step 1

Click the gear icon on the top right of Front and into the Company settings tab, and select App store from the left menu.

Step 2

Select Salesforce from the list of integrations. Click See details, then click Enable app.

Step 3

The Salesforce plugin feature is automatically toggled on. If you’d like to also enable and set up the Salesforce rule actions or Salesforce contacts/accounts sync, you can toggle those features on.

Step 4

Click Continue to finish enabling the Salesforce integration.

If you choose to set up the Salesforce contacts/accounts sync in Step 3, you’ll be directed to the sync setup page. You can find detailed instructions in the Salesforce contacts sync and Salesforce accounts sync articles.

End-user steps

Step 1

Open the app switcher by clicking on the Salesforce cloud icon located in the sidebar on the right of the Front interface.

Step 2

In the plugin, click the Sign in button. A pop-up will appear for you to enter your Salesforce login credentials.

If you'd like to log in with a sandbox (developer) account, see this FAQ for more details.

Step 3

Click the gear in the top right to choose which fields you want to be shown for standard objects.

To display custom objects, you will need to follow a few additional steps.


How it works

Salesforce plugin features

  • Create, view, and edit the following Salesforce records related to a message sender: Contacts, Leads, Accounts, Opportunities, Tasks, Cases, and Notes.

  • Create, view, and edit custom objects related to the message sender, provided they are linked to one of the standard objects above.

  • Convert a Lead to a Contact with an Account.

  • Log emails to People, Accounts, and Opportunities records. 

  • Customize what fields are displayed in the plugin. Front company admins can also choose to customize for all teammates.

  • Enforce mandatory fields for custom objects when creating new records (marked with a red *).

  • Click on fields like Full Name, Account Name, or Opportunity Name to view more details in Salesforce.

  • Look up the information of any Contact, Lead, Accounts, and Opportunities using the search bar.

Customizing which fields are displayed

You can choose which fields you’d like to display by clicking the gear button at the top right corner of the plugin. Once you select the fields you’d like to display, click the Save button.

As a Front company admin, you can also choose to apply the display customization to all users in your company by clicking Save for all. Note: if your teammates have added fields beforehand, Front will not remove the fields they’ve previously added even if you have not selected those fields.  

Please see below for more details around how to set up custom objects properly in Salesforce for them to show up in customization.

Editing fields

You can edit most fields by hovering over the field and clicking on the pencil icon. This will bring up an editing page for that object and any related custom objects.

Logging emails to people, opportunities, and accounts from the plugin

You can log emails to Salesforce people, opportunities and account records by clicking the inbox icon in the object, then clicking Log Email. Note that 'log email' for people records will only be available if the person is involved in the conversation you are viewing.

Using rules to log activities or create leads

If you link your Salesforce account, new actions will appear in rules. Go into your Settings and select Rules to create a new rule. Select conditions (more information in Understanding rules) and select one of the Salesforce options:

  • Create lead in Salesforce will create a lead in Salesforce if it does not exist already.  Only works with channels that use email or phone contacts. No owner is assigned to the lead.

  • Send Task to Salesforce will create a task in Salesforce. If no contact or lead can be found in Salesforce, no activity will be logged.

  • Send Email to Salesforce will log the message as an activity in Salesforce.

    • If the message was sent by a Front teammate that is a Salesforce user, they will become the owner of the activity.

    • In a case where Front cannot attribute an outbound message to a teammate with a Salesforce account, Front will default to the admin who enabled the Salesforce integration.

    • If no contact or lead can be found in Salesforce, no activity will be logged.

Using Bcc to log emails

Another related way to log emails to Salesforce is not using the integration itself, but with an automatic Bcc to your Salesforce account. See here for steps

Custom Object Setup in Salesforce

Prior to Front being able to display your custom object, you need to make sure the object is set up correctly within Salesforce. Note that at this time Front does not support custom objects managed by packages. The example below uses the standard object Account, but the same applies to any Standard Salesforce object.  The custom object for this example is called Account Service Request.

For the custom object:

In Salesforce, navigate to your custom object and create a new relationship to the parent object, if it doesn't exist already. If the relationship already exists, make sure it is a lookup.

The lookup field should resemble this:

Click on the custom object and copy the API name without the '__c'.

For the parent object:

In Salesforce, navigate to the parent object Setup > Build > Customize > Account > Fields) and create a new relationship to the custom object, if it doesn't exist. You can create a new relationship under the section titled Account Custom Fields & Relationships.

The relationship you create has to be either a Master-Detail or a Lookup. A master-detail relationship has a cascading effect such that if you delete the parent object, the custom object will be deleted. In a lookup relationship, if the parent object is deleted, the custom object will remain.

When you get to the step where you have to fill out the Field name, give it the same name as the API Name from your custom object. Additionally, make sure the Child Relationship Name on the Parent object matches the API name of the custom object EXACTLY, but without the __c. 

The lookup field should resemble this:

Role Access and Custom Object Visibility

In order to see the custom object in your Front Salesforce settings, your user role will need Read, Create and Edit permissions for the custom object. A Salesforce admin will be able to make these changes by following the below steps.

Additionally, a user with the standard Salesforce profile will not be able to view the custom object. You will instead, need to create a custom profile and assign your user to this profile. If your users are already using a custom profile, just edit that profile's permissions. 

Follow these steps in Salesforce:

  1. Navigate to Setup > Administration SetupManage UsersProfiles, click on Clone next to the standard user profile. Enter a profile name and click Save. It will open a profile overview of this newly created profile. If you are using a custom profile, just click Edit.

  2. Select Object Settings and the required object from the list.

  3. Then click on Edit, and assign view or modify all data permissions to this custom object (enable Read, Create, and Edit).

  4. Once this is done, go to your Salesforce setting in Front and hit refresh custom fields.

  5. If the custom object still does not appear, sign out of your account and sign back in.

Displaying Custom Objects in Front

Custom objects will only be visible if your Salesforce user profile has the proper access.

Note: displaying custom Salesforce objects in other tools is reliant on having a data model that adheres to the structure Salesforce uses for their API. If you encounter errors when trying to display custom objects in Front, please try: 

  • Using the Refresh custom fields button in the field settings screen

  • Refreshing your Front web app or restarting your Front desktop app

  • Signing in and out of the Salesforce integration

  • Double checking that you have selected fields to show for your custom object and that your custom object is checked as a field on its standard object following the steps above

  • Double checking that a custom object record exists (click the pen icon on the standard object to see if you can create a new custom object)

Salesforce Notes

Notes work like any other Salesforce object but do not have any custom objects, so its displayed fields are fixed and do not appear in the visibility settings. Features of the Notes sync:

  • Notes only appear for Contacts and Leads.

  • Loading the person in the Salesforce plugin will fetch their related Notes.

  • Notes cannot be deleted from Front and must be done in Salesforce.

  • Notes cannot be hidden as a panel block, but can be collapsed.

  • Notes will appear in a block with the created date, subject, and preview of the body showing for each.

  • Selecting the + icon will allow you to create a new Note.  This will prompt you to enter a subject, body, Note owner, and private status - we will take care of the rest with the date and related person. This related person will always be the person determined by the Salesforce panel. 

  • Each Note preview also has an Edit page, which can be accessed through the pencil icon at the top right of the plugin. 

Implement mandatory fields

You can require certain fields to be filled out for your custom objects, which will be done in Salesforce settings.

Step 1

In your object configuration, select the field you wish to make required.

Step 2

Click Edit for that field.

 Step 3

On the edit page for the field, check the box next to "Always require a value in this field in order to save a record" and click Save.

Step 4

Back in Front, click the gear icon in the Salesforce plugin.

Step 5

Scroll to the bottom and click Reload custom fields to get the latest settings from Salesforce.

Common errors and troubleshooting

Please see our Salesforce Troubleshooting article for assistance with common issues encountered in setting up the Salesforce integration.

If your integration credentials are rejected by Salesforce, or if your company hits the API request limit you have for Salesforce, your rules will fail. When this happens, you will see errors in Front. Example error: Some rules are failing because your Salesforce login is invalid. Update your credentials and test the rules again.

To fix the credentials errors, a company admin will need to update the integration credentials used in your Salesforce integration settings in Front. For the request limit errors, you will need to either increase your request limit with Salesforce or wait until your request limit cycle starts over. 

If you continue to encounter errors, please contact us so that we can assist.


FAQ

Which licenses work with the Salesforce integration?

You will need a Salesforce license that has API access in order to sign in and use the integration. Front accesses the Lead, Contact, Account, Opportunity, Task, and Case objects within the Salesforce environment, so your license will need access to those objects. Currently, only the "Salesforce" license listed here will work with Front. Platform licenses lack sufficient access. See here for which Salesforce editions have API access.

Which channels work with Salesforce?

Salesforce only matches records for email, SMS, and voice channels. It shows related records for the: 

  • Email address of the sender of an open conversation

  • Phone number of the sender of an open conversation

If we cannot find an exact match for the email, we will try to find an Account that matches that domain. E.g. If mary@acme.com doesn’t exist in Salesforce, Front will then show records tied to @acme.com email addresses.

When a conversation is between multiple senders or CC’ed recipients, Salesforce will only show related records for the first address or number in the list. You can look up records for other contacts with the Search field.

Can I log in with a sandbox account?

Yes. To sign in to a sandbox (developer) account, hold the Shift key on your keyboard and click the Sign in button in the Salesforce plugin. This will open the authentication window pointing at test.salesforce.com. Enter your sandbox login credentials.

If you prevent user logins from https://login.salesforce.com in production through My Domain settings, the sandbox prevents user logins from https://test.salesforce.com by default. In this case, select Use Custom Domain in the authentication window and enter your domain.

Do I need special API Permissions?

All Front teammates that use the Salesforce integration will require the "API Enabled" permission on their Salesforce user. That permission will give your user access to the Salesforce API, which the Front integration uses.

To enable, as a Salesforce admin:

  1. Click Setup

  2. Click Manage Users > Profiles

  3. Click Edit against the specific Profile

  4. Scroll down to Administrative Permissions and check the API Enabled box

  5. Click Save

Does the Salesforce API quota impact my integration?

To use this integration, you will also need to be on a Salesforce plan with API access and sufficient API call quota.

Every time Front surfaces information from Salesforce or performs an action on your behalf, it makes API requests to Salesforce. Depending on your Salesforce plan, you might be subjected to an API quota: your organization is only allowed to make a certain number of API requests every day.

Our implementation tries to limit the number of Salesforce requests as much as possible. For example, the plugin panel will only make requests if it is actually visible: if another integration is selected or if the panel is closed, Salesforce will become inactive. However, know that Salesforce rules will generate at least one request every time the rule triggers.

You can review the limitations on the Salesforce documentation.

What if I have someone saved as both a Lead and a Contact?

Front will prioritize the Contact record over the Lead, so the person will appear in the integration as a Contact. If you want to ensure they appear as a Lead, they should only be saved to your Salesforce as a Lead and not a Contact.

Why are all Salesforce Lead fields editable?

The Salesforce Lead section may contain fields like “Created by” or “Created date" that are shown in the integration as editable even though they may seem like values set by the system. The reason we show these as editable is that the permission Create Audit Fields is enabled within your Salesforce settings. This permission grants API editing access to these and other fields and means that Front also formats these as editable within the integration.

If you’d like to change this, you’ll need to reach out internally to your IT or Salesforce admin team to take a look at the permissions in your business settings.

How do I log out of the Salesforce plugin?

Click on the plugin in the app switcher and locate the gear icon at the top right corner.

At the bottom right corner, click Sign Out.


Pricing

This feature is available on the Growth plan or above. Some legacy plans may also have this feature.