Accelerate Microsoft 365 Copilot adoption with targeted, contextual guidance delivered directly in Microsoft Teams.
A Teams bot that sends beautifully designed adaptive cards with Copilot tips, prompt examples, and best practices to help your users get the most out of Microsoft 365 Copilot. Perfect for IT teams and adoption specialists looking to drive real behavior change and maximize Copilot ROI.
Traditional training emails get ignored. Long training sessions are forgotten. Copilot Adoption Bot meets users where they work right in Microsoft Teams with bite-sized, actionable guidance at the perfect moment.
| Traditional Email | Copilot Adoption Bot |
|---|---|
| Often ignored or filtered | Appears directly in Teams chat |
| Static content | Interactive adaptive cards |
| No engagement tracking | Full delivery and interaction logging |
| One-size-fits-all | Targeted to specific users or groups |
| Manual sending | Scheduled and automated delivery |
- Copilot Chat Tips - Ready-to-use prompts and best practices
- App-Specific Guidance - Tips for Copilot in Outlook, Word, Excel, PowerPoint, Teams
- Prompt Engineering - Help users craft better prompts
- Feature Discovery - Introduce new Copilot capabilities
- Adoption Campaigns - Progressive tip delivery over time
- Employee Onboarding - Welcome messages and getting-started resources
- Training Reinforcement - Follow-up nudges after training sessions
- Feature Announcements - New Microsoft 365 features
- Feedback Collection - Gather user feedback through interactive cards
- Template Management - Create and edit adaptive card templates
- Azure Storage Only - No SQL database required (Table + Blob Storage)
- Teams Bot Integration - Direct delivery via Teams bot conversations
- Message Logging - Track delivery status and recipients
- User Cache with Delta Queries - Efficient user data syncing from Microsoft Graph
- Copilot Usage Statistics - Optional per-user Microsoft 365 Copilot activity tracking
- Smart Groups - AI-powered dynamic user targeting (requires AI Foundry)
- Authentication - Teams SSO and MSAL support
- Modern UI - React-based interface with Fluent UI components
Backend
- .NET 10 | ASP.NET Core | Microsoft Bot Framework
- Azure Table Storage | Azure Blob Storage
- Microsoft Graph API
Frontend
- React 18 | TypeScript | Fluent UI
- Vite | Azure MSAL | Teams JS SDK
| Document | Description |
|---|---|
| Setup Guide | Teams bot setup and Graph permissions |
| Development Guide | Local development environment and tunneling |
| Configuration Reference | Complete configuration options reference |
| Usage Guide | How to create templates and send messages |
| Features Guide | Detailed feature documentation |
| Deployment Guide | Azure deployment and CI/CD pipelines |
| Security Guide | Security best practices |
| Troubleshooting | Common issues and solutions |
git clone https://github.com/pnp/copilot-adoption-bot.git
cd copilot-adoption-bot/src/Full/Bot
# Backend
dotnet restore
dotnet build
# Frontend
cd Web/web.client
npm install
npm run buildSee the Setup Guide for detailed configuration steps:
- Create Teams bot in Developer Portal
- Configure Microsoft Graph permissions
- Set up user secrets for local development
- Configure Azure resources
# Backend
cd Web/Web.Server
dotnet run
# Frontend (in another terminal)
cd Web/web.client
npm run devVisit https://localhost:5001 for the API and http://localhost:5173 for the web interface.
Deploy to Azure App Service using:
Manual Deployment:
cd src/Full/Bot
dotnet publish Web/Web.Server/Web.Server.csproj -c Release -o ./publish
az webapp deploy --resource-group myResourceGroup --name myAppName --src-path ./publishAutomated CI/CD:
- GitHub Actions (
.github/workflows/azure-deploy.yml) - Azure DevOps (
.azure-pipelines/azure-deploy.yml)
See the Deployment Guide for complete instructions.
src/Full/Bot/
├── Web.Server/ # ASP.NET Core Web API and Teams bot
├── web.client/ # React frontend application
├── Common.Engine/ # Core business logic and services
├── Common.DataUtils/ # Data access and storage utilities
└── UnitTests/ # Unit and integration tests
Key security practices:
- Use Azure Key Vault for secrets in production
- Use
dotnet user-secretsfor local development - Enable HTTPS only
- Implement proper RBAC for Azure resources
- Validate all adaptive card JSON before storage
- Regularly rotate secrets and keys
See the Security Guide for comprehensive security best practices.
This project is provided as-is under the MIT License. See LICENSE for details.
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
- Issues: Report bugs or request features via GitHub Issues
- Documentation: Check our comprehensive documentation
- Troubleshooting: See the Troubleshooting Guide
This project is part of the Microsoft 365 & Power Platform Community.
- Twitter: @m365pnp
- YouTube: Microsoft 365 Community
- Blog: Microsoft 365 Community Blog
Made with ❤️ by the Microsoft 365 Community
