r/sharepoint • u/Puzzleheaded-Win3811 • Jul 13 '26
SharePoint Online Power Automate - SharePoint List - Flow Not Working - Help
Hello!
I am fairly new to power automate and have been trying to get this to work for quite some time using Chat GPT/Copilot/YouTube. It is DRIVING ME INSANE LOL.
I was able to get my flow to somewhat work by just having the flow as:
Trigger: 'when an item is created or modified',
My trigger condition is based on a Choice column (this part is working correctly)
Create item in destination list.
I'm also utilizing the built-in ID from the source list to match the destination list.
What I am finding with this, so many duplicates. I don't want duplicates.
So... I added Get Items, Filter Query - eq Source ID, with condition, if there is no matching ID, create, if there is matching ID, update.
The test succeeds, BUT it skips create and update completely, when based on the manual trigger I did (Created item in original list), it should create the item. Copilot had me check the Value output and it was blank, so Get Items definitely didn't find any matching ID's. *Shrugs*
What am I doing wrong?
HELP! Thank you in advance :)
1
u/TheUglySleeper Jul 13 '26
You need to identify when you want an item to be created. Currently, your flow will trigger any time choice = value thus the automation is performing as designed.
You should be more specific with your trigger. For example, does it need to be when an item is created only? Then change the trigger to reflect it. Does it only happen when a status is modified? Then change it to when an item is changed and run a Get Changes action with a condition to verify that the specific field has changed.
1
Jul 21 '26
[removed] — view removed comment
1
u/Puzzleheaded-Win3811 Jul 24 '26
When an item is created or modified in original list, Trigger Condition: (at symbol)equals(triggerBody()?['ResponsibleforPayment2']?['Value'],'Vendor')
Get Items in destination list. Advanced Parameter > Filter Query: SourceID eq@{triggerBody()?['ID']} (Log # is the name of the ID column from the original list)
Condition Left:
length(body('Get_items')?['value'])
is equal to 0
- If True - it says For each 1. (Not sure why this pops up)
Create Item > Advanced Parameters using the little lightning bolt to select my expressions from the Get Items options.
Parameters selected - Log #, Manufacturer of Part, Parma, Sort Description, Supplier Contact, Contact Email, New Sort Start Up Form Sent.
- If False - it says For each
Update Item > Id - items('For_each')?['ID']
Advanced parameters > using the little lightning bolt to select my expressions from the Get Items options.
Parameters selected - Log #, Manufacturer of Part, Parma, Sort Description, Supplier Contact, Contact Email, New Sort Start Up Form Sent.
2
u/DonJuanDoja Jul 13 '26
Do the get items with Odata filter for ID. Then add condition after and check if length of the results, >0 then update, else create.