Bot Builder samples are organized into groups and designed to illustrate task-focused samples in C# and Node.js to help you build great bots! To use the samples clone our GitHub repository using Git.
git clone https://github.com/Microsoft/BotBuilder-Samples.git
cd BotBuilder-Samples
These examples show the basic techniques needed to build a great bot.
Sample | Description | C# | Node |
---|---|---|---|
Send Attachment | A sample bot that passes simple media attachments (images) to a user activity. | View Sample | View Sample |
Receive Attachment | A sample bot that receives attachments sent by the user and downloads them. | View Sample | View Sample |
Create New Conversation | A sample bot that starts a new conversation using a previously stored user address. | View Sample | View Sample |
Proactive Messages | Three sample bots that proactively send a message to the user. | View Samples | View Samples |
Get Members of a Conversation | A sample bot that retrieves the conversation's members list and detects when it changes. | View Sample | View Sample |
Direct Line | A sample bot and a custom client communicating to each other using the Direct Line API. | View Sample | View Sample |
Direct Line (WebSockets) | A sample bot and a custom client communicating to each other using the Direct Line API + WebSockets. | View Sample | View Sample |
Basic Multi Dialogs | A sample bot showing how to use the dialog stack. | View Sample | View Sample |
Multi Dialogs | A sample bot showing different kind of dialogs. | View Sample | View Sample |
Global Message Handlers | A sample bot showing the usage of Global Message Handlers to handle global commands and manipulate the dialog stack. | View Sample | View Sample |
Simple Task Automation | A sample bot showing how to do simple task automation scenarios. | View Sample | View Sample |
Progress Dialog | A sample bot that shows how to create a progress dialog that will periodically notify users of the status of a long running task. | View Sample | |
State API | A stateless sample bot tracking context of a conversation. | View Sample | View Sample |
Custom State API | A stateless sample bot tracking context of a conversation using a custom storage provider. | View Sample | View Sample |
ChannelData | A sample bot sending native metadata to Facebook using ChannelData. | View Sample | View Sample |
ChannelData (Share Button) | A sample bot sending native metadata to Facebook to display a Share button. | View Sample | View Sample |
AppInsights | A sample bot which logs telemetry to an Application Insights instance. | View Sample | View Sample |
Middleware Logging | A basic bot that logs incoming and outgoing messages. | View Sample | View Sample |
Bot in Apps | A sample bot showing how to go beyond by becoming embedded into larger applications. | View Sample |
These examples emphasize the rich card support in Bot Framework.
Sample | Description | C# | Node |
---|---|---|---|
Rich Cards | A sample bot to renders several types of cards as attachments. | View Sample | View Sample |
Carousel of Cards | A sample bot that sends multiple rich card attachments in a single message using the Carousel layout. | View Sample | View Sample |
Cards as Attachments | A sample bot that renders several types of cards as attachments, while also showing the generated JSON for each one of these cards at the message's payload. | View Sample |
Build bots with powerful algorithms using Bing & Microsoft Cognitive Services APIs.
Sample | Description | C# | Node |
---|---|---|---|
LUIS | A sample bot using LuisDialog to integrate with a LUIS.ai application. | View Sample | View Sample |
Image Caption | A sample bot that gets an image caption using Microsoft Cognitive Services Vision API. | View Sample | View Sample |
Speech To Text | A sample bot that gets text from audio using Bing Speech API. | View Sample | View Sample |
Similar Products | A sample bot that finds visually similar products using Bing Image Search API. | View Sample | View Sample |
Zummer | A sample bot that finds wikipedia articles using Bing Search API | View Sample | View Sample |
These are bots designed to showcase end-to-end sample scenarios. They're great sources of code fragments if you're looking to have your bot lightup more complex features.
Sample | Description | C# | Node |
---|---|---|---|
Contoso Flowers | A reference implementation using many features from BotFramework. | View Sample | View Sample |
Azure Search | Two sample bots that help the user navigate large amounts of content. | View Samples | View Samples |
Knowledge Bot | A sample that uses Azure Document DB and Azure Search that searches and filters over an underlying dataset. | View Sample | View Sample |
Roller Skill | A simple dice rolling skill/bot that's been optimized for speech enabled channels, like Cortana. | View Sample | View Sample |
Payments | A sample bot showing how to integrate with Microsoft Seller Center for payment processing. | View Sample | View Sample |
LUIS Action Binding | A sample that contains a core implementation for doing LUIS Action Binding. | View Sample | View Sample |
Skype Calling | A sample bot showing how to use the Skype Bot Plaform for Calling API for receiving and handling Skype voice calls. | View Sample |