How to Integrate Salesforce with Comm100
Introduction

Comm100's integration with Salesforce allows you to access customer information in the Comm100 Agent Console easily and synchronize data conveniently from Comm100 to Salesforce. The integration delivers a consistent customer information management experience and improves your agent efficiency.

Comm100 Live Chat Salesforce Integration helps send live chat data to Salesforce CRM for follow-up and allows you to identify existing Salesforce contacts/leads right on your chat console.  

Comm100 Bot Salesforce Integration helps send and receive customer data to Salesforce CRM through Chatbot to follow-up and identify existing Salesforce contacts/leads right on your chat console.

You can also download the Comm100 - Salesforce Integration white paper to learn more about the integration.


Connect Comm100 with Salesforce CRM
  1. Log in to your Comm100 account.
  2. From the left navigation menu, go to Apps & Integrations.
  3. Go to the Salesforce card, and click Settings.
    kb-salfrce-01.png
  4. Click Connect with Salesforce and then provide your Salesforce login credentials in the popup.
    kb-salfrce-02.png
    If you want to connect the Comm100 Live Chat account with your Salesforce Sandbox environment before moving to the production environment, you can click the connect with Salesforce Sandbox link.
    kb-salfrce-03.png

    Note: You need to have particular sets of permissions in your Salesforce account for the integration to work. It is recommended that you use an Admin SF account.
Verify all the required Salesforce permissions
  1. Switch to Classic View Mode.
  2. Navigate to Manage Users > Profiles, locate the profile you want to edit, and click Edit.
    kb-salesforce-integration-12.png
    This is what the Profile Edit page looks like.
    kb-salesforce-integration-13.png
  3. Under the Administrative Permissions section, make sure the Modify All Data check box is selected.
    kb-salesforce-integration-14.png
  4. Under the Standard Object Permissions section, make sure the permissions Read/Create/Edit/Delete/View All/Modify All are selected for Accounts/Contacts/Cases/Leads.
    kb-salesforce-integration-15.png
  5. Navigate back to Manage Users > Profiles, locate the profile again and click on the Profile Name.
    kb-salesforce-integration-16.png
    This is what the Profile General page looks like.
    kb-salesforce-integration-17.png
  6. Under the Field-Level Security section, ensure the permissions Read Access/Edit Access are all selected under Accounts/Contacts/Cases/Leads Views.
    Note: Some permissions, Read Access/Edit Access, cannot be selected due to restrictions from Salesforce.
    kb-salesforce-integration-18.png
    This is what Account View looks like.
    kb-salesforce-integration-19.png
Integration with Live Chat

After connecting Comm100 Live Chat with your Salesforce CRM, you need to choose whether you want Comm100 to record live chat data as Lead details, Contact details, or create a Case in your Salesforce account.

kb-salesforce-06.png

 

For Sales: Record Visitors as Leads and Chats/Messages as Tasks

A lead will be created for each visitor who cannot be found from the existing leads in the Salesforce account, and a task is created for each chat/message of the visitor.

Create a Lead

If a visitor is not found by email from the existing leads in your Salesforce account, a new lead will be created for the visitor when a chat ends, or an offline message is submitted.

 kb-salesforce-integration-07.png

Create a Task

When creating a new lead, the chat/message of the lead is attached as a task under the lead. For an existing lead, each chat/message from the lead will be added as a task.

 kb-salesforce-integration-08.png

For Support: Record Visitors as Contacts and Chats/Messages as Cases

Contact will be created for each visitor who cannot be found from the existing contacts in your Salesforce account, and a case is created for each chat/message of the visitor.

Create a Contact

If a visitor cannot be found by email from the existing contacts in your Salesforce account, a new contact will be created for the visitor when a chat ends, or an offline message is submitted.

 kb-salesforce-integration-09.png

Create a Case

When creating a new contact, the chat/message of the contact is attached as a task under the lead. For an existing contact, each chat/message from the contact is attached as a case.

 kb-salesforce-integration-10.png

Update Contact Information

If a visitor can be found from the existing contacts in your Salesforce account, options are available to decide whether the contact information will be overwritten:

  • Do not update the contact information.
  • Update the contact with information from live chat.
  • Only add new information (Do not overwrite existing information).

Manually Create Lead/Contact/Case/Task

If you don’t want to create Lead/Contact/Case/Task automatically, you can create them manually in your Comm100 Agent Console. Manually click on the action you want to perform, and the corresponding data will be recorded in your Salesforce account.

 kb-salesforce-integration-11.png

Live Chat Data You Can Get in Salesforce

Contact/Lead Details

Comm100 Live Chat Fields

Salesforce Contact Fields

Salesforce Lead Fields

Agent who chatted with the contact/lead

Contact Owner

Lead Owner

Name

Last Name

Last Name

Email

Email

Email

Phone

Phone

Phone

Company

Company in Case Details

Company

Case/Task Details

Comm100 Live Chat Fields

Salesforce Case Fields

Salesforce Task Fields

Agent who chatted with the contact/lead

Case Owner

Task Owner

