Skip to main content

Forms

This category lists the 72 Runtime system commands under system.form..

1. List schemas​

Full name: system.form.schema.list

List form schema records. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form schema list \
[--keyword value] [--cursor value] [--limit n] [--json]

Parameters: none beyond common options such as --json.

2. Retrieve schema​

Full name: system.form.schema.get

Retrieve form schema resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form schema get --form-api-name <apiName> [--json]

Parameters: none beyond common options such as --json.

3. Create schema​

Full name: system.form.schema.create

Create a new business form definition. · Risk: Write

sl system form schema create \
--name <name> --api-name <apiName> --type <type> [--description value] \
[--icon value] [--version value] [--json]

Parameters: none beyond common options such as --json.

4. Copy schema​

Full name: system.form.schema.copy

Copy form schema resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form schema copy \
--source-form-id <uuid> --name <name> --api-name <apiName> \
[--description value] [--icon value] \
[--field-api-name-mode preserve|regenerate] [--json]

Parameters: none beyond common options such as --json.

5. Update schema​

Full name: system.form.schema.update

Update form schema resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form schema update \
--form-id <uuid> [--name value] [--description value] [--icon value] \
[--version value] [--custom-config-json json] [--json]

Parameters: none beyond common options such as --json.

6. Enable schema​

Full name: system.form.schema.enable

Enable form schema resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form schema enable --form-id <uuid> [--json]

Parameters: none beyond common options such as --json.

7. Disable schema​

Full name: system.form.schema.disable

Disable form schema resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form schema disable --form-id <uuid> [--json]

Parameters: none beyond common options such as --json.

8. Delete schema​

Full name: system.form.schema.delete

Delete form schema resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form schema delete --form-id <uuid> [--operation-id <uuid>] [--json]

formId (required) is the form UUID. Disable the form before deletion. Protected built-in forms and forms referenced by message templates cannot be deleted; form-model adjustment permission is required.

This command returns background-operation state. Call system.operation.get with the returned operationId until completed, failed, or cancelled; the deletion result is in result.deleted. Supply --operation-id to choose an ID. If the submission response is lost, retry with the same ID and the same input rather than generating another ID.

9. List fields​

Full name: system.form.field.list

List form field records. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form field list \
--form-id <uuid> [--keyword value] [--cursor value] [--limit n] \
[--json]

Parameters: none beyond common options such as --json.

10. Search field​

Full name: system.form.field.search

Search form field records. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form field search \
[--keyword value] [--form-limit n] [--field-limit n] [--json]

Parameters: none beyond common options such as --json.

11. Retrieve field​

Full name: system.form.field.get

Retrieve form field resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form field get --field-id <uuid> [--json]

Parameters: none beyond common options such as --json.

12. Create field​

Full name: system.form.field.create

Create form field resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form field create \
--form-id <uuid> --definition-json json [--json]

Parameters: none beyond common options such as --json.

Formula configuration requires a non-empty expression: use config.dynamicFormula.formulaExpression for a dynamic formula, or defaultValue.formulaExpression with defaultValue.mode set to formula for a formula default. Missing expressions return FORMS_FIELD_FORMULA_EXPRESSION_REQUIRED.

13. Update field​

Full name: system.form.field.update

Update form field resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form field update \
--field-id <uuid> --definition-json json [--json]

Parameters: none beyond common options such as --json.

Formula configuration requires a non-empty expression: use config.dynamicFormula.formulaExpression for a dynamic formula, or defaultValue.formulaExpression with defaultValue.mode set to formula for a formula default. Missing expressions return FORMS_FIELD_FORMULA_EXPRESSION_REQUIRED.

14. Delete field​

Full name: system.form.field.delete

Delete form field resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form field delete --field-id <uuid> [--json]

Parameters: none beyond common options such as --json.

15. Retrieve field script binding​

Full name: system.form.field.script-binding.get

Retrieve form field script binding resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form field script-binding get \
--asset-id <uuid> (--form-id <uuid>|--form-api-name value) \
(--field-id <uuid>|--field-api-name value) [--json]

Parameters:

  • studioAssetId(required)— Published Studio script asset UUID
  • formApiName(required)— Form API name containing the target field
  • fieldApiName(required)— Field API name in the form; must match the so_* format

