Vladi Gubler
Vladi Gubler
October 29, 2026
Stay in the know
Get helpful videos

Every event-driven action in Ultimate Forms makes one quiet choice: run after the item saves, in the background, or run inside the save itself. Asynchronous is the default and right for almost everything, which is exactly why the synchronous option matters: it is the only way to block a bad save before it happens, the double booking, the duplicate, the forbidden transition, and the only way to make an action's changes part of the same update, with a single version history entry. This guide explains what the setting actually controls, the two cases that justify synchronous execution, and the mistakes the setting invites. For everything else about actions, start with the automation guide.

One save, two moments

The setting only makes sense against how a SharePoint update works. When a user clicks Save, two events fire around the database write: one before the changes are committed, while the update can still be cancelled, and one after, when the new values are fact and nothing can be reverted.

Everything that automates SharePoint lives in one of those two moments. The after moment is spacious: the save already succeeded, the user has moved on, and whatever runs there can take its time. The before moment is cramped and powerful: the user is waiting, the form is open, and code running there can inspect the incoming values, inject changes into the update itself, or refuse it entirely. Traditionally, reaching the before moment required custom event receivers, compiled code, deployed by developers. The Synchronous setting on an action's Advanced tab is that capability as a checkbox.

Sync action toggle

The setting applies to list-event triggers only: items added or modified; it changes nothing for timers, manual execution, or the other trigger families, which have no save to be inside of.

Asynchronous: the right default

An asynchronous action runs in the after moment, in the background. The form closes, the user proceeds, and the action does its work with no visual indication and no one waiting, which is precisely the correct arrangement for nearly all automation: updating related items, creating sites, generating documents, calling web services, sending notifications. None of these should hold a form hostage, and none of them needs to.

The default comes with one subtlety worth understanding rather than merely trusting. An asynchronous action often finishes by updating the current item, writing a log value, setting a result column, or because it is an Update List Item action aimed at the item itself. That write is a second update, and a second update would normally fire the list's actions again, whose own updates would fire them again, forever. The platform breaks the loop automatically: secondary updates do not re-trigger actions on the same items. You get the convenience of actions that annotate their own trigger item, without the infinite regress that pattern invites in homegrown automation.

So the honest rule is the one the platform's defaults already encode: make every action asynchronous unless you can name the specific reason it cannot be. There are exactly two good reasons.

Reason one: the save that must be stoppable

Some errors are only preventable in the before moment, because they are conflicts with data the form cannot see. The canonical case is the double booking: two users reserve the same room for overlapping hours, each form individually valid, the conflict visible only against the list's current contents at the instant of saving. A synchronous action checks for existing reservations with the same resource and overlapping period, and when it finds one, raises an error on the form and cancels the update. The second booking never becomes an item; the user gets an explanation while their hands are still on the form; and the race between two simultaneous bookers resolves correctly, because the check runs inside each save, against whatever was committed first.

The same mechanics stop duplicates on any natural key, a vendor's tax ID, a serial number, an email, and enforce cross-item rules no column validation can reach, the pattern the real-time validation article covers from the form side and the Calculate Summary action implements: count the conflicting items synchronously, and raise the error when the count is above zero. The Room and Equipment Reservation solution ships this exact approach, installable as a working reference.

Error messages written for this moment deserve the care of any user-facing text: "This room is already booked from 2:00 to 3:30" turns a refusal into guidance, while a generic failure turns it into a support ticket. The user whose save was blocked should finish the sentence knowing what to change, not whom to call.

Reason two: the update that must be one update

The second reason is quieter and bites teams that never saw it coming: version history. An asynchronous action that modifies its own trigger item produces a second update, and therefore a second version, and in audited environments that matters. The record shows two changes, the user's and the system's, where the business sees one event, and every versioned column, flagged alert, and change log doubles its bookkeeping.

A synchronous action resolves this by injecting its changes into the update already in progress. The user's edits and the action's additions, the stamped date, the computed value, the normalized text, commit together, as one update, one version history entry, one change for every downstream consumer to reason about. When a compliance requirement says "the record was modified once," synchronous injection is how configuration honors it.

