Microsoft Bot Framework
Microsoft's pre-LLM SDK for building turn-based conversational bots in C#/JS/Python/Java with dialog stacks, channel adapters, scoped state, and a documented handoff-to-human protocol; archived on GitHub with support ending December 2025.
Description
Microsoft Bot Framework SDK v4 is a modular SDK and set of services (Azure Bot Service, Bot Connector) for building bots that converse across channels (Teams, Slack, Telegram, Facebook, web chat, SMS via Twilio, and others). Bots are activity-driven (each user message is a turn), use the Dialog library (component, waterfall, prompt, adaptive dialogs) to manage multi-turn flows, persist state in three scopes (user / conversation / private-conversation) over Memory / Azure Blob / Cosmos storage, and support a standardised handoff protocol with `handoff.initiate` and `handoff.status` events. The SDK and Bot Framework Emulator have been archived; Microsoft recommends migrating to the Microsoft 365 Agents SDK.
Solution
Activity-driven turn loop: the Bot Connector relays an activity from a channel to the bot, the bot's turn handler reads/writes state through state property accessors, the active Dialog on the dialog stack continues from where it left off (multi-turn persistence via dialog state), the bot replies, and state is saved. There is no LLM agent loop in the SDK itself — the bot is imperative; LUIS/QnA Maker provide NLU.
Primary use cases
- multi-channel enterprise chatbots (Teams, Slack, Facebook Messenger, web chat, SMS)
- dialog-stack-driven multi-turn conversation flows with waterfall and prompts
- QnA Maker / Custom Question Answering knowledge bots
- bot-as-proxy or bot-as-agent handoff to human-agent platforms
Open the full interactive page →
Diagram, neighbourhood map, code examples, related patterns and full provenance.