DEV Community

Cover image for Invoke an HTTP request without a premium license: connectors summary
Kinga
Kinga

Posted on

Invoke an HTTP request without a premium license: connectors summary

As of today, there are six Power Automate standard connectors allowing us to send http requests to Microsoft 365 tenant.

All HTTP standard actions

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 the Send HTTP actions support GET, POST, PUT, PATCH and DELETE


Office 365 Users

Office 365 Users action
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 Outlook

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


SharePoint

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

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


Office 365 Groups

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

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)