cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
sasesi190101
Regular Visitor

Flow Forms to List, Update Item works, but Create Item Not

Hi

 

I have a weird issue, the same flow works for updating, but not on the creating item part. Flow presented below:

 

Basic start:

sasesi190101_0-1675108853919.png

After this, there are no differences:

 

sasesi190101_1-1675108901460.png

If yes: So if the ID in the Form matches with the title on MS List, update works as expected.

 

If no: But if there is no such item in the list, I would like to have a new item. The logic works if I build another basic flow creating item, but not on this. Also I have tried to change the "value" to "Response ID" but no luck.

The flow runs without errors, but no new items are created to the MS SharePoint List.

 

Thank you if you can help me! I have read many articles, but couldn't get those kind of flows working at all.

1 ACCEPTED SOLUTION

Accepted Solutions

You don't need to have another Apply to Each to create an item. You don't want to create a new item for each current sharepoint list item that doesn't match the condition. Also the condition going through each item in the list to see if it matches uses up a lot of calls if the list is large.

 

You want to trigger when a form is created, Get List Items filtered by the matching form column, check if any results were returned, if so update the items from SharePoint, if not create a new item.

 

Filter SP Get Items Column by Response ValueFilter SP Get Items Column by Response ValueIf No Item in SP then Create New Item or Update Matching ItemsIf No Item in SP then Create New Item or Update Matching Items

 

Let me know if this works for you

View solution in original post

5 REPLIES 5

You don't need to have another Apply to Each to create an item. You don't want to create a new item for each current sharepoint list item that doesn't match the condition. Also the condition going through each item in the list to see if it matches uses up a lot of calls if the list is large.

 

You want to trigger when a form is created, Get List Items filtered by the matching form column, check if any results were returned, if so update the items from SharePoint, if not create a new item.

 

Filter SP Get Items Column by Response ValueFilter SP Get Items Column by Response ValueIf No Item in SP then Create New Item or Update Matching ItemsIf No Item in SP then Create New Item or Update Matching Items

 

Let me know if this works for you

sasesi190101
Regular Visitor

Wow thanks @wskinnermctc !

 

This works, thank you so much, even though I do not fully get the logic 😄

Have a nice week 🙂

Glad it works for you.

 

The flow I showed is designed to either add a new item to a list if it doesn't exist already, or update ALL rows that match the filter. Most lists would have a 1 to 1 match where there's only 1 row per person in the list; therefore, only 1 row would need to be updated if an employee already existed. However, if you had a list with multiple rows per employee, it would update all of the rows.


To give an example that isn't exactly practical, but explains what is going on:

 

Let's say you had a SharePoint list of employees. The list has EmployeeName, EmployeeID, and contact info like PhoneNumber and OfficeNumber. There should only be 1 row per employee.


You could have a MS Forms that could be submitted whenever an employee changes their phone number or office location. And in the MS Form you put the EmployeeID, EmployeeName, PhoneNumber, OfficeNumber.

When the form is submitted the power automate is triggered for that submission item. You get the EmployeeID from that submission item and use it in the filter for the SharePoint Get Items. You're saying, "Give me all of the items in the SharePoint list that match this EmployeeID."

 

So the Get Items action has an output of rows in the list. If the employee already existed on the list, then the Get Items will have a result filled with that row's information. If the employee did not exist on the list (no EmployeeID matched the filter), the Get Items result will be blank or empty.

 

The next step is a condition that checks the Get Items result. It is checking the step as a whole, not necessarily individual items. The condition is asking, "Did the Get Items retrieve anything at all?" If it is empty, that means nothing matched the EmployeeID and the Get Items is blank. If the Get Items is not empty, then that means the EmployeeID did match something and the Get Items now contains that row.

 

After the condition, it is saying "If the Get Items was empty, then add a new employee to the list." But "If the Get Items was not empty, I want to update each of the results of the Get Items with the information from the MS Form response."

Since there is only 1 row per employee, the Apply to Each will only run for the 1 result that is in the Get Items.

 

However, lets say there was an error when the list was created and the employee John Jacobs was added to the SharePoint list 4 separate times. So the list contains 4 identical rows of John Jacobs.

 

If you submitted the MS Form to update John Jacobs contact information it would trigger the flow like normal, and in the Get Items step the filter of EmployeeID would return 4 rows of results. The condition checks if the Get Items was empty, which it is not, so it goes to the Update Item step. The condition doesn't care if it has 1 row or 50 rows, it only wants to know if Get Items has anything.
The apply to each will now run 4 times updating each row that was in the Get Items results.

 

 

Maybe the key to understanding is the Get Items action. If you have a list of 400 items and you use the Get Items without any filters, then the Get Items will have 400 results. If you used an apply to each on this Get Items then it would run 400 times.

However, if you have the same list with 400 items and use the Get Items with a filter and it has 4 rows that match the filter, then the Get Items will have 4 results. If you used an Apply to Each on this Get Items then it would run 4 times.

The same would happen if the 400 item list was filtered and only returned 1 row.

 

Power Automate automatically uses an Apply To Each whenever it is referencing a Get Items, because it doesn't know if you are going to return 1 row or 400.

 

Hope this helps!

Hi, I am trying to build a similar flow with no luck. I'm confused about the filter query under Get Items. I would like the SharePoint List to update or create a new item based on a form submission, if the request ID the user enters is the same as an existing item it will update; if not, it will create a new item.

 

I set it up the same way as yours, including the condition expression, etc.

 

The column I want to search for is called "Request ID". I keep getting error messages saying that the expression is not valid and the query failed.

 

CROKat_0-1692894602937.png

 

CROKat_2-1692895172900.png

 

Hi @CROKat , I believe your column name in the Filter Query is incorrect. And it also depends on if your sharepoint list is storing the "Request ID" as a number or a string.

 

For the column name, you need to use the InternalName of the column which you can look up more about in a post I made here.

 

If your "Request ID" column is stored as a Text/String then you do have the ' single quotes around the "Request ID".

 

If your "Request ID" column is stored as a Integer/Number then you do not have single quotes around the "Request ID".

 

If your "Request ID" column is stored as a Integer/Number then you will most likely have to change the form response from a string to a number.

 

@CROKat you could create a new forum post asking if you have any further problems.

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!    This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Community MembersNumber SolutionsSuper UsersNumber Solutions Deenuji 9 @NathanAlvares24  17 @Anil_g  7 @ManishSolanki  13 @eetuRobo  5 @David_MA  10 @VishnuReddy1997  5 @SpongYe  9JhonatanOB19932 (tie) @Nived_Nambiar  8 @maltie  2 (tie)   @PA-Noob  2 (tie)   @LukeMcG  2 (tie)   @tgut03  2 (tie)       Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 2: Community MembersSolutionsSuper UsersSolutionsPower Automate  @Deenuji  12@ManishSolanki 19 @Anil_g  10 @NathanAlvares24  17 @VishnuReddy1997  6 @Expiscornovus  10 @Tjan  5 @Nived_Nambiar  10 @eetuRobo  3 @SudeepGhatakNZ 8     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 3:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji32ManishSolanki55VishnuReddy199724NathanAlvares2444Anil_g22SudeepGhatakNZ40eetuRobo18Nived_Nambiar28Tjan8David_MA22   Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 4:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji11FLMike31Sayan11ManishSolanki16VishnuReddy199710creativeopinion14Akshansh-Sharma3SudeepGhatakNZ7claudiovc2CFernandes5 misc2Nived_Nambiar5 Usernametwice232rzaneti5 eetuRobo2   Anil_g2   SharonS2  

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages