Admin Consent Assignment Workflow
A complex enterprise permission workflow for assigning app-level consent with clear states, validation, and reliable user feedback.
Context
Enterprise permission workflows are complex. Users need to understand what is assigned, what is pending, what failed, and how app-level assignments affect downstream behavior.
Problem
Permission assignment lacked clear states, validation feedback, and recovery paths. Users could not confidently operate complex consent changes.
Ownership
- Multi-step workflow UI with explicit states
- Permission matrix visualization
- API contract integration and validation
- Error recovery and rollback patterns
Architecture
Workflow progresses through app selection → scope selection → validation → review → submission → API → result state with audit event.
flowchart TD SelectApp[Select Application] --> SelectScope[Select Users / Groups] SelectScope --> Validate[Validate Assignment] Validate --> Review[Review Consent Changes] Review --> Submit[Submit Assignment] Submit --> API[Assignment API] API --> DB[(Assignment Store)] API --> Audit[Audit Event] API --> Result[Success / Failure State]
Key Technical Decisions
| Decision | Why | Trade-off | Result |
|---|---|---|---|
| Explicit workflow states | Make async processes understandable | More state modeling upfront | Better UI feedback and recovery paths |
| Review step before submission | Enterprise permissions are high-risk operations | Extra step in user flow | Safer operations with fewer accidental assignments |
| Permission matrix UI | Users need spatial understanding of assignments | Complex UI for large datasets | Clearer mental model for operators |
Implementation
- Modeled workflow as explicit state machine with typed transitions
- Built validation layer with field-level and cross-field rules
- Created review step with diff-style consent change summary
- Handled API error states with actionable recovery options
Results
- Made a complex enterprise workflow understandable and safer to operate
- Improved maintainability through reusable UI patterns
Reflection
- State machines made the hardest workflow testable and explainable.
- The review step prevented more issues than any visual polish.