Bot Builder SDK for Node.js
Bot Builder SDK for Node.js is a powerful, easy-to-use framework that provides a familiar way for Node.js developers to write bots. You can use it to build a wide variety of conversational user interfaces, from simple prompts to free-form conversations.
The conversational logic for your bot is hosted as a web service. The Bot Builder SDK uses restify, a popular framework for building web services, to create the bot's web server. The SDK is also compatible with Express and the use of other web app frameworks is possible with some adaption.
Using the SDK, you can take advantage of the following SDK features:
- Powerful system for building dialogs to encapsulate conversational logic.
- Built-in prompts for simple things such as Yes/No, strings, numbers, and enumerations, as well as support for messages containing images and attachments, and rich cards containing buttons.
- Built-in support for powerful AI frameworks such as LUIS.
- Built-in recognizers and event handlers that guide the user through the conversation, providing help, navigation, clarification, and confirmation as needed.
If you are new to writing bots, create your first bot with Node.js with step-by-step instructions to help you set up your project, install the SDK, and run your first bot.
If you are new to the Bot Builder SDK for Node.js, you can start with key concepts that help you understand the major components of the Bot Builder SDK, see Key concepts.
The Bot Builder SDK for Node.js samples demonstrate task-focused bots that show how to take advantage of features in the Bot Builder SDK for Node.js. You can use the samples to help you quickly get started with building great bots with rich capabilities.
The following task-focused how-to guides demonstrate various features of the Bot Builder SDK for Node.js.
- Respond to messages
- Handle user actions
- Recognize user intent
- Send a rich card
- Send attachments
- Saving user data
If you encounter problems or have suggestions regarding the Bot Builder SDK for Node.js, see Support for a list of available resources.