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
| Property | Type | Required | Description |
|---|---|---|---|
name | string | required | The name in sentence case, such as Month-end close. |
status | string | Whether the Process starts new Actions in this Startup: off, on, or paused. | |
says | text[] | What a founder says to run, turn on, or ask about it. | |
settings | json | The Settings it reads: key, type, default, the founder’s sentence and the Verb that sets each. | |
defaultOn | string[] | The Product Templates it is on in by default. | |
wakes | json | The Events that wake it in the Startup’s own records. | |
inputs | string[] | The Nouns an Action reads at its start. | |
outputs | string[] | The Nouns a finished Action leaves behind, rolled up from its Workflows. | |
outcome | text | What a finished Action leaves true, in one sentence. | |
serviceLevel | json | Its target duration, clock, escalation Role, and the waits that stop the clock. | |
scope | string | Where it runs: startup, studio, or any. |
Object
{
"$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, inversecarriedOutBy. - A Process uses many Workflows: a Process does its work through Workflows, each the durable, executable part of the Process.
uses, inverseusedIn.
Lifecycle
| State | Meaning | Moves to |
|---|---|---|
off (first) | The Process starts no Actions; its Product Template does not turn it on. | on by Process.enable |
on | Its Workflows start on their Triggers. | paused by Process.pause |
paused | It starts no new Actions; Actions already in progress finish. | on by Process.enable |
Verbs
createCreates a Process.POST /{namespace}/processesgetReturns one Process by id.GET /{namespace}/processes/{id}listReturns Processes, newest first, one page at a time.GET /{namespace}/processesupdateChanges the given properties of a Process.PATCH /{namespace}/processes/{id}deleteDeletes a Process; its history is kept.DELETE /{namespace}/processes/{id}enableEnable turns a Process on for a Startup, so its Workflows start on their Triggers.POST /{namespace}/processes/{process}/enablepausePause stops a Process from starting new Actions; Actions already in progress finish.POST /{namespace}/processes/{process}/pause
Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.
| Operation | owner | admin | member | viewer |
|---|---|---|---|---|
Process.create | Yes | Yes | Yes | No |
Process.get | Yes | Yes | Yes | Yes |
Process.list | Yes | Yes | Yes | Yes |
Process.update | Yes | Yes | Yes | No |
Process.delete | Yes | Yes | Yes | No |
Process.enable | Yes | Yes | Yes | No |
Process.pause | Yes | Yes | Yes | No |
Call it
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.