| title |
Approval |
| description |
Approval protocol schemas |
{/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */}
Approval Step Approver Type
**Source:** `packages/spec/src/automation/approval.zod.ts`
import { ApprovalDecision, ApprovalEscalation, ApprovalNodeApprover, ApprovalNodeConfig, ApproverType } from '@objectstack/spec/automation';
import type { ApprovalDecision, ApprovalEscalation, ApprovalNodeApprover, ApprovalNodeConfig, ApproverType } from '@objectstack/spec/automation';
// Validate data
const result = ApprovalDecision.parse(data);
| Property |
Type |
Required |
Description |
| enabled |
boolean |
✅ |
Enable SLA-based escalation for this node |
| timeoutHours |
number |
✅ |
Hours before escalation triggers |
| action |
Enum<'reassign' | 'auto_approve' | 'auto_reject' | 'notify'> |
✅ |
Action on escalation timeout |
| escalateTo |
string |
optional |
User id or position machine name to escalate to |
| notifySubmitter |
boolean |
✅ |
Notify the original submitter on escalation |
| Property |
Type |
Required |
Description |
| type |
Enum<'user' | 'role' | 'position' | 'team' | 'department' | 'manager' | 'field' | 'queue'> |
✅ |
|
| value |
string |
optional |
User id / membership tier / position / team / department / field / queue — per type |
| Property |
Type |
Required |
Description |
| approvers |
{ type: Enum<'user' | 'role' | 'position' | 'team' | 'department' | 'manager' | 'field' | 'queue'>; value?: string }[] |
✅ |
Allowed approvers for this node |
| behavior |
Enum<'first_response' | 'unanimous'> |
✅ |
How to combine multiple approvers |
| lockRecord |
boolean |
✅ |
Lock the record from editing while pending |
| approvalStatusField |
string |
optional |
Business-object field to mirror request status onto |
| escalation |
{ enabled: boolean; timeoutHours: number; action: Enum<'reassign' | 'auto_approve' | 'auto_reject' | 'notify'>; escalateTo?: string; … } |
optional |
Per-node SLA escalation |
| maxRevisions |
integer |
✅ |
Max send-backs for revision before auto-reject (0 = send-back disabled) |
user
role
position
team
department
manager
field
queue