This page describes AAES Govern’s controls. AAES Operate has private-work permissions, operational reviews and recorded-spend limits; it does not include Govern. About AAES Govern
Before you enable this package
Draft package; not part of the reviewed library. Every capability uses a delegated Microsoft Graph token for one signed-in user. Microsoft allows app-only sending only for message migration, so replies and chat messages need that user and go out under their name. Bind TEAM_ID, CHANNEL_ID, MESSAGE_ID and CHAT_ID before enabling; each reply capability reaches one channel thread and each chat capability one existing chat. New top-level channel posts are in the Microsoft 365 package.
Read each action's effects and exclusions below. Before installation, also read the complete package requirements, including credential issuance, scope, expiry, and provider permissions. These are deployment prerequisites, not capabilities this package supplies.
Capabilities (5)
Each capability below is one registered operation. The complete package JSON includes its exact network destination allowlist. The repository stores it at packs/teams.json and embeds a copy in the release binary.
Risk tiers. R0 is the minimum for reads. R2 is the minimum for write, create, update, execute, and invoke. R3 is the minimum for delete, send, pay, deploy, approve, share, and transfer. Operators can raise these levels. A minimum tier does not measure the operation's business or confidentiality risk.
On supported execution paths routed through AAES Govern, the R3 actions listed below require approval by an authorized person. Bypass paths and observation-only registrations are outside that guarantee. A provider's restoration feature does not remove this approval requirement. A provider-side approval, such as approving a GitLab merge request, is also separate from AAES Govern human approval. The capability matrix shows which execution paths are implemented, restricted to lab use, or refused at startup. Live compatibility must be tested in your environment.
Field guide. Endpoint is the service address and request method. Connector is the adapter that makes the call. Custody describes how the credential is held; the credential reference identifies the value to resolve. Data class sets handling requirements: pii means personal data, financial means financial records, and internal means internal organizational data.
teams.channel.messages.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://graph.microsoft.com/v1.0/teams/TEAM_ID/channels/CHANNEL_ID/messages- Connector
- http
- Custody
- inherits the pack credential block
- Credential ref
- inherits the pack credential block
- Data class
- pii
Read channel messages.
List the root messages of one channel, without replies. Message bodies, senders and mentions are personal data, so the read is pii. TEAM_ID and CHANNEL_ID are placeholders.
teams.channel.replies.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://graph.microsoft.com/v1.0/teams/TEAM_ID/channels/CHANNEL_ID/messages/MESSAGE_ID/replies- Connector
- http
- Custody
- inherits the pack credential block
- Credential ref
- inherits the pack credential block
- Data class
- pii
Read channel replies.
List the replies to one channel message. Reply bodies and senders are personal data, so the read is pii. TEAM_ID, CHANNEL_ID and MESSAGE_ID are placeholders.
teams.channel.reply.send v1.0.0R3
- Kind
- tool
- Action
- send
- Endpoint
POST https://graph.microsoft.com/v1.0/teams/TEAM_ID/channels/CHANNEL_ID/messages/MESSAGE_ID/replies- Connector
- http
- Custody
- inherits the pack credential block
- Credential ref
- inherits the pack credential block
- Data class
- pii
Send channel reply.
Reply in one channel thread as the signed-in user. A sent reply may be read before any deletion, so send carries the minimum R3 tier and needs human approval. The reply carries the user's identity, so the capability is pii. TEAM_ID, CHANNEL_ID and MESSAGE_ID are placeholders.
teams.chat.messages.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://graph.microsoft.com/v1.0/chats/CHAT_ID/messages- Connector
- http
- Custody
- inherits the pack credential block
- Credential ref
- inherits the pack credential block
- Data class
- pii
Read chat messages.
List the messages in one existing chat. Chat messages and participants are personal data, so the read is pii. CHAT_ID is a placeholder.
teams.chat.message.send v1.0.0R3
- Kind
- tool
- Action
- send
- Endpoint
POST https://graph.microsoft.com/v1.0/chats/CHAT_ID/messages- Connector
- http
- Custody
- inherits the pack credential block
- Credential ref
- inherits the pack credential block
- Data class
- pii
Send chat message.
Send a message in one existing chat as the signed-in user. A sent message may be read before any deletion, so send carries the minimum R3 tier and needs human approval. This cannot create a chat. CHAT_ID is a placeholder.
Credential reference
The credential field names a reference rather than containing credential material. Packs are designed not to contain secrets; the format checks cover only known credential formats and cannot prove that arbitrary text contains no secrets. Installing a package registers its capabilities. Configure the provider credentials, endpoints, and network access, then test the integration in your environment before enabling it.
- Reference
secret-ref-msgraph-delegated-token- Custody
- customer_vault
- Injection
- header (Authorization)
Configure the value and injection format specified in the package. Assign responsibility for credential rotation and revocation, restrict provider permissions, and keep credential material out of logs and responses.
Complete credential requirements
Store the complete Authorization header value, 'Bearer <token>', where <token> is a delegated Microsoft Graph access token for one signed-in user, obtained with the authorization-code flow and renewed by an external process that owns any refresh token. Never store a refresh token, ID token, client secret, certificate, authorization code or token-response JSON. Access-token lifetime varies; the external process uses the issued expiry and replaces the stored value before it lapses. An expired or revoked value fails closed at the provider. Resolve the value only at execution; the custody source must never put material in its errors, and the deployment must keep the value out of logs, traces and crash dumps. This is the same reference and contract as microsoft365.teams.channel_message.send.
Resources
teams-channel-thread(channel, pii):https://graph.microsoft.com/v1.0/teams/TEAM_ID/channels/CHANNEL_IDteams-chat(channel, pii):https://graph.microsoft.com/v1.0/chats/CHAT_ID
Technical package and review record
Complete provider requirements and exclusions
TEAM_ID, CHANNEL_ID, MESSAGE_ID and CHAT_ID in the endpoint paths are placeholders. Before enabling, substitute the concrete team, channel, root message and chat each registration may reach; never enable the literal placeholders. The host stays graph.microsoft.com. The connector dials the registered path and ignores a caller's path or query, so each reply registration is bound to one channel thread (one MESSAGE_ID) and each chat registration to one chat: replying in another thread or chat is a new registration under the deployment's change control.
This pack adds to microsoft365. microsoft365.teams.channel_message.send posts a new top-level channel message; this pack adds reading channel messages and their replies, replying inside an existing channel thread, and reading and sending messages in an existing one-on-one or group chat. It declares its own resources (teams-channel-thread and teams-chat), so it installs beside microsoft365 without a resource-id conflict; teams-channel-thread names the same channel locator as microsoft365's teams-channel resource.
Every capability uses one delegated Microsoft Graph access token under secret-ref-msgraph-delegated-token, the same reference and contract as microsoft365's Teams channel post. Microsoft documents application permissions for channel replies and chat sends only for message import (Teamwork.Migrate.All, migration), so ordinary sending needs a delegated user. The least delegated permissions Microsoft lists are ChannelMessage.Read.All for channel messages and replies, ChannelMessage.Send for channel replies, Chat.Read for chat messages and ChatMessage.Send for chat sends. Consent only the permissions for the capabilities you enable. A delegated token acts as one signed-in user within that user's own access, so chat reads reach only chats that user can read, and every message the agent sends appears as that user.
Reads can also run app-only: Microsoft lists ChannelMessage.Read.Group and ChatMessage.Read.Chat (resource-specific consent) as the least application permissions for these reads. This pack does not register that variant; a deployment that wants it registers its own copy with a separate application-token reference.
Channel replies and chat sends declare send at the minimum R3 tier. Send is one of the designated irreversible actions: recipients may have read a message even if it is later deleted, and on supported execution paths mediated by AAES Govern the call needs approval by an authorized person. That does not cover bypass or observation-only paths. The request body is the caller's chatMessage JSON and is not restricted by this pack: mentions, attachments, cards and importance are whatever the body says. Microsoft's terms forbid using Teams as a log file; only send messages people will read.
Channel message lists return root messages without replies, 20 per page by default; replies are listed per root message. Chat message lists allow at most 50 per page. Caller query parameters do not change the dialed URL, so paging tokens and $top values must be bound into the registration by change control. Collection responses can be incomplete and this pack supplies no automatic pagination. Message bodies can embed hostedContents URLs on graph.microsoft.com; fetching them is not registered.
Excluded, checked against the chatMessage method inventory: getting a single message or reply by id, top-level channel posts (in microsoft365), reply with quote, policyViolation updates, soft delete and undo, set and unset reaction, hosted content list and download, the getAllMessages APIs for chats and channels, chat message delta, change-notification subscriptions, and the /me and /users chat-message routes. Also excluded: creating chats, file attachments, adaptive-card actions, message import (Teamwork.Migrate.All), channel, team and membership management, meetings and calls, beta APIs and sovereign-cloud hosts. Only the five listed Graph v1.0 operations are registered.
Open custody review, pending owner: the delegated token's issuance (authorization-code flow and who signs in), audience and consented permissions, renewal ownership and refresh-token custody, revocation delay, executor access, custody-source errors, logs, memory and crash handling, bypass paths, and live tenant verification. Documentation review and synthetic fixtures do not close that review.
AAES has not been certified by Microsoft; the endpoints here are configuration to review and test, and the vendor has not endorsed it.
Download the complete package JSON for exact network allowlists, credential requirements, exclusions, and setup notes. Read these requirements before installation.
The full documentation review record is supplied in the evaluation package. The evaluation package runs in your environment and comes only with the paid design partnership. This page reproduces the source links and review block; the full record is available for evaluation. Discuss a design partnership to inspect it before installation.
Review block
This section reproduces the review block recorded in the pack file. The evidence and approval record is separate: for a reviewed pack, it is in the evaluation materials and in the release binary's embedded assets.
Review in progress; record dated 2026-10-29
6 sources, retrieved 2026-10-29
- https://learn.microsoft.com/en-us/graph/api/channel-list-messages?view=graph-rest-1.0 (retrieved 2026-10-29)
- https://learn.microsoft.com/en-us/graph/api/chatmessage-list-replies?view=graph-rest-1.0 (retrieved 2026-10-29)
- https://learn.microsoft.com/en-us/graph/api/chatmessage-post-replies?view=graph-rest-1.0 (retrieved 2026-10-29)
- https://learn.microsoft.com/en-us/graph/api/chat-list-messages?view=graph-rest-1.0 (retrieved 2026-10-29)
- https://learn.microsoft.com/en-us/graph/api/chat-post-messages?view=graph-rest-1.0 (retrieved 2026-10-29)
- https://learn.microsoft.com/en-us/graph/api/resources/chatmessage?view=graph-rest-1.0 (retrieved 2026-10-29)
Current documentation links are navigation aids. They do not change the package, its historical sources or its review date. Review dates describe a documentation review, not a live integration test. No package is provider-endorsed or yet tested against a live provider tenant.
Release identity
SHA-256 of the pack file bytes: cf763b7b44104ed6d9ca93b7011ac5781562f3d9dffbf14a23511d9fe197eb21
Not part of the reviewed release library. Editing a package changes its release identity. A deployment plan checks its own file digests; it does not restore reviewed status or authenticate approval.