Synchronization and collaboration
Distinguish live updates, AI text and coediting.
Three uses of live updates
A record can receive saved updates, display AI text being generated or support editing by several members. These uses complement each other and follow different rules.
| Use | Source | Expected behavior |
|---|---|---|
| Synchronization | Canonical changes and GraphWatch | Refresh authorized projections |
| AI streaming | AI execution active in the interface | Display a proposal progressively |
| Coediting | Authorized shared session | Edit the same content together |
Protect input
A remote update does not replace a value with an active local draft. AI text must not overwrite human edits. Responses belong to the object, section and request that produced them; a late response must not appear in another record.
In an independent Knowledge, Data or Product Space, saved updates keep the same selected Spaces and Models while Surface checks their current heads and access. An open document’s editing mode is checked before loading its new body; a collaborative generation is never replaced by an ordinary saved snapshot.
Work as a team
Stored, non-repeatable Fields offer an explicit reread before a new review of your changes. A remote update is never combined automatically with your input: concurrent changes to the same Field, including a return to its original value, remain refused. If a submission’s confirmation is not received, its original request is kept for retry; it does not become a new preparation.
Coediting requires Team or higher and effective content permissions. Sharing a link alone does not open an editing session. Revoked access must stop prohibited reading and editing even when the screen is already open.
When the host supports a secure live connection, Surface opens it for your current account and selected content without asking you to copy an access token into the browser or a link. This connection does not add reading or editing permissions. If the live channel is unavailable or its authorization expires, Surface says so explicitly and preserves your drafts; another account or document cannot reuse the previous connection.
Leaving coediting closes only your own session. Stopping coediting affects every participant and requires confirmation: you must be Owner of both the Workspace and the Space containing the document. Owners retain this maintenance action after losing the coediting plan; it preserves saved changes and does not delete the document. Surface then checks the document’s current editing mode before offering further edits.
After losing the coediting plan, returning to an eligible plan does not reactivate every destination. The Workspace Owner and the affected Space Owner each review and confirm resuming their own scope. This does not recreate revoked access or reactivate other Workspaces or Spaces. Suspended shared access is checked separately; resuming coediting does not recreate it. A reused Space remains under its own Owner’s authority.
Comments and mentions
Open Comments to discuss the entire Surface, a document section or the selected passage, as allowed by the content. Reply in the same thread, resolve it or explicitly attach an outdated comment to its new location. Reading and marking a mention as read remain distinct from permission to edit a comment.
Hiding Comments preserves unsent text and mention choices. After an unconfirmed response, resume the same request with the same text instead of creating another operation. If Surface confirms the change but cannot refresh the comments, retry their reading only; do not repeat the change. Changing language preserves the composer and its selection.
Mention choices show the available member role and a secondary exact identity to distinguish people with the same role. Check that identity if no name is available; a role is not a person’s name. Authors and location references remain available in the comment details.
Example
A salesperson reads North Studio while a colleague accepts a quote. The related list and counters update, while notes currently being written remain intact. If they open an authorized coediting session, they share the document under that session’s rules.
Applied examples : Share the record with the team
Members have authorized actions and shared Fields; each edit retains its draft.
Configuration
Fragment placed in contentActions[]. Properties and accepted values.
{
"contract": "ContentSpaceActionPolicy@1",
"spaceKey": "clients",
"actionKey": "prepare-quote",
"minimumRole": "editor"
}
Variation and connection
Fragment placed in presentation.recordProfiles[].detail.settings. Properties and accepted values.
{
"fieldPaths": [
"fields/email"
]
}
UI layout example
The illustrative layout below places this configuration in the Clients/Quotes app. Insert each fragment at the stated location, with Field, Query and Action references matching the Model declarations.
- Members
- Shared notes
- Draft preserved
- Change to review
Confirm scope with the client before sending the quote.
Your input is preserved while comparing it with the current version.