As of today, there are six Power Automate standard connectors allowing us to send http requests to Microsoft 365 tenant.
These connectors provide Send an HTTP request
actions that support only a subset of MS Graph API endpoints.
If they don't provide the required functionality, you may need to use a premium HTTP action to work around these limitations.
I personally like preparing my API requests using Graph Explorer first, a this allows me to explore the Microsoft Graph API, find out which parameters should be used, and what information is returned by the endpoints.
Important:These are not shareable connections. If the power app is shared with another user, another user will be prompted to create new connection explicitly.
HTTP actions summary
Also important: Below, I'm only providing evaluation of
GET
functions.
All theSend HTTP
actions supportGET
,POST
,PUT
,PATCH
andDELETE
Office 365 Users
Segments supported: 1st segment: /me
, /users/
, 2nd segment: messages
, mailFolders
, events
, calendar
, calendars
, outlook
, inferenceClassification
.
Supported segments | Description |
---|---|
/me |
Get the signed-in user's details. Get a user |
/users/{id / service principal} |
Gets a specific user by Id (GUID) or a service principal name (user@contoso.onmicrosoft.com ). Get a user |
/users/{id}/messages |
Lists the user's email messages in their primary inbox. List messages |
/users/{id}/mailFolders |
Get the mail folders directly under the root folder of the signed-in user, including by default: Archive , Conversation History , Deleted items , Drafts , Inbox , Junk Email , Outbox , Sent Items List mailFolders |
/users/{id}/events |
Lists the user's upcoming events in their calendar. List events |
/users/{id}/calendar |
Returns the information about the user's default calendar. calendar resource type |
/users/{id}/calendars |
Get all the user's calendars from either the default or a specific calendar group. List calendars |
/users/{id}/outlook |
Returns Id in a user-id#tenant-id format. It is a unique identifier for a user within a specific tenant in Microsoft Graph. |
/users/{id}/inferenceClassification |
The inferenceClassification resource in Microsoft Graph API is used to classify a user’s messages to help them focus on the most relevant or important ones. This endpoint retrieves the list of overrides a user has set up. inferenceClassification resource type |
Resources
- Office 365 Users | Send an HTTP request action, and Known Issues and Limitations
- Working with users in Microsoft Graph
Office 365 Outlook
Segments supported: 1st segment: /me
, /users/
, 2nd segment: messages
, mailFolders
, events
, calendar
, calendars
, outlook
, inferenceClassification
.
Supported segments | Description |
---|---|
/me |
The first segment is supported to access the second segment, but calling the https://graph.microsoft.com/v1.0/users/me endpoint without the second segment will result in an error |
/users/{id / service principal} |
as above |
This action is almost identical to Send HTTP request
from Office 365 users
connector; see the Office 365 Users above for the documentation on the rest of the supported segments.
Resources
- Office 365 Outlook| Send an HTTP request action
- Office 365 Outlook connector documentation for known issues, shared mailbox support information, common errors, etc.
SharePoint
This action may execute any SharePoint REST API you have access to.
Rest API is different from MS Graph API, even though MS Graph API also provides actions that access SharePoint.
SharePoint REST API is older, is supported also in SharePoint on premise, and unlike MS Graph API does not require granting API permissions to the software that is using them.
Microsoft Graph, on the other hand, is a newer approach supporting various M365 services. New actions are added to SharePoint REST API using Microsoft Graph.
See Get to know the SharePoint REST service and SharePoint connector documentation for information about delegation, throttling limits, etc.
Microsoft Teams
Segments supported: 1st segment: /teams
, /me
, /users
, 2nd segment: channels
, chats
, installedApps
, [3rd segment]: messages
, pinnedMessages
.
Supported segments | Description |
---|---|
/teams |
Although /teams is supported to access the second segment, calling the https://graph.microsoft.com/v1.0/users/teams or https://graph.microsoft.com/v1.0/users/teams/{id} endpoint without the second segment will result in an error |
/me |
as above |
/users/{user-id / service principal} |
as above |
/teams/{user-id}/channels |
Retrieve the list of channels in a team. List channels |
/me/chats |
List all "one on one" chats for the user. List chats |
/users/{user-id / service principal}/chats |
as above |
/teams/{team-id}/installedApps |
List all app installations within a team. List apps in team |
/teams/{team-id}/channels/{channel-id}/messages |
Retrieve the list of messages (without the replies) in a channel of a team. List channel messages |
/me/chats/{chat-id}/messages |
as above |
/users/{user-id / service principal}/chats/{chat-id}/messages |
Error User Mri does not match request initiator!
|
If a combination of 1st/2nd/3rd
segment is not mentioned in the table above, it is probably (at least, based on my tests), not supported.
For example, calling https://graph.microsoft.com/v1.0/chats/{chat-id}/installedApps
is a correct MS Graph API call, but is not supported by the "Microsoft Teams" connector and will result in an error.
I'm also not sure how to use pinnedMessages
. I only found /chats/{chat-id}/pinnedMessages
in the documentation, but chats
cannot be used as a first segment.
Resources
- Microsoft Teams connector
Office 365 Groups
There is one segment that is supported: /groups
Supported segments | Description |
---|---|
groups |
List all the groups available to the current user. List groups |
groups/{group-Id} |
Get the properties and relationships of a group. Get group |
Office 365 Groups Mail
Segments supported: 1st segment: me
, users
, groups,
2nd segments: messages
, mailFolders
, events
, calendar
, calendars
, outlook
, inferenceClassification
.
Although groups
is not mentioned in the error message of the Send an HTTP request
action, it does work just like it used to.
This action seems identical to the Send HTTP request
of Office 365 Outlook
connector; see the Office 365 Outlook above for the documentation on the rest of the supported segments.
Top comments (0)