Skip to content

Commit e09a771

Browse files
committed
docs(spec): regenerate approval reference + note queue is unimplemented (#3508)
The approver `value` description no longer advertises queue; regenerate the generated reference page to match, and say plainly in the approvals guide that a queue approver parses but resolves to nobody. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GzRYYvxLHqzrqG2EceDKFm
1 parent 2bb2fe4 commit e09a771

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

content/docs/automation/approvals.mdx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,11 +207,14 @@ Only `approvers` is required on the node; everything else has a default
207207
(`behavior: 'first_response'`, `lockRecord: true`, `maxRevisions: 3`).
208208

209209
Approver entries resolve by kind — `position`, `user`, `field`, `manager`,
210-
`team`, `department`, `queue`, `org_membership_level`, and `expression`
210+
`team`, `department`, `org_membership_level`, and `expression`
211211
(described in the [callout above](#3-the-approval-node) and in
212212
[Dynamic approvers](#dynamic-approvers-3447)); `org_membership_level` is the
213213
one that silently resolves to nobody when it's mistaken for a business
214-
hierarchy. `field`, `manager`, and `expression` resolve against the record's
214+
hierarchy. `queue` still parses so stored flows keep loading, but it is **not
215+
implemented** by the runtime and is no longer offered for authoring (#3508) —
216+
a queue entry resolves to nobody. Route to a `team`, `department`, or
217+
`position` instead. `field`, `manager`, and `expression` resolve against the record's
215218
**live** state at node entry (#3447). An entry that resolves
216219
to nobody is not an error: the request opens with an empty `pending_approvers`
217220
and nothing can move it, so the run parks forever.

content/docs/references/automation/approval.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ const result = ApprovalDecision.parse(data);
5555
| Property | Type | Required | Description |
5656
| :--- | :--- | :--- | :--- |
5757
| **type** | `Enum<'user' \| 'org_membership_level' \| 'role' \| 'position' \| 'team' \| 'department' \| 'manager' \| 'field' \| 'queue' \| 'expression'>` || |
58-
| **value** | `string` | optional | User id / membership tier / position / team / department / field / queue — per `type`; for `expression`, a CEL expression over `current.*` / `trigger.*` / `vars.*` |
58+
| **value** | `string` | optional | User id / membership tier / position / team / department / field — per `type`; for `expression`, a CEL expression over `current.*` / `trigger.*` / `vars.*` |
5959
| **resolveAs** | `Enum<'user' \| 'department' \| 'position' \| 'team'>` | optional | How an `expression` result is expanded into approvers (default 'user') |
6060
| **group** | `string` | optional | Group label for per_group sign-off (e.g. "legal", "finance") |
6161

0 commit comments

Comments
 (0)