How to integrate Salesforce and Olark Live Chat

For most small businesses, getting data isn't the problem.

Two men at a whiteboard reviewing data. A live chat widget coupled with a simple CRM can produce actionable data. Photo by Jonathan Velasquez on Unsplash (, sessions, opens, likes, shares, conversions, chat volume - data, and the tools to gather it, are all around us. The challenge is making data and analytics actionable.

According to the 2016 State of Salesforce report, "65% of companies (using Salesforce) are investing to make their analytics more actionable." One of the best ways to make analytics actionable is by using a Salesforce integration tool to attach qualitative data to customer records.

A live chat Salesforce integration, like Olark, will attach transcripts to existing customer records, or use the transcript to start a new customer record. With a transcript attached, salespersons can customize their follow-up to the needs of each sales lead. This shortens the sales cycle and speeds the time it takes to move qualified leads through a sales funnel.

The Olark Salesforce integration is easy to set up. In this article, we'll talk about why you should connect, a brief overview of how it works, and how to create custom fields once the integration is set up.

[If you're looking for a step-by-step guide on our integration with Salesforce, visit our Salesforce helpdesk article.]

Why use the Olark Salesforce integration

An image of the Olark live chat Salesforce integration setup page. Simply enable the integration and start sending transcripts from live chat software on your website to your Salesforce CRM.

I probably don't need to convince you that using live chat software on your website to talk to customers is valuable. Providing a good customer experience will result in happier customers more sales.

However, if you connect live chat software to a CRM you can see exactly how valuable those chats are in tangible dollars, not just good vibes. Sales team members can track each lead through to sign-up and see how many new accounts came in through chat. Support team members can better understand how much revenue they generate by retaining customers through great service.

Of course, sales and support need different things. Kind of obvious in retrospect! So our Salesforce integration is designed to support both roles in a single solution. Like Luke Skywalker in Star Wars, we're bringing balance to the Force! We know that your support team closes sales and we know your sales team answers support inquires. This integration will make data actionable in either case.

How it works

1.) Olark and Salesforce for Sales

If you're you're using Olark to acquire leads, tell Olark to automatically turn every chat into a Lead. Chat transcripts will be attached as Tasks on that Lead, just as the universe intended.

An image of the Olark live chat Salesforce integration. Chat conversations tagged as leads are attached as tasks to the lead in Salesforce.

2.) Olark and Salesforce for Support

If you're using Olark for customer service, tell Olark to automatically turn every chat into a Case. Each Case will be attached to the right Contact in Salesforce. We'll even create the Contact if necessary.

An image of the Salesforce integration with Olark. A live chat tagged as a case are sent directly to the CRM.

Even if you default to creating leads or cases, you can always force Olark to create a lead or case with an Olark command:

  • Send !lead to create a lead and task for this chat
  • Send !case to create a contact and case for this chat

Once the chat finishes, Olark assigns the lead or case to the chat agent who had the conversation (assuming that agent is in your Salesforce system, we go by the agent's email.)

Olark also does some small lead deduplication. If a lead (or contact, in case your lead was converted) already exists inside your system with the email of your visitor, we will attach the chat transcript as a task on it.

Then, each time a customer with an existing Salesforce record comes back to chat, Olark will automatically display a link to that customer's record in the Olark Chat Console. This way your agents seem like geniuses when talking to customers.

Sound good? Ready to set this integration up?

  • Login to your Olark account and go here.
  • Not an Olark customer yet? Go Here.

How to create custom fields in the Olark Salesforce integration

Just creating leads and cases from live chat is a great start, but if you’re comfortable getting just a little more technical, you can also use the Olark API to update custom Salesforce fields—which means you can store the kind of detailed information that really helps you connect to your customers when you have repeated interactions with them. Since custom fields are... well, custom, we need you to tell us where to store your data, and what data to store.

There are two types of custom field values we currently support: value and transcript.

value fields will be sent to the CRM with the value that is passed in. If you have a field whose API Name is `favorite_pony__c` and you want to populate it with a value in Salesforce leads you can make a call like this:

olark('api.visitor.updateCustomFields', { 
salesforce_lead_value_favorite_pony__c:'Rainbow Dash'

transcript fields will look up the value set in the current Olark transcript. If you want to record whether or not a conversation was started by an agent (as opposed to a visitor) in a custom Salesforce field with the internal name agent_initiated__c this is the API call you would make:

olark('api.visitor.updateCustomFields', { 
salesforce_activity_transcript_agent_initiated__c: 'operator_initiated'

Another good use case:

Let’s say you want to have your operators set a custom field based on data they receive from a customer. You could create a new !industry command for them like this (you will need to modify SalesForceInternalFieldNameForIndustry__c so it is the correct internal name for the custom field in your Salesforce instance):

olark('', function(event) {
 if ( === 'industry') {
   olark('api.visitor.updateCustomFields', {
   salesforce_lead_value_SalesForceInternalFieldNameForIndustry__c: event.command.body

The format of the field is [crm_type]_[entry_type]_[field_name]. These are all the currently supported types:



Sets the specified value on leads



Sets the specified value on cases



Sets the specified value on activities



Sets the value on tickets



Sets the value on customers



Sets the value on cases



Adds the value to merge fields

Here are all the transcript fields you can use:

  • annotations
  • conversation_id
  • end_time
  • feedback_excluded
  • feedback_received
  • feedback_requested
  • feedback_response
  • first_page_url
  • group_idstring
  • group_title
  • http_referrer_url
  • in_progress
  • integration_urls
  • is_dialog
  • is_offline_message
  • operator_ids
  • operator_initiated
  • operator_messages_delivered
  • operator_messages_undelivered
  • operator_names
  • start_time
  • tags
  • uploaded_files
  • visitor_browser
  • visitor_browser_version
  • visitor_city
  • visitor_country
  • visitor_country_code
  • visitor_email
  • visitor_ipaddress
  • visitor_isp
  • visitor_latitude
  • visitor_location
  • visitor_longitude
  • visitor_messages_delivered
  • visitor_messages_undelivered
  • visitor_name
  • visitor_organization
  • visitor_os
  • visitor_phone
  • visitor_state
  • Word_count

Oh by the way…

Do you like this integration? Maybe you'd be so kind as to give us a positive review in the Salesforce AppExchange.

Check out relevant topics on: Sales and Conversions, Olark Essentials

Fernando Takai

Read more posts by Fernando Takai

Fernando makes Olark from Python in São Paulo, Brazil