Connecting Chatbots and Home Assistants with a Headless CMS
I’m sure you know by now that headless CMS is excellent for getting stuck into content creation early in a project and sharing the content across channels for instant and consistent branding and a superior customer experience. But did you know that headless CMS affords the huge benefit of being able to use content for multi-channel conversational interfaces like chatbots and home assistants?
Michael Kinkaid, CTO of the Toronto-based digital studio ecentricarts, knows a thing or two about sharing content prepared in Kentico Cloud to various conversational interfaces. So we asked him about his experiences with connecting Kentico Cloud to ecentricarts’ own chatbot, Otterbot, and to Google Home Assistant (which he challenged by ordering lunch in his broad Northern Irish accent…)
And this is what he had to say.
(By the way, don’t miss his great video describing both projects at the end of the interview!)
Michael, why did you decide to build a chatbot with Kentico Cloud?
We were super excited when Kentico Cloud was released last year. What’s not to love about a technology agnostic and API-first platform for content management? Unfortunately, multi-lingual functionality wasn’t available with Kentico Cloud that time, and coming from a country with two national languages—c'est très important.
So that we could work with Kentico Cloud ASAP, we decided to use the platform for an internal marketing initiative. At the time, we were trying to come up with ideas for an initiative that would target the Not-for-Profit sector. We didn’t want to create “yet another landing page”; so, inspired by all great things that are happening with chatbots at the moment, we decided to build one of our own.
The focus with a chatbot is on content and conversation, which is a different world to content for web pages. Kentico Cloud is a fantastic tool for developing and managing content regardless of the channel—web, chatbot, home assistant, smart TV—so we felt it was a great fit.
Is there any difference in content modelling for the web versus conversational interfaces?
When people are speaking with devices such as Alexa, Google, or Siri, it’s typically to accomplish some sort of action, or get a question answered. The interface you design is one that tries to identify the intention of the person speaking, and then looks to invoke an action that can fulfill it.
The model for conversational interfaces can represent the dialog around initiating an action, like what a user might say to invoke the assistant. An example might be, “I want to talk to the home chef”. It can also define how to identify conversation parameters or arguments in what people are saying, like “I want a quick, hot lunch”. Finally, you can model the response and how to go about fulfilling it.
For our chatbot, we modeled both the dialogue content and fulfillment content in Kentico Cloud. For the Google Assistant prototype, all of the fulfillment content was in Kentico Cloud, and the conversation design itself was developed using API.AI.
API.AI is a cool tool that lets you build out natural language interactions for all sorts of channels such as chatbots, IoT devices, Smart TVs, etc. You can configure web hooks to pass the conversation parameters to your own fulfillment application that can then integrate with Kentico Cloud as the content store.
Which companies should consider creating their own chatbots or digital assistant applications?
Not too long ago, chatbots were a bit niche. You’d see the odd one pop up, but generally speaking they were as thick as champ (Irish for “really stupid”). They have rapidly grown in popularity and are getting not only smarter, but also more useful; suggesting products and allowing for order completion right within the chat itself.
I think digital assistants such as Alexa, Google Assistant, and Siri represent a really exciting new channel for companies whose services can provide meaningful value, such as a skill or action, that the assistant can carry out. If content is required as part of fulfilling the request from a user, then—rather than having that content on multiple platforms—a company should manage it in one place, like Kentico Cloud, that can be accessed from multiple channels.
What attributes of headless CMS did your team like or dislike?
The team loved the technology freedom and having 100% ownership over the presentation layer. This allows us to fully optimize the frontend for performance, which in turn makes sites score higher with search and ensures users have a great experience.
Having our content editors be part of the project from day one brought many benefits. For instance:
- Real content was available early and could play a part in prototypes and expose challenges we wouldn't have discovered using exemplar content.
- Being part of the team during discovery meant content editors could share their insights and ideas about what presentation techniques or features might improve the performance for content.
As for challenges, working with content independently from any channel that presents it can be tricky if the model is large or complex. The biggest takeaway from our first foray into headless CMS is that you really need to ensure you use the preview feature. The platform may be headless, but content editors aren’t!
Overall, where do you see the best fit for a headless CMS?
If you are starting off a new digital project, then I’d be asking the following questions:
- Do you expect your content to be of value on multiple channels?
- Do you prefer a subscription-based service that takes away the headaches of managing on-premise hardware and tricky updates?
- Do you want a platform that gives you complete freedom regarding what technology you use?
- Are you going to be managing content aggregated from multiple sources?
If you find yourself answering “yes” to one or more of the above, then perhaps you should consider headless CMS for managing your content.
Headless CMS is also an attractive option for agencies and implementation partners. Considerations that we are keen to explore further are benefits that we noticed on our first project using Kentico Cloud. For one, following a more content-first approach gave us earlier insight into content challenges. For another, development was noticeably quicker without a large-scale CMS to manage as part of the solution. As a studio that uses agile practices, a platform that speeds up prototyping and increases feedback loops is very compelling.
Check out Michael’s great video for more insights into chatbots, home assistants and headless CMS.
And what about your experience with connecting a headless CMS with various conversational interfaces, such as Amazon Echo, Alexa or others? Share with us your findings in the discussion below. Or if you are looking for more inspiration, subscribe to Kentico Cloud Newsletter.