The Bot Framework SDK v4, part of the Bot Framework, provides the most comprehensive experience for building conversation applications. With the Bot Framework SDK, developers can easily model and build sophisticated conversation using their favorite programming languages. With the Bot Framework SDK, you can build bots that converse free-form or your bot can also have more guided interactions where it provides the user choices or possible actions. The conversation can use simple text or more complex rich cards that contain text, images, and action buttons. You can add natural language interactions and questions and answers, which let your users interact with your bots in a natural way.
The Bot Framework SDK v4 is an open source SDK that enable developers to model and build sophisticated conversation using their favorite programming language.
C# | JS | Python | Java | |
---|---|---|---|---|
Stable Release | 4.5.0 | 4.5.0 | 4.5.0b2 (preview) | 4.0.0a6 (preview) |
Docs | docs | docs | ||
Samples | .NET Core, WebAPI | Node.js , TypeScript, es6 | Python |
-
Adaptive Dialog | docs | C# samples :: Adaptive Dialogs enable developers to build conversations that can be dynamically changed as the conversation progresses. Traditionally developers have mapped out the entire flow of a conversation up front, which limits the flexibility of the conversation. Adaptive dialogs allow them to be more flexible, to respond to changes in context and insert new steps or entire sub-dialogs into the conversation as it progresses. Additionally as with other SDK V4 concepts, we have defined adaptive dialogs such that they can be defined via declarative that are interpreted at runtime; which allows us to have tooling on top of this and integrate with services.
-
Language Generation | docs | C# samples :: Learning from our customers experiences and bringing together capabilities first implemented by Cortana and Cognition teams, we are introducing Language Generation; which allows the developer to extract the embedded strings from their code and resource files and manage them through a Language Generation runtime and file format. Language Generation enable customers to define multiple variations on a phrase, execute simple expressions based on context, refer to conversational memory, and over time will enable us to bring additional capabilities all leading to a more natural conversational experience.
-
Common Expression Language | api :: Both Adaptive dialogs and Language Generation rely on and use a common expression language to power bot conversations.
There are two ways to connect your bot to a client experience:
- Azure Bot Service Channel - Language and SDK independent support via Azure Bot Service
- Bot Framework SDK Adapter - A per language Adapter component written by community
Client | Azure Channel | C# Adapter | JS Adapter |
---|---|---|---|
Microsoft Teams | Azure | ||
Skype | Azure | ||
Exchange | Azure | ||
Direct Line | Azure | ||
Web Chat | Azure | Botkit | |
Cortana | Azure | ||
Azure | Botkit | ||
Slack | Azure | Botkit | |
Kik | Azure | ||
Telegram | Azure | ||
Line | Azure | ||
GroupMe | Azure | ||
Twilio (SMS) | Azure | Botkit | |
Alexa | Community | Community | |
Google Home | Community | Community | |
Google Hangouts | Community | Botkit | |
WebEx | Botkit | ||
Console | Community |
Adapters and plugins from the open source community are available to extend your bot application.
C# | JavaScript | Python | Java | |
---|---|---|---|---|
botbuilder-community | C# | JavaScript | Python | Java |
Botkit | JavaScript |
If you have questions about Bot Framework SDK or using Azure Bot Service, we encourage you to reach out to the community and Azure Bot Service dev team for help.
- For questions which fit the Stack Overflow format ("how does this work?"), we monitor the both Azure Bot Service and Bot Framework tags (search both)
- You can also tweet/follow @msbotframework
Join the conversation on Gitter.
See all the support options here.
We track functional issues and features asks for and Bot Builder and Azure Bot Service in a variety of locations. If you have found an issue or have a feature request, please submit an issue to the below repositories.
Item | Description | Link |
---|---|---|
SDK v4 .NET | core bot runtime for .NET, connectors, middleware, dialogs, prompts, LUIS and QnA | File an issue |
SDK v4 JavaScript | core bot runtime for Typescript/Javascript, connectors, middleware, dialogs, prompts, LUIS and QnA | File an issue |
SDK v4 Python | core bot runtime for Python, connectors, middleware, dialogs, prompts, LUIS and QnA | File an issue |
SDK v4 Java | core bot runtime for Java, connectors, middleware, dialogs, prompts, LUIS and QnA | File an issue |
- Bot Builder v3 SDK has been migrated to the Bot Framework SDK V3 repository.
- Botkit SDK is a popular SDK which joined the Microsoft Bot Framework family and is built on top of the Bot Framework SDK V4.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) at [email protected]. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.
Copyright (c) Microsoft Corporation. All rights reserved.