For Agents
Drive Microsoft Teams from an agent — manage teams and channels, send channel messages, schedule meetings and calls, list members and apps, and post activity feed notifications.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Microsoft Teams Events API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Microsoft Teams Events API API.
Create, list, update, archive, and delete teams via /teams endpoints
Manage channels under a team, list channel messages, and send new messages with POST /teams/{team-id}/channels/{channel-id}/messages
Add or list team members, inspect installed apps, and add tabs to channels
Place, answer, reject, redirect, and transfer calls through /communications/calls endpoints
GET STARTED
Use for: I need to send a message to a Teams channel, Create a new team for a project kickoff, List all channels in a specific team, Schedule a Teams online meeting for tomorrow
Not supported: Does not handle email, SharePoint sites, OneDrive files, or Outlook calendars outside the team group — use for Microsoft Teams team, channel, message, call, meeting, shift, and notification operations only.
Jentic publishes the only available OpenAPI document for Microsoft Teams Events API, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for Microsoft Teams Events API, keeping it validated and agent-ready. The API is a curated slice of Microsoft Graph covering Microsoft Teams — team and channel management, channel messages, members, installed apps, tabs, calls, online meetings, schedule shifts, group calendar events, and activity feed notifications. It uses OAuth 2.0 with Microsoft Entra ID (formerly Azure AD) and is consumed via 35 endpoints under the v1.0 Graph host.
Create and retrieve online meetings via /communications/onlineMeetings
Create and replace team schedules and create shifts via /teams/{team-id}/schedule and /schedule/shifts
Create calendar events on the underlying group and send activity feed notifications
Patterns agents use Microsoft Teams Events API API for, with concrete tasks.
★ Automated Project Team Provisioning
Operations and IT teams provision a new Microsoft Teams workspace for every new project by chaining POST /teams to create the team, POST /teams/{team-id}/channels for the standard channels, POST /teams/{team-id}/members to add the kickoff list, and POST /teams/{team-id}/installedApps to install required apps. The result is a fully configured project hub created in seconds rather than minutes of clicking.
Create a team called 'Project Atlas', then create channels 'general', 'engineering', and 'design' and add three members to the team.
Channel Notifications from Internal Systems
Internal monitoring or workflow systems push status updates into Teams by calling POST /teams/{team-id}/channels/{channel-id}/messages with rich content. For higher-priority signals, POST /teams/{team-id}/sendActivityNotification raises an activity feed item that surfaces in the user's notifications, ensuring critical alerts are not lost in busy channels.
Send a channel message containing a deploy summary to channel 'deploys' in team 'Engineering' and follow up with an activity feed notification.
Meeting and Call Orchestration
Customer-facing teams and contact centres orchestrate calls and online meetings via POST /communications/calls and POST /communications/onlineMeetings. The /communications/calls/{call-id}/answer, /reject, /redirect, and /transfer endpoints let an agent run scripted call handling that respects org policy, and meeting metadata can be retrieved for follow-up activity logging.
Create an online meeting starting in 30 minutes via POST /communications/onlineMeetings and return the join URL.
Workforce Schedule Automation
Frontline workforce teams use the Teams schedule and shifts endpoints to automate roster management. PUT /teams/{team-id}/schedule provisions a schedule, POST /teams/{team-id}/schedule/shifts adds shifts, and GET /teams/{team-id}/schedule/shifts pulls the current roster — supporting integrations with HR and timekeeping systems.
Create a Teams schedule for team 'Store-42' and add three shifts for tomorrow via POST /teams/{team-id}/schedule/shifts.
Agent-Driven Teams Operations
An AI agent that helps a manager run their week can post channel messages, schedule meetings, and send activity notifications by calling Microsoft Teams through Jentic. The agent searches by intent, loads the operation schema, and executes — with the OAuth 2.0 token managed inside the Jentic vault rather than in the agent's prompt.
Search Jentic for 'send a message to a Teams channel', load POST /teams/{team-id}/channels/{channel-id}/messages, and post the agent-drafted update.
35 endpoints — jentic publishes the only available openapi specification for microsoft teams events api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/teams
Create a new team
/teams/{team-id}/channels
List channels in a team
/teams/{team-id}/channels/{channel-id}/messages
Send a message to a channel
/teams/{team-id}/members
Add a member to a team
/communications/onlineMeetings
Create an online meeting
/communications/calls
Create a call
/teams/{team-id}/sendActivityNotification
Send an activity feed notification
/teams/{team-id}/schedule/shifts
Create a shift
/teams
Create a new team
/teams/{team-id}/channels
List channels in a team
/teams/{team-id}/channels/{channel-id}/messages
Send a message to a channel
/teams/{team-id}/members
Add a member to a team
/communications/onlineMeetings
Create an online meeting
Three things that make agents converge on Jentic-routed access.
Credential isolation
Microsoft Graph OAuth 2.0 client credentials and refreshed bearer tokens live in the encrypted Jentic vault. Agents access Teams operations through scoped permissions and Jentic adds the Authorization header at execution time, so the token never enters the model context.
Intent-based discovery
Agents search Jentic with intents like 'send a message to a Teams channel' or 'create an online meeting' and Jentic returns the matching Teams operation with its parameter schema, removing the need to navigate Microsoft Graph documentation by hand.
Time to first call
Direct Microsoft Graph integration: 3-7 days for OAuth setup, permission consent flows, and Graph throttling handling. Through Jentic: under 1 hour for the common Teams messaging and meetings flows.
Alternatives and complements available in the Jentic catalogue.
Slack
Team chat platform with channels, messages, and apps
Choose Slack when the org runs on Slack rather than Microsoft 365; Teams Events covers the same ground inside Microsoft estates.
Discord
Community-focused chat with channels and voice rooms
Pick Discord for community and gaming-style communications; Microsoft Teams is the enterprise analogue with Microsoft 365 integration.
Zoom Meetings
Standalone meetings platform
Use Zoom Meetings alongside Teams when an external participant prefers Zoom; otherwise use Teams' /communications/onlineMeetings for the meeting itself.
Google Chat
Google Workspace chat and spaces API
Choose Google Chat for Workspace-centric organisations; Teams Events serves the equivalent role for Microsoft 365 tenants.
Specific to using Microsoft Teams Events API API through Jentic.
Why is there no official OpenAPI spec for Microsoft Teams Events API?
Microsoft does not publish an OpenAPI specification scoped to the Teams slice of Microsoft Graph. Jentic generates and maintains this spec so that AI agents and developers can call Microsoft Teams Events API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Microsoft Teams Events API use?
The API uses OAuth 2.0 with Microsoft Entra ID (formerly Azure AD). Apps acquire either delegated user tokens or application tokens with Teams-scoped permissions like Team.ReadBasic.All, Channel.Create, ChannelMessage.Send, and OnlineMeetings.ReadWrite. Through Jentic the OAuth flow and refreshed tokens are stored in the encrypted vault.
Can I send a message to a private channel?
POST /teams/{team-id}/channels/{channel-id}/messages works for standard and private channels provided the calling identity has access. The same path covers both — the channel-id determines the target.
What are the rate limits for the Microsoft Teams Events API?
Microsoft Graph applies per-app and per-tenant throttling that varies by resource — Teams messaging endpoints typically permit a few hundred writes per minute per tenant before throttling. Watch for 429 responses with a Retry-After header and back off accordingly.
How do I create an online meeting through Jentic?
Search Jentic for 'create a Microsoft Teams online meeting', load POST /communications/onlineMeetings, and execute with start, end, and subject fields. Jentic adds the OAuth bearer token from your stored Microsoft credential.
Does this API let me stream real-time channel messages?
These 35 endpoints cover REST operations only. For real-time message change notifications you would pair this API with Microsoft Graph change notifications and webhooks, which are configured through a separate set of Graph endpoints.
/communications/calls
Create a call
/teams/{team-id}/sendActivityNotification
Send an activity feed notification
/teams/{team-id}/schedule/shifts
Create a shift