Skip to content

Process

A Process is a named, repeatable piece of business work, owned by a Team and run by one or more Workflows.

Read as
GuideSpec

Each run ends in Evidence and a Decision: ship, kill, or iterate.

Properties

PropertyTypeRequiredDescription
namestringrequiredThe name in sentence case, such as Month-end close.
statusstringWhether the Process starts new Actions in this Startup: off, on, or paused.
saystext[]What a founder says to run, turn on, or ask about it.
settingsjsonThe Settings it reads: key, type, default, the founder’s sentence and the Verb that sets each.
defaultOnstring[]The Product Templates it is on in by default.
wakesjsonThe Events that wake it in the Startup’s own records.
inputsstring[]The Nouns an Action reads at its start.
outputsstring[]The Nouns a finished Action leaves behind, rolled up from its Workflows.
outcometextWhat a finished Action leaves true, in one sentence.
serviceLeveljsonIts target duration, clock, escalation Role, and the waits that stop the clock.
scopestringWhere it runs: startup, studio, or any.

Object

JSON
{
  "$id": "https://api.sb/ledgerlark.com/processes/process_1",
  "$type": "Process",
  "name": "LedgerLark",
  "status": "off",
  "says": [
    "Retry failed payments"
  ],
  "settings": {},
  "defaultOn": [
    "saas"
  ],
  "wakes": {},
  "inputs": [
    "invoice"
  ],
  "outputs": [
    "transaction"
  ],
  "outcome": "Each Invoice ends paid, refunded, or written off.",
  "serviceLevel": {},
  "scope": "startup"
}

Relationships

  • A Process carries out one Play: a Process runs the steps of a Play each time the Startup runs it. carriesOut, inverse carriedOutBy.
  • A Process uses many Workflows: a Process does its work through Workflows, each the durable, executable part of the Process. uses, inverse usedIn.

Lifecycle

Process lifecycle: off, on, pausedoff → on: Process.enableon → paused: Process.pausepaused → on: Process.enableoffonpaused
StateMeaningMoves to
off (first)The Process starts no Actions; its Product Template does not turn it on.on by Process.enable
onIts Workflows start on their Triggers.paused by Process.pause
pausedIt starts no new Actions; Actions already in progress finish.on by Process.enable

Verbs

  1. createCreates a Process.
    POST /{namespace}/processesdoProcess.created
  2. getReturns one Process by id.
    GET /{namespace}/processes/{id}readNo Event
  3. listReturns Processes, newest first, one page at a time.
    GET /{namespace}/processesreadNo Event
  4. updateChanges the given properties of a Process.
    PATCH /{namespace}/processes/{id}doProcess.updated
  5. deleteDeletes a Process; its history is kept.
    DELETE /{namespace}/processes/{id}doProcess.deleted
  6. enableEnable turns a Process on for a Startup, so its Workflows start on their Triggers.
    POST /{namespace}/processes/{process}/enabledoProcess.enabled
  7. pausePause stops a Process from starting new Actions; Actions already in progress finish.
    POST /{namespace}/processes/{process}/pausedoProcess.paused

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
Process.createYesYesYesNo
Process.getYesYesYesYes
Process.listYesYesYesYes
Process.updateYesYesYesNo
Process.deleteYesYesYesNo
Process.enableYesYesYesNo
Process.pauseYesYesYesNo

Call it

Text
Enable the latest process.

Example

Billing is a Process owned by the Finance Team. The Dunning and monthly close Workflows run it, and its loop measures revenue recovered within 30 days of a failed charge.