Build your own chat bot on top of
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Smooch BotBuild Status

A simple generic chat bot with persisted conversation state and user properties. You can also run your bot on top of

This framework is designed with the intent of giving you full control over how you want your bot to behave, and extensibliity allowing you to easily connect it to a variety of APIs and communication channels (Smooch or otherwise). This comes at the cost of features. Unlike many popular bot tools and services that are available today, smooch-bot assumes very little and therefore offers a reduced set of tools for you to use to build common bot scenarios. This framework gives you an asynchronous conversation state and user property persistence model to build off of, but the rest is up to you.

This framework is also not to be confused with, which is a Smooch connector for BotKit (howdyai/botkit).

A bot consists of three core components:

  1. Bot: The heart of your bot. Your Bot implements a say() method. The bot also needs to be provided with a store implementation for saving conversation state and user properties, as well as a lock implementation for synchronizing tasks.

  2. Script: The chat script. This defines what your bot will say and how it should respond to user input.

  3. StateMachine: This is the engine that uses the Bot to guide a session from one Script step to the next.

SmoochApiBot and SmoochApiStore allow you to run your chat bot on top of That means you can run your bot over SMS, Web, iOS, Android, you name it! You can also hook your conversations up to back end channels such as Slack and HipChat so that a human jump in the conversation whenever you like.

To see this bot in action, check out the examples here: