See llms.txt for all machine-readable content.
Save yourself the work of writing custom integrations for Microsoft Teams Admin and WhatsApp Business Cloud and use n8n instead. Build adaptable and scalable Communication, workflows that work with your technology stack. All within a building experience you will love.

In n8n, click the "Add workflow" button in the Workflows tab to create a new workflow. Add the starting point – a trigger on when your workflow should run: an app event, a schedule, a webhook call, another workflow, an AI chat, or a manual trigger. Sometimes, the HTTP Request node might already serve as your starting point.
| POST | Create team | Allows you to create a new team in Microsoft Teams. /v1.0/teams |
|---|---|---|
| GET | List teams | Retrieves a list of all teams that the user is a member of. /v1.0/me/joinedTeams |
| DELETE | Remove member | Remove a member from a team. /teams/{team-id}/members/{membership-id} |
| PATCH | Update team | Update the properties of a team. /teams/{team-id} |
| POST | Create channel | Allows you to create a new channel in an existing team. /v1.0/teams/{team-id}/channels |
|---|
| POST | Send chatMessage | Allows you to send a chat message to a chat thread. /v1.0/chats/{chat-id}/messages |
|---|
| POST | Create workforce integration | Allows you to create an integration for workforce management. /v1.0/workforceIntegrations |
|---|---|---|
| POST | Create workforceIntegration | Creates a new workforce integration. /en-us/graph/api/workforceintegration-post?view=graph-rest-1.0 |
| POST | Create teamworkTag | Allows you to create a new teamwork tag. /v1.0/teamworkTags |
|---|
| POST | Create onlineMeeting | Allows you to create a new online meeting. /v1.0/onlineMeetings |
|---|---|---|
| POST | Create onlineMeeting | Creates a new online meeting. /api/application/onlinemeetings |
| POST | Create online meeting | Creates a new online meeting. /en-us/graph/api/application-post-onlinemeetings?view=graph-rest-1.0 |
| GET | Get online meeting | Retrieves the details of a specific online meeting. /en-us/graph/api/onlinemeeting-get?view=graph-rest-1.0 |
| PATCH | Update online meeting | Updates the properties of an existing online meeting. /en-us/graph/api/onlinemeeting-update?view=graph-rest-1.0 |
| DELETE | Delete online meeting | Deletes a specific online meeting. /en-us/graph/api/onlinemeeting-delete?view=graph-rest-1.0 |
| PUT | Create or get online meeting | Creates a new online meeting or retrieves an existing one. /en-us/graph/api/onlinemeeting-createorget?view=graph-rest-1.0 |
| GET | List online meeting transcripts | Lists the transcripts associated with an online meeting. /en-us/graph/api/onlinemeeting-list-transcripts?view=graph-rest-1.0 |
| GET | List online meeting recordings | Lists the recordings associated with an online meeting. /en-us/graph/api/onlinemeeting-list-recordings?view=graph-rest-1.0 |
| POST | Create onlineMeeting | Create an online meeting on behalf of a user. /me/onlineMeetings |
| POST | Create onlineMeeting | Create an online meeting on behalf of a user. /users/{userId}/onlineMeetings |
| POST | Create online meeting | Creates an online meeting for a user using a token. /v1.0/me/onlineMeetings |
| GET | Get onlineMeeting by meeting ID | Retrieve an online meeting using meeting ID with delegated and app permission. /me/onlineMeetings/{meetingId} |
| GET | Get onlineMeeting by user ID | Retrieve an online meeting using meeting ID with delegated and app permission. /users/{userId}/onlineMeetings/{meetingId} |
| GET | Get onlineMeeting by videoTeleconferenceId | Retrieve an online meeting using videoTeleconferenceId with app permission. /communications/onlineMeetings/?$filter=VideoTeleconferenceId%20eq%20'{videoTeleconferenceId}' |
| GET | Get onlineMeeting by joinWebUrl | Retrieve an online meeting using joinWebUrl with delegated and app permission. /me/onlineMeetings?$filter=JoinWebUrl%20eq%20'{joinWebUrl}' |
| GET | Get onlineMeeting by user ID using joinWebUrl | Retrieve an online meeting using joinWebUrl with delegated and app permission. /users/{userId}/onlineMeetings?$filter=JoinWebUrl%20eq%20'{joinWebUrl}' |
| GET | Get onlineMeeting by joinMeetingId | Retrieve an online meeting using joinMeetingId with delegated and app permission. /me/onlineMeetings?$filter=joinMeetingIdSettings/joinMeetingId%20eq%20'{joinMeetingId}' |
| GET | Get onlineMeeting by user ID using joinMeetingId | Retrieve an online meeting using joinMeetingId with delegated and app permission. /users/{userId}/onlineMeetings?$filter=joinMeetingIdSettings/joinMeetingId%20eq%20'{joinMeetingId}' |
| GET | Get attendee report by meeting ID (deprecated) | Retrieve the attendee report of a Teams live event using meeting ID with delegated and app permission. /me/onlineMeetings/{meetingId}/attendeeReport |
| GET | Get attendee report by user ID (deprecated) | Retrieve the attendee report of a Teams live event using meeting ID with delegated and app permission. /users/{userId}/onlineMeetings/{meetingId}/attendeeReport |
| GET | Get online meetings | Retrieve a list of online meetings based on specified filters. /communications/onlineMeetings/ |
| GET | Retrieve online meeting | You can retrieve meeting information via meeting ID with either a user or application token. /v1.0/me/onlineMeetings/MSpkYzE3Njc0Yy04MWQ5LTRhZGItYmZiMi04ZdFpHRTNaR1F6WGhyZWFkLnYy |
| GET | Get online meeting | Retrieves an online meeting by its ID. /v1.0/users/dc17674c-81d9-4adb-bfb2-8f6a442e4622/onlineMeetings/MSpkYzE3Njc0Yy04MWQ5LTRhZGItYmZiMi04ZdFpHRTNaR1F6WGhyZWFkLnYy |
| GET | List online meetings | Lists online meetings for the logged-in user based on the JoinWebUrl filter. https://graph.microsoft.com/v1.0/me/onlineMeetings?$filter=JoinWebUrl eq 'https%3A%2F%2Fteams.microsoft.com%2Fl%2Fmeetup-join%2F19%253ameeting_MGQ4MDQyNTEtNTQ2NS00YjQxLTlkM2EtZWVkODYxODYzMmY2%2540thread.v2%2F0%3Fcontext%3D%257b%2522Tid%2522%253a%2522909c6581-5130-43e9-88f3-fcb3582cde37%2522%252c%2522Oid%2522%253a%2522dc17674c-81d9-4adb-bfb2-8f6a442e4622%2522%257d' |
| GET | List online meetings | Retrieve a collection of online meetings for a user. /v1.0/users/dc17674c-81d9-4adb-bfb2-8f6a442e4622/onlineMeetings |
| GET | Retrieve online meeting | Retrieve meeting information using the joinMeetingId. /v1.0/me/onlineMeetings?$filter=joinMeetingIdSettings/joinMeetingId%20eq%20'1234567890' |
| GET | List online meetings | Retrieve a list of online meetings for a user with a specific filter. /v1.0/users/dc17674c-81d9-4adb-bfb2-8f6a442e4622/onlineMeetings?$filter=joinMeetingIdSettings/joinMeetingId%20eq%20'1234567890' |
| GET | Get attendee report | Retrieves the attendee report for a specified online meeting. /v1.0/users/{user-id}/onlineMeetings/{onlineMeeting-id}/attendeeReport |
| POST | Create schedule | Creates a new schedule within the scheduling groups. /en-us/graph/api/schedule-post-schedulinggroups?view=graph-rest-1.0 |
|---|
| POST | Create shift | Creates a new shift within the schedule. /en-us/graph/api/schedule-post-shifts?view=graph-rest-1.0 |
|---|
| POST | Create timeOff | Creates a new time off entry. /en-us/graph/api/schedule-post-timesoff?view=graph-rest-1.0 |
|---|
| GET | List learningProviders | Retrieves a list of learning providers. /en-us/graph/api/employeeexperience-list-learningproviders?view=graph-rest-1.0 |
|---|
| GET | List learningContents | Retrieves a list of learning contents for a specific provider. /en-us/graph/api/learningprovider-list-learningcontents?view=graph-rest-1.0 |
|---|
| GET | Get user profile | Retrieve the profile of a user. /en-us/graph/api/user-get?view=graph-rest-1.0 |
|---|---|---|
| GET | Get user manager | Get the profile information for a user's manager. /en-us/graph/api/user-list-manager?view=graph-rest-1.0 |
| GET | Get user direct reports | Retrieve the IDs of a user's direct reports. /en-us/graph/api/user-list-directreports?view=graph-rest-1.0 |
| PATCH | Set automatic replies | Set automatic replies when a user is away from the office. /en-us/graph/api/user-update-mailboxsettings?view=graph-rest-1.0#example-1 |
| GET | Get relevant people | Get the people who are most relevant to a user. /en-us/graph/api/user-list-people?view=graph-rest-1.0 |
| GET | List user's OneDrive files | Access a user's files on OneDrive. /en-us/graph/api/driveitem-list-children?view=graph-rest-1.0 |
|---|
| GET | Get user calendar | Access a user's calendar on Exchange Online. /en-us/graph/api/calendar-get?view=graph-rest-1.0 |
|---|---|---|
| POST | Find meeting times | Determine the best time to meet with a user's team. /en-us/graph/api/user-findmeetingtimes?view=graph-rest-1.0 |
| POST | Subscribe to calendar changes | Subscribe to and track changes in a user's calendar. /en-us/graph/api/subscription-post-subscriptions?view=graph-rest-1.0 |
|---|
| GET | Track event changes | Tell the user when they're spending more than 80% of their time in meetings. /en-us/graph/api/event-delta?view=graph-rest-1.0 |
|---|
| GET | List user tasks | Find the tasks assigned to a user in Planner. /en-us/graph/api/planneruser-list-tasks?view=graph-rest-1.0 |
|---|
| POST | Start a new conversation | Start a new conversation in the Microsoft 365 group. /en-us/graph/api/group-post-conversations?view=graph-rest-1.0 |
|---|---|---|
| GET | Get default notebook | Get the default notebook for the group. /en-us/graph/api/notebook-get?view=graph-rest-1.0 |
| POST | Create page | Create a page in the default notebook. /en-us/graph/api/section-post-pages?view=graph-rest-1.0 |
|---|
| POST | Create online meeting | Creates a new online meeting. /graph/api/application-post-onlinemeetings |
|---|---|---|
| GET | Get online meeting | Retrieves the details of an online meeting. /graph/api/onlinemeeting-get |
| PATCH | Update online meeting | Updates the properties of an online meeting. /graph/api/onlinemeeting-update |
| DELETE | Delete online meeting | Deletes an online meeting. /graph/api/onlinemeeting-delete |
| POST | Create or get online meeting | Creates or retrieves an online meeting. /graph/api/onlinemeeting-createorget |
| GET | List transcripts of online meeting | Lists all transcripts for an online meeting. /graph/api/onlinemeeting-list-transcripts |
| GET | List recordings of online meeting | Lists all recordings for an online meeting. /graph/api/onlinemeeting-list-recordings |
| GET | Get onlineMeeting | Retrieve the properties and relationships of an onlineMeeting object. /v1.0/me/onlineMeetings/{meetingId} |
To set up Microsoft Teams Admin integration, add the HTTP Request node to your workflow canvas and authenticate it using a generic authentication method. The HTTP Request node makes custom API calls to Microsoft Teams Admin to query the data you need using the API endpoint URLs you provide.
See the example hereThese API endpoints were generated using n8n
n8n AI workflow transforms web scraping into an intelligent, AI-powered knowledge extraction system that uses vector embeddings to semantically analyze, chunk, store, and retrieve the most relevant API documentation from web pages. Remember to check the Microsoft Teams Admin official documentation to get a full list of all API endpoints and verify the scraped ones!
| Send | |
|---|---|
| Send and Wait for Response | |
| Send Template |
| Upload | |
|---|---|
| Download | |
| Delete |

