Microsoft Teams Bot Framework API

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

Documentation

Specifications

Code Examples

Other Resources

🔗
APIsJSON
https://artifacts.apis.io/microsoft-teams/apis.yml
🔗
Arazzo
https://artifacts.apis.io/microsoft-teams/arazzo/_index.yml
🔗
Arazzo
https://artifacts.apis.io/microsoft-teams/arazzo/microsoft-teams-add-member-and-welcome-workflow.yml
🔗
Arazzo
https://artifacts.apis.io/microsoft-teams/arazzo/microsoft-teams-archive-team-workflow.yml
🔗
Arazzo
https://artifacts.apis.io/microsoft-teams/arazzo/microsoft-teams-audit-team-channels-workflow.yml
🔗
Arazzo
https://artifacts.apis.io/microsoft-teams/arazzo/microsoft-teams-broadcast-to-joined-team-channel-workflow.yml
🔗
Arazzo
https://artifacts.apis.io/microsoft-teams/arazzo/microsoft-teams-create-team-workflow.yml
🔗
Arazzo
https://artifacts.apis.io/microsoft-teams/arazzo/microsoft-teams-discover-channel-tabs-workflow.yml
🔗
Arazzo
https://artifacts.apis.io/microsoft-teams/arazzo/microsoft-teams-inventory-team-collaboration-workflow.yml
🔗
Arazzo
https://artifacts.apis.io/microsoft-teams/arazzo/microsoft-teams-offboard-team-member-workflow.yml
🔗
Arazzo
https://artifacts.apis.io/microsoft-teams/arazzo/microsoft-teams-onboard-team-member-workflow.yml
🔗
Arazzo
https://artifacts.apis.io/microsoft-teams/arazzo/microsoft-teams-post-channel-announcement-workflow.yml
🔗
Arazzo
https://artifacts.apis.io/microsoft-teams/arazzo/microsoft-teams-promote-team-member-workflow.yml
🔗
Arazzo
https://artifacts.apis.io/microsoft-teams/arazzo/microsoft-teams-provision-channel-workflow.yml
🔗
Arazzo
https://artifacts.apis.io/microsoft-teams/arazzo/microsoft-teams-rename-team-workflow.yml
🔗
Arazzo
https://artifacts.apis.io/microsoft-teams/arazzo/microsoft-teams-review-channel-conversation-workflow.yml

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/microsoft-teams:microsoft-teams-bot-framework-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

AsyncAPI Specification

microsoft-teams-asyncapi.yaml Raw ↑
asyncapi: 2.6.0
info:
  title: Microsoft Teams Event Surface
  version: 1.0.0
  description: "AsyncAPI 2.6 description of the asynchronous event surface for Microsoft\nTeams. Two distinct delivery channels\
    \ are modeled:\n\n  1. Microsoft Graph change notifications - HTTPS webhook deliveries that\n     Microsoft Graph POSTs\
    \ to a subscriber-owned `notificationUrl` (and an\n     optional `lifecycleNotificationUrl`) when subscribed Teams resources\n\
    \     (chats, channels, teams, chat messages, conversation members, call\n     recordings, call transcripts, Teams app\
    \ installations) change.\n  2. Bot Framework activities - HTTPS deliveries that the Teams channel of\n     the Azure Bot\
    \ Service POSTs to the bot's messaging endpoint when a\n     user (or Teams itself) triggers a conversation event (message,\n\
    \     conversationUpdate, messageReaction, installationUpdate, invoke,\n     event, typing, messageUpdate, messageDelete).\n\
    \nResource paths, change types, payload shapes, and bot activity event types\nare taken from the public Microsoft Learn\
    \ documentation:\n\n  - https://learn.microsoft.com/en-us/graph/teams-change-notification-in-microsoft-teams-overview\n\
    \  - https://learn.microsoft.com/en-us/graph/teams-changenotifications-chatmessage\n  - https://learn.microsoft.com/en-us/graph/change-notifications-lifecycle-events\n\
    \  - https://learn.microsoft.com/en-us/microsoftteams/platform/bots/how-to/conversations/subscribe-to-conversation-events\n\
    \  - https://learn.microsoft.com/en-us/microsoftteams/platform/bots/how-to/conversations/conversation-basics\n  - https://learn.microsoft.com/en-us/microsoftteams/platform/resources/bot-v3/bots-notifications\n\
    \nNo event types, resource paths, or activity names are invented; everything\nhere is grounded in the source documentation.\n"
  contact:
    name: Microsoft Graph / Microsoft Teams Platform
    url: https://learn.microsoft.com/en-us/graph/teams-concept-overview
  license:
    name: Microsoft Learn Terms of Use
    url: https://learn.microsoft.com/en-us/legal/termsofuse
  x-externalDocs:
    description: Change notifications for Microsoft Teams resources
    url: https://learn.microsoft.com/en-us/graph/teams-change-notification-in-microsoft-teams-overview
  x-tags:
  - name: microsoft-graph
  - name: change-notifications
  - name: webhooks
  - name: bot-framework


# --- truncated at 32 KB (50 KB total) ---
# Full source: https://artifacts.apis.io/microsoft-teams/asyncapi/microsoft-teams-asyncapi.yaml