1 Better way to use Create Item in SharePoint with Power Automate Microsoft Power Automate image 5

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

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.

1 Better way to use Create Item in SharePoint with Power Automate Microsoft Power Automate image 4

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 😉

1 Better way to use Create Item in SharePoint with Power Automate Microsoft Power Automate image 5

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.

Create Item with REST API Body

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

1 Better way to use Create Item in SharePoint with Power Automate Microsoft Power Automate image 7
Avatar for Pieter Veenstra

By Pieter Veenstra

Business Applications Microsoft MVP working as a Principal Architect at HybrIT Services Ltd. You can contact me using contact@sharepains.com

13 thoughts on “1 Better way to use Create Item in SharePoint with Power Automate”
  1. 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?

    1. 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?

  2. 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

    1. 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.

  3. 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.

  4. 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”
    }
    }

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from SharePains by Microsoft MVP Pieter Veenstra

Subscribe now to keep reading and get access to the full archive.

Continue Reading

%d bloggers like this: