Skip to main content


A framework for building
conversational user interfaces.

Get Started

Why Bottender?



Bottender takes care of the complexity of conversational UIs for you. Design actions for each event and state in your application, and Bottender will run accordingly.

This approach makes your code more predictable and easier to debug.

Native User Experience

Native User Experience

Bottender lets you create apps on every channel and never compromise on your users’ experience.

You can apply progressive enhancement or graceful degradation strategy on your building blocks.

Easy Setup

Easy Setup

With Bottender, you only need a few configurations to make your bot work with channels, automatic server listening, webhook setup, signature verification and so much more.

Ready for Production

Ready for Production

There are thousands of bots powered by Bottender.

It has been optimized for real world use cases, automatic batching request and dozens of other compelling features.

const { router, text } = require('bottender/router');
async function SayHi(context) {
await context.sendText('Hi!');
async function Unknown(context) {
await context.sendText('Sorry, I don’t know what you say.');
module.export = function App(context) {
return router([
text('hi', SayHi),
text('*', Unknown),

Intuitive APIs

Bottender has some functional and declarative approaches can help you define your conversations.

For most applications, you will begin by defining routes that you may familiar with when developing a web application.

Besides router, you can describe the side effects with function actions. It’s the most important building part in the Bottender applications.

Bottender Logo

Build Your Bot Today!

Get Started Now