1.4.0 • Public • Published

    Context and branching for chatbot conversations (with Hubot).

    npm version Build Status Coverage Status dependencies Status devDependencies Status

    semantic-release Commitizen friendly JavaScript Style Guide License: MIT Join the chat at


    Playbook works best with a custom fork of hubot that adds promises to middleware - hubot async - which allows async features. Hopefully in later versions of hubot, async will be supported and Playbook can be used with any version from then on.

    Usage & Development

    1. Read the docs to get an understanding of Playbook modules and their methods.

    2. See basic examples in the integration scripts, the outcomes of are tested here.

    3. See advanced examples in the main Playbook module tests here.

    Tests are run with Hubot Pretend



    • Write tests for Outline module
    • Replace hoooker package with middleware pattern for scene enter etc
    • Queue dialogue.receive calls to ensure messages process synchronously
    • Optional config for send middleware to throttle hearing consecutive res
    • Display "thinking" ellipses (emit event for use by adapters)


    • Update integration tests to with unique listeners so all can be loaded at once
    • Write usage examples as integration tests, with inline doc comments
    • Generate usage guide docs from integration tests with annotated source
    • Example setup steps for a Playbook bot without development requirements
    • Add npm script to start a hubot and interact with usage examples in shell
    • Contributor docs with npm script examples and commitizen ettiquite
    • Make interactive demo bots, illustrating features and data inspection


    • Add timing module to rate limit and schedule sends
    • Integrate enter/path/branch listeners with Conditioner for semantic matchers
    • Add integration tests with external-scripts and adapters (e.g. shell/irc)
    • Helpers for adapter UI payloads, for buttons and cards in messenger etc
    • NLP for path matching on intent params with
    • Translate sent strings and match terms with i18n-node


    npm i hubot-playbook

    DownloadsWeekly Downloads






    Last publish


    • timkinnane