Question about upserting data in Dataverse using Power Automate

Krystian Kręcik 0 Reputation points
2025-04-15T16:10:34.3933333+00:00

Module: Use Dataverse triggers and actions in Power Automate

Question: If you want to update a preexisting row or create a row if it doesn't exist, what would you do?
Answers: Use the Update row action and then edit the row ID of the item. (correct) Use the Add row action and then edit the row ID of the item. Use the Update row action and then don't set the row ID. Use the Add, Modify, Delete trigger and a filter that checks the row ID.

However, I’ve noticed something potentially incorrect or outdated in this logic.

According to earlier practices and some documentation, using the Update a row action with a non-existent row ID (e.g., generated via GUID()), would create a new row if it didn’t exist — effectively acting as an upsert.

BUT — from what I understand now — the Update a row action uses the operation ID UpdateOnlyRecord, which, per the official documentation, only updates existing rows. If the row doesn’t exist, it results in an error.

It seems the correct action for upsert scenarios is now Upsert a row — not Update.

Thanks in advance for the clarification! 🙏

This question is related to the following Learning Module

Microsoft Power Platform Training
Microsoft Power Platform Training
Microsoft Power Platform: An integrated set of Microsoft business intelligence services.Training: Instruction to develop new skills.
619 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Syed Saleem Peera 12,530 Reputation points Microsoft External Staff
    2025-04-16T13:37:00.45+00:00

    Hello Krystian Kręcik,

    Thank you for reaching out on the Microsoft Q&A forum.

    While the training module or exam may still refer to using 'Update a row' as the correct answer, that approach is somewhat outdated and mainly applies to the learning context.

    In real-world scenarios, the 'Upsert a row' action is the better option. It's more reliable because it can either create a new record or update an existing one, depending on whether the record already exists. We have contacted the content author regarding this issue and will get back to you shortly with an update.  

    Please don’t forget to Accept Answer and Yes for "was this answer helpful" wherever the information provided helps you, this can be beneficial to other community members.

    Thank you.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.