Have you been using the REST API instead of the create item action in Power Automate. Create Item in the SharePoint connector is now just as good!
Using the REST API – Verbose
Table of Contents
In the past I’ve been a fan of the REST API action available in the SharePoint connector. This to the extend of that I’m almost defaulting to the Send an HTTP request to SharePoint action for all of my SharePoint actions.

I would even use the odata=verbose option most of the time. Even though the nometadata is easier to use. There are some things that require the verbose header and therefor I started to use it by default. That doesn’t make it right though 😉

But there is a better option available. This option has been hidden so well, that you might not even notice its existence. Yes there is a reason for this blog post!
Create item action
When you use the Create Item action and you dynamically fill the site address (i.e. Power automate cannot identify the fields on your list!), then there is a property Item that appears rather than a list of field.

If you prefer you could of course still select the site and the list and all the relevant properties will appear.

Hey Pieter, great article again!! I’ve been using SharePoint API in the past for creating items with a lot of success in speed. But now I tried to use the API to get items, but I can’t get past the 5000 items limitation.
Do you have any tips to get over 5000 by using it?
Hi Emanuel,
With multiple queries you could. So you could for example query ID lt 5000 and ID gt 5000 and get 10000 items like that.
The question to be asked of course is what are you going to do with 10000 items? Could you filter the items using fitler queries on the get items and just collect the items that you really need?
Hi, Thanks for this. How do you POST or BATCH POST to a sharepoint date field?
you would have to use the format: yyyy-MM-ddThh:mm:ss
Hi There
Should this work with all columns? I have a number column called ‘General’ and I am getting this error
{“odata.error”:{“code”:”-1, Microsoft.SharePoint.Client.InvalidClientQueryException”,”message”:{“lang”:”en-US”,”value”:”The property ‘General’ does not exist on type ‘SP.Data.Luke_x0020_SykesListItem’. Make sure to only use property names that are defined by the type.”}}}
clientRequestId: df3470f0-be65-4da2-8a01-bd4e11357adf
serviceRequestId: 0f5a8fa0-c034-6000-0d9c-278998686cd1
Hi Luke,
For the properties you will need to use the internal name of the properties. So If you go to place where you update the column in the the List settings then in the URL you will find the internal name for the field that you want to use.
This is the URL
https://company.sharepoint.com/sites/TimeSheetsandAnnualLeave/_layouts/15/FldEdit.aspx?List=%7B7DB6E9B3-0252-4E94-BA5B-B821C33E3CD6%7D&Field=GeneralEntitlement
(I have changed the column name)
which part of this is the internal name?
In that url it is GeneralEntitlement. So it is the part after “Field=”
Great – thanks
Can you recommend a resource for adding more complex fields? Struggling on how to update a person field (people picker). For example my person field is ‘spPerson’, I tried using { “spPersonId”: 35 } but it returns an error that the field “spPerson” could not be found.
I think that you are doing the right thing, however it looks like you got the internal name of the field wrong. Can you have a look at your list/library settings. Then find that field and update the settings for that field. The internal name should be visible in the URL in your browser.
https://sharepains.com/2018/07/02/people-field-rest-api-power-automate/
Pieter, thank you for your response. There seems to be a difference in the accepted fields between an HTTP Request and Create Item action. I did confirm that my internal spPerson field name was correct, but it still didn’t take the ‘spPerson’ with the Id appended to the end of the internal name (spPersonId). What did end up working in the Create Item action was the following. I added the Content Type field as well just in case that helps someone out down the road.
{
“Title”: “My Title”,
“{ContentType}”: {
“Id”: “0x010000A8A…”
},
“spPerson”: {
“Claims”: “i:0#.w|mydomain\\myuser”
}
}
Thank you for sharing your solution