Microsoft Flow – Create SharePoint list items using Xml

You have data stored in XML and you want to use this to create list items in SharePoint and you thing that Microsoft Flow might be able to help you. You couldn’t be more right. Flow can help you, but is it something that is easy to do? No! Although once you know how to do it it is quite easy.

My starting point

I am using the following XML to set a variable in my flow.

Now I first want to collect an array of list items. I’m using xpath in a Compose step to do this.


Then I take the output from the Compose action and walk through the array of list items.

I hear you ask: “What is that $content?”. I’m simply taking each item in the Apply to Each and grab the $content.

To really understand this you might want to look at the output from the first Compose actions.

now you can see for each item we have a $content element in json. To get to this data we can set the expression on the Compose 2 action to the following


but now we still have the unreadable text starting with “PE…”. to convert this into a readable XML, we will need to use the base64ToString() function.


Now we have the Xml for each list item:

Now all we need to do is repeat our selves inside the Apply to Each for each of the list items.

This time I’m avoiding the base64ToString function by using the text() function instead


xpath(Xml(outputs('Compose_3')),'//ListItem/*[self::Title or self::Description]/text()')

No when we look at the output from my final compose step we have an array of values that we can use to create our list items in SharePoint or any other place where you would like to use this data:

If you still want to keep the field names form the original  Xml that we started with then you could adjust the expression and not use the text() function. However I thought from an educational point of view the showing the different options in this post would be more useful.


Pieter Veenstra

Business Applications and Office Apps & Services Microsoft MVP working as a Microsoft Productivity Principal Consultant at HybrIT Services. You can contact me using

View Comments

  • Hi Pieter
    This works fine for simple fields like you describe. However, there are issues with more complex fields like Lookup Fields.



    • Hi Nigel, This will work for any field. On purpose I didn't include the create/update list item yet. This is where you should handle the conversion of data. The Create List Item action takes values at the moment and you might have to put some logic in your flow to convert values to create valid SharePoint data

  • Hello Pieter,
    that's exactly what I need for my SharePoint solution, but unfortunately, I'm the beginner in MS Flow and I have lost on my way to try to implement your steps. Can you add here (or send me by e-mail) the ZIP file for import to my library of flows? And what will be the difference if I have URL for XML file which is dynamically changing (like RSS but doesn't RSS syntax)?

    • Hi Jakub,

      All you would need to do is put the XML in a file in a library then use a get content step from the SharePoint connector. Then you've got your xml available which you can use to set the Compose actions.

      Then once you've got that the following steps will remain the same.

  • Hi Jakub,

    I can't really create a zip file for you to import. I wouldn't have all the field name exactly the same as you may have on your list.

  • Oh my goodness, thank you so much for this! I was having such a time trying to figure out the base64 issue and your post cleared it right up.

  • Hello Pieter
    Thank you for this,
    Question can you give me some advice to convert the outputs to map with some fields in a new business central record ?
    Thanks in advance

Recent Posts

Calculate the Sum for a SharePoint column in Power Automate

Last week Shane Young asked me about calculating the Sum for a SharePoint column in…

4 hours ago

Object must implement IConvertible in Power Apps

In Power Apps when you do a Patch to create a new item or to…

4 days ago

Get started with adaptive cards in Power Automate

Getting started with adaptive cards can be difficult. In this post i have written some…

1 week ago

Create PDF documents from data in Power Automate

In this post I will look at how to create PDF documents from data. Use…

2 weeks ago

Unnest nested arrays in Power Automate

We all know this problem, you have a nested array in Power Automate but how…

3 weeks ago

Advanced settings not loading in Power Platform

Yesterday one of my clients showed me an issues where the Advanced settings didn't load.…

4 weeks ago