Last week, Bas Lijten and I presented at the Sitecore Symposium 2017 in Las Vegas about our ‘Futuristic Showcase of the Omni-channel Capabilities of Sitecore XP’. We have shown the audience the power of Sitecore’s omni-channel marketing capabilities and what you can do with adding Microsoft Cognitive Services and Internet-of-Things into the game! We did that by building Robbie, a real robot whose behaviour is completely controlled by Sitecore.

To find out more about our project, check out our demo video on YouTube:

Right after our presentation, we have published all of our source code and design files to make it a real Open Source project from now on. Even if you are not interested in building a robot, which of course isn’t a real business case but a showcase after all, you might want to look at how we managed combining multiple Cognitive Services API’s in real-time, or at other new features we’ve introduced to enable real-time multi-person xDB profile personalization from a video capture and speech. Check out https://github.com/robbietherobot/robbie!

Once built, we can personalize Robbie’s behaviour even more and add responses without adding a single line of code. Next to a nice discussion about the applicability of our ideas and the possibilities on how to add AI and IoT into your marketing technology implementations, after our session we also got one question that was weighty, fun and interesting:

Is Robbie Akshay’s friend?

Or how easy it is to add personalized behaviour to Robbie?

So, we did not yet think of adding such a conversation to what Robbie can do. On stage, we briefly showed what is needed to get this done. And it actually is a nice demo of how easy it becomes to manage both content and personalization, once your channels and business logic are all set. We thought it was fun to continue adding this feature to Robbie and show you how we have done it in this blog post.

Let’s find out..

1. Step one is to add a new Intent to LUIS. Just login, add an intent and start adding utterances. We’ve added three utterances that help LUIS in recognizing this new intent:

2. Now, let’s ‘Train Application’ and start testing it right away. I’ve tried some different utterances, and despite various results in terms of probability, they all hit the Friend intent as the top scoring intent!

3. Then, we move to Sitecore and create an intent page, with a matching intent string as its content. The rest will be done in the Experience Editor.

4. We also create some responses for Robbie. So we can personalize his response and thus behaviour, right?

5. That was all in terms of content. We then move to the Experience Editor and add a rendering to the Friend page with a default response:

6. Time for the fun stuff! Let’s add a personalization rule. If Robbie recognizes Akshay, he will respond differently, because.. of course he’s Akshay’s friend!

But you cannot easily personalize on contact facet properties with Sitecore 8 (out of the box). The easiest way to achieve this, is to install the Sitecore Adaptive Rules and Sitecore Contact Utilities modules from Adam Conn. This adds a new personalization rule that let’s you select a member out of all the available facets and compare its value to a given string:

And that’s all! We’ve added behaviour and personalization without a single line of code! Let’s see if it works:

If you have got any questions, or want to know more, check out our repository, or contact us via Twitter: @rhabraken and @baslijten.