Awesome Open Source
Awesome Open Source

Xatkit - The easiest way to build powerful bots and chatbots

Wiki Badge Twitter GitHub forks GitHub Repo stars

Get your own smart chatbot. Design your bot once, deploy it everywhere

Xatkit has been created to reduce boilerplate code, complex API understanding, and technical details to facilitate the definition and deployment of your bots. Xatkit helps you focus on what really matters: the conversation logic you want to embed in your chatbot.

To do so, we have baked a chatbot-specific definition language to specify user intentions, receive events (your bots can also be proactive!), and bind them to computable actions following powerful state machine semantics. Our chatbot language is implemented as a Java Fluent Interface combining the low-code benefits of using a dedicated chatbot Internal DSL with the full power of Java when you need to write complex bot behaviours.

This chatbot specification is then handled by the Xatkit Runtime Engine, which automatically manages its deployment and execution. See some examples of what you can do with Xatkit!. Reuse the existing platforms (or add your own) to make your bot talk with external services (Slack, GitHub, websites,...).

Quick Start

1- Build the latest version of Xatkit

2- Navigate to xatkit-examples/GreetingsBots/GreetingsBot and start the example digital assistant (a basic web-based bot that greets users)

mvn clean compile
mvn exec:java -Dexec.mainClass="com.xatkit.example.GreetingsBot"

The console will log some initialization information, and after a few seconds you should see the following message:

You can test your chatbot here http://localhost:5000/admin (note that the bots behavior can be slightly different on the test page than when it is deployed on a server)

Open your browser and navigate to http://localhost:5000/admin to test your deployed web-based bot! Remember this bot is just a greetings bot to test your installation so beyond saying 'Hi', the bot will respond to everything else with the default answer!. Also, to simplify its configuration, this sample bot just uses regular expression to match your intent but you could easily configure it to use a real NLP such as DialogFlow. You can see a more complete online demo by talking to Xat, the bot waiting to assist you in our home page.

Greetings Bot Example

Create your first bot

Congratulations, you just started your first Xatkit digital assistant!

You can now have a look at the tutorial to learn how bots are defined with the Xatkit language, or if you are already familiar with it you can take a look at the documentation for additional information on Xatkit capabilities.

You can also kickstart the process thanks to our pre-configured Xakit Bot Template.

What platforms are available in Xatkit?

Your bot will be able to use any of the over a dozen platforms (and counting) available in Xatkit such as Slack, Github, React ... You can find the full list of supported platform in our wiki.


If you experience any issue with Xatkit you can open an issue on our tracker and we will be happy to help you! Note that we may move your issue to a different repository based on the impacted components.


Feel free to reach out by mail or ping us in social media.



Do you want to contribute to Xatkit? We would love to hear from you. Remember that there are many ways to support open source projects beyond committing code!. Talking about Xatkit, writing documentation, contributing examples,... all are great ways to help us.

When contributing code, please first discuss the change you wish to make with us. Start by opening a descriptive issue so that we can advise on the best way to proceed with your bug fix or new feature idea. Then, once done, create the pull request on the specific repository you changed and we'll start a code review process with you.

Take a look at all the people that it's already part of our Xatkit community!

Made with contributors-img.

Thanks for reading until the end! If you like what you see, don't forget to star/watch this repository, thanks!

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
nlp (1,062
bot (728
dsl (168
chatbots (46
low-code (46
conversational-ai (36
chatbot-framework (27
no-code (21

Find Open Source By Browsing 7,000 Topics Across 59 Categories