When working with SharePoint list items using CSOM (Client-Side Object Model), you often need to update item properties — such as metadata or custom fields.
However, not all update methods behave the same way. The methods Update(), UpdateOverwriteVersion(), and SystemUpdate() look similar but have important differences that can affect version history, webhooks, and audit data.
1. Update()
What It Does
The most common way to update a SharePoint item.
Creates a new version of the item if versioning is enabled.
Updates the “Modified” and “Modified By” fields.
Triggers workflows, event receivers, and webhooks connected to the list.
item["Title"] = "Updated Title";
item.Update();
await context.ExecuteQueryRetryAsync();
When to Use
Use Update() when the change represents a real user edit — for example, a user modifying a field in a form or an automated process that should behave like a user edit.
| Action | Result |
|---|---|
| Creates new version | ✅ Yes |
| Triggers webhooks/workflows | ✅ Yes |
| Updates “Modified” / “Modified By” | ✅ Yes |
2. UpdateOverwriteVersion()
What It Does
Overwrites the existing version instead of creating a new one.
Still triggers workflows, events, and webhooks.
Updates the “Modified” and “Modified By” fields.
item["Title"] = "Corrected Title";
item.UpdateOverwriteVersion();
await context.ExecuteQueryRetryAsync();

Join the conversation! Your thoughts help the community grow.