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.
|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.
|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.
|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.
|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|