Skip to content
SurfaceDocs
FRGet started
DocsBuild your apps

Actions and buttons

Declare an operation and present it in context.

An Action expresses intent

New client, Prepare proposal and Archive are Actions. The Model defines their operation, context and required information. An action card or button presents them in a view.

An Action can launch a Flow, open a creation Form, prepare an operation or navigate to declared context. It does not always start a Flow. Choose the operation matching the intended result.

Element Expected values Description
Key Stable identifier Reference the same Action in several views
Label Verb and object, such as Create quote Make intent understandable
Context Current object, selection or declared parameters Define what the Action affects
Operation A variant admitted by the Model Create, change, launch or open
Form Form reference when input is needed Collect parameters
Availability Applicable conditions and permissions Explain unavailable Actions

Action cards

For a text selection in a Surface, the Action identifies the owning rich text component with blockId, together with its from and to positions. Positions alone cannot identify text when a Page contains several rich text components. The selection remains bound to the Surface and revision admitted for that Action.

Clients home can present Prepare proposal with an icon and description. The card references a Model Action instead of owning a separate execution engine. A button on North Studio’s record can invoke that same Action with the client already selected.

Confirmation and result

Present the relevant effect before confirmation: affected client, data used and result created. Afterwards, show the result or progress. A late response or changed selection must not apply the Action to a different client.

The card distinguishes an operation awaiting review from a recorded result. Details provide exact references and versions without crowding the main reading experience. A missing name is identified, never replaced with a guessed one. View result consults the receipt; it does not execute the Action again. A pending or failed request remains the same request to review.

From ongoing work, an Action remains tied to its context and the information declared when that work began. An application change does not silently replace the Form or values of a retained request. After a lost response, resume that same review instead of starting another Action.

When an Action retains reference sources, its review and history show the original work and the exact source versions. An application update does not replace those sources or the original retention rule. Export uses that selected historical capture and checks your current access again.

For a Form reference, review distinguishes keep the saved reference, leave without a reference and choose a target. This choice belongs to the same confirmation as the other Form information. Keeping does not choose another target or recreate the saved reference; a lost response resumes the original request and choices.

Example

From North Studio, Prepare proposal opens a Form with the client preselected and requests the need. Confirmation starts the preparation Flow. The interface then opens the work and its steps; starting it does not mean the quote is already finalized.

Applied examples : Create a record or start work

A Flow Action prepares a quote; a creation Action opens its dedicated Form.

Configuration

Fragment placed in actions[]. Properties and accepted values.

{
  "key": "prepare-quote",
  "label": "Prepare a quote",
  "targetDefinitionPaths": [
    "workspace/clients/surface/client"
  ],
  "kind": "flow",
  "operationKey": "prepare-quote",
  "formKey": "prepare-quote",
  "ruleKeys": [],
  "contextPolicyKey": "quote-context",
  "minimumRole": "member",
  "confirmation": true
}

Variation and connection

Fragment placed in actions[]. Properties and accepted values.

{
  "key": "create-client",
  "label": "Create client",
  "targetDefinitionPaths": [],
  "kind": "semantic-command",
  "operationKey": "create-client",
  "formKey": "new-client",
  "ruleKeys": [],
  "contextPolicyKey": null,
  "minimumRole": "member",
  "confirmation": true
}

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.

  1. Target object
  2. Proposed change
  3. Checks
  4. Confirm
ILLUSTRATIVE LAYOUTClients / Quotes app
SurfaceClients / North StudioExample
Actions and buttonsCreate a record or start work
Clients
NS
North StudioQuote S-1042
Needs review
Proposed change
A Flow Action prepares a quote; a creation Action opens its dedicated Form.
Data and references
Client · Need · Pricing
BackReview then confirm
Search for a concept, field or action.Esc