Skip to content

Latest commit

 

History

History
94 lines (61 loc) · 2.72 KB

File metadata and controls

94 lines (61 loc) · 2.72 KB
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`

TypeScript Usage

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);

ApprovalDecision

Allowed Values

  • approve
  • reject

ApprovalEscalation

Properties

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

ApprovalNodeApprover

Properties

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

ApprovalNodeConfig

Properties

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)

ApproverType

Allowed Values

  • user
  • role
  • position
  • team
  • department
  • manager
  • field
  • queue