Core Positioning

BPM Workflow is the enterprise’s “approval hub” — leave requests, reimbursements, procurement, contracts, seal usage… almost any scenario requiring “multi-level approval” can be modeled and processed here. Based on the Flowable engine, it provides DingTalk/Feishu-style and BPMN dual designers, allowing non-technical personnel to design processes as well.

In one sentence: Say goodbye to WeChat approvals, email approvals, and paper approvals — turn approval processes into structured, traceable systems.


Problems Solved

Pain PointHow BPM Solves It
Approval processes rely on verbal/WeChat communication, no recordsAll approvals leave traces, every step is traceable
Approval rules rely on human memory, prone to omissionsProcess templates solidify rules, auto-route to correct approvers
Cross-department approval communication costs are highAuto-routing, no manual notifications needed
Overdue approvals with no follow-upAuto-reminders for overdue items, supports auto-approval/skip
Organizational changes cause approver changesApprovers dynamically calculated by role/department, not hardcoded to specific people

User Roles

graph LR subgraph Roles ADMIN["Process Administrator
Design process templates
Deploy and publish processes"] APPLICANT["Initiator
Submit applications
View approval progress
Cancel applications"] APPROVER["Approver
Approve/Reject/Transfer/Add-sign
View pending/completed tasks"] COPYER["CC Recipient
Receive approval result notifications
No action required"] end

Feature Collaboration Flow

sequenceDiagram participant A as Initiator participant F as Process Engine participant P1 as Approver 1 (Dept Manager) participant P2 as Approver 2 (Finance Manager) participant B as Business System (e.g. ERP) A->>F: Initiate Process (e.g. Purchase Request) F->>B: Link Business Data (Purchase Order ID) F->>P1: Push Pending Task P1->>F: Approve F->>P2: Push Pending Task P2->>F: Approve F->>B: Callback: Process Complete, Update Business Status F->>A: Notification: Application Approved Note over F: If any approver rejects
process returns to initiator

Dual Designer Comparison

graph TB subgraph SIMPLE["SIMPLE Designer (DingTalk/Feishu Style)"] S1["Drag-and-drop operation"] S2["Suitable for simple approval chains"] S3["Low learning curve"] S4["Usable by non-technical staff"] end subgraph BPMN["BPMN Designer"] B1["Standard BPMN 2.0"] B2["Supports complex branches/parallel flows"] B3["Requires some learning"] B4["For technical staff"] end SIMPLE -.->|Complex scenarios can upgrade to| BPMN
FeatureSIMPLE DesignerBPMN Designer
Learning Curve⭐ Very Low⭐⭐⭐ Medium
Target UsersBusiness staff, HR, AdminDevelopers, Process Experts
Supported NodesApproval, CC, Conditional BranchAll BPMN 2.0 Nodes
Parallel Branch
Inclusive Branch
Sub-process

Full Approval Operations

graph TB AN["Approval Node"] -->|Approve| NN["Next Node"] AN["Approval Node"] -->|Reject| Return_Node["Return to specified node
or return to initiator"] AN["Approval Node"] -->|Transfer| Transferee["Transfer to another person
no longer involved"] AN["Approval Node"] -->|Delegate| Delegatee["Delegate to another person
returns to self after processing"] AN["Approval Node"] -->|Add-sign| Additional_Approver["Add approver
countersign/or-sign"] AN["Approval Node"] -->|Remove-sign| Remove_Approver["Reduce approvers"] AN["Approval Node"] -->|Terminate| End_Node["Process ends directly
(special permission)"]

Process Control Capabilities

Control TypeDescriptionTypical Scenario
Conditional BranchRoute to different approval paths based on form dataAmount < 5000 skips CEO approval
Parallel BranchMultiple people approve simultaneously, proceed only when all approveMulti-department parallel countersign
Inclusive BranchMultiple people approve simultaneously, proceed when any approvesOr-sign scenario
Trigger NodeAuto-execute service tasksAuto-create ERP document after approval
Delay NodeWait specified time before continuingRemind 7 days before contract expiration
Timeout ApprovalAuto-process on timeoutAuto-approve/reject if not processed within 48 hours
Auto ReminderScheduled reminder for pending tasksPush pending task summary every morning at 9

Integration with Business Systems

graph TB BPM["BPM Process Engine"] subgraph Integration Scenarios ERP_APPROVAL["ERP Purchase Approval
Purchase Order → BPM Approval → Auto Inbound"] CRM_APPROVAL["CRM Contract Approval
Contract Draft → BPM Approval → Contract Effective"] OA_APPROVAL["OA General Approval
Leave/Reimbursement/Seal Usage/Out of Office"] end BPM --> ERP_APPROVAL BPM --> CRM_APPROVAL BPM --> OA_APPROVAL

Integration Method: Business modules initiate processes, query approval status, and handle approval callbacks through APIs provided by BPM, without needing to concern themselves with Flowable’s underlying details.

docs