Approval Workflow
This guide explains how approval workflows operate from a user perspective, including the approval banner interface, available actions, and the complete lifecycle of approval requests.
Overview
When an approval policy is triggered, users interact with the approval system through an integrated banner that appears on the relevant document form. This banner provides real-time status information and action buttons for authorized users.
The workflow supports multiple user roles:
- Document Owner/Requestor: The user who created or updated the document requiring approval
- Approvers: Users assigned to review and approve/reject the request
- Approval Admins: Users with administrative access to manage and monitor approvals
Approval Banner Interface
Banner Appearance
The approval banner appears at the top of document forms when a pending approval exists:
Hard Lock Banner
⚠️ Approval pending. This record is read-only until a decision is made.
Status: Pending • 1 / 2
Pending: john.doe@company.com (due: 2024-01-15 17:00), jane.smith@company.com (due: 2024-01-15 17:00)
[Approve] [Reject]
Advisory Banner (for Non-Approvers)
ℹ️ Approval pending.
Status: Pending • 0 / 1
Pending: manager@company.com (due: 2024-01-15 17:00)
[Recall]
Banner Components
| Component | Description |
|---|---|
| Lock Message | Indicates whether the document is locked for editing |
| Status Progress | Shows current approval state and progress (approved/required) |
| Pending List | Lists approvers with due dates |
| Action Buttons | Available actions based on user permissions |
Action Button Visibility
Action buttons are conditionally displayed based on user permissions:
For Assigned Approvers
- Approve: Grant approval for the request
- Reject: Deny the approval request
For Approval Request Users
- Recall: Cancel the approval request
User Actions
Approve Request
Availability: Assigned approvers only
Requirement: User must have a pending approval request
Process
- Click Approve button in the approval banner
- Optional: Enter a comment in the approval dialog
- Click Approve to confirm in the pop-up dialog
Result
- Request status changes to "Approved"
- Approval counts are updated
- If approval threshold is met, overall status becomes "Approved"
- Document lock is released (if applicable)
- Post-decision effects are executed
- Notifications are sent to relevant parties
Reject Request
Availability: Assigned approvers only
Requirement: User must have a pending approval request
Process
- Click Reject button in the approval banner
- Required: Enter a rejection reason in the dialog
- Click Reject to confirm in the pop-up dialog
Result
- Request status changes to "Rejected"
- Overall approval status immediately becomes "Rejected"
- Document lock is released
- All other pending requests are expired
- Post-decision effects are executed
- Notifications are sent to relevant parties
Recall Approval
Availability: Approval requestor Requirement: Approval must be in "Pending" status
Process
- Click Recall button in the approval banner
- Confirm the recall action in the confirmation dialog
Result
- Overall approval status changes to "Cancelled"
- All pending requests are marked as "Expired"
- Document lock is released immediately
- Notifications are sent to pending approvers
- No post-decision effects are executed
Accessing Full Approval Details
To view complete approval information, users can:
- Navigate directly to the System Approval list
- Use the search function to find specific approvals by document reference
- Access through the Develop workspace under the Approval section
- If section is not visible, ensure user has
Approval UserorApproval Adminrole
- If section is not visible, ensure user has
Document Lock Behavior
Hard Lock
When hard lock is enabled:
- Form becomes read-only: All input fields are disabled
- Save is blocked: Server-side validation prevents document modifications
- Explicit field locking: All fields are individually set to read-only
- Comments remain active: Users can still add comments for communication
- Banner indicator: Shows lock status clearly to users
Advisory Mode
When lock behavior is set to "None":
- Form remains editable: Users can continue modifying the document
- Save is allowed: No server-side restrictions on document updates
- Approval continues: Modifications don't affect the approval workflow
- Banner notification: Users are informed that approval is pending
Workflow States and Transitions
System Approval States
| State | Description | Available Actions |
|---|---|---|
| Pending | Approval is in progress | Approve, Reject, Recall |
| Approved | Required approvals received | None (view only) |
| Rejected | At least one rejection received | None (view only) |
| Cancelled | Recalled by requestor | None (view only) |
| Expired | Auto-expired by system settings change | None (view only) |
Approval Request States
| State | Description | Trigger |
|---|---|---|
| Pending | Awaiting approver action | Initial state |
| Approved | Approved by assigned user | User clicks Approve |
| Rejected | Rejected by assigned user | User clicks Reject |
| Expired | Automatically expired | System conditions or escalation |
Escalation and Reminders
Automatic Reminders
If configured in the approval policy:
- Reminder Schedule: Sent based on "Reminder Every Hours" setting
- Content: Includes approval details and due date information
- Recipients: Pending approvers only
- Channels: Email, SMS, and/or Slack based on policy configuration
Escalation Process
When escalation is triggered:
- Original Request Expires: Marked as "Expired" and "Is Escalated"
- New Requests Created: For escalation targets (users or role members)
- Notifications Sent: Escalated approvers receive urgent notifications
- Approval Continues: Normal workflow with new approvers
Due Date Management
- Due Date Calculation: Based on "Due In Hours" from approval creation
- Overdue Indication: Requests past due date are highlighted in the banner
- Escalation Trigger: Automatic escalation occurs after "Escalate After Hours"
Communication and Information Requests
Communication between approvers and requestor should utilize comments on the document:
Using Comments for Communication
- @mentions: Approvers can use @username in comments to notify specific users
- System Notifications: @mentions automatically create system notifications
- Email Integration: Comments can trigger email notifications if configured
- Real-time Updates: Comments appear immediately on the document
Best Practices for Approval Admins
- Regular Monitoring: Check for overdue or escalated approvals
- User Training: Ensure all users understand the simplified approval process
- Policy Maintenance: Review and update policies based on usage patterns
- Performance Monitoring: Watch for bottlenecks in approval workflows
Troubleshooting Common Issues
Banner Not Appearing
- Check if Approval Settings is enabled
- Verify DocType is whitelisted in Approval Settings
- Confirm active approval policy exists for the DocType and event
- Refresh the page to reload approval status
Actions Not Working
- Verify user has appropriate role permissions
- Check if user is assigned to pending approval request
- Ensure approval is still in "Pending" status
- Contact administrator if permissions issues persist
Lock Behavior Issues
- Hard lock is enforced server-side regardless of client behavior
- Cache refresh may be needed after approval completion
- Contact administrator if locks persist after approval completion
Communication Challenges
- Use @mentions in comments for direct notification
- Ensure users have proper notification settings configured
- Consider using external communication channels for urgent matters
- Train users on effective comment-based communication patterns