Sitecore Hackathon 2018 – 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 🙂

How to Install sitecore 9 with SOLR SSL in single step

This article talks about way to install Sitecore9 in single script execution, it includes installation with SOLR version with defined SSL port and installation of complete sitecore website, xconnect platform.

I was thinking of a blog to start with and definitely, Sitecore9 installation steps will definitely the perfect candidate this time. As you can find it many other blogs it includes a lot of steps I have gone through those and got stuck many time. Initially planned to share my own installation steps in my blog, but then thought about creating a single script file which does all those work for us you can install sitecore 9 in just a single click once u have installed correct tools in your machine. This uses “Packages for XP Single” package as its mainly for sitecore developers like me who used to do the sitecore installation with just one file execution. Just run this power shell script and all is all set for u. This script is resulted file of information which I got from many other blogs and reference links are attached below. So before executing this script download and install following tools in your local machine.

  1. Powershell 5.1
  2. MS SQL Server 2016 SP1
  3. MS SQL Management Studio
  4. .Net Framework 4.6.2
  5. Web Deploy 3.6
  6. Java Runtime Environment
  7. SQL Server® Data-Tier Application Framework
  8. Packages for XP Single (On Premises deployment)

Download file and keep it in the set-up folder and the file is available as  shown below on the download page.

9.Install IIS on your local machine

Execution Steps

  1. Download the following package from GitHub and extract to same folder as shown below.


Edit InstallSitecoreInstance.ps1. Edit the file and Update following properties in that script file.

$SqlServer = “SQL Server Name”
$SqlAdminUser = “SQL Server admin user Id”
$SqlAdminPassword=”SQL Server Password”
$SolrVersionNumber =’6.6.2′ #Version should be 6.6.2 or later

Open powershell in Run As Administrator mode. Go to instance folder execute this script file as shown below.

if you are getting the error “File [.ps1] cannot be loaded because the execution of scripts is disabled on this system. Please see “get-help about_signing” for more details.” please execute the below line on PowerShell window.

Set-ExecutionPolicy -Scope CurrentUser Unrestricted


This installation deploye ur solr instance in ur set-up folder and you need to change following parameter if you need to  deploy to other folder.

$SolrInstallPath=”<folder path>”

Update PostInstallScripts.sql to perform the post Installation scripts on sql server


Troubleshetting steps are listed below and which will help you to resolve issues you are getting while using this script.

Trouble shooting steps

This script file is result of information which I got from many blogs ralated to Sitecore9 and there are many so thank you Sitecore community for providing us details.

Reference Links:

How to Install Sitecore 9 with the Sitecore Install Framework


Gotchas while installing Sitecore 9 using the Sitecore installation framework