SharePoint: Preserve Versions from Forms
Power Automate
20. Aug 2025 21:49

SharePoint: Preserve Versions from Forms

von HubSite 365 über Alireza Aliabadi

Online Course Creator (79,000 students and counting)

Citizen DeveloperSharePoint OnlinePower AutomateLearning Selection

Microsoft expert: update SharePoint from Microsoft Forms with Power Automate to preserve versions and avoid deletes

Key insights

  • Version history: Deleting and re-creating SharePoint items removes their version history and audit trail.
    Update items instead to keep a complete change record.
  • Use a key column to find matching records before changing them.
    This avoids duplicates and ensures you update the correct item.
  • Prefer an update in place approach over delete-and-recreate.
    Updating preserves metadata and previous versions automatically.
  • Typical flow steps with Power Automate: trigger on a new Microsoft Forms response, get response details, locate the item in the SharePoint list by the key column, then update that item.
    Keep the logic simple and idempotent.
  • Handle resubmits by either matching a unique field or storing the SharePoint item ID so the flow knows when to update.
    Testing these scenarios prevents duplicate records.
  • Test and verify: run the flow and check the SharePoint version history tab to confirm versions persist.
    Use clear logging and small test cases before full deployment.

Introduction

In a recent YouTube video, Alireza Aliabadi walks viewers through a common integration problem between Office Forms and SharePoint, and then shows how to solve it without losing important audit information. The video focuses on the mistake many automation authors make: deleting and re-creating records instead of updating them in place, which erases version history. Aliabadi frames the issue clearly at the start and then demonstrates a reliable pattern using Power Automate. As a result, the tutorial is practical for both beginners and experienced developers who want to protect historical data.

The Core Problem: Why Deleting Harms Records

Aliabadi begins by explaining why the delete-and-recreate approach is tempting yet dangerous. When a form response changes, some flows delete the original item and insert a new one to reflect updates, but that action removes previous versions and audit trails. Consequently, compliance, troubleshooting, and historical insight become harder, especially in environments that need accountability. Therefore, maintaining an existing item and updating it in place preserves both the current state and its entire change history.

The Correct Pattern: Using a Key to Update In Place

Next, the video outlines the correct pattern: identify the existing record through a unique key column and then update that item rather than creating a new row. Aliabadi shows how to add a reliable key—such as an ID or a composite value derived from form fields—and use Power Automate actions to search and update the matching list item. He demonstrates the approach step by step, walking through flow triggers, condition checks, and the update action that keeps version history intact. Furthermore, he tests the flow to show version entries before and after the update, proving the method works.

Practical Considerations and Tradeoffs

While the approach is straightforward, Aliabadi highlights tradeoffs that teams must weigh. For example, designing a unique key improves data integrity but requires careful planning to avoid collisions and to handle resubmissions that may legitimately create new records. Additionally, real-world forms can include attachments and complex fields, which complicate the update logic and may require additional steps to move or preserve file references. Consequently, developers must balance simplicity against robustness depending on data volume, concurrency, and the importance of retaining full history.

Challenges: Concurrency, Performance, and Permissions

The video does not avoid the harder parts of production systems: concurrent submissions, search performance, and permission scopes can all frustrate the ideal flow. Aliabadi points out that flows should throttle or implement retry logic when multiple form responders update the same key simultaneously, otherwise items can overwrite one another. Moreover, frequent queries to find existing items can affect performance on large lists unless you index the key column and limit returned fields. Finally, update actions require sufficient SharePoint permissions, so administrators should review least-privilege access to avoid security issues.

Testing, Monitoring, and Best Practices

To round out the guidance, the video recommends testing flows with sample submissions and checking the SharePoint version history to confirm behavior. Aliabadi also emphasizes monitoring for duplicates and setting clear rules for when a resubmitted form should update an existing item versus create a new one. He shows how timestamping and status fields can help trace changes, while logging within the flow aids troubleshooting. In addition, documenting the chosen key strategy and edge-case behavior helps teams maintain the solution long term.

Takeaways for Teams and Administrators

Ultimately, the message is pragmatic: update in place when you need to keep an audit trail, and use a well-chosen key to find the right item. This approach reduces data loss risks and supports compliance, but it requires upfront design work, attention to concurrency, and appropriate SharePoint configuration. Aliabadi’s demonstration delivers a clear, repeatable pattern that teams can adapt to their own forms and list schemas. Therefore, organizations that invest a little more design time can avoid costly and irreversible data gaps while still keeping form-based workflows efficient.

SharePoint Online - SharePoint: Preserve Versions from Forms

Keywords

update SharePoint from Office Forms, update SharePoint list from Microsoft Forms, preserve SharePoint version history, keep version history when updating SharePoint, Power Automate Forms to SharePoint, Microsoft Forms SharePoint integration, retain version history on SharePoint updates, sync Office Forms responses to SharePoint