Where to get it: Register an app in the Microsoft Entra admin center (App registrations), add Microsoft Graph DELEGATED permissions, grant admin consent, then connect via OAuth. Posting uses delegated permissions (the agent posts as the signed-in user).
Account needed: A Microsoft 365 tenant with Teams.
App registration: Register an app in Microsoft Entra ID (client id + secret + redirect URI); add delegated Graph permissions ChannelMessage.Send, ChatMessage.Send, ChannelMessage.Read.All, Chat.Read; a tenant admin grants consent.
Verification required: Higher-privileged/.All permissions require tenant-admin consent. Posting is delegated-only (no headless app-only posting except a migration permission).
Testing: Use your own M365 dev tenant; note Microsoft's ToS: don't use Teams 'as a log file'.
Limits
Microsoft Graph applies per-app/per-tenant throttling; HTTP 429 with Retry-After on exceed.