Default Statuses
Penbox provides four default statuses that serve as the foundation for all case workflows:Draft
Case is being prepared, not yet activeCommon uses: Initial setup, gathering preliminary info, preparing case before activation
Pending
Case is waiting to be started or for an external triggerCommon uses: Awaiting documents, awaiting customer action, scheduled to start later
In Progress
Case is actively being worked onCommon uses: Data collection, verification, processing, review
Closed
Case is completeCommon uses: Approved, completed, rejected, cancelled
Status Hierarchy
Cases use a hierarchical status system where custom statuses are grouped under the four default parent statuses.Why Hierarchical?
This system provides:- Flexibility: Create specific statuses for your workflow
- Consistency: All statuses map to standard states
- Filtering: Filter by parent status to see all “in progress” cases
- Reporting: Group by parent status for high-level metrics
Example Hierarchy
Custom Statuses
Case Templates can define custom statuses specific to their workflow.Creating Custom Statuses
Each custom status is defined with:Status Properties
Key (required)- Unique identifier for the status
- Format: lowercase letters, numbers, underscores
- Max 120 characters
- Example:
awaiting_documents,compliance_review,final_approval
- Display name shown to users
- Can contain any characters
- Should be clear and action-oriented
- Example: “Awaiting Documents”, “Compliance Review”, “Final Approval”
- Must be one of:
draft,pending,in_progress,closed - Groups custom statuses under main categories
- Determines case lifecycle stage
- Defines conditions for automatic status changes
- Object containing:
- watch (optional): Array of data keys to monitor for changes (format:
data.*) - condition (required if auto_transition_when is set): JSON expression that evaluates to true to trigger transition
- execute_once (optional): Boolean - if true, transition only happens once even if condition remains true
- watch (optional): Array of data keys to monitor for changes (format:
Status Design Guidelines
Use action-oriented names
Use action-oriented names
Status names should indicate what’s happening or what’s needed.Good: “Awaiting Customer Response”, “Under Review”, “Ready for Approval”Avoid: “Status 1”, “Phase 2”, “Step A”
Keep parent status logical
Keep parent status logical
Choose parent statuses that match the actual case state.
- Use
pendingwhen waiting for something external - Use
in_progresswhen team is actively working - Use
closedonly for final terminal states
Don't create too many statuses
Don't create too many statuses
Each status should represent a meaningful stage in your process.Recommended: 5-10 custom statuses per templateToo many: Every small action gets its own statusToo few: Hard to track progress
Make statuses sequential when possible
Make statuses sequential when possible
If your workflow has clear stages, make statuses follow that sequence.Example: Onboarding → Verification → Review → Approval → Closed
Status Transitions
Cases move through statuses either manually or automatically.Manual Status Changes
Team members can change status:- Select new status from dropdown
- Status updates immediately
- Change is logged in timeline
- Can trigger automations
Automatic Status Transitions
Statuses can change automatically based on conditions:- All required fields filled
- Documents uploaded
- Forms completed
- External data received
- Time elapsed
Status Change Events
When a status changes:- Case status is updated
- Timeline event is created
- Parent status is updated
- Automations may be triggered
- Team notifications may be sent
- “Waiting For” status may change