
Most companies want structure, but few want rigidity. When I started designing a workflow engine flexible enough to support assessments, issues, action plans, exceptions, vendor reviews, and policy changes, I realized one unavoidable truth: every business wants the freedom to configure a process their way, but they also need enough guardrails to keep approvals consistent and auditable. That tension-flexibility vs. structure, is exactly what a Unified Workflow System must solve.
The challenge isn’t “how do you build an approval flow?” Anyone can hard-code a few phases. The real challenge is how to design a single universal model that works for every use case without building a different workflow engine for each record type. After going through dozens of iterations, I learned that the key is treating phases as objects, not features. Everything becomes a configurable building block. Your workflow template becomes a container of phases; each phase holds participants, rules, editing permissions, send-back logic, and dependencies. Once I embraced that composable approach, the system suddenly became scalable and predictable.
The thesis is simple: every process-no matter how messy or unique – can be expressed using a common phase structure. You don’t need issue-specific logic or assessment-specific approval steps. What you need is a well-defined, universal phase model that supports (1) sequencing, (2) role-based participation, (3) editing rules, (4) approval enforcement, (5) return-to-phase logic, and (6) dependencies such as “all requirements must be completed before moving forward.” This post outlines that unified model and shows how it forms the backbone of a modern, configurable GRC workflow engine.
The Unified Workflow Model
Below is the core model that applies to any Record or Requirement-aware process. It is phase-driven, template-based, and modular.
1. Phase Definition
Each phase is a standalone element with its own rules:
- Name – the label displayed in workflow UI
- Participants – owners, contributors, reviewers, approvers, SMEs, etc.
- Enforcement – one must approve vs. all must approve
- Editing Rights – full edit, partial edit, comment-only, or read-only
- Approval Rules – require comments on rejection, optional on approval
- Backward Movement Options – which previous phase(s) can be returned to
- Completion Requirements – e.g., “all requirements must be completed”
- Visibility Rules – who can see what during the phase
- Delegation – allow participants to hand off responsibility
- Due Dates – optional deadlines or SLA windows
- Version Locking – freeze certain fields during the phase
This one definition powers every step in the system.
2. Workflow Template
A workflow template is simply an ordered list of phases:
- Owner Review
- Contributor Review
- Validation
- Pre-Approver Review
- Approver Review
- Final Sign-Off
Administrators can remove phases, rearrange them, or create new ones from the same universal phase class.
3. Stateful Workflow Execution
Once a workflow starts:
- The object becomes inactive or locked (depending on rules)
- Each phase controls what users can do with the record
- Approvals or disapprovals trigger transitions
- Automatic movement to the next phase happens on completion
- Rejections or send-backs re-open earlier phases
- Logs capture actions at both phase and participant levels
The power comes from not hard-coding logic. The engine reads the template, evaluates each phase’s settings, and moves the object accordingly.
4. Dependencies and Record-Requirement Relationship
Some workflows must coordinate with sub-objects (like action plans or requirements). For example:
- An Issue cannot be approved while any Action Plans are still open.
- A Control Exception cannot finalize while mitigating tasks are pending.
The unified model includes:
- Phase-level dependency flags, such as
“Do not allow completion until all requirements are resolved.” - Return rules, such as
“If new requirements are added, return object to Phase X.”
This keeps the entire flow stable even when complexity grows.
Unified Workflow Matrix
Below is a matrix summarizing how each component behaves and what the administrator controls.
| Element | Description | Administrator Configurable? |
|---|---|---|
| Phase Name | Human-readable label | ✓ |
| Participants | Who performs the actions | ✓ |
| Enforcement | One or all must approve | ✓ |
| Editing Rights | Full/partial/comment/read-only | ✓ |
| Approval Rules | Require comments, etc. | ✓ |
| Send-Back Options | Which phase(s) to return to | ✓ |
| Dependencies | Requirement completion, etc. | ✓ |
| Delegation | Can users hand off tasks | ✓ |
| Due Dates | Per phase SLA | ✓ |
| Visibility Rules | Field/section access | ✓ |
| Version Locking | Freeze data or allow edits | ✓ |
| Logs | System-generated audit trail | System-controlled |
This matrix becomes the contract between workflow designers and workflow execution.
Conclusion
A unified workflow system isn’t just about approvals – it’s about establishing a common language for how work moves across the organization. When every process uses the same phase model, you eliminate guesswork, reduce maintenance, and allow each team to design the flow they need without engineering intervention. The system becomes predictable for developers and adaptable for users – exactly the balance modern GRC programs require.
The final benefit is longevity. When processes inevitably change, the workflow engine doesn’t need to be rewritten. You evolve templates, add or remove phases, adjust enforcement rules, and move on. The underlying structure stays the same, and your entire platform grows with it. That is the value of a true Unified Workflow System – and why every scalable GRC solution needs one.
Leave a Reply