How to Create a AI Chatbot in Python (Flask Framework)

Chatbots are software tools created to interact with humans through chat. The first chatbots were able to create simple conversations based on a complex system of rules. Using Flask Python Framework and the Kompose Bot, you will be able to build intelligent chatbots.

In this post, we will learn how to add a Kompose chatbot to the Python framework Flask.

Create A Chatbot Now


You will need a Kommunicate account for deploying the python chatbot.

Kommunicate is a no-code, hybrid chatbot platform that is built over a powerful Conversational AI system.

Also, you will need Python and the Flask framework installed on your system. To read more info about the Flask framework, please follow this link.

We will be using Flask in this tutorial. If you are looking to add Dialogflow chatbot to the Django framework, you can see this tutorial.

Steps to Create a Chatbot using Kompose and Flask Python Framework:

Step1: Login to your Kommunicate dashboard. If you don’t already have a Kommunicate account, you can create one here.Navigate to the Kompose bot builder category and create a new bot by selecting the “Create Bot” button.

Step 2: Navigate to the Kompose Bot Builder, select your bot and click on the “Settings” option present at the top right corner.

Click on the Webhook option present on that page. Here, we need to put the Webhook Name and Webhook URL.

Step3: Create Webhook URL using Python with Flask and enable the webhook server using ngrok

The webhook requires a URL, and it should be an HTTPS protocol. The webhook URL will receive a POST request from the Kompose Bot every time an intent triggers the webhook.

We are using the Python programming language and the Flask framework to create the webhook.

Create a file (for example — Import all the necessary libraries (ex: os, JSON, flask_ngrok, request) needed for Python. Please check if you have Flask on your system. If not, install it using pip, and here’s the documentation for the same.

To handle all the agent webhook requests, we need to define and add a route/webhook method with a POST request. This URL /webhook will receive a POST request. It executes all the methods inside the method.

After setting up the Python process, let’s use flask ngrok to create a public URL for the webhook and listen to port 5000 (in this example). For Kompose webhook, you will need an HTTPS secured server since the local server (localhost) will not work. You can also use a server and point a domain with HTTPS to that server.

You will get the following URL: , where the webhook is the POST route for Kompose we mentioned in the Python file.

Step 4: Configure Webhook inside Kompose Settings Page

Copy the URL you created ( — in this example and paste it into the Kompose webhook URL field. Here, I have written the Webhook name as “Test.”

Step 5: Create an intent by clicking on the +Add button under the “Answer” section and “Train the Bot.”

Here, I have created Flask intent and added a training phrase as “What is Flask?”

Step 6: Click on the “Bot Says” option and select the webhook that you created earlier. Here, I have selected the Test webhook created earlier. Now, click on “Train Bot.”

Step 7: Testing

Once the setup is done, you can easily add to your website or apps using Kommunicate.

& test if the Python chatbot is working.

There you have it, a Python chatbot for your website created using the Flask framework. If you want to create your own chatbot check out our How to build a chatbot guide.

Originally published at on 26th May 2022

How to Create a AI Chatbot in Python (Flask Framework) was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.