create_channel
ChatGPTCreate a new Microsoft Teams channel inside an existing team. Use this when the user explicitly wants a new channel in a known team. This action only creates the channel itself and does not add members during creation. If you need to inspect the created channel afterward, use explicit read actions such as list_channels or resolve_channel.
create_chat
ChatGPTCreate a new Microsoft Teams chat. Use this when the user explicitly wants a new DM or group chat. Provide exact Microsoft Entra user IDs for the intended participants. For a direct chat, use chat_type='oneOnOne' and include exactly two participant user IDs, including the signed-in user. For a group chat, include one or more participant user IDs. Do not use this to message yourself; first call resolve_chat(include_self_chat=True) to find an existing self-chat, then use send_chat_message with that chat_id. If you need to look up chat details after creation, use explicit read actions such as list_chats or resolve_chat.
create_planner_task
ChatGPTCreate a Planner task in a known plan and bucket. Use this when the user wants task-manager functionality in Microsoft Planner and you already know the target plan and bucket IDs.
delete_planner_task
ChatGPTDelete a Planner task safely using the task's current ETag.
fetch
ChatGPTFetch a specific Microsoft Teams message or chat conversation by path. Prefer passing the exact path returned by Teams search or write actions. This avoids forcing the model to reconstruct IDs from a Teams URL manually. Chat conversation links expand into a transcript built from the most recent chat messages. If you need richer chat or channel metadata beyond the message payload itself, use explicit read actions such as resolve_chat, list_chats, resolve_channel, or list_channels.
fetch_planner_task
ChatGPTFetch a Planner task by ID, including its current ETag.
get_chat_members
ChatGPTList the members of a Microsoft Teams chat. Use this after list_chats when the user refers to a chat by topic or participant names and you need to confirm who is in it. This action follows Graph pagination internally and returns all available members. Some Graph tenants omit display names or email addresses for individual members; those fields are normalized to empty strings instead of failing the entire response.
get_profile
ChatGPTReturn the authenticated Microsoft Teams user's profile.
list_channel_messages
ChatGPTList messages from a Teams channel for review or summarization. Microsoft Graph documents this endpoint at: https://learn.microsoft.com/en-us/graph/api/channel-list-messages?view=graph-rest-1.0
list_channels
ChatGPTList channels for a Microsoft Teams team. Use this before send_channel_message when you know the team but need the exact channel ID for a destination such as General or Launches. This action follows Graph pagination internally and returns up to top channels.
list_chat_messages
ChatGPTList messages from a Teams chat for review or summarization.
list_chats
ChatGPTList chats available to the signed-in Microsoft Teams user. Use this before send_chat_message when the user refers to an existing chat but you do not already know its exact chat ID. This action follows Graph pagination internally and returns up to top chats.
list_planner_buckets
ChatGPTList Planner buckets for a plan. Use this before creating a task when the user names a bucket or column inside a Planner board and you need the exact bucket ID.
list_planner_plans
ChatGPTList Planner plans available to the signed-in Microsoft account. Use this before creating or managing Planner tasks when you need the exact plan ID for the target board.
list_planner_tasks
ChatGPTList Planner tasks for task review and task-discovery workflows. When bucket_id or plan_id is provided, this lists tasks from the corresponding bucket- or plan-scoped Microsoft Graph collection. Without either ID, it lists tasks assigned to the signed-in user.
list_recent_threads
ChatGPTList recent Teams chat and channel threads with canonical fetch paths. Use this for prompts like "review recent threads", "summarize today's activity", or "what changed in #engineering" when thread-level context is more useful than raw search hits. Each result includes a stable thread identifier, a canonical path for fetch, container metadata, and a preview of the latest visible message.
list_teams
ChatGPTList Microsoft Teams the signed-in user has joined. Use this before list_channels or send_channel_message when the user names a team but you do not yet know its exact team ID. This action follows Graph pagination internally and returns up to top teams.
oai_user_fetch
ChatGPTUses mfetch to perform document fetch for link following and citations.
oai_user_search
ChatGPTUses synced RAG index to perform semantic search against query. The index is refreshed until (now - 2h).
reply_to_channel_message
ChatGPTReply to an existing Microsoft Teams channel thread. Use this when the user wants to continue an existing channel conversation under a known parent message. If you need richer channel metadata after sending, use explicit read actions such as resolve_channel, list_channels, or fetch.
reply_to_message
ChatGPTReply to a Teams message by path. For chat messages this uses Graph replyWithQuote. For channel messages, passing either a root message or a reply continues the same thread by posting under the root message. Pass a fully qualified Teams channel path like /teams/{team_id}/channels/{channel_id}/messages/{root_id} or /teams/{team_id}/channels/{channel_id}/messages/{root_id}/replies/{reply_id}. If you only have an ambiguous fallback channel path, use an explicit read action such as list_channel_messages or search to get the canonical channel path first.
resolve_channel
ChatGPTResolve Teams channels by display name, optionally scoped to a team. Use this when the user names a channel such as #engineering or product-managers and you need the exact channel ID for read or write actions. Provide team_id or team_name when available to reduce ambiguity across similarly named channels.
resolve_chat
ChatGPTResolve existing Teams chats by topic or participants. Use this when the user refers to a DM or group chat by participant names or by chat topic and you need the exact chat ID before reading or posting. For self-chat, set include_self_chat=True and then use the returned chat_id with send_chat_message; do not call create_chat to message yourself. Results are ranked to prefer exact topic matches and chats that contain all requested participants.
resolve_team
ChatGPTResolve Microsoft Teams teams by display name. Use this when the user names a team, such as Engineering, but you do not yet know the exact team ID required by channel-oriented actions. Results are ranked with exact matches first, followed by broader substring matches.
resolve_user
ChatGPTResolve Microsoft Entra users for Teams chat creation or member lookup. Use this before create_chat when the user names people but you need exact Microsoft Entra user IDs.
search
ChatGPTSearch Microsoft Teams chats and channel messages. Prefix optional filters `sender_name or recipient_name in filters to narrow down search. Example: query="project discussion" filters={"sender_name": ["Alice", "Bob"], "recipient_name": ["Charlie"]}. Use team_id, channel_id, chat_id, or sent_after` when the user already identified a likely container and you want deterministic narrowing after Graph search. The response includes canonical fetch paths plus normalized container metadata so follow-up actions do not need to reconstruct chat/channel context from raw Graph payloads.
send_channel_message
ChatGPTSend a new top-level message to a Microsoft Teams channel. Use this when the user wants to start a new channel thread. For replies inside an existing thread, use reply_to_channel_message. If you need richer channel metadata after sending, use explicit read actions such as resolve_channel, list_channels, or fetch.
send_chat_message
ChatGPTSend a new message to an existing Microsoft Teams chat. Use this for one-on-one or group chat conversations when the user wants to post a new chat message now. If you need richer chat metadata after sending, use explicit read actions such as resolve_chat, list_chats, or fetch.
update_planner_task
ChatGPTUpdate a Planner task and return the updated task. The connector fetches the current task first so it can supply the latest Planner ETag automatically for a safe conditional write.
validate_write_target
ChatGPTPreflight a Teams write target and flag unsupported create-style requests. Use this before write actions when the destination is ambiguous or expressed in natural language. This action resolves existing chats or channels when possible. For create-style intents, it returns guidance to route to the explicit create_chat or create_channel actions rather than rejecting the workflow as unsupported.