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 expand plugin icon located in the top right corner of your Front interface.
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 are shown in Settings. (Front supports Salesforce custom fields, but not custom objects.)
- 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.
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 does exist already, make sure it is a look up.
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 > Opportunities > 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 Opportunity 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 Client Relationship Name on the Parent object matches the API name of the custom object EXACTLY.
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.
Additonally, 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)
Problem: See an error message, “An Error Has Occurred”.
Solution: Click “Refresh Custom Fields” in your field settings screen, or sign in and sign out of the integration. The reason being the custom objects need to be pulled in and we only do so when we have a hard refresh.
Problem: Users may see the custom object in their settings, but when enabled the plugin stalls.
Solution: Check the Client Relationship name on the Parent Object. The Client Relationship name needs to match the API name of the custom object EXACTLY.
Problem: New custom object definition was created in Salesforce but it doesn’t show up in Front.
Solution: Click “Refresh Custom Fields” in the field settings screen to pull in the latest custom objects.
Problem: See an error message, "Invalid type - verify custom objects configuration".
Solution: Your master-detail relationship is not configured properly. You need to have a master-detail on the parent and then a lookup on the custom object, pointing to the parent.
- Unchecking custom objects under the parent object and adding them back one by one can help identify which custom object doesn’t have its relationship set up properly.
- Check the child relationship needs to match
Problem: Saving a custom object fails.
Solution: Please verify if there are validation rules on the custom object that may prevent the custom object from being created.
Problem: See an error message, "Unexpected field. Try updating custom fields".
Solution: A field in the custom object cannot be rendered (typically relationship fields e.g. Owner ID).
Problem: The custom object is not showing up in the parent card.
Solution: The custom object needs to be set as visible in the parent object (e.g. Account). So you have to go to the visibility settings for the parent object and check your custom object. Additionally, Front will only pull in custom objects that are one level deep on default objects. Front will not be able to pull custom objects off of another custom object.
Problem: Existing custom objects cannot be removed from the parent.
Solution: We do not support this, it should be removed in Salesforce. We can only remove custom objects when they have NOT yet been created.
Problem: I created a Contact when I created an Account, but I didn't get my Contact custom objects.
Solution: This is by design. We create the custom object for the first record we create. So if you click "Create Account", even if you create a contact from that flow (you can), we will only create the custom objects related to Account.
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 to Salesforce or Create lead in Salesforce as actions:
- Send 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.
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.
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. 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 email@example.com 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 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.
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. MichalReply