name: project_approval
label: "High Budget Project Approval"
type: approval
object: projects
description: "Approval process for high budget projects (> $50,000)"

trigger:
  event: create_or_update
  conditions:
    - field: budget
      operator: ">"
      value: 50000
    - field: status
      operator: "="
      value: "planned"

steps:
  - name: manager_review
    label: "Manager Review"
    type: approval
    
    assignee:
      type: role
      role: manager
    
    actions:
      approve:
        label: "Approve"
        next_step: finance_review
      reject:
        label: "Reject"
        outcome: rejected

  - name: finance_review
    label: "Finance Review"
    type: approval
    
    assignee:
      type: role
      role: finance_admin
    
    actions:
      approve:
        label: "Approve Funding"
        outcome: approved
        updates:
           status: "in_progress"
           approved_at: "$now"
      reject: 
        label: "Reject Funding"
        outcome: rejected
