In this post a variety of options on how to use Microsoft Graph for SharePoint within Power Automate.
My Microsoft Graph Series, so far
I will start with a quick overview of the Microsoft Graph posts that I published recently.
- MS Graph API Authentication in Introduction
- Manage Users with the Graph API
- Manage calendars and events
- The Subscription model within Graph API using Power Automate
- Read Excel files faster using the Graph API
- Update Excel files using the Graph API
SharePoint and the Graph API
First of all the SharePoint connector within the Power Platform is quite good, so if you can avoid any direct API calls then please do so.
Then we have a few different SharePoint APIs available to us to manage SharePoint Online.
- SharePoint REST API v1
- SharePoint REST API v2
Ok, that is just two different versions isn’t it?
No!
The SharePoint REST API v1 documentation is a bit unstructured, but in short this is the older REST API that has been available for a long time. The SharePoint REST API v2 is based on the Graph API.
From the v2 page mentioned above I copied the table below.
Graph URL | SharePoint URL |
---|---|
https://graph.microsoft.com/v1.0/sites | https://{tenant-name}.sharepoint.com/_api/v2.0/sites |
https://graph.microsoft.com/v1.0/drives | https://{tenant-name}.sharepoint.com/_api/v2.0/drives |
https://graph.microsoft.com/v1.0/drive | https://{tenant-name}.sharepoint.com/_api/v2.0/drive |
https://graph.microsoft.com/v1.0/lists | https://{tenant-name}.sharepoint.com/_api/v2.0/lists |
The above table is a very important part of understanding how we should access the SharePoint REST API within Power Automate.
So we can access Graph API URL through a SharePoint based URL.
Now look at our options.
Access the SharePoint Graph API within Power Automate
We could access the Graph API using the HTTP action

Ok, this is premium! So we want to avoid this if we can. Sorry Microsoft!
But we also have the Send an HTTP request to SharePoint action. The examples in this action show use the v1 REST API and in the past I tried typing https://graph.microsoft.com in the Site Address, but that doesn’t work.

So if we now look at that table that I copied earlier, we can configure the Send an HTTP request to SharePoint as follows and we can get the details of our site.

Very Important note!
Please do not forget the Accept Header.
If you forget to include the Accept header with application/json then you will get an error:

SharePoint End Points to access
Earlier we saw that we can access sites, drives, drive and lists.
It would be too much to go through all the end points for one post and the documentation of the Graph API is good (other than that I would like to see Power Automate examples next to the C# and JavaScript examples. But maybe that will arrive one day. If you need any help with any of the end points then please feel free to open the chat on this site.
Hi, is there any other setup required to get this working? I tried it out and I’m getting a “401 Unauthorized” error?
Hi James,
Did you configure the right API permissions in your app registration?