Let's POWER Automate

From no-code to low-code

Menu
  • Expressions
  • Filters
  • General
  • Application specific solutions
    • Dataverse
    • Excel
    • Forms
    • Outlook
    • Planner
    • Power Apps
    • SharePoint
    • Teams
  • Triggers
  • Ready to use solutions
    • Approval Process Template
    • Task Delegation App
    • The Ultimate Power Automate expressions cheat sheet
    • Power Automate HTTP requests to SharePoint cheat sheet
    • Power Automate HTTP requests to Graph API cheat sheet
  • ABOUT ME
  • Get help with your flow
  • POWER PLATFORM SERVICES
Menu

Create item with lookup column in a dynamic list (Power Automate)

Posted on July 27, 2022July 27, 2022 by Tom

“I’m creating SharePoint items in a dynamic list in my Power Automate flow, but it returns error when the item contains lookup columns.”

“A ‘PrimitiveValue’ node with non-null value was found when trying to read the value of a navigation property; however, a ‘StartArray’ node, a ‘StartObject’ node, or a ‘PrimitiveValue’ node with null value was expected.”


If you’re using Power Automate to create SharePoint items in various lists, you might use an HTTP request to do that. It doesn’t ask you to select a site or a list so you can use variables or configuration lists, but on the other side it doesn’t show the available fields. Which is fine, you just use the column internal name and assign a value. Unless it’s a lookup column. Why doesn’t it just create the item? What’s the meaning of the confusing error message?

What’s the right name for the lookup column?

When you create the item, you define the values as pairs of the column internal name and its value.

{
  "__metadata": {
    "type": "SP.Data.<ListName>ListItem"
  },
  "Column1": "Value1",
  "Column2": "Value2",
  "Column3": "Value3"
}

But for lookup it’s not just the column internal name.

If you enter the combination of the Site Address and the Uri in a web browser, it’ll return an XML with the list items (if there’re any items).

Once you enter it in some code editor, e.g. Visual Studio Code, you’ll see that there’s no property that would have just the lookup column internal name. There’s a property with the <internal name>Id instead.

My column has internal name ‘Lookup’ so the property name is ‘LookupId’. If I called it ‘TomsLookupColumn’ it would be ‘TomsLookupColumnId’.

Power Automate dynamic list lookup

This is the column name you must use in the HTTP request. You can also see that it contains only the ID of the lookup item, therefore, you should set it just to the id number.

{
  "__metadata": {
    "type": "SP.Data.<ListName>ListItem"
  },
  "LookupId": 1
}
Power Automate dynamic list lookup

Summary

When you use Power Automate to create items in a dynamic list, you’ll have to deal with the special fields, e.g. lookup or people picker. But using the http request directly in a browser can give you a hint – try to call it and check the result. In this example you could clearly see that it’s not a ‘Lookup’ column, it’s ‘LookupId’, in the same way as there’s no ‘Person’ column, but ‘PersonId‘.


πŸš€ Master Power Automate

Join 2,000+ professionals getting actionable Power Automate tutorials, solutions, cheat sheets & tips every week.

No spam. Unsubscribe anytime.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

πŸš€ Master Power Automate

Join 2,000+ professionals getting actionable Power Automate tutorials, solutions, cheat sheets & tips every week.

No spam. Unsubscribe anytime.

Still exchanging emails to get things approved?

Use the Approval Process Template and the Task Delegation App to skip the hard part and deploy an automated, fully functional approval solution on a SharePoint list in minutes! And then the next one, and the next one...

Approval Template Preview ✨ Learn more ✨

Turn ideas into flows with ease!

Grab the complete Power Automate Cheat Sheet Bundleβ€”everything you need to master expressions, SharePoint HTTP calls, and Graph API in Power Automate.

Cheat Sheet Bundle Preview ✨ Get the Cheat Sheets

Didn't find what you were looking for?
Need to adjust a solution to fit your needs?
Or would you just like to get an assistance from somebody with thousands of hours of experience with Power Automate?

Power Automate blogs worth visiting

Damien Bird
Dennis (Expiscornovus)
Paul Murana

©2025 Let's POWER Automate | Theme by SuperbThemes