Microsoft Teams
Author: langgenius
Type: tool
Overview
Post and reply to messages in Microsoft Teams channels and chats, start chats, create online meetings, and manage Planner tasks — via the Microsoft Graph API with OAuth2. Works in the global cloud and in national clouds (US Government, China/21Vianet).
Tools
- List Teams — the teams you belong to ().
- List Channels — channels in a team ().
- Send Channel Message — post a message to a channel ().
- Send Chat Message — post a message to a 1:1 or group chat ().
- List Chats — your chats with their participants (name, user ID, email), a display name (the topic, or the other participants) and web link. Filter by an exact participant name and/or email and by chat type (one-on-one, group, meeting); reads several pages and returns to continue ().
- List Chat Messages (new in 0.2.0) — the messages of a chat, newest first, by created or last-modified time with an optional time window; system events are left out unless asked for ().
- List Channel Messages — recent messages in a channel.
- List Group Calendar Events — events from a team's Microsoft 365 group calendar, optionally within a start/end date range (); returns subject, start/end, organizer, attendees and Teams meeting info.
Channel threads (new in 0.2.0)
- Reply to Channel Message — reply in a message's thread ().
- List Channel Message Replies — the replies in a thread.
Chats (new in 0.2.0)
- Create Chat — start a one-on-one or group chat with users given by UPN or user ID; the signed-in user is added automatically, and an existing one-on-one chat is returned instead of a duplicate.
- List Chat Members — members of a chat (names, emails, user IDs).
Online meetings (new in 0.2.0)
- Create Online Meeting — a standalone Teams meeting with its join link (). Times are ISO 8601; a value without a UTC offset is taken as UTC.
- Get Online Meeting / Delete Online Meeting — by meeting ID.
Planner (new in 0.2.0)
- List Planner Plans — plans of a team.
- List Planner Buckets — buckets (columns) of a plan.
- List Planner Tasks — tasks of a plan, optionally without completed ones.
- Create Planner Task — with bucket, due date and assignees (user IDs, or ).
- Update Planner Task — title, bucket, progress (: 0 / 50 / 100) or due date.
- Delete Planner Task.
Typical flows: List Teams → List Channels → Send Channel Message / Reply to Channel Message; List Teams → List Planner Plans → Create Planner Task.
Setup (Azure AD app + OAuth2)
- In the Azure Portal → App registrations, register an application.
- Copy the Application (client) ID and, under Certificates & secrets, create a client secret.
- Under API permissions, add these delegated Microsoft Graph permissions and grant consent:
- , — list teams/channels
- — post channel messages
- , — list/post chats
- — read a team's group calendar (List Group Calendar Events; admin consent required)
- — read channel messages and replies (admin consent required)
- — create, get and delete online meetings
- — Planner plans, buckets and tasks
- ,
- Add the redirect URI shown by Dify when you connect the plugin.
- In Dify, configure the plugin with Client ID, Client Secret, (optional) Tenant ID — leave it blank / for personal or multi-tenant apps — and Microsoft Cloud (Global unless your tenant is in a national cloud), then complete the OAuth sign-in.
Upgrading from 0.1.x: 0.2.0 asks for three more delegated permissions (, , ). Add them to the app registration, grant consent, and re-authorize once. Existing authorizations keep working for the 0.1.x tools in the meantime.
Notes
- Auth uses delegated permissions, so messages are posted as the signed-in user.
- Access tokens are refreshed automatically via the stored refresh token ().
Output variables
Besides and (unchanged), every tool returns typed variables that later workflow nodes can pick directly, without parsing . Every tool has (boolean) and (string, empty on success), so a workflow can branch with an IF node; list tools return an array of flat items plus .
Privacy
See PRIVACY.md.