How to enable and use the Salesforce integration
Like other integrations, you need to be an admin in order to enable the Salesforce integration.
The Salesforce integration 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, Accounts, Opportunities, Tasks, Activities, and Cases as well as custom objects linked to any of these standard objects.
Go into your Settings and select Integrations. Click Salesforce.
Turn the toggle on to enable Salesforce.
Click Link your Salesforce account if you'd like to use rules to perform automated actions in Salesforce.
Click Save to finish enabling the Salesforce integration.
Open the plugin pane by clicking on the Salesforce cloud icon located in the panel on the far right-hand side of your Front interface.
Log in to your account.
Note: If you want to log in to a Sandbox (developer) account, hold the shift key when clicking “Sign in” for Salesforce either in your settings or the plugin pane. This will open the authentication window pointing at test.salesforce.com.
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
- Create, view, and edit the following Salesforce records related to a message sender: Contacts, Accounts, Opportunities, Tasks, Activities, and Cases.
- 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.
- Enforce mandatory fields for custom objects when creating new records (marked with a red *).
- Customize what fields and objects are shown in Settings.
- Click on fields like Full Name, Account Name, or Opportunity Name to view more details in Salesforce.
- Look up the information of any Contact or Lead using the search bar.
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.
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:
- Navigate to Setup >> Administration Setup >> Manage Users >> Profiles, click on Clone next to the standard user profile. Enter a profile name and click on Save. It will open a profile overview of this newly created profile. If you are using a custom profile, just hit Edit.
- Select Object Settings and the required object from the list.
- Then click on Edit, and assign view or modify all data permissions to this custom object (enable Read, Create, and Edit).
- Once this is done, go to your Salesforce setting in Front and hit refresh custom fields.
- If the custom object still does not appear, sign out of your account and sign back in.
Display Custom Object in Front
Custom objects will only be visible if your Salesforce user profile has the proper access.
Find the settings card for the related parent object of the custom object you want to display. Then find your custom object name in the list of fields on the parent object and mark the checkbox.
For example, here "Billing" is the name of a custom object related to Contact that we want to display, so we need to check "Billing".
Next, Find the settings card for the custom object you want to display. These will be at the bottom of the Salesforce field settings page.
Click the arrow to expand the custom object card, and check the fields you want to show. Then click Save at the top of the window.
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)
Common errors and Troubleshooting
Please see our Salesforce Troubleshooting article for assistance with common issues encountered in setting up the Salesforce integration.
If you continue to encounter errors, please reach out so that we can assist!
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 Send Email to Salesforce or Create lead in Salesforce as actions:
- 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. If no contact or lead can be found in Salesforce, no activity will be logged.
- Create lead in Salesforce will create a lead in Salesforce for the recipient of the email if it does not exist already.
If your integration credentials are rejected by Salesforce, or if your company hits the API request limit you have for Salesforce, these rules will fail. When this happens, you will see the errors shown below in Front. 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.
Use 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.
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.
In your object configuration, select the field you wish to make required.
Click Edit for that field.
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.
Back in Front, click the settings cog in the Salesforce integration panel.
Click Refresh custom fields to get the latest settings from Salesforce.
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 firstname.lastname@example.org doesn’t exist in Salesforce, Front will then show records tied to @coca-cola.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.
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:
- Click Setup
- Click Manage Users > Profiles
- Click Edit against the specific Profile
- Scroll down to Administrative Permissions and check the API Enabled box
- 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 side 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.
We have Salesforce in our company, but not everybody has an account. When I want to use Front for 3 people who haven't a Salesforce account (they don't work with it), can they all use your Salesforce API integration, when they share one of our Salesforce licences called Connector. This is a standard user license from Saleforce just used for API requests. So is it possible that all that 3 users (separate Front users) will use for the Salesforce integration one and the same user licence from Salesforce?
Thank you for your reply. Michal