Approval workflows pause automation until a designated user approves or rejects a change — common for discounts, expenses, leave requests, and capital spend.
Please note:
- Approvers need both module access and permission to act on the target resource — confirm roles in Roles, permissions, and RBAC and the Roles in Settings UI.
- Timeouts and escalations send alerts through the channels described in Notifications overview.
- Build the trigger and conditions first in Build your first workflow before adding approval steps.
Approval step options
| Setting | Effect | Recommendation |
|---|---|---|
| Approver | User or role that must act | Use role for coverage when people are out |
| Required fields | Block submit until complete | Enforce before approval starts |
| Timeout | Escalate or auto-reject | Set for SLA-driven processes |
| Reject action | Return to draft or previous stage | Document for submitters |
| Notify | Alert approver in-app and email | Enable for time-sensitive items |
Keep approval chains short — more than three hops slows operations and hides bottlenecks.
Build an approval workflow
- Open Workflows and create or edit a workflow
- Set the trigger (for example expense submitted, deal discount above threshold)
- Add an Approval action and pick approver type (user, role, manager)
- Branch on approve vs reject with follow-up actions (update status, notify submitter)
- Activate and test with a non-production record
Approvers need both module access and permission to act on the target resource.
Audit and visibility
Approved and rejected decisions log on the record timeline. Reporting can filter by pending approval age when Use Eye activity or custom dashboards are configured.
flowchart TB
Submit[Record submitted] --> Check{Meets approval criteria?}
Check -->|No| Auto[Auto-process or skip]
Check -->|Yes| Pending[Pending approval]
Pending --> Decision{Approver decision}
Decision -->|Approve| Approved[Apply approved actions]
Decision -->|Reject| Rejected[Notify and revert status]
Approved --> Done[Complete]
Rejected --> Done
Document escalation paths in your internal runbook so substitutes know whom to contact when approvers are unavailable.