Document Approval Workflow
Human ↔ HumanMulti-level document approval with manager, legal, and executive sign-off plus revision loops.
5 nodes · 6 edgesenterprise
humansystem
Visual
Author Submits Documenthuman
Author uploads final draft and requests approval.
↓sequential→ Manager Approval
Manager Approvalhuman
Direct manager reviews and approves or requests changes.
↓sequential→ Legal Review
↓conditional→ Author Submits Document
Legal Reviewhuman
Legal team reviews for compliance and liability concerns.
↓sequential→ CEO Sign-Off
↓conditional→ Author Submits Document
CEO Sign-Offhuman
CEO provides final executive approval.
↓sequential→ Archive & Notify
Archive & Notifysystem
System archives the approved document and notifies all stakeholders.
uc-document-approval.osop.yaml
osop_version: "1.0"
id: "document-approval"
name: "Document Approval Workflow"
description: "Multi-level document approval with manager, legal, and executive sign-off plus revision loops."
nodes:
- id: "author_submit"
type: "human"
subtype: "input"
name: "Author Submits Document"
description: "Author uploads final draft and requests approval."
- id: "manager_approval"
type: "human"
subtype: "review"
name: "Manager Approval"
description: "Direct manager reviews and approves or requests changes."
timeout: "48h"
- id: "legal_review"
type: "human"
subtype: "review"
name: "Legal Review"
description: "Legal team reviews for compliance and liability concerns."
timeout: "72h"
- id: "ceo_signoff"
type: "human"
subtype: "review"
name: "CEO Sign-Off"
description: "CEO provides final executive approval."
- id: "archive_notify"
type: "system"
subtype: "action"
name: "Archive & Notify"
description: "System archives the approved document and notifies all stakeholders."
edges:
- from: "author_submit"
to: "manager_approval"
mode: "sequential"
- from: "manager_approval"
to: "legal_review"
mode: "sequential"
- from: "legal_review"
to: "ceo_signoff"
mode: "sequential"
- from: "ceo_signoff"
to: "archive_notify"
mode: "sequential"
- from: "manager_approval"
to: "author_submit"
mode: "conditional"
when: "status == 'revision_requested'"
label: "Revision requested"
- from: "legal_review"
to: "author_submit"
mode: "conditional"
when: "status == 'revision_requested'"
label: "Legal revision needed"