Microsoft Teams Admin is a management platform that enables administrators to oversee and customize various settings within the Microsoft Teams application. It allows them to control user access, configure security settings, manage apps, and monitor usage and analytics.
The cloud-based version of WhatsApp Business API, WhatsApp Cloud API enables companies and developers to build applications on top of WhatsApp to personalize user experiences and quickly and easily respond to customers.
Yes, Microsoft Teams Admin can connect with WhatsApp Business Cloud using [n8n.io](https://n8n.io/). With n8n, you can create workflows that automate tasks and transfer data between Microsoft Teams Admin and WhatsApp Business Cloud. Configure nodes for Microsoft Teams Admin and WhatsApp Business Cloud in the n8n interface, specifying actions and triggers to set up their connection.
Yes, with n8n, you can programmatically interact with Microsoft Teams Admin’s API via pre-defined supported actions or raw HTTP requests. With [the HTTP Request node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/), you create a REST API call. You need to understand basic API terminology and concepts.
Yes, with n8n, you can programmatically interact with WhatsApp Business Cloud’s API via pre-defined supported actions or raw HTTP requests. With [the HTTP Request node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/), you create a REST API call. You need to understand basic API terminology and concepts.
Yes, it is safe to use n8n to integrate Microsoft Teams Admin and WhatsApp Business Cloud. n8n offers various features to ensure the safe handling of your data. These include encrypted data transfers, secure credential storage, RBAC functionality, and compliance with industry-standard security practices (SOC2 compliant). For hosted plans, data is stored within the EU on servers located in Frankfurt, Germany. You can also host it on your own infrastructure for added control.
Learn more about [n8n’s security practices here.](https://docs.n8n.io/privacy-security/security/)
To start integrating Microsoft Teams Admin and WhatsApp Business Cloud in n8n, you have different options depending on how you intend to use it:
- [n8n Cloud](https://n8n.io/pricing/): hosted solution, no need to install anything.
- [Self-host](https://docs.n8n.io/hosting/): recommended method for full-control or customized use cases.
Unlike other platforms that charge per operation, step, or task, **n8n charges only for full workflow executions**. This approach guarantees predictable costs and scalability, no matter the complexity or volume of your workflows.

Handle branching, merging and iteration easily. Pause your workflow to wait for external events.
Re-run single steps to test changes in no time. And pin your data to avoid generating trigger events every time you execute.
Your data is displayed alongside your settings, making edge cases easy to track down.
Use 1000+ workflow templates available from our core team and our community.
Copy and paste, easily import and export workflows.
n8n makes complex workflows easy to build, and versatile enough for me to add my own 'secret sauce.'

I have found the holy grail of automation.

n8n’s integration with third-party services is absolutely mind-blowing. It’s like a Swiss army knife for automation.
n8n is the tool that turns 'I have an idea' into 'it's running in production' faster than anything else.

Anything is possible with n8n. I think the cloud version is great, they are doing amazing stuff.
n8n’s integration with third-party services is absolutely mind-blowing. It’s like a Swiss army knife for automation.

Thank you to the n8n community. I did the beginners course and promptly took an automation WAY beyond my skill level.
I love the flexibility of n8n and how it lets different applications work together in a single workflow.
n8n is the glue that holds many of our systems together.
I can move fast, go deep when things get complex, and never feel boxed in.