16. Bind field script binding​

Full name: system.form.field.script-binding.bind

Bind form field script binding resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form field script-binding bind \
--asset-id <uuid> --file-path value \
(--form-id <uuid>|--form-api-name value) \
(--field-id <uuid>|--field-api-name value) [--json]

Parameters:

  • studioAssetId(required)— Published Studio script asset UUID
  • studioFilePath(required)— Published Studio script file path
  • formApiName(required)— Form API name containing the target field
  • fieldApiName(required)— Field API name in the form; must match the so_* format

17. Unbind field script binding​

Full name: system.form.field.script-binding.unbind

Unbind form field script binding resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form field script-binding unbind \
--asset-id <uuid> --file-path value \
(--form-id <uuid>|--form-api-name value) \
(--field-id <uuid>|--field-api-name value) [--json]

Parameters:

  • studioAssetId(required)— Published Studio script asset UUID
  • studioFilePath(required)— Published Studio script file path
  • formApiName(required)— Form API name containing the target field
  • fieldApiName(required)— Field API name in the form; must match the so_* format

18. Verify field script binding​

Full name: system.form.field.script-binding.verify

Verify form field script binding resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form field script-binding verify \
--asset-id <uuid> --file-path value \
(--form-id <uuid>|--form-api-name value) \
(--field-id <uuid>|--field-api-name value) [--json]

Parameters:

  • studioAssetId(required)— Published Studio script asset UUID
  • studioFilePath(required)— Published Studio script file path
  • formApiName(required)— Form API name containing the target field
  • fieldApiName(required)— Field API name in the form; must match the so_* format

19. Catalog formula​

Full name: system.form.formula.catalog

Catalog form formula resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form formula catalog [--json]

Parameters: none beyond common options such as --json.

20. Validate formula​

Full name: system.form.formula.validate

Validate form formula resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form formula validate \
--form-id <uuid> --expression <formula> \
--result-data-type string|number|boolean|date|datetime|array|object \
[--json]

Parameters: none beyond common options such as --json.

21. Preview formula​

Full name: system.form.formula.preview

Preview form formula resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form formula preview \
--form-id <uuid> --expression <formula> \
--result-data-type string|number|boolean|date|datetime|array|object \
--values-json '{"so_field":value}' [--json]

Parameters: none beyond common options such as --json.

22. List layouts​

Full name: system.form.layout.list

List form layout records. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form layout list \
--form-id <uuid> [--keyword value] [--cursor value] [--limit n] \
[--json]

Parameters:

  • formId(required)— Existing form UUID discovered with system.form.schema commands
  • keyword(optional)— Case-insensitive layout-name filter
  • cursor(optional)— Opaque cursor returned by the previous list call
  • limit(optional)— Maximum items to return from 1 to 100; defaults to 20

23. Retrieve layout​

Full name: system.form.layout.get

Retrieve form layout resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form layout get --layout-id <uuid> [--json]

Parameters:

  • layoutId(required)— Existing layout UUID returned by layout list

24. Create layout​

Full name: system.form.layout.create

Create form layout resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form layout create \
--form-id <uuid> (--definition-json json|--definition-file path) \
[--json]

Parameters:

  • formId(required)— Existing form UUID discovered with system.form.schema commands
  • definition(required)— Custom-layout definition described by layoutConfiguration

25. Update layout​

Full name: system.form.layout.update

Update form layout resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form layout update \
--layout-id <uuid> (--definition-json json|--definition-file path) \
[--json]

Parameters:

  • layoutId(required)— Existing layout UUID returned by layout list
  • definition(required)— Exactly one metadata or full canvas section described by layoutConfiguration

26. Delete layout​

Full name: system.form.layout.delete

Delete form layout resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form layout delete --layout-id <uuid> [--json]

Parameters:

  • layoutId(required)— Existing custom layout UUID; DEFAULT cannot be deleted

27. Retrieve layout page event​

Full name: system.form.layout.page-event.get

Retrieve form layout page event resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form layout page-event get \
--asset-id <uuid> (--form-id <uuid>|--form-api-name value) \
--layout-id <uuid> [--json]

Parameters:

  • studioAssetId(required)— Published Studio script asset UUID
  • formId|formApiName(required)— Form UUID or API name
  • layoutId(required)— Custom NEW or EDIT layout UUID

