28 April 2017 Engineering

Supercharging Elastic Operations with Salesforce and the Elastic Stack

By A.J. AngusKunal Vikram Singh

At Elastic, we are continually finding ways to demonstrate the use of the Elastic Stack in new and novel ways. Within our Operations team, we have set goals to create dogfooding efforts that allow us to improve our customer experience using the Elastic Stack. We recently did an Elastic{ON} talk on how we use Salesforce and the Elastic Stack in a Customer Success setting. This post will describe how we have improved our support experience using Salesforce Community Cloud and Elastic Cloud, our hosted Elasticsearch offering.

Challenge

Our goal here was to create a framework within Salesforce where we could easily bring in data from an Elastic Cloud cluster. We wanted a reusable framework and connection to Elastic Cloud that could be used over and over again with minimal effort after the initial framework was complete.

Best Prototype Resources

The best resources available here for you to try a similar approach is to have:

  1. Your own Salesforce Development Org
  2. Elastic Cloud account (free 14-day trial available)

For our use case we set up a 3 node cluster with 2GB memory and 48GB storage in Elastic Cloud. It is pretty simple to setup and provision once you have sized your memory and storage needs. For us, our data storage needs were small and we are only doing reads from the cluster, so the smallest cluster worked for us.

selecting-cluster-size-hosted-elasticsearch-elastic-cloud.png

Our Use Case

Last June we migrated our support portal from Zendesk to Salesforce Community Cloud. It was a long process but it set us up to with the infrastructure needed to bring the Elastic Stack into our support and customer experience flow. Fast forward to now, our goal was to use Elasticsearch to power a recommendations engine for knowledge base articles in our support portal. Our portal is a Community Cloud template with customized Salesforce Lightning components. Our goal with Elasticsearch was two-fold:

  1. Suggest content based on the issue you have immediately via the subject of the case
  2. Suggest content based on the customer’s platform/environment determined by previous interactions with our awesome support team

The final solution looks like this:

salesforce-elasticsearch-submit-a-case-x-pack.png

Detailed Explanation

For a detailed technical explanation of how to combine Salesforce and the Elastic Stack in your own environment, please see our GitHub repo (Project Xavier).

What’s Next?

Now that we have launched our first version of this integration, we have big plans on how to add more features that will help us serve you and all of our customers better. As an example, in Case Submission, we are adding more content sources (blogs, all product documentation) to make it easier to find relevant content in the portal. In addition, we are working to index all of our cases and other support interactions into Elasticsearch to add more magical features in other parts of our support experience. Stay tuned.

P.S. Seeking Talented Engineers

Does this sound like an interesting challenge that you want to be part of? We’re hiring!