OA Approval System — User Manual #
Applicable version: SmartChart OA Module Last updated: 2026-04-26
1. System Overview #
The OA Approval System is a lightweight workflow approval tool for:
- Employees initiating approvals (leave, reimbursement, procurement, etc.)
- Auto-routing to designated approvers per predefined workflows
- Approvers processing online (approve, reject, transfer, etc.)
- Admin backend for workflow and organization management
The system supports multi-tenancy — different tenants (companies/departments) have fully isolated data.
2. Page Entry Points #
| Page | URL | Role |
|---|---|---|
| OA Workspace | /oa/ |
All employees |
| Flow Designer | /oa/designer/ |
System admin |
| Organization Management | /oa/org/ |
System admin |
3. Employee Guide #
3.1 Initiate Approval #
- Enter OA Workspace → click 「New Request」
- Select the workflow type (e.g., Leave Request, Expense Reimbursement)
- Fill in the form (different workflows have different fields)
- If the workflow supports self-selected approvers, choose them
- Click 「Submit」
3.2 Process Approvals (Pending) #
- OA Workspace → 「Pending Approvals」
- Click any task to view details (request content, workflow history, current node)
- Choose action:
- Approve: Agree, continue flow
- Reject: Reject, flow ends
- Transfer: Assign to another person
- Return: Send back to initiator or previous approver
- Countersign: Temporarily add other approvers
3.3 Withdraw Request #
If approval hasn’t started processing, find the request in 「My Requests」 → click 「Withdraw」.
3.4 View History #
- 「My Requests」: All requests you’ve initiated
- 「Processed by Me」: All approvals you’ve handled
- Filter by workflow type, status, date range
4. System Admin Guide #
4.1 Flow Designer #
The Flow Designer configures workflow routing rules.
4.1.1 Page Layout #
┌─────────────────────────────────────────────────────────┐
│ Toolbar: [New] [Save] [Publish] [New Version] [Export] [Import] │
├──────────────┬──────────────────────────────────────────┤
│ Node Panel │ Canvas │
│ ───────── │ [Drag nodes to canvas, connect with arrows] │
│ ▶ Start │ │
│ ▶ Approval │ │
│ ▶ Countersign│ │
│ ▶ Or-sign │ │
│ ▶ Condition │ │
│ ▶ Parallel │ │
│ ▶ Notify │ │
│ ▶ Delay │ │
│ ▶ Agent │ │
│ ▶ End │ │
└──────────────┴──────────────────────────────────────────┘
4.1.2 Design Steps #
Step 1: New Workflow — Click 「New」, enter name and description
Step 2: Configure Start Node — Drag Start node, add form fields (text, number, date, select, person picker, etc.)
Step 3: Add Approval Nodes — Drag Approval (single person) or Countersign (multi-person) node, configure approver source:
- Designated person: Fixed approver
- Self-selected by initiator: Initiator chooses at submission
- Form field: Read from form (e.g., “Department Manager” field)
Step 4: Condition Branches (optional) — Drag Condition Branch node, configure routing with variable syntax: v.amount > 10000
Step 5: Save & Publish — Save for draft, Publish for production
4.1.3 Node Types #
| Node Type | Description |
|---|---|
| Start | Entry point, defines the form |
| Approval | Single-person approval |
| Countersign | Multi-person sequential, all must approve |
| Or-sign | Multi-person, any one approval passes |
| Condition | Routes based on condition expression |
| Parallel | Multiple branches execute simultaneously |
| Notify | Sends in-app message |
| Delay | Pauses for specified duration |
| Script | Executes Python code |
| Agent | Calls SmartChart AI agent |
| Data Write | Writes form data to a table |
| Sub-flow | Triggers another workflow |
| End | Normal termination |
4.1.4 Copy Flow UUID #
The UUID is shown in the left panel’s “Flow Info” area. Click the copy icon.
UUID Usage: Required when initiating workflows via API.
4.2 Organization Management #
Entry: OA Workspace → top-right 「Org Management」 (or /oa/org/)
4.2.1 Tenant Management #
Tenants are the highest-level isolation unit (e.g., different subsidiaries). Only super admins can manage tenants.
4.2.2 Roles & Permissions #
| Role | Permission Code | Description |
|---|---|---|
| Org Manager | org_manage |
Manage org structure |
| Employee Manager | employee_manage |
CRUD employees |
| Task Manager | task_manage |
Process approval tasks |
4.2.3 Department Management #
Add/edit/delete departments, set parent departments (tree structure), search by name.
4.2.4 Position Management #
Add/edit/delete positions, assign role permissions to positions.
4.2.5 Employee Management #
Add/edit/delete employee accounts, set department, position, direct supervisor, concurrent departments, and roles.
Employee status: Active (ACTIVE) or inactive. Inactive employees cannot log in.
5. FAQ #
Q: Can’t find the workflow when initiating? A: Contact admin to confirm the workflow is published and you have the required role.
Q: Can’t see pending tasks? A: Check you’re in the correct tenant, or refresh the page.
Q: Can I modify a running workflow? A: No. Once started, the workflow definition cannot be changed. Terminate and re-initiate with a new version.
Q: What happens to an inactive employee’s requests? A: Existing requests continue normally. The employee account is marked inactive and cannot log in.
Q: How to initiate via API?
A: Use POST /oa/instance/start/ with a valid session/token.
6. Glossary #
| Term | Description |
|---|---|
| Flow Definition (FlowInfo) | The workflow template/configuration |
| Flow Instance (FlowInstance) | A specific request from start to end |
| Flow Task (FlowTask) | A todo item at each workflow node |
| Tenant | Data isolation unit (company/department) |
| Variable | Dynamic data in workflow for condition evaluation |
| Countersign | All must approve |
| Or-sign | Any one approval suffices |
| Transfer | Assign task to another person |
| Return | Send flow back to a previous node |