28. Bind layout page event​

Full name: system.form.layout.page-event.bind

Bind form layout page event resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form layout page-event bind \
--asset-id <uuid> --file-path value \
(--form-id <uuid>|--form-api-name value) --layout-id <uuid> \
--event-type main-init|main-field-change|child-row-add|child-field-change|child-row-remove \
[--child-table-api-name value] [--field-mode all|specified] \
[--fields-json json] [--json]

Parameters:

  • studioAssetId(required)— Published Studio script asset UUID
  • studioFilePath(required)— Published Studio script file path
  • formId|formApiName(required)— Form UUID or API name
  • layoutId(required)— Custom layout UUID
  • eventType(required)— main-init, main-field-change, child-row-add, child-field-change, or child-row-remove

29. Unbind layout page event​

Full name: system.form.layout.page-event.unbind

Unbind form layout page event resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form layout page-event unbind \
--asset-id <uuid> --file-path value \
(--form-id <uuid>|--form-api-name value) --layout-id <uuid> \
--event-type main-init|main-field-change|child-row-add|child-field-change|child-row-remove \
[--child-table-api-name value] [--field-mode all|specified] \
[--fields-json json] [--json]

Parameters:

  • studioAssetId(required)— Published Studio script asset UUID
  • studioFilePath(required)— Published Studio script file path
  • formId|formApiName(required)— Form UUID or API name
  • layoutId(required)— Custom layout UUID
  • eventType(required)— The event target to remove

30. Verify layout page event​

Full name: system.form.layout.page-event.verify

Verify form layout page event resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form layout page-event verify \
--asset-id <uuid> --file-path value \
(--form-id <uuid>|--form-api-name value) --layout-id <uuid> \
--event-type main-init|main-field-change|child-row-add|child-field-change|child-row-remove \
[--child-table-api-name value] [--field-mode all|specified] \
[--fields-json json] [--json]

Parameters:

  • studioAssetId(required)— Published Studio script asset UUID
  • studioFilePath(required)— Published Studio script file path
  • formId|formApiName(required)— Form UUID or API name
  • layoutId(required)— Custom layout UUID
  • eventType(required)— The event target to verify

31. List print templates​

Full name: system.form.print-template.list

List form print template records. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form print-template list \
--form-id <uuid> [--keyword value] [--status enabled|disabled] \
[--visible-to-actor] [--cursor value] [--limit n] [--json]

Parameters:

  • formId(required)— Existing form UUID from system.form.schema.list
  • cursor|limit(optional)— Opaque nextCursor and a 1-100 result limit
  • keyword|enabled(optional)— Optional name/description search and enabled filter
  • visibleToActor(optional)— When true, retain only templates whose enabled scope matches the current actor

32. Retrieve print template​

Full name: system.form.print-template.get

Retrieve form print template resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form print-template get --template-id <uuid> [--json]

Parameters:

  • templateId(required)— Template UUID returned by print-template.list

33. Create print template​

Full name: system.form.print-template.create

Create form print template resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form print-template create \
--form-id <uuid> (--definition-json json|--definition-file path) \
[--json]

Parameters:

  • formId(required)— Target form UUID
  • name(required)— Template name, 1-200 characters
  • description|enabled|priority(optional)— Metadata and selection priority. Higher priority wins
  • followTemplateId(optional)— Template in the same form to inherit structure from; nested inheritance is forbidden
  • layout|scopes(optional)— Typed page-region layout and complete visibility scopes

34. Update print template​

Full name: system.form.print-template.update

Update form print template resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form print-template update \
--template-id <uuid> --expected-revision <n> \
(--definition-json json|--definition-file path) [--json]

Parameters:

  • templateId(required)— Template UUID
  • expectedRevision(required)— Revision returned by get; stale revisions are rejected
  • changes(required)— At least one metadata, inheritance, layout, background, or scope change

35. Delete print template​

Full name: system.form.print-template.delete

Delete form print template resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: High risk

sl system form print-template delete \
--template-id <uuid> --expected-revision <n> [--json]

Parameters:

  • templateId(required)— Non-system template UUID
  • expectedRevision(required)— Revision returned by get; stale revisions are rejected

36. Resolve print template​

