cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
nikola_bgd
Level: Powered On

List flow

Hi,

 

I am having difficulties making flows in sharepoint lists. 

 

This is how my lists look:

 

LIST (1): Column A | Column B | Column C | Column D | Column E

 

LIST (2): Column A | Column B | Column C | Column E

 

LIST (3): Column A | Column B | Column E

 

 

Information from LIST (1) needs to be propagated to other lists (2) and (3), except column E. So all these lists have different user permission in sense that most of the users are restricted from accessing LIST (1). Information from Column E should be propagated from lists (2) and (3) to list (1).

 

Any ideas?

 

Cheers

1 ACCEPTED SOLUTION

Accepted Solutions
Super User
Super User

Re: List flow

@nikola_bgd,

 

This is the Flow that connects from LIST(2) and LIST(3) to LIST(1). You will need a separate Flow for each list.

  1. The first step is When an item is created or modified. This just connects to your Site and the pertaining list.
    ListFlow-2.jpg
  2. The second step is a Condition to check if Column E is not empty. If it is, the Flow stops, but if it's not, then it moves to the next step. For this condition, you have to edit it in advanced mode. You can see the expression for the condition below.
    @not(equals(coalesce(triggerBody()?['ColumnE'], ''), ''))
    ListFlow-3.jpg

  3. If Column E is not empty, the next step is Get items. In this step a query will run against LIST(1) to retrieve the item with the same name from ColumnA. For ColumnA, I renamed the Title column and used it to create the unique identifier for all 3 lists. For example, in LIST(1), ColumnA will be set to ITEM-0001 and subsequently, LIST(2) and LIST(3) will have their ColumnA set to the same value. In the screenshot below see the Filter Query field so you can have an idea.
    ListFlow-4.jpg
  4. Once LIST(1) has been queried, you will then have to check if the query returned true or false. Same as step 2 above, you have to edit the condition in advanced mode. The condition checks the length of the returned item. If it's 1, then it returned true and the Flow moves to the step where the item from LIST(1) is updated, but if not, then the Flow stops. See the expression for this condition below.
    @equals(length(body('Get_Items_from_ListOne')?['value']),1)
    ListFlow-5.jpg
  5. The next and final step is the Update item. In here, you select your Site and LIST(1). You then set value to the Id, Title, and ColumnE. For ColumnE, I tried to append the value from ColumnE in LIST(2). While that works just fine, you will have an issue if ColumnE in LIST(1) is empty in which there will be an empty space above the value from ColumnE in LIST(2).
    ListFlow-6.jpg

I tried to be as thorough as possible with the instructions, but if you have any questions, please feel free to reach out.

 

Regards,

Fausto Capellan, Jr


Fausto Capellan, Jr


Did I answer your question? Mark my post as a solution! Did my response help? Please give it a thumbs up!

Proud to be a Flownaut!


View solution in original post

9 REPLIES 9
Super User
Super User

Re: List flow

Hi @nikola_bgd,

 

The first thing that needs to be established is the relationship between the lists through the respective list item, and in order to establish this relationship is through an unique ID to identify the items. For example, let's say you start everything in LIST (1). You create an item in this list, set its unique ID to ITEM-0001, and then this item gets created in LIST (2) and LIST (3) by using a Flow. Once the item is created in the other lists, a user goes to LIST (2), opens item ITEM-0001 and updates column E. This list would contain a flow that will use the step "Get items" from LIST (1) to find the matching item (ITEM-0001), and once it finds it, it will update column E.

One question since it's not clear from your post: will column E in LIST (1) be overwritten by the values coming from LIST (2) and LIST (3) or will it append the values?

 

I hope my example is clear enough, but if it isn't, please do not hesitate to reach out.

 

Regards,

Fausto Capellan, Jr


Fausto Capellan, Jr


Did I answer your question? Mark my post as a solution! Did my response help? Please give it a thumbs up!

Proud to be a Flownaut!


Community Support Team
Community Support Team

Re: List flow

Hi @nikola_bgd,

 

Do the three SharePoint lists contain data?

How do you want to insert data from List (1) into List (2) and List (3) except E column using Microsoft Flow?

Do you want to overwrite the original data or create new data when propagate data from List (1) to List (2) and List (3)?

Could you please show more details about your scanario?

 

Best reagrds,

Kris

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
nikola_bgd
Level: Powered On

Re: List flow

Hi @faustocapellanj, thanks for answering.

 

Column E in List (1) will be appended by values from lists (2) or (3)

 

So you suggest to create two flows, one that copies items from list 1 to other lists, the other flow would be associated with lists 2 or 3 and would use "Get items" from List (1) to find matching item (Item-0001) and once it finds it, it will update column E?

 

