How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Microsoft Teams Bot Framework API

API for building conversational bots that interact with users in Microsoft Teams through the Bot Framework.

This event API exposes 37 operations across 37 channels, and defines 39 schemas. It is described by AsyncAPI 2.6.0, at version 1.0.0.

The API connects through 2 servers: {notificationUrl} (https), {botEndpoint} (https).

37 operations 37 channels 39 schemas

Metadata

The identity and technical contract details declared by the specification.

Specification
AsyncAPI 2.6.0
API Version
1.0.0
Base URL
https://smba.trafficmanager.net/teams/
Resource Areas
1

Channels & Operations 37

Across 37 channels, the API surfaces 37 operations. Each is listed below with its action, channel, parameters, and response codes.

Channels 37
SUB
graph/teams/getAllMessages
All channel messages across the tenant
receiveTenantChannelMessages body
SUB
graph/chats/getAllMessages
All chat messages across the tenant
receiveTenantChatMessages body
SUB
graph/teams/{teamId}/channels/{channelId}/messages
Messages and replies in a specific channel
receiveChannelMessages 2 params body
SUB
graph/chats/{chatId}/messages
Messages in a specific chat
receiveChatMessages 1 param body
SUB
graph/users/{userId}/chats/getAllMessages
All chat messages for a specific user
receiveUserChatMessages 1 param body
SUB
graph/appCatalogs/teamsApps/{teamsAppId}/installedToChats/getAllMessages
Chat messages in chats where a Teams app is installed
receiveAppInstalledChatMessages 1 param body
SUB
graph/teams/getAllChannels
Channel resource changes across the tenant
receiveTenantChannelChanges body
SUB
graph/teams/{teamId}/channels
Channel resource changes within a specific team
receiveTeamChannelChanges 1 param body
SUB
graph/chats
Chat resource changes across the tenant
receiveTenantChatChanges body
SUB
graph/chats/{chatId}
Changes to a specific chat resource
receiveChatChanges 1 param body
SUB
graph/appCatalogs/teamsApps/{teamsAppId}/installedToChats
Chat changes for chats where a Teams app is installed
receiveAppInstalledChatChanges 1 param body
SUB
graph/teams
Team resource changes across the tenant
receiveTenantTeamChanges body
SUB
graph/teams/{teamId}
Changes to a specific team resource
receiveTeamChanges 1 param body
SUB
graph/teams/{teamId}/members
Conversation member changes in a specific team
receiveTeamMemberChanges 1 param body
SUB
graph/chats/{chatId}/members
Conversation member changes in a specific chat
receiveChatMemberChanges 1 param body
SUB
graph/chats/getAllMembers
Conversation member changes across all chats
receiveAllChatMemberChanges body
SUB
graph/teams/{teamId}/channels/getAllMembers
Conversation member changes across all channels in a team
receiveTeamChannelMemberChanges 1 param body
SUB
graph/teams/getAllChannels/getAllMembers
Conversation member changes across all channels in the tenant
receiveTenantChannelMemberChanges body
SUB
graph/appCatalogs/teamsApps/{teamsAppId}/installedToChats/getAllMembers
Member changes for chats where a Teams app is installed
receiveAppInstalledChatMemberChanges 1 param body
SUB
graph/appCatalogs/teamsApps/{teamsAppId}/installations
Teams app installation lifecycle events
receiveTeamsAppInstallations 1 param body
SUB
graph/communications/onlineMeetings/getAllRecordings
Online meeting recordings across the organization
receiveTenantOnlineMeetingRecordings body
SUB
graph/communications/onlineMeetings/{onlineMeetingId}/recordings
Recordings for a specific online meeting
receiveOnlineMeetingRecordings 1 param body
SUB
graph/users/{userId}/onlineMeetings/getAllRecordings
Online meeting recordings for a specific organizer
receiveUserOnlineMeetingRecordings 1 param body
SUB
graph/appCatalogs/teamsApps/{teamsAppId}/installedToOnlineMeetings/getAllRecordings
Meeting recordings where a Teams app is installed
receiveAppInstalledOnlineMeetingRecordings 1 param body
SUB
graph/communications/adhocCalls/getAllRecordings
Recordings for ad hoc calls across the organization
receiveTenantAdhocCallRecordings body
SUB
graph/communications/adhocCalls/{adhocCallId}/recordings
Recordings for a specific ad hoc call
receiveAdhocCallRecordings 1 param body
SUB
graph/users/{userId}/adhocCalls/getAllRecordings
Recordings for ad hoc calls initiated by a user
receiveUserAdhocCallRecordings 1 param body
SUB
graph/communications/onlineMeetings/getAllTranscripts
Online meeting transcripts across the organization
receiveTenantOnlineMeetingTranscripts body
SUB
graph/communications/onlineMeetings/{onlineMeetingId}/transcripts
Transcripts for a specific online meeting
receiveOnlineMeetingTranscripts 1 param body
SUB
graph/users/{userId}/onlineMeetings/getAllTranscripts
Online meeting transcripts for a specific organizer
receiveUserOnlineMeetingTranscripts 1 param body
SUB
graph/appCatalogs/teamsApps/{teamsAppId}/installedToOnlineMeetings/getAllTrancripts
Meeting transcripts where a Teams app is installed
receiveAppInstalledOnlineMeetingTranscripts 1 param body
SUB
graph/communications/adhocCalls/getAllTranscripts
Transcripts for ad hoc calls across the organization
receiveTenantAdhocCallTranscripts body
SUB
graph/communications/adhocCalls/{adhocCallId}/transcripts
Transcripts for a specific ad hoc call
receiveAdhocCallTranscripts 1 param body
SUB
graph/users/{userId}/adhocCalls/getAllTranscripts
Transcripts for ad hoc calls initiated by a user
receiveUserAdhocCallTranscripts 1 param body
SUB
graph/lifecycle
Subscription lifecycle notifications
receiveLifecycleNotifications body
SUB
graph/validation
Subscription endpoint validation handshake
receiveValidationRequest body
SUB
bot/activities
Bot Framework Activity delivered to the bot endpoint
receiveBotActivity body