Full name: system.form.print-template.resolve

Resolve form print template resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form print-template resolve --form-id <uuid> [--json]

Parameters:

  • formId(required)— Form UUID
  • printType(optional)— DEFAULT when omitted. Resolves scope, priority, and effective inheritance

37. Retrieve print design context​

Full name: system.form.print-design.context.get

Retrieve form print design context resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form print-design context get \
(--session-id <uuid>|--form-id <uuid> [--template-id <uuid>] [--active-page-id <uuid>]) \
[--json]

Parameters:

  • sessionId(optional)— Resume an unexpired authoritative design session
  • formId(optional)— Required when creating a session; mutually exclusive with sessionId
  • templateId(optional)— Existing template to edit. Omit to create a new template
  • activePageId(optional)— Existing page UUID to focus. The Runtime verifies it against the template

38. Validate print design patch​

Full name: system.form.print-design.patch.validate

Validate form print design patch resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form print-design patch validate \
--session-id <uuid> (--definition-json json|--definition-file path) \
[--json]

Parameters:

  • sessionId(required)— Session returned by context.get
  • patch(required)— Complete strict semantic patch. Read-only validation materializes the final canvas and returns exact diagnostics before approval

39. Execute print design patch​

Full name: system.form.print-design.patch.execute

Execute form print design patch resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form print-design patch execute \
--session-id <uuid> --base-revision <n> --idempotency-key <key> \
(--definition-json json|--definition-file path) [--json]

Parameters:

  • sessionId(required)— Same session used for validation
  • baseRevision(required)— Unchanged session revision used for validation
  • idempotencyKey(required)— Stable caller key; retry the same patch with the same key
  • patch(required)— The normalized patch returned by patch.validate, unchanged

40. Retrieve runtime list metadata​

Full name: system.form.runtime.list-metadata.get

Retrieve form runtime list metadata resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form runtime list-metadata get \
--form-api-name <apiName> [--layout-page-type LIST|RELATION] [--json]

Parameters: none beyond common options such as --json.

41. Retrieve runtime list bootstrap​

Full name: system.form.runtime.list-bootstrap.get

Retrieve form runtime list bootstrap resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form runtime list-bootstrap get \
(--definition-json json|--definition-file path) [--json]

Parameters: none beyond common options such as --json.

42. Retrieve runtime view bootstrap​

Full name: system.form.runtime.view-bootstrap.get

Retrieve form runtime view bootstrap resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form runtime view-bootstrap get \
(--definition-json json|--definition-file path) [--json]

Parameters: none beyond common options such as --json.

43. Retrieve runtime editor bootstrap​

Full name: system.form.runtime.editor-bootstrap.get

Retrieve form runtime editor bootstrap resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form runtime editor-bootstrap get \
(--definition-json json|--definition-file path) [--json]

Parameters: none beyond common options such as --json.

44. List runtime saved filters​

Full name: system.form.runtime.saved-filter.list

List form runtime saved filter records. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form runtime saved-filter list --form-id <uuid> [--json]

Parameters: none beyond common options such as --json.

45. Save runtime saved filter​

Full name: system.form.runtime.saved-filter.save

Save form runtime saved filter resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form runtime saved-filter save \
(--definition-json json|--definition-file path) [--json]

Parameters: none beyond common options such as --json.

46. Delete runtime saved filter​

Full name: system.form.runtime.saved-filter.delete

Delete form runtime saved filter resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form runtime saved-filter delete --filter-id <uuid> [--json]

Parameters: none beyond common options such as --json.

47. List runtime table views​

Full name: system.form.runtime.table-view.list

List form runtime table view records. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form runtime table-view list --form-id <uuid> [--json]

Parameters: none beyond common options such as --json.

48. Save runtime table view​

Full name: system.form.runtime.table-view.save

Save form runtime table view resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form runtime table-view save \
(--definition-json json|--definition-file path) [--json]

Parameters: none beyond common options such as --json.

49. Delete runtime table view​

Full name: system.form.runtime.table-view.delete

Delete form runtime table view resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form runtime table-view delete --view-id <uuid> [--json]

Parameters: none beyond common options such as --json.

50. List records​

Full name: system.form.record.list

