By Bengaluru Rockstars @jimms @ddsundaria @ajiv

A machine learning app which reads emails from marketers inbox, filter out emails from important customers and process its against microsoft cognitive services and identify Email talks about business and then record it as “Offline Interactions” to XDB using XConnect API.

Currently there is no option available in sitecore to track offline email communications and we have created a app to scan local emails available on local inbox and based on the content of emails interaction are tracked across identified contacts, record important interactions to xDB. Advantage of this app is that they can use this app to see unread\missed communications on sitecore, so that they can get all interactions even if customer has just sent out an email about their request, the interactions can come in form of an email also and the app understands type of request by using LUIS.

Think about a scenario you have “Request a free traial” or “Request for Demo” button on website and that triggers a user formand triggers goals to sitecore only after successfully submitting the form. User is an important client for our business, he doesn’t want to go through all process of filling/validating form fields, instead he just sent out an email to “contact us” email id requesting for same thing. This request can missed by marketing team and our app just solves that problem.



A console application which we have created to showcase omni-channel capabilities of xConnect, this is mainly for tracking the offline email communication happening with marketing team\call center agents. Most of us will be having outlook at our machines runs and we are utilizing that to get offline interactions. This console application runs at local machine and scans unread email sand the content will be processed against natural processing language API LUIS and recognize important transactions.   This application reads markets’ inbox and notify users about unread transactions happening, we have set up a dashboard on sitecore content editor and user will be able to see the current day reports there, like users who initiated goals & their email subject. The real catch in the implementation is that the mails will be placed I to LIUS queue only if that sender email id is a valid/identified visitor on the site.  This app reads unread emails from marketer’s local inbox and scan the email content. This email content will be passed to LUIS to identify the intent type, once intent has been identified the corresponding goal will be fetched from sitecore and that will be triggered against that identified contact. This app consider only the emails from valid\identified clients and client identification happen through email.

How It works 


Steps :

  • Scans today’s email from marketer’s inbox using Outlook and its reads unread email from the system.
  • Pass email id to the xConnect API and checks whether its from an identified customer or not.
  • Once the system identifies its from a important customer, then read the mail boy and process it against LUIS.  We have used LUIS for processing email content and its identifies whether email talks about your business and important interaction.
  • Goals have been set in sitecore and the intent retrieved by LUIS is processed against sitecore to validate whether its a actual goal for visitor or NOT. The Important interactions has been recorded  as “Offline Interactions” to Sitecore XDB using API.
  • We have set a dashboard in sitecore, marketers can use this dashboard to see offline interactions from customers. This actually helps marketers to keep track of miseed interaction from customers.

XConnectRocks dashboard

This is a sample dashboard ,  this is just a sample we shared as part of #SCHackathon.  🙂 dont focus too much on content, its  a sample based on content we had in our inbox. Same can be visible on sitecore Analytics dashboards as we are triggering goals against visits, same as Page Visits information.


It was really fun to see how we have identified/solved this problem. Initial three to four hours of blankness after getting categories and rethinking scenarios on SXA, marketing automation capabilities it was all like implementing something already available with sitecore. And Commerce 9 we were stuck at that “not a valid SSL” error. So finally we got this idea and just concentrated on completing the story. We are very much happy in completing this story as its a very useful case for Sitecore customers. It was fun and lets continue our journey with sitecore 🙂

You might be thinking about the security aspect of this implementation, whether its going to read my personal emails and that’s what the catch we have put in the implementation. “Identified visitors from Site” this app will consider only the mails from valid customers, the email id which is available in sitecore,  identified  contacts will be having valid email id. We are interested only in business emails , not the personal emails. Thanks Gaurav for highlighting that issue and we have already covered that as part of implementation.

Why Outlook , same can be done with Social media rt? yes of cource, preferred outlook because of time constraints, the target was to complete the working piece in that remaining hours, idea has come up during the #SCHackathon and all other things we can plan as part of official release 🙂