Chat SDK adds reactions and ephemeral messages for Teams

๐กBuild more interactive Microsoft Teams bots with native reaction and ephemeral message support via the Chat SDK.
โก 30-Second TL;DR
What Changed
Added support for postEphemeral() to send targeted messages
Why It Matters
These features enable developers to build more interactive and professional bot experiences within Microsoft Teams. The ability to send ephemeral messages is particularly useful for permission prompts and status updates.
What To Do Next
Implement postEphemeral() in your Teams bot to handle sensitive or targeted user prompts more securely.
Key Points
- โขAdded support for postEphemeral() to send targeted messages
- โขBots can now add or remove reactions on Teams messages
- โขImproved conversation routing to distinguish group chats from DMs
- โขCustom token factory support for authentication without static secrets
๐ง Deep Insight
AI-generated analysis for this event.
๐ Enhanced Key Takeaways
- โขThe integration leverages the Microsoft Bot Framework SDK under the hood to ensure compatibility with Teams' specific activity schemas.
- โขVercel's implementation includes a new middleware layer that automatically handles the translation between Vercel Chat SDK events and Teams-specific JSON payloads.
- โขThe update addresses a long-standing limitation where developers previously had to manually manage state for ephemeral message IDs to perform updates or deletions.
- โขThe custom token factory utilizes OAuth 2.0 on-behalf-of (OBO) flow, allowing bots to act on behalf of the user without storing long-lived credentials.
- โขConversation routing enhancements now include automated detection of 'conversationType' (personal, channel, or groupChat) to simplify conditional logic in bot handlers.
๐ Competitor Analysisโธ Show
| Feature | Vercel Chat SDK | Botpress | Microsoft Bot Framework |
|---|---|---|---|
| Teams Integration | Native/Optimized | Plugin-based | Native/Core |
| Auth Handling | Custom Token Factory | Managed/SaaS | Manual/Config |
| Ephemeral Support | Simplified API | Visual Builder | Low-level API |
๐ ๏ธ Technical Deep Dive
- The postEphemeral() implementation maps directly to the Microsoft Graph API /conversations/{conversationId}/activities endpoint.
- Reaction support utilizes the messageId and reactionType properties, requiring the bot to have 'ChannelMessage.Read.All' and 'ChannelMessage.Send' permissions.
- The token factory interface requires a provider that implements getAccessToken(scope: string) to support dynamic credential rotation.
- Conversation routing logic uses the 'conversation.conversationType' field from the incoming activity object to populate a new 'context.type' property in the SDK's request object.
๐ฎ Future ImplicationsAI analysis grounded in cited sources
โณ Timeline
Weekly AI Recap
Read this week's curated digest of top AI events โ
๐Related Updates
AI-curated news aggregator. All content rights belong to original publishers.
Original source: Vercel News โ

