bot-dialog

Create Bot Framework waterfall dialogs with ComponentDialog and DialogBot wiring.

1|Updated Aug 22, 2025
One-click install
npx skills add https://github.com/interserver/teams-chat-bot --skill bot-dialog
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bot-dialog
Source: https://github.com/interserver/teams-chat-bot/tree/main/.claude/skills/bot-dialog
Command: npx skills add https://github.com/interserver/teams-chat-bot --skill bot-dialog

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It solves the problem of building consistent, correctly-wired waterfall dialogs for a Bot Framework DialogBot without common wiring mistakes that prevent dialogs from starting.

Core Features & Use Cases

  • Waterfall dialog scaffolding: Generates a new ComponentDialog with a WaterfallDialog and the required run(context, accessor) entry point.
  • Prompt integration: Adds and registers prompts (e.g., TextPrompt) so dialog steps can reliably collect user input.
  • DialogBot wiring: Shows how to instantiate and pass the dialog into DialogBot so the bot executes it on incoming messages.
  • Use Case: Create interactive, multi-step conversation flows such as collecting ticket details (title, description, confirmation) from Teams users.

Quick Start

Create a new file under server/dialogs/ using the provided dialog skeleton, then wire your new dialog instance into the code that constructs DialogBot.

Frequently Asked Questions about bot-dialog

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a multi-step waterfall dialog for a Microsoft Teams bot?

To create a multi-step waterfall dialog for a Teams bot, generate a new ComponentDialog containing a WaterfallDialog and implement the required run(context, accessor) method to integrate conversational steps.

Why does my Bot Framework ComponentDialog fail to start within DialogBot?

Your ComponentDialog may fail to start within DialogBot due to missing wiring requirements like a correct initialDialogId or an improperly implemented run(context, accessor) method.

How do I collect user input with prompts in a Bot Framework waterfall dialog?

To collect user input in a waterfall dialog, add and register prompt components like TextPrompt within your ComponentDialog so individual dialog steps can reliably gather user responses.

Does adding a new Teams waterfall dialog require modifying mainDialog.js?

No, adding a new Teams waterfall dialog does not require modifying mainDialog.js or logoutDialog.js; you wire the new dialog instance directly into the code that constructs DialogBot.

What is the best way to structure Bot Framework prompts for multi-step conversation flows?

The best way to structure multi-step conversation flows is using a WaterfallDialog inside a ComponentDialog, registering required prompts upfront, and managing dialog IDs with module-level constants.