Chat bot platform based on Node-RED

Visually build a full featured chat bot for Telegram, Facebook Messenger, Smooch, Slack, Alexa, Twilio and Viber with Node-RED.
Almost no coding skills required.

$ sudo npm install -g node-red
$ cd ~/.node-red
$ npm install node-red-contrib-chatbot
$ node-red
Free and open source (MIT)
Red-Bot nodes palette

RedBot for Node-RED is the fastest way to build and maintain a chat bot

Visual Tool

Build your chat bot visually connecting blocks like receivers, senders, messages, images, etc. without coding. Maintain and fine tuning your chat bot easily. Code once and deploy for Telegram, Facebook Messenger, Slack, Viber, Alexa, Twilio and Smooch

Node-RED flows

Let your chat bot interact with the Node-RED ecosystem: IoT, databases, external services. More than 1,000 flows and nodes are already available from the community

Open Source

Soon or later your chat bot must interact with the external world. That is the reason why a chat bot platform must be open source: if you need a feature, just do it or ask the community

Natural Language Processing

Build your chat bot using RiveScript,, or other Natural Language Processing algorithms. Extract relevant information (like numbers, email, etc.) from user's sentences easily and store in the user chat context


Use Node-RED projects to easily deploy your chat bot to production with few clicks. With different configuration for production and development the same git-versioned code will work in both environments

Chat elements

Use advanced chat elements like images, audio, maps, inline buttons, text-to voice, QR-codes, etc, capture user's position, image uploads, etc. with simple blocks, all without coding.

Chat context

Store user information and answers into sessions. Manipulate session variable with specific nodes, in JavaScript nodes or with a Handlebars-like {{syntax}}. Choose between fast or persistent chat context providers or build your own.


Extend the chat platform using Node-RED function nodes, programmatically control the flow or manipulate the user's session variables with JavaScript.