Bỏ qua, đến nội dung

Ví dụ sử dụng - Approval Process

Ví dụ 1: Duyệt đơn mua hàng theo giá trị

Quy trình phê duyệt nhiều cấp tùy theo giá trị đơn hàng: dưới 10 triệu tự động duyệt, trên 10 triệu cần Manager, trên 100 triệu cần Director.

Cấu hình node Approval (trên 100M):

  • assignees: ["manager_role", "director_role"]
  • mode: all
  • timeout: 172800000 (48 giờ)
  • onTimeout: escalate
  • escalateTo: ["ceo"]

Đơn trên 100 triệu cần cả Manager và Director đồng ý. Nếu quá 48 giờ không phản hồi, tự động escalate lên CEO.

Ví dụ 2: Duyệt nghỉ phép

Trưởng phòng duyệt đơn nghỉ phép, HR xác nhận, rồi thông báo kết quả cho nhân viên.

Cấu hình Approval Bước 1:

  • assignees: lấy từ biến record.department.managerId
  • mode: any
  • form: { "fields": [{ "name": "comment", "type": "textarea" }] }

Cấu hình Approval Bước 2:

  • assignees: ["hr_role"]
  • mode: any

Quy trình hai bước nối tiếp nhau. Nếu bước 1 bị reject, workflow không đi đến bước 2 mà thông báo từ chối ngay.

Ví dụ 3: Duyệt nội dung xuất bản

Quy trình duyệt bài viết với threshold 60%: cần ít nhất 3/5 editor đồng ý trước khi publish.

Cấu hình node Approval:

  • assignees: ["editor1", "editor2", "editor3", "editor4", "editor5"]
  • mode: percentage
  • threshold: 60
  • timeout: 86400000 (24 giờ)
  • onTimeout: reject

Khi 3/5 editor approve (đạt 60%), bài viết tự động được publish. Nếu quá 24 giờ mà chưa đủ threshold, bài bị trả lại để chỉnh sửa.