In the era of Chatbots and Personal Assistants like Alexa, Dialogflow (ex Api.AI), Google Home, Wit.ai & Co. this module tries to create common layer serving Drupal content to any of these services.

In a common Drupal 'headless' scenario you want to serve the content of your website through as many service as possible, including but not limiting to Amazon Echo, a Facebook bot, custom devices using Dialogflow, etc.
Normally you will require separated custom pieces of code for every chatbot/personal assistant platform protocol, duplicating effort and points of failure.
Using Chatbot API you write your code once without caring about handling the requests and responses.

Chatbot API by itself doesn't do anything. You should install it only if another module asks for it or you want to build your own integration driver.

Currently the following platforms are supported:

  • Alexa, by using the internal chatbot_api_alexa submodule together with the Alexa module.
  • Dialogflow, by using the internal chatbot_api_ai submodule together with the Dialogflow Webhook module

More integrations are coming. Also if you've written a driver or an useful plugin let us know!

Version 1.x

Version 1.x is now stable and only bugfixes will be added. New features will now be added only to 2.x branch.
Version 1.x features are:

  • Chatbot Intents as Plugins, where the plugin ID is the Intent name, simplifying coding and discovery of your Intents. Also being remote platform agnostic allows you to use the same Intent with multiple services.
  • A custom Drupal Console command drupal generate:plugin:chatbotintent facilitates the generation of new Intent plugins.
  • The Views integration will let you build a View of your content, iterate through it from your device and be able to select one content to 'know more'.
  • Support pushing entities as a collection to remote endpoints so that they can resolve them as slots in their parsing [completed]. Provided by the sub-module chatbot_api_entities

Version 2.x

Version 2.x is not going to be much different from version 1.x, a part from few new feature addition and moving the drivers modules out from Chatbot API. See #3037130: [meta] Plan for version 2.0, #3037137: [meta] Plan for version 2.0 and #3077057: Host Alexa driver for Chatbot API. So unless you need any of the new feature, or to support Dialogflow V2 API, you can stay on Chabot API version 1.x for now.

Get Started

The best way to start is by reading the documentation.
If you want to know how to integrate a remote service have a look at one of the chatbot_api_* submodules.

How can you help

If you use the module tell us what you use it for on #chatbot channel on Drupal Slack.

Supporting organizations: 
Supporting initial work and maintenance
Supporting initial work
Supporting maintenance

Project information

Releases