Hi Guys,
I need some help in creating a flow
The trigger will be when ever an item is created or modified in SharePoint.
Which then either create or update an item in List B from List A depending on the following condition.
If Policy Number in List A equals Policy Number in List B
Then Update fields for this item
Else Create item
I have created the following flow and it seems be able to do both scenarios, however it looks like keeps looping through the each record that is in List B trying find a match and always pops up as flow failed.
Solved! Go to Solution.
Hi @Anonymous ,
Could you please share a screenshot of the configuration of your flow?
Do you want to:
1.Create an item in the List B when an item is created or modified in the List A, and no item in the List B has the same Policy Number with the trigger item.
2.Update the item that has the same Policy Number with the trigger item in the List B when an item is created or modified in the List A .
If yes, you could refer to screenshot below to create the flow:
The length expression in the Condition:
length(body('Filter_array'))
The item expression in the Id field of the Update item action:
item()?['ID']
Best regards,
Alice
Community Support Team _ Alice Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Anonymous ,
Take a try with expression below:
Title eq '@{triggerBody()?['Title']}'
Or expression below if the Policy Number column is not updated from the Title column in the List A:
Title eq '@{triggerBody()?['PolicyNumber']}'
Best regards,
Alice
Community Support Team _ Alice Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Anonymous
Can you share a screenshot of the flow that you have built so far?
One way you can do this is, add an action to get items and use odata filter query to check for the column in the list b based on the list a. Then you can check the length of the items returned in the previous action and if it is 0 then create a new item or else update item and that should address the scenario you are building.
Hope this Helps!
If this reply has answered your question or solved your issue, please mark this question as answered. Answered questions helps users in the future who may have the same issue or question quickly find a resolution via search. If you liked my response, please consider giving it a thumbs up. THANKS!
Hi @Anonymous ,
Could you please share a screenshot of the configuration of your flow?
Do you want to:
1.Create an item in the List B when an item is created or modified in the List A, and no item in the List B has the same Policy Number with the trigger item.
2.Update the item that has the same Policy Number with the trigger item in the List B when an item is created or modified in the List A .
If yes, you could refer to screenshot below to create the flow:
The length expression in the Condition:
length(body('Filter_array'))
The item expression in the Id field of the Update item action:
item()?['ID']
Best regards,
Alice
Community Support Team _ Alice Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi Alice,
That is exactly the flow I am trying to build.
I managed to get the flow to work for both Create Item and Update Item.
However looks like I am still getting an error as it is trying to through the each item in List B to find a match.
See below.
Thanks
Mick118
Hi @Anonymous ,
It is because if you have choose the dynamic content from the "Get items" action, however you need to apply to each items from the Filter items action.
Please remove the dynamic content from the "Get items" action in the "Update item" action, remove the Apply to each from the Value dynamic content from the "Get items" action.
And then you could enter the item() expression into each column in the "Update item" action.
The expression for the id column:
item()?['ID']
The expression for the Title column:
item()?['Title']
Or you could filter the items in the "Get items" action, then you don't need to use the "Filter Array" action, the screenshot of the flow should as below:
Expression in the Filter Array action:
PolicyNumber eq '@{triggerBody()?['PolicyNumber']}'
Expression in the first field of the Condition:
length(body('Get_items')?['value'])
Best regards,
Alice
Community Support Team _ Alice Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi Alice,
I seem to be getting an error when trying to add the ODATA filter query. See screenshot below.
Body:
Thanks
Michael
Hi @Anonymous ,
Two error in your flow:
1. Please remove the space you add in the PolicyNumber, copy my expression below:
PolicyNumber eq '@{triggerBody()?['PolicyNumber']}'
2.Please make sure that you have add a value to the Policy Number column when an item is created or modified and that trigger the flow.
Best regards,
Alice
Community Support Team _ Alice Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi Alice,
Its currenlty erroring in the same 'Get Items' action module, but with the following error below.
Body output:
Hi @Anonymous ,
Please delete the Policy Number column in your sharepoint List A and List B,
And then create a new Policy Number in the List A and the List B with Number type.
Best regards,
Alice
Community Support Team _ Alice Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi Alice,
Sorry but I need the Policy Number Column in List A and B to be Single Line of Text as data in this column is alphanumeric.
Would there be any alternate solution to this?
Thanks
Michael
Hi @Anonymous ,
You could also create the Policy Number column with Single line of text type.
Please take a try, to delete the column and recreate in the List A and List B, then create the flow as my screenshot.
Best regards,
Alice
Community Support Team _ Alice Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi Alice,
I do not have the option to delete the Policy Number column as this was originally the Title column.
Thanks
Michael
Hi @Anonymous ,
Are they all modified from the Title column in the List A and List B?
Best regards,
Alice
Community Support Team _ Alice Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Anonymous ,
Take a try with expression below:
Title eq '@{triggerBody()?['Title']}'
Or expression below if the Policy Number column is not updated from the Title column in the List A:
Title eq '@{triggerBody()?['PolicyNumber']}'
Best regards,
Alice
Community Support Team _ Alice Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi Alice,
You are AMAZING, that worked and I am not getting any errors in my flow.
Thank you so much for your help 🙂
Kind Regards
Michael
Hi Alice,
I have just retested again and it seems like the Condition if yes to Create Item is not working.
Scenario: New Item is create in List A - then a new record is created in List B.
Flow shows that it is successful but when I check List B the record is not there.
Also when U check the flow the Create Item is greyed out, see below.
Thanks
Michael
Hi @Anonymous ,
You shouldn't add the Apply to each 2 inside the If yes branch of the Condition:
Best Regards,
Alice
Community Support Team _ Alice Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
That fixed it,
Thanks Alice
User | Count |
---|---|
92 | |
45 | |
21 | |
18 | |
16 |
User | Count |
---|---|
136 | |
49 | |
42 | |
36 | |
28 |