Session

Developing a serverless WhatsApp chatbot

Chatbots are AI software capable of interacting with users in natural language. They are able to detect users' intentions by extracting keywords from their messages and then provide an appropriate response to their requests. They are important nowadays as they can be used for repetitive, time-consuming tasks in effective ways, allowing companies to focus in other activities and optimize resources (especially human resources).

Microsoft provides LUIS and Bot Framework to develop and create bots the easy way. Without being an AI-expert, you can develop and deploy conversational bots. Add Azure Bot Service to the equation and you'll have a bot connected to the cloud which can be inserted in several channels, such as Skype, Microsoft Teams, Facebook Messenger and even to your website through the WebChat channel with very few configuration steps.

However, some channels are not currently available in the Azure Bot Service offer. WhatsApp, the most popular messenger app with 1.6 billion monthly users as of July 2019 is a notable example. And our customers would love to communicate with our apps through this messenger application.

So, how can we tackle this problem? Azure Functions to the rescue! We can simplify things by creating a serverless code that is connected to a WhatsApp number through webhooks. This means that an Azure Function will be triggered every time a user sends a message to this number. And we can infuse intelligence in the reply by connecting it to a LUIS model for natural language processing. In short, we will be using three technologies:

* LUIS (Language Understanding Intelligent Service)
* Azure Functions
* Twilio API (for accessing WhatsApp)