List form record records. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form record list \
--form-api-name <apiName> [--keyword value] [--keywords-json json] \
[--search-field-api-name value] \
[--data-status draft|active|archived|trashed] \
[--approval-status none|pending|approved|rejected|returned|canceled] \
[--visibility-states-json json] [--condition-json json] \
[--sort-field-api-name value] [--sort-direction asc|desc] \
[--cursor value] [--limit n] [--include-detail] [--json]

Parameters: none beyond common options such as --json.

51. Retrieve record​

Full name: system.form.record.get

Retrieve form record resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form record get --record-id <uuid> [--json]

Parameters: none beyond common options such as --json.

52. Aggregate record​

Full name: system.form.record.aggregate

Aggregate form record resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form record aggregate \
(--definition-json json|--definition-file path) [--json]

Parameters: none beyond common options such as --json.

53. List record permission subjects​

Full name: system.form.record.permission-subject.list

List form record permission subject records. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form record permission-subject list \
--record-id <uuid> [--cursor value] [--limit n] [--json]

Parameters: none beyond common options such as --json.

54. Save a record with child tables​

Full name: system.form.record.save-with-child-tables

Save with child tables for form record. This tenant-scoped Runtime command validates its input against the registered command schema. The Runtime checks the corresponding button permission and runs configured before/after scripts, including each child-table write. A failed before script prevents the transaction. Inspect afterScript and childScripts: an after-script failure does not roll back committed data and must not trigger a repeat write. Delete through preset:detail.delete or preset:listBatch.delete; never set dataStatus to trashed in an update. Submit approval is determined by server configuration. · Risk: Write

sl system form record save-with-child-tables \
(--definition-json json|--definition-file path) [--json]

Parameters: none beyond common options such as --json.

55. Copy record​

Full name: system.form.record.copy

Copy form record resource. This tenant-scoped Runtime command validates its input against the registered command schema. The Runtime checks the corresponding button permission and runs configured before/after scripts, including each child-table write. A failed before script prevents the transaction. Inspect afterScript and childScripts: an after-script failure does not roll back committed data and must not trigger a repeat write. Delete through preset:detail.delete or preset:listBatch.delete; never set dataStatus to trashed in an update. Submit approval is determined by server configuration. · Risk: Write

sl system form record copy \
--record-id <uuid> [--title value] \
[--data-status draft|active|archived] [--exclude-child-tables] \
[--submit-approval] [--json]

Parameters: none beyond common options such as --json.

56. Create record batch​

Full name: system.form.record.batch.create

Create form record batch resource. This tenant-scoped Runtime command validates its input against the registered command schema. The Runtime checks the corresponding button permission and runs configured before/after scripts, including each child-table write. A failed before script prevents the transaction. Inspect afterScript and childScripts: an after-script failure does not roll back committed data and must not trigger a repeat write. Delete through preset:detail.delete or preset:listBatch.delete; never set dataStatus to trashed in an update. Submit approval is determined by server configuration. · Risk: Write

sl system form record batch create \
--form-api-name <apiName> --button-key preset:form.submit \
--records-json '[{"title":"title","data":{}}]' [--json]

Parameters: none beyond common options such as --json.

57. Create a record batch with child tables​

Full name: system.form.record.batch.create-with-child-tables

Create with child tables for form record batch. This tenant-scoped Runtime command validates its input against the registered command schema. The Runtime checks the corresponding button permission and runs configured before/after scripts, including each child-table write. A failed before script prevents the transaction. Inspect afterScript and childScripts: an after-script failure does not roll back committed data and must not trigger a repeat write. Delete through preset:detail.delete or preset:listBatch.delete; never set dataStatus to trashed in an update. Submit approval is determined by server configuration. · Risk: Write

sl system form record batch create-with-child-tables \
--form-api-name <apiName> --button-key preset:form.submit \
--records-json '[{"title":"title","data":{},"childTables":[{"childFormApiName":"order_items","records":[{"title":"item","data":{}}]}]}]' \
[--json]

Parameters: none beyond common options such as --json.

58. Update record batch​

Full name: system.form.record.batch.update

