How to rename files in SharePoint with Power Automate
the issue
Although SharePoint and Power Automate are heavily interwoven, there is no “rename file” action in Power Automate - if the file lives in a SharePoint library. Out of the box that is only possible for files living in OneDrive.
I recently saw a cry for help on twitter and decided to share here how my solution looks like.
In order to change a filename, we will need to use SharePoint REST API, which is accessible to us in Power Automate via the Send an HTTP request to SharePoint action.
the Power Automate flow

-
To make things easy, we start with a For selected file trigger. (In a real-world scenario, you’d typically rename a file after something else has happened.)
-
We then Get file properties (not needed as we already have the
IDfrom the For selected file trigger, but if you run this after another action you will need the file properties to get theIDso that you can rename the right file). -
We now need to use the Send an HTTP request to SharePoint action:
- Site Adress: choose from Dropdown
- Method:
Get - Uri:
_api/lists/getbytitle('<DisplayName of your Library goes here>')
This will re turn the
ListItemEntityTypeFullNameproperty, which we will need for the next step. -
As a last step, use another Send an HTTP request to SharePoint action:
- Site Adress: choose from Dropdown
- Method:
Post - Uri:
_api/lists/GetByTitle('<DisplayName of your Library goes here>')/Items(@{outputs('Get_file_properties')?['body/ID']}) - Headers:
- Content-type:
application/json - IF-MATCH:
* - X-HTTP-METHOD:
PATCH
- Content-type:
- Body:
{'__metadata':
{'type':'@{outputs('Send_an_HTTP_request_to_SharePoint_to_get_type')?['body']?['d']?['ListItemEntityTypeFullName']}'},
'FileLeafRef':'<your new filename goes here>'}
For the type, we are selecting the
ListItemEntityTypeFullNameproperty from the output of the previous action. You could also use Parse JSON action to obtain that value.
Conclusion
Once again, the Send an HTTP request to SharePoint action in Power Automate is a lifesaver for everything that doesn’t work with the built-in actions. Also, no additional license than your Microsoft 365 license is required to use it.
Resources
To learn more about SharePoint REST, use these resources:
Feedback & what’s next?
I’d love to know what are your renaming-scenarios and also what you use the Send an HTTP request to SharePoint action for! Let me know on twitter. If you found this blog post useful, please also subscribe to my newsletter - news coming about every 2 months, I promise to not spam you!
Published on:
Learn moreRelated posts
How to Send Automated Emails from Dynamics 365 CRM Using Email Templates and Power Automate
Microsoft Dynamics 365 CRM provides robust email capabilities through Email Templates, enabling organizations to maintain consistent and profe...
Your flow has a new trigger URL in Power Automate
Recently I've been receiving email reporting Your flow has a new trigger URL. In this post I will address this issue and how to avoid your flo...
Open an app in Power Automate Desktop
When you open an app in Power Automate Desktop, and you need to run this Power Automate Desktop flow multiple times it becomes important to ha...
Automating Business PDFs Using Azure Document Intelligence and Power Automate
In today’s data-driven enterprises, critical business information often arrives in the form of PDFs—bank statements, invoices, policy document...
Default retry settings in Power Automate
When actions in Power Automate flows go wrong, they may rerun depending on the failure occurred. One of the errors that may trigger is the 429...
Compress photos in Power Automate
One of my clients, takes many photos as part of their data entry process using a Canvas app. We need to compress the photos as the collected d...
Create MS Graph subscriptions in Power Apps without Power Automate
A while back I wrote a post about MS Graph subscriptions in Power Automate. Today I managed to do this directly within Power Apps.
Input and Output Parameters for Child Flows in Power Automate
In this post, I will look at the input and output parameter types for child flows. Recently I hit a couple of small issues with the various d...