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.
- Target object
- Proposed change
- Checks
- Confirm
- Proposed change
- A Flow Action prepares a quote; a creation Action opens its dedicated Form.
- Data and references
- Client · Need · Pricing