Messages & Schemas 39

The contract defines 39 schemas that model the data carried by its messages. The most detailed are ActivityBase (14 properties), TeamsChannelData (9 properties), ChangeNotification (8 properties), ConversationAccount (5 properties). Each schema is shown below with its type and property counts.

ChatMessageNotification
message
Notification payload for changes on the chatMessage resource. The resource may be in a channel or chat context. When includeResourceData is true on the subscri…
ChannelNotification
message
ChatNotification
message
TeamNotification
message
ConversationMemberNotification
message
TeamsAppInstallationNotification
message
CallRecordingNotification
message
CallTranscriptNotification
message
LifecycleNotification
message
Subscription lifecycle event. The lifecycleEvent value is one of reauthorizationRequired, subscriptionRemoved, or missed. Subscribers must respond with HTTP 20…
ValidationRequest
message
Sent by Microsoft Graph with the validationToken query parameter when a subscription is created or updated. The endpoint must respond within 10 seconds with HT…
MessageActivity
message
MessageUpdateActivity
message
Sent when a previously sent message is edited or restored from soft-delete. channelData.eventType is editMessage or undeleteMessage.
MessageDeleteActivity
message
Sent when a message is soft-deleted. channelData.eventType is softDeleteMessage.
ConversationUpdateActivity
message
Sent for membership and team/channel lifecycle changes. The channelData.eventType discriminator identifies the Teams-specific sub-event: teamMemberAdded, teamM…
MessageReactionActivity
message
Sent when a user adds or removes a reaction (like, heart, laugh, surprised, sad, angry, and other supported emoji reactions) to a message previously sent by th…
InstallationUpdateActivity
message
Sent when the bot is installed, uninstalled, or upgraded in a conversation thread. The action field is one of add, remove, add-upgrade, or remove-upgrade.
TypingActivity
message
InvokeActivity
message
Synchronous request from Teams that expects a response payload. The name discriminator identifies the invoke kind. Documented Teams invoke names include compos…
EventActivity
message
Asynchronous notification from Teams. Documented Teams event names include application/vnd.microsoft.readReceipt, application/vnd.microsoft.meetingStart, appli…
ChangeNotificationCollection
object
Top-level payload delivered by Microsoft Graph to a notificationUrl. Contains a batch of changeNotification items and optional validationTokens used to verify…
2 properties 1 required
ChangeNotification
object
A single change notification item.
8 properties 3 required
ResourceData
object
4 properties
EncryptedContent
object
Present when includeResourceData: true is set on the subscription. The receiver decrypts dataKey with its private key, then uses the symmetric key to decrypt d…
4 properties
LifecycleNotificationCollection
object
2 properties 1 required
LifecycleNotification
object
5 properties 2 required
ActivityBase
object
Bot Framework Activity base properties.
14 properties
MessageActivity
object
MessageUpdateActivity
object
MessageDeleteActivity
object
ConversationUpdateActivity
object
MessageReactionActivity
object
InstallationUpdateActivity
object
TypingActivity
object
InvokeActivity
object
EventActivity
object
ChannelAccount
object
4 properties
ConversationAccount
object
5 properties
MessageReaction
object
1 property
TeamsChannelData
object
Teams-specific channelData payload appended to most Bot Framework activities. The eventType discriminator identifies Teams sub-events on conversationUpdate and…
9 properties

Specification

The full machine-readable AsyncAPI contract behind this narrative.

Source

microsoft-teams-asyncapi.yaml Raw ↑
Where this information came from

This is an independent, third-party profile of Microsoft Teams Bot Framework API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.