Om Os Klaus - Alpha Solutions

I would like to share some of the thoughts we have on how we can extend the value of our Sitecore Commerce offerings - utilizing our Salesforce expertise at the same time.



This article will present some of the solutions we have built to establish Customer Service oriented commerce solutions. Specifically I will describe, how you can make the Customer Service Agent smarter in a communication with the customers - by having insights into the Sitecore Experience Profile for customers.

Sitecore already has some offerings on integrating the Sitecore and Salesforce technology stacks to add more value for marketeers. The two offerings are:


  • Sitecore Connect™ software for Salesforce Marketing Cloud


  • Sitecore Connect™ software for Salesforce CRM


The first integrates CMS assets with the Salesforce Marketing Cloud product - to be able to re-use content assets (currently in the form of images and other digital assets) from the Sitecore pull channels to the Salesforce Marketing Cloud push channel.

The second one integrates the Sitecore Experience Platform Contacts with the Salesforce CRM - to have a bi-directional information sharing between CRM and behavioral platform. This way Sitecore can personalize on information maintained in the CRM - and CRM users can see f.x. email sent out from the Sitecore platform - and self-service data-management from the Sitecore Experience platform is synced to the Salesforce CRM.

As an aside to this, I would like to mention the Fuse IT S4S connector. It connects Sitecore and Salesforce CRM through a different mechanism.

At Alpha Solutions we do have a special interest in commerce projects - and we have a number of projects integrating the Salesforce Commerce Cloud commerce platform with Sitecore Experience Management features.

Though, I would like to share some thoughts (and later some code snippets) on how we can extend Sitecore Commerce projects from being digital store oriented to support an e-commerce operation better through utilization of Salesforce Service Cloud. Customer service is an important element in excellent Customer Experience - and if you invest in building a Sitecore Experience Commerce platform, you owe yourself to do excellent customer service as well.

The Lightning Service Console is a great place for Customer Service Agents to work - but they need access to information to service customers.


There is several interesting integration points between Sitecore Experience Cloud and Salesforce Service Cloud. As I see it - the main driving elements in an integration should be:

  • Replication of customers - we should integrate Sitecore customers with Salesforce Contacts.
  • Replication of relevant customer actions. Placement of orders are interesting from a Customer Service Agent perspective - I would focus on these interactions - even though other interactions are interesting as well.
  • Incident Management - open Customer Service cases as part of a Sitecore Forms flow - to start customer cases
  • Communication tools. You should integrate the Live Agent chat application from Salesforce ServiceCloud to allow for direct communication between agents and customers.

The same goes for integrating from Salesforce Service Cloud to Sitecore. As part of the Service Cloud service console, it would be very valuable to be able to see the Sitecore Experience Profile.

The latter part is actually pretty straight forward using builtin Sitecore tools - and a little bit of configuration on the Sitecore and Salesforce side. What I want to accomplish initially, is making the Sitecore Experience Profile available inside the Salesforce Service Console on a Contact record.

The main element in this is of course to replicate Sitecore xDB Contacts to Salesforce CRM Contacts. This is accomplished by the Sitecore Connect for Salesforce CRM. Out of the box - just set it up according to guidelines. The important thing for this to work is to get the SitecoreId inside the Salesforce Contact record.

Once that is done, we have done most of the work. The rest is configuration in Salesforce to embed the Experience Profile. One small note though - Sitecore began using X-Frame-Options in 8.2.x (don't quite know when) - so you need to remove the module from web.config that adds that header.

<!-- add type="Sitecore.Web.XFrameOptions
HeaderModule, Sitecore.Kernel" 
HeaderModule" / -->

Else - if you know Salesforce - the embedding of the Experience Profile is not too hard.

Add a VisualForce page with the following code. Take note of the only tricky thing - you can get the custom field you created through the Sitecore Salesforce connector with the {!Contact.<fieldid>} piece of code

<apex:page standardController="Contact">
<apex:iframe src="https://<you sitecore
SitecoreId__c}" height="1200"/></apex:page>

Create a Lightning Record page for the Contact object - I have added a few Lightning components - among those the Tabs component, where I added the "Web Profile" tab.

Drag the VisualForce page into the tab view - and select the profile page.

Enable the Lightning Record page for the Service Console users instead of the default record page

Well - this is pretty much it - with very limited coding and small configurations - we have actually made the information available to the Customer Service Agents significant larger. If you have enabled Federaten Authentication on the Sitecore CMS you even have single signon.

One of the strengths of integrating different technology stacks is that they are purpose-build. Sitecore is great for building engaging online experiences - but does not have customer service tools. Salesforce is great at this - and integrating them will make them even more valuable.

I will follow up with a few other posts covering other aspects of this integration - among others how we can integrate Sitecore Forms and Salesforce and how we can integrate Sitecore Experience Commerce more detailed into the setup.

Stay tuned...

Klaus Petersen


Global CTO