The cost, and the discipline

Synchronous execution has one price, and it is paid in the user's time: the form waits for the action to finish. That makes the discipline simple. Keep synchronous actions fast and local: a query against a list, a value check, an injected column change. Never put long-running work in the before moment, multi-item updates, site creation, web service calls, document generation, because a slow synchronous action is experienced as a stuck form, and a stuck form is experienced as a broken system. The long work belongs in an asynchronous action triggered by the same event; the two coexist naturally, the synchronous one guarding and shaping the save, the asynchronous one doing the heavy lifting after it.

Two design habits complete the picture. Pair every synchronous guard with narrow conditions, including after-change conditions, so the check runs only on the saves that could conflict, not on every edit of every column. And when a save triggers both kinds, remember the sequence while debugging: the synchronous action already ran when the item lands in the list; the asynchronous ones may still be running when the user asks why the related items have not appeared yet, and Action History shows both with their timestamps.

The setting is one checkbox, but it encodes the two questions every piece of automation should answer: can this work wait until after the save, and may this save proceed at all. Asynchronous for the first, synchronous for the second, and the rare process that needs both gets both.

Frequently asked questions

Q: What is the difference between asynchronous and synchronous actions?
A: Asynchronous actions run after the item saves, in the background, with nobody waiting. Synchronous actions run inside the save, before the database write, where they can inject changes into the update or cancel it entirely.
Q: When should an action be synchronous?
A: In exactly two cases: when the save must be stoppable, blocking double bookings, duplicates, or forbidden changes with an error on the form, and when the action's changes must share the user's update, producing a single version history entry.
Q: How does a synchronous action prevent double booking?
A: It checks the list for existing reservations with the same resource and overlapping period during the save, and raises an error that cancels the update when a conflict exists, resolving even simultaneous submissions correctly.
Q: Why does my item show two versions after an action runs?
A: An asynchronous action that updates its trigger item performs a second update, which is a second version. Make the action synchronous to inject its changes into the original update and keep one version.
Q: Can a secondary update cause an infinite loop of actions?
A: No. The platform ensures that updates performed by actions do not re-trigger actions on the same items, so self-annotating actions are safe by design.
Q: Does the setting affect timer or manual actions?
A: No. Synchronous execution only applies to list-event triggers, since only they have a save to run inside; timers and manual runs always execute independently.
Loading...

Add your comment

Comments are not meant for support. If you experiencing an issue, please open a support request.
Products
Vladi Gubler | October 24, 2026
SharePoint items can carry true electronic signatures: tamper-evident, identity-verified, and bound to the data they sign. The Signature component of Ultimate Forms is a column you add to any list or library, attach to the columns whose values it should protect, and sign in one of three ways, real-time username and password validation against your...
Products
InfoPath reached the end of its road on July 14, 2026, and Ultimate Forms is its natural successor for SharePoint forms: browser-based design instead of a client application, data stored as real SharePoint items instead of XML, all column types supported, and permissions, validation, automation, and printing built in. This comparison walks the two...
Products
Vladi Gubler | April 30, 2025
If you’ve ever used Survey lists in SharePoint, you’re likely familiar with a powerful and often underappreciated feature: the Rating Scale column. This special column type presents a matrix of statements or questions alongside a numeric scale, typically used for gathering structured feedback. The idea is simple but incredibly effective - allow...
Build powerful business applications in SharePoint using only your browser.
100% No-Code Solution
It’s never been easier to create, innovate, and share. All you need is your web browser!
Cost-Effective
Address business process pain points immediately. Save time and money.
Fantastic Support Team
In addition to our responsive support team, a wide variety of resources, documentations, tutorials, blogs and webinars is available to you
Popular Solution Templates
Employee Training
Manage your employee training courses, registrations, and feedbacks
Employee Exit Survey
Structured, consistent feedback from every departing employee
Guestbook
Structured visitor feedback covering service, facilities, and experience with open-ended comments
Microsoft partner logo
© 2005-2026 Infowise Solutions Ltd. All rights reserved.
Privacy | Cookie Policy | Accessibility | Cloud SLA