Thanks again!

nikola_bgd
Level: Powered On

Re: List flow

Hey @v-xida-msft

 

Users insert data into List (1) and a flow copies items into Lists (2) and (3).

Lists (2) and (3) and their fields would not be editable, except the column E.

 

I hope this is more clear now.

Thanks for your help!

 

Nikola

Super User
Super User

Re: List flow

Hi @nikola_bgd,

 

That is correct. I think this would be the easiest approach for you to accomplish your task. The easiest flow will be the one that originates in LIST(1) to copy the item to LIST(2) and LIST(3). The flows from LIST(2) and LIST(3) are easy as well, but will require more steps than the LIST(1) flow. Since today's a holiday, I can put the flows together for you tomorrow.

 

Regards,

Fausto Capellan, Jr


Fausto Capellan, Jr


Did I answer your question? Mark my post as a solution! Did my response help? Please give it a thumbs up!

Proud to be a Flownaut!


Super User
Super User

Re: List flow

Hi @nikola_bgd,

 

I am working on the Flows connected from LIST(2) and LIST(3) to LIST(1), but you can look at the Flow from LIST(1) since it's the simplest one. One thing I have to point out to avoid confusion, steps 2 and 3 are SharePoint - Create item, but I renamed them to make it easy to identify which one does what. See the screenshot below:

ListFlow-1.jpg


Fausto Capellan, Jr


Did I answer your question? Mark my post as a solution! Did my response help? Please give it a thumbs up!

Proud to be a Flownaut!


Super User
Super User

Re: List flow

@nikola_bgd,

 

This is the Flow that connects from LIST(2) and LIST(3) to LIST(1). You will need a separate Flow for each list.

  1. The first step is When an item is created or modified. This just connects to your Site and the pertaining list.
    ListFlow-2.jpg
  2. The second step is a Condition to check if Column E is not empty. If it is, the Flow stops, but if it's not, then it moves to the next step. For this condition, you have to edit it in advanced mode. You can see the expression for the condition below.
    @not(equals(coalesce(triggerBody()?['ColumnE'], ''), ''))
    ListFlow-3.jpg

  3. If Column E is not empty, the next step is Get items. In this step a query will run against LIST(1) to retrieve the item with the same name from ColumnA. For ColumnA, I renamed the Title column and used it to create the unique identifier for all 3 lists. For example, in LIST(1), ColumnA will be set to ITEM-0001 and subsequently, LIST(2) and LIST(3) will have their ColumnA set to the same value. In the screenshot below see the Filter Query field so you can have an idea.
    ListFlow-4.jpg
  4. Once LIST(1) has been queried, you will then have to check if the query returned true or false. Same as step 2 above, you have to edit the condition in advanced mode. The condition checks the length of the returned item. If it's 1, then it returned true and the Flow moves to the step where the item from LIST(1) is updated, but if not, then the Flow stops. See the expression for this condition below.
    @equals(length(body('Get_Items_from_ListOne')?['value']),1)
    ListFlow-5.jpg
  5. The next and final step is the Update item. In here, you select your Site and LIST(1). You then set value to the Id, Title, and ColumnE. For ColumnE, I tried to append the value from ColumnE in LIST(2). While that works just fine, you will have an issue if ColumnE in LIST(1) is empty in which there will be an empty space above the value from ColumnE in LIST(2).
    ListFlow-6.jpg

I tried to be as thorough as possible with the instructions, but if you have any questions, please feel free to reach out.

 

Regards,

Fausto Capellan, Jr


Fausto Capellan, Jr


Did I answer your question? Mark my post as a solution! Did my response help? Please give it a thumbs up!

Proud to be a Flownaut!


View solution in original post

nikola_bgd
Level: Powered On

Re: List flow

Thank you very much.

Super User
Super User

Re: List flow

You're welcome!


Fausto Capellan, Jr


Did I answer your question? Mark my post as a solution! Did my response help? Please give it a thumbs up!

Proud to be a Flownaut!


Helpful resources

Announcements
firstImage

New & Improved Power Automate Community Cookbook

We've updated and improved the layout and uploading format of the Power Automate Cookbook!

thirdimage

Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

firstImage

Incoming: New and improved badges!

We've given our badges an overhaul and also added some brand new ones!

fifthimage

Microsoft Learn

Learn how to build the business apps that you need.

sixthImage

Power Platform World Tour

Find out where you can attend!

seventhimage

Webinars & Video Gallery

Watch & learn from the Power Automate Community Video Gallery!

Top Solution Authors
Top Kudoed Authors (Last 30 Days)
Users online (5,626)