Add an official Microsoft Teams integration that allows ChatbotX chatbots to operate directly within Microsoft Teams.
Objective
Allow organizations using Microsoft Teams to deploy ChatbotX as a Teams application/bot and automate conversations across individual chats, group chats, and supported channels.
Functional Requirements
• Create and configure a Microsoft Teams application for ChatbotX.
• Register the ChatbotX bot/application.
• Support Microsoft Entra ID authentication.
• Support OAuth 2.0.
• Allow Microsoft 365 administrators to authorize the application.
• Allow ChatbotX to be installed as a Teams application.
• Support 1:1 conversations.
• Support group chats.
• Support Teams channels.
• Receive messages sent to the bot.
• Support @mentions.
• Send automated responses.
• Maintain conversation context.
• Maintain conversation history.
• Support rich cards and interactive messages where available.
• Support human-agent handoff.
• Support proactive messages/notifications where permitted by Teams installation and permissions.
• Allow administrators to associate a ChatbotX chatbot with a Teams installation.
• Allow administrators to disconnect or uninstall the integration.
Permissions
The integration should request only the minimum permissions required for the selected functionality.
The implementation should support the appropriate:
• Microsoft Graph permissions.
• Microsoft Entra ID permissions.
• Microsoft Teams permissions.
• Resource-Specific Consent where applicable.
• Messaging permissions.
• Application installation permissions where required.
• Administrative consent where required.
Technical Requirements
• Use official Microsoft Teams and Microsoft Graph APIs.
• Implement a Teams-compatible bot.
• Implement Microsoft Entra ID / OAuth 2.0.
• Securely manage access and refresh tokens where applicable.
• Implement webhooks/change notifications where required.
• Handle Microsoft API rate limits.
• Implement retry mechanisms.
• Prevent duplicate event/message processing.
• Maintain tenant-level data isolation.
• Log authentication, API, and integration errors.
Acceptance Criteria
1. An administrator can install ChatbotX in Microsoft Teams.
2. The required permissions can be authorized.
3. An administrator can associate a ChatbotX chatbot.
4. Users can communicate with ChatbotX from Teams.
5. ChatbotX receives and processes messages.
6. Responses are displayed correctly in Teams.
7. The bot can respond to supported @mentions.
8. Conversation context is maintained.
9. Data from different Microsoft 365 organizations/tenants remains isolated.
10. Administrators can revoke or remove the integration.