Update form record batch resource. This tenant-scoped Runtime command validates its input against the registered command schema. The Runtime checks the corresponding button permission and runs configured before/after scripts, including each child-table write. A failed before script prevents the transaction. Inspect afterScript and childScripts: an after-script failure does not roll back committed data and must not trigger a repeat write. Delete through preset:detail.delete or preset:listBatch.delete; never set dataStatus to trashed in an update. Submit approval is determined by server configuration. · Risk: Write

sl system form record batch update \
--form-api-name <apiName> --button-key preset:form.save \
--records-json '[{"recordId":"uuid","data":{}}]' [--json]

Parameters: none beyond common options such as --json.

59. Clean up record​

Full name: system.form.record.cleanup

Clean up form record resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form record cleanup \
--form-api-name <apiName> --mode restore|purge [--keyword value] \
[--keywords-json json] [--search-field-api-name value] \
[--visibility-states-json json] [--condition-json json] \
[--excluded-record-ids-json json] [--json]

Parameters: none beyond common options such as --json.

60. List buttons​

Full name: system.form.button.list

List configured actions only after read-only Runtime discovery resolves the authoritative form apiName and record id. Built-in organization-directory profiles use formApiName organization, department, or member and the selected PROFILE extension formRecordId; never invent a prefixed form name or use the directory entity id. · Risk: Read

sl system form button list \
--form-api-name <apiName> [--scope LIST|VIEW|NEW|EDIT] \
[--record-id <uuid>] [--json]

Parameters: none beyond common options such as --json.

61. Execute button​

Full name: system.form.button.execute

Execute one exact button returned by system.form.button.list for the same authoritative form apiName and record target. Organization-directory writes use formApiName organization, department, or member and the PROFILE extension formRecordId. Forward records to chat with preset:detail.forward (recordId) or preset:listBatch.forward (recordIds), and input {targetMemberIds, clientBatchId}. Resolve recipients using system.organization.structure.member.list; ambiguous names require clarification. The server generates record links and enforces button/read permissions. The Runtime checks the corresponding button permission and runs configured before/after scripts, including each child-table write. A failed before script prevents the transaction. Inspect afterScript and childScripts: an after-script failure does not roll back committed data and must not trigger a repeat write. Delete through preset:detail.delete or preset:listBatch.delete; never set dataStatus to trashed in an update. Submit approval is determined by server configuration. · Risk: Write

sl system form button execute \
--form-api-name <apiName> --button-key <preset:key|custom:id> \
[--payload-json '{"recordId":"uuid","draft":{"title":"title","data":{}},"input":{}}'] \
[--json]

Forward buttons: preset:detail.forward requires recordId; preset:listBatch.forward requires recordIds; input requires targetMemberIds (member UUIDs) and clientBatchId (retry UUID).

Parameters: none beyond common options such as --json.

62. Retrieve button design​

Full name: system.form.button.design.get

Retrieve form button design resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form button design get \
(--form-id <uuid>|--form-api-name value) [--json]

Parameters:

  • formId|formApiName(required)— Exactly one form target

63. Update button design​

Full name: system.form.button.design.update

Update form button design resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form button design update \
(--form-id <uuid>|--form-api-name value) --definition-json json \
[--json]

Parameters:

  • formId|formApiName(required)— Exactly one form target
  • formActionButtons(required)— Full replacement custom button array. Read it first with design.get
  • presetActionButtons(required)— Full replacement preset override array. Read it first with design.get

64. Create custom button design​

Full name: system.form.button.design.custom.create

Create form button design custom resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form button design custom create \
(--form-id <uuid>|--form-api-name value) --definition-json json \
[--json]

Parameters:

  • formId|formApiName(required)— Exactly one form target
  • label(required)— Button label
  • placement(required)— One supported button placement
  • buttonType(optional)— Defaults to task
  • action(optional)— Defaults to an unbound script action. An interaction button must provide a studioPage action with studioPageAssetId
  • scopes(optional)— Defaults to the scopes allowed by placement
  • order(optional)— Defaults to the next order in the placement
  • enabled(optional)— Defaults to true
  • displayMode(optional)— exposed or collapsed; defaults to exposed
  • variant(optional)— Optional visual variant
  • color(optional)— Optional button color

65. Update custom button design​

Full name: system.form.button.design.custom.update

Update form button design custom resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form button design custom update \
--button-id <uuid> (--form-id <uuid>|--form-api-name value) \
--definition-json json [--json]