Name

Contact Name

Name

Email

Contact Email

Email

Phone

Contact Phone

Phone

Chat ID

Subject

Subject

Chat Content

Description

Comments

Note

Description

Comments

Start Time

Description

Comments

End Time

Description

Comments

Custom Fields and Custom Variables

Description

Comments

Request page

Description

Comments

Attachments

Attachment section in Case Details

Attachment section in Comments Details

Who Will Be the Contact/Lead/Case/Task Owner

While creating a new contact, Comm100 will set your existing Salesforce user who has the same email address as the chatting agent as the Contact Owner. If no such user is found, the user whose account connects Comm100 Live Chat with Salesforce will be set as the owner. The same rule is applied to the Lead Owner, Case Owner, and Task Owner.

Integration with Chatbot

After integrating Salesforce with Comm100, you can create new Salesforce objects (Lead/Contact/Case/Task, etc.) through Chatbot. If a record already exists in Salesforce, it can be searched for or updated as per your business needs. Further, you can even search a record by performing an advanced search using SOQL (Salesforce Object Query Language) statement in case you cannot locate the record by the field you are searching for.

You can go to the Bot > Chatbot navigation menu and configure your Chatbot from the Intent-Answer or Event Messages flow builder or both. 

kb-salesforce-04.png

If your account is not added to Salesforce or it is disconnected from Salesforce, you will see a warning message on the Salesforce actions. You need to first connect your Salesforce account before configuring the actions.

kb-salesforce-05.png

The flow builder contains the following Salesforce actions that allow your Chatbot to send records to Salesforce or receive records from Salesforce or both:

  • Create a record
  • Find a record
  • Find a record by SOQL

Create a record

The Create a record action gives you the ability to create a record to Salesforce across the Live Chat and Ticketing & Messaging channels. The information collected is saved into record fields in Salesforce. A record ID is created and saved to a variable.

The Define Record Information drawer appears when you click + Define record information on the action. You need to first select an object from the Salesforce object drop-down list. The drop-down list contains all the available Salesforce objects for a given account.

After that, you will see a list of mandatory Salesforce fields based on the object you had chosen, where you can input string and Dynamic Info as a field value.

Note: You can also add non-required fields as per your business needs.

If you want to update the visitor’s current information on the Salesforce record that already exists instead of creating a new one, you can select the Update the information when the Salesforce record exists check box.

kb-salesforce-01.png

Once the action is triggered, the Chatbot will use the values to create a record into Salesforce and save the returned record ID into the pre-defined variable, which can be used in the follow-up actions.     

Note: You can save the return record to a variable either using Bot variables or creating a new variable.


Find a record

The Find a record action gives you the ability to find a record in Salesforce by a field value. You can then save the field values of the found record into bot variables so that you can use them later in the flow.

The Define Search Rule drawer appears when you click + Define search rule on the action. You need to select an object from the Salesforce object drop-down list followed by a field name from the Field to search by drop-down list and provide a field value in the Search value text field. You can also insert Dynamic Info as a search value to find the records. You can configure multiple fields and assign each field value to a bot variable.

Note: If multiple records exist during the search, only the first record from the record list is considered.

kb-salesforce-02.png

Once the action is triggered, the Chatbot will use the pre-defined field to find the record in Salesforce. When Salesforce returns the matched record, the Chatbot will save its Salesforce field value to the pre-defined bot variable and trigger the action based on your configuration. A different action can be configured when there is no matched record in Salesforce. 


Find a record by SOQL

The Find a record by SOQL action gives you the ability to write the advanced search statement to find records in Salesforce in the Intent-Answer or Event Messages flow builder across the Live Chat and Ticketing & Messaging channels. This action can be used where you do not get the desired results from the Find a record action. To learn more about the Salesforce Object Query Language (SOQL), see this page.

Note: SOQL is similar to the SELECT statement in the widely used SQL. However, it is designed specifically for Salesforce data to be used for advanced search. For example, if you want to search for a "Case" whose 'Contact's Email is "Visitor. Email", it can be easily searched by SOQL. For example, SELECT Id FROM Case WHERE Contact.Email = “{!Visitor.Email"}"

The Define SOQL Search Rule drawer appears when you click + Define SOQL search rule on the action. You need to enter the SOQL statement to search for the records from Salesforce. You can also insert Dynamic Info in the SOQL statement to find the records. 

You can only save the fields which are listed in the "SELECT" Clause. For example, in the following SOQL statement: SELECT Id FROM Case WHERE Contact.Email = “{!Visitor.Email"}"

You can only save Id because there is only "Id" in the SELECT part. But if you add more fields in the SELECT part, you can use them to save to a bot variable.    

Note: If multiple records exist during the search, only the first record from the record list is considered.

kb-salesforce-03.png

Once the action is triggered, the Chatbot will use the pre-defined field to find the record in Salesforce. When Salesforce returns the matched record, the Chatbot will save its Salesforce field value to the pre-defined bot variable and trigger the action based on your configuration. A different action can be configured when there is no matched record in Salesforce.