10 min read • Guide 154 of 877
Setting Up Approval Workflows for Tasks
Approval workflows ensure work receives proper review before moving forward. Whether you need manager sign-off on estimates, client approval on deliverables, or technical review before deployment, structured approval processes prevent unauthorized work from progressing. GitScrum's flexible workflow enables approval gates at any stage.
Approval Workflow Fundamentals
Designing Approval Stages
APPROVAL PATTERNS:
┌─────────────────────────────────────────────────────────────┐
│ UNDERSTANDING APPROVAL WORKFLOWS │
├─────────────────────────────────────────────────────────────┤
│ │
│ SINGLE APPROVAL: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ ││
│ │ ┌────────┐ ┌──────────┐ ┌────────┐ ┌──────┐ ││
│ │ │ Ready │→ │ Approval │→ │ Work │→ │ Done │ ││
│ │ └────────┘ └──────────┘ └────────┘ └──────┘ ││
│ │ ↑ ││
│ │ Manager reviews ││
│ │ and approves ││
│ │ ││
│ │ Use case: Budget approval, priority confirmation ││
│ │ ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ MULTI-STAGE APPROVAL: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ ││
│ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ││
│ │ │ Draft │→ │ Tech │→ │ Client │→ │ Dev │ ││
│ │ │ │ │ Review │ │ Approve│ │ │ ││
│ │ └────────┘ └────────┘ └────────┘ └────────┘ ││
│ │ ↑ ↑ ││
│ │ Lead reviews Client signs ││
│ │ feasibility off on scope ││
│ │ ││
│ │ Use case: Client projects, regulated industries ││
│ │ ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ PARALLEL APPROVAL: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ ││
│ │ ┌───────────┐ ││
│ │ ┌─→ │ Legal OK │ ─┐ ││
│ │ ┌────────┐ │ └───────────┘ │ ┌────────┐ ││
│ │ │ Submit │ ────┤ ├──→ │Approved│ ││
│ │ └────────┘ │ ┌───────────┐ │ └────────┘ ││
│ │ └─→ │Finance OK │ ─┘ ││
│ │ └───────────┘ ││
│ │ ││
│ │ Both must approve before proceeding ││
│ │ Use case: Contracts, large purchases ││
│ │ ││
│ └─────────────────────────────────────────────────────────┘│
│ │
└─────────────────────────────────────────────────────────────┘
GitScrum Approval Setup
Configuring Workflow Columns
WORKFLOW CONFIGURATION:
┌─────────────────────────────────────────────────────────────┐
│ SETTING UP APPROVAL COLUMNS │
├─────────────────────────────────────────────────────────────┤
│ │
│ BOARD STRUCTURE: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Create columns that represent approval gates: ││
│ │ ││
│ │ Project Settings → Workflow ││
│ │ ││
│ │ Column 1: Backlog (default) ││
│ │ Column 2: Needs Approval ← Approval gate ││
│ │ Column 3: Approved ││
│ │ Column 4: In Progress ││
│ │ Column 5: Review ← Second approval gate ││
│ │ Column 6: Done ││
│ │ ││
│ │ WIP limits: ││
│ │ • Needs Approval: Limit to prevent backlog ││
│ │ • Approved: Limit to what team can actually work ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ VISUAL INDICATORS: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Use labels to show approval status: ││
│ │ ││
│ │ [awaiting-approval] - Yellow, waiting for sign-off ││
│ │ [approved] - Green, cleared to proceed ││
│ │ [rejected] - Red, needs rework ││
│ │ [changes-requested] - Orange, minor adjustments ││
│ │ ││
│ │ Apply automatically when moving columns ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ ASSIGNEE PATTERNS: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Change assignee at approval gates: ││
│ │ ││
│ │ In "Needs Approval" column: ││
│ │ • Assign to approver (manager, lead, client) ││
│ │ • Original requester in description/comments ││
│ │ ││
│ │ After approval: ││
│ │ • Reassign to implementer ││
│ │ • Approver noted in activity log ││
│ │ ││
│ │ Benefits: ││
│ │ • Approvers see their pending reviews ││
│ │ • Clear accountability at each stage ││
│ │ • "My Tasks" shows what needs attention ││
│ └─────────────────────────────────────────────────────────┘│
│ │
└─────────────────────────────────────────────────────────────┘
Approval Notification System
Alerting Approvers
NOTIFICATION SETUP:
┌─────────────────────────────────────────────────────────────┐
│ ENSURING APPROVERS ARE NOTIFIED │
├─────────────────────────────────────────────────────────────┤
│ │
│ IN-APP NOTIFICATIONS: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Automatic triggers: ││
│ │ • Task assigned to you ││
│ │ • Mentioned in comment ││
│ │ • Task moved to watched column ││
│ │ ││
│ │ Approver receives notification when: ││
│ │ 1. Task moves to "Needs Approval" ││
│ │ 2. Task is assigned to them ││
│ │ 3. They are @mentioned for review ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ INTEGRATION NOTIFICATIONS: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Slack/Teams/Discord integration: ││
│ │ ││
│ │ Configure channel notifications: ││
│ │ • #approvals channel for pending reviews ││
│ │ • DM to approver when assigned ││
│ │ ││
│ │ Message format: ││
│ │ "🔔 Approval needed: [Task title] ││
│ │ Submitted by: @requester ││
│ │ Priority: High ││
│ │ Link: [View in GitScrum]" ││
│ │ ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ EMAIL DIGEST: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ For less urgent approvals: ││
│ │ ││
│ │ Daily digest email showing: ││
│ │ • Pending approvals assigned to you ││
│ │ • How long each has been waiting ││
│ │ • Quick action links ││
│ │ ││
│ │ Good for: Manager review, budget approvals ││
│ └─────────────────────────────────────────────────────────┘│
│ │
└─────────────────────────────────────────────────────────────┘
Approval Process Documentation
Making Decisions Traceable
AUDIT TRAIL:
┌─────────────────────────────────────────────────────────────┐
│ DOCUMENTING APPROVAL DECISIONS │
├─────────────────────────────────────────────────────────────┤
│ │
│ COMMENT-BASED APPROVAL: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Template for approval comments: ││
│ │ ││
│ │ ✅ APPROVED ││
│ │ Reviewed by: [Name] ││
│ │ Date: [Timestamp auto-added] ││
│ │ Notes: [Any conditions or observations] ││
│ │ ││
│ │ ❌ REJECTED ││
│ │ Reason: [Specific issues] ││
│ │ Required changes: [What to fix] ││
│ │ Return to: [Column to move back to] ││
│ │ ││
│ │ Benefits: ││
│ │ • Permanent record in task history ││
│ │ • Searchable via comments ││
│ │ • Clear accountability ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ CHECKLIST-BASED APPROVAL: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ For complex approvals with multiple criteria: ││
│ │ ││
│ │ Add checklist to task: ││
│ │ ☐ Budget within allocation ││
│ │ ☐ Timeline realistic ││
│ │ ☐ Resources available ││
│ │ ☐ Risk assessment complete ││
│ │ ☐ Stakeholders aligned ││
│ │ ││
│ │ All items must be checked before moving to Approved ││
│ │ Visible record of what was verified ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ ACTIVITY LOG: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ GitScrum automatically records: ││
│ │ ││
│ │ • Who moved task between columns ││
│ │ • When the move happened ││
│ │ • Assignee changes ││
│ │ • Label additions/removals ││
│ │ ││
│ │ Combined with comments = full audit trail ││
│ └─────────────────────────────────────────────────────────┘│
│ │
└─────────────────────────────────────────────────────────────┘
Common Approval Scenarios
Workflow Templates
SCENARIO TEMPLATES:
┌─────────────────────────────────────────────────────────────┐
│ APPROVAL WORKFLOW EXAMPLES │
├─────────────────────────────────────────────────────────────┤
│ │
│ CLIENT PROJECT APPROVAL: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Using ClientFlow integration: ││
│ │ ││
│ │ Workflow: ││
│ │ Backlog → Internal Review → Client Review → Approved ││
│ │ ↓ Rejected? ↓ Rejected? ││
│ │ Back to Backlog Back to Internal Review ││
│ │ ││
│ │ • Client can view tasks in "Client Review" ││
│ │ • Client comments visible to team ││
│ │ • Approval recorded in activity log ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ BUDGET/RESOURCE APPROVAL: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ For tasks requiring manager sign-off: ││
│ │ ││
│ │ Request submitted: ││
│ │ • Task created with effort estimate ││
│ │ • Assigned to manager ││
│ │ • Moved to "Needs Approval" ││
│ │ ││
│ │ Manager review: ││
│ │ • Check estimate against capacity ││
│ │ • Verify priority alignment ││
│ │ • Approve and reassign to developer ││
│ │ • Or reject with feedback ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ CODE REVIEW APPROVAL: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ For development workflow: ││
│ │ ││
│ │ In Progress → Code Review → QA → Done ││
│ │ ↑ ││
│ │ Link PR in comments ││
│ │ Lead approves in GitHub ││
│ │ Then moves in GitScrum ││
│ │ ││
│ │ Integration: GitHub status syncs to GitScrum ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ DEPLOYMENT APPROVAL: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ For release management: ││
│ │ ││
│ │ Ready for Deploy → Deploy Approval → Deployed ││
│ │ ↑ ││
│ │ Ops lead reviews: ││
│ │ • Change window clear ││
│ │ • Rollback plan ready ││
│ │ • Stakeholders notified ││
│ │ ││
│ │ Approval comment includes deployment notes ││
│ └─────────────────────────────────────────────────────────┘│
│ │
└─────────────────────────────────────────────────────────────┘
Handling Approval Bottlenecks
Keeping Work Flowing
BOTTLENECK PREVENTION:
┌─────────────────────────────────────────────────────────────┐
│ PREVENTING APPROVAL DELAYS │
├─────────────────────────────────────────────────────────────┤
│ │
│ APPROVAL SLAs: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Set expectations for approval timeframes: ││
│ │ ││
│ │ Priority-based SLAs: ││
│ │ • Critical: 4 hours ││
│ │ • High: 1 business day ││
│ │ • Medium: 2 business days ││
│ │ • Low: 1 week ││
│ │ ││
│ │ Track aging: ││
│ │ Filter: Column = "Needs Approval" ││
│ │ Sort: Oldest first ││
│ │ Escalate items exceeding SLA ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ BACKUP APPROVERS: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Prevent single-point-of-failure: ││
│ │ ││
│ │ Primary approver: Project Manager ││
│ │ Backup approver: Team Lead ││
│ │ ││
│ │ Escalation rule: ││
│ │ If pending > SLA, auto-assign to backup ││
│ │ Or: Notify backup after threshold ││
│ │ ││
│ │ Coverage during PTO: ││
│ │ Document who covers which approvals ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ BATCH APPROVAL: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ For approvers handling many items: ││
│ │ ││
│ │ Daily approval review: ││
│ │ • Dedicated 30-minute slot ││
│ │ • Review all pending items ││
│ │ • Batch similar approvals ││
│ │ ││
│ │ Prevents context switching throughout day ││
│ │ Ensures nothing sits too long ││
│ └─────────────────────────────────────────────────────────┘│
│ │
└─────────────────────────────────────────────────────────────┘