Parameters:

  • formId|formApiName(required)— Exactly one form target
  • buttonId(required)— Existing custom button id
  • action(optional)— Complete replacement action when changing the action type

66. Delete custom button design​

Full name: system.form.button.design.custom.delete

Delete form button design custom resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form button design custom delete \
--button-id <uuid> (--form-id <uuid>|--form-api-name value) [--json]

Parameters:

  • formId|formApiName(required)— Exactly one form target
  • buttonId(required)— Existing custom button id

67. Retrieve button script binding​

Full name: system.form.button.script-binding.get

Retrieve form button script binding resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form button script-binding get \
--asset-id <uuid> (--form-id <uuid>|--form-api-name value) [--json]

Parameters:

  • studioAssetId(required)— Published Studio script asset UUID
  • formId|formApiName(required)— Form UUID or API name

68. Bind button script binding​

Full name: system.form.button.script-binding.bind

Bind form button script binding resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form button script-binding bind \
--asset-id <uuid> --file-path value \
(--form-id <uuid>|--form-api-name value) \
--button-key preset:key|custom:id \
--phase beforeClick|action|afterClick [--json]

Parameters:

  • studioAssetId(required)— Published Studio script asset UUID
  • studioFilePath(required)— Published Studio script file path
  • formId|formApiName(required)— Form UUID or API name
  • buttonKey(required)— preset:key or custom:id
  • phase(required)— beforeClick, action, or afterClick

69. Unbind button script binding​

Full name: system.form.button.script-binding.unbind

Unbind form button script binding resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Write

sl system form button script-binding unbind \
--asset-id <uuid> --file-path value \
(--form-id <uuid>|--form-api-name value) \
--button-key preset:key|custom:id \
--phase beforeClick|action|afterClick [--json]

Parameters:

  • studioAssetId(required)— Published Studio script asset UUID
  • studioFilePath(required)— Published Studio script file path
  • formId|formApiName(required)— Form UUID or API name
  • buttonKey(required)— preset:key or custom:id
  • phase(required)— beforeClick, action, or afterClick

70. Verify button script binding​

Full name: system.form.button.script-binding.verify

Verify form button script binding resource. This tenant-scoped Runtime command validates its input against the registered command schema. · Risk: Read

sl system form button script-binding verify \
--asset-id <uuid> --file-path value \
(--form-id <uuid>|--form-api-name value) \
--button-key preset:key|custom:id \
--phase beforeClick|action|afterClick [--json]

Parameters:

  • studioAssetId(required)— Published Studio script asset UUID
  • studioFilePath(required)— Published Studio script file path
  • formId|formApiName(required)— Form UUID or API name
  • buttonKey(required)— preset:key or custom:id
  • phase(required)— beforeClick, action, or afterClick

71. Batch import fields​

Full name: system.form.field.batch-import · Risk: Write

sl system form field batch-import --form-id <uuid> \
(--definition-json json|--definition-file path) [--json]

Definition JSON contains rows (1–200 rows). Each row requires name, apiName, type, required, readonly, disabled, hidden, and options. Use null for non-choice options, and an array of {label, value} for choice fields. Optional fieldId updates an existing field; otherwise, matching uses apiName and creates a field when no match exists. Relation fields accept targetFormId, which is required when creating a relation field.

Import supports basic fields, excluding computed fields such as dynamic formulas. Existing API names and types cannot be changed through import, default fields cannot be updated, and required fields cannot be disabled. Any row failure rolls back the entire batch. Returns createdCount and updatedCount.

fields.json:

{
"rows": [{
"name": "Job Title",
"apiName": "so_job_title",
"type": "autocomplete",
"required": false,
"readonly": false,
"disabled": false,
"hidden": false,
"options": [{ "label": "Designer", "value": "Designer" }]
}]
}

Use null options for non-choice fields. Autocomplete label and value must match. New search, multi_search, and foreign_key fields require targetFormId; omit it on updates to preserve the existing relation configuration. Inline JSON is also accepted with --definition-json.

72. Export fields​

Full name: system.form.field.export · Risk: Read

sl system form field export --form-id <uuid> [--json]

formId (required) is the form UUID. Export field-design data to inspect it or prepare a batch import; imports must still follow their supported field types and row format.