Try free
9 min read Guide 749 of 877

Workflow Automation Best Practices

Automation removes friction and enforces consistency. GitScrum's workflow automation helps teams define rules that execute automatically based on triggers.

Why Automate

Manual vs Automated

AUTOMATION VALUE:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ MANUAL WORKFLOW PROBLEMS:                                   │
│                                                             │
│ "Remember to move to In Review when PR is open"           │
│ → Forgets 30% of the time                                 │
│                                                             │
│ "Assign to QA when development is done"                   │
│ → QA finds out late, delays testing                       │
│                                                             │
│ "Notify stakeholders when feature ships"                  │
│ → Sometimes forgets, stakeholders complain                │
│                                                             │
│ "Close tasks when PR merges"                              │
│ → Tasks sit in wrong status for days                      │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ WITH AUTOMATION:                                            │
│                                                             │
│ PR opened → Task moves to "In Review"                     │
│           → Automatically, every time                      │
│                                                             │
│ Task done → QA assigned                                   │
│           → Notification sent                              │
│           → Instantly, no forgetting                       │
│                                                             │
│ Feature ships → Stakeholders notified                     │
│               → Release notes updated                      │
│               → Consistent, reliable                       │
│                                                             │
│ AUTOMATION SAVES:                                           │
│ • Time (no manual updates)                                │
│ • Mental load (no remembering)                            │
│ • Errors (no forgetting)                                  │
│ • Delays (instant execution)                              │
└─────────────────────────────────────────────────────────────┘

What to Automate

Good Automation Candidates

AUTOMATE THESE:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ STATUS TRANSITIONS:                                         │
│                                                             │
│ IF task assigned                                          │
│ THEN move to "In Progress"                                │
│                                                             │
│ IF all subtasks complete                                  │
│ THEN move parent to "Ready for Review"                    │
│                                                             │
│ IF PR merged                                               │
│ THEN move task to "Done"                                  │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ ASSIGNMENTS:                                                │
│                                                             │
│ IF bug created with label "frontend"                      │
│ THEN assign to @frontend-team                             │
│                                                             │
│ IF task moves to "QA"                                     │
│ THEN assign to @qa-lead                                   │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ NOTIFICATIONS:                                              │
│                                                             │
│ IF task due in 24 hours                                   │
│ THEN remind assignee                                       │
│                                                             │
│ IF task blocked for > 2 days                              │
│ THEN notify team lead                                     │
│                                                             │
│ IF high-priority task created                             │
│ THEN notify channel                                       │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ LABELS & FIELDS:                                            │
│                                                             │
│ IF task in "Done" for > 7 days                            │
│ THEN add label "Ready to Archive"                         │
│                                                             │
│ IF task has no assignee after 48h                        │
│ THEN add label "Needs Owner"                              │
└─────────────────────────────────────────────────────────────┘

What Not to Automate

KEEP THESE MANUAL:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ ❌ JUDGMENT CALLS:                                         │
│                                                             │
│ "Auto-approve if code passes tests"                       │
│ → Code review requires human judgment                     │
│                                                             │
│ "Auto-assign based on workload"                           │
│ → Ignores expertise, preferences, context                 │
│                                                             │
│ ❌ COMPLEX EXCEPTIONS:                                     │
│                                                             │
│ "If type X and priority Y and assignee Z..."             │
│ → Too complex, will break and confuse                    │
│                                                             │
│ ❌ FREQUENTLY CHANGING:                                    │
│                                                             │
│ "Route based on current team structure"                   │
│ → Structure changes, automation breaks                    │
│                                                             │
│ ❌ VALUABLE FRICTION:                                      │
│                                                             │
│ "Auto-deploy on merge"                                    │
│ → Manual deploy approval may be intentional              │
│                                                             │
│ "Auto-close stale tasks"                                  │
│ → Might close important items                            │
│                                                             │
│ RULE OF THUMB:                                              │
│                                                             │
│ Automate process, not decisions                           │
│ Automate the obvious, not the subtle                     │
│ Automate what's stable, not what changes                 │
│ When in doubt, keep manual                                │
└─────────────────────────────────────────────────────────────┘

Automation Rules

Building Effective Rules

ANATOMY OF A GOOD AUTOMATION:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ STRUCTURE:                                                  │
│                                                             │
│ TRIGGER (When):                                            │
│ • Event that starts the automation                        │
│ • Examples: created, updated, moved, due date approaching │
│                                                             │
│ CONDITIONS (If):                                           │
│ • Filters to check before acting                          │
│ • Examples: type = bug, priority = high, has label       │
│                                                             │
│ ACTIONS (Then):                                            │
│ • What happens                                             │
│ • Examples: move, assign, notify, add label              │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ EXAMPLE RULES:                                              │
│                                                             │
│ RULE: Auto-triage bugs                                     │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ TRIGGER: Task created                                   ││
│ │ CONDITIONS:                                             ││
│ │   • Type = Bug                                          ││
│ │   • Priority = Critical                                 ││
│ │ ACTIONS:                                                ││
│ │   • Add label "Urgent"                                  ││
│ │   • Notify @on-call                                     ││
│ │   • Move to "Triage"                                    ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ RULE: Ready for review notification                        │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ TRIGGER: Task moved to "In Review"                     ││
│ │ CONDITIONS: None                                        ││
│ │ ACTIONS:                                                ││
│ │   • Notify code reviewers                               ││
│ │   • Set due date to +2 days                            ││
│ └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘

Common Automation Patterns

PROVEN AUTOMATION RECIPES:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ PATTERN 1: WORKFLOW PROGRESSION                             │
│                                                             │
│ Backlog → Assigned? → In Progress → Done?                 │
│ Auto-move based on actions                                │
│                                                             │
│ PATTERN 2: ESCALATION                                       │
│                                                             │
│ High priority + no action in 24h → Notify manager        │
│ Critical bug + no assignee → Auto-assign on-call         │
│                                                             │
│ PATTERN 3: CLEANUP                                          │
│                                                             │
│ Done tasks > 30 days → Archive automatically             │
│ Stale items (no update 60d) → Add "stale" label         │
│                                                             │
│ PATTERN 4: VCS INTEGRATION                                  │
│                                                             │
│ PR opened with task ID → Move to "In Review"             │
│ PR merged → Move to "Done"                                │
│ CI failed → Add "Needs Fix" label                        │
│                                                             │
│ PATTERN 5: SLA TRACKING                                     │
│                                                             │
│ New bug → Start SLA timer                                 │
│ Approaching SLA → Notify owner                            │
│ SLA breached → Escalate to lead                          │
│                                                             │
│ PATTERN 6: CROSS-TEAM HANDOFFS                             │
│                                                             │
│ Frontend done → Create backend task                       │
│ Dev done → Notify QA with test info                      │
│ QA approved → Notify release manager                     │
└─────────────────────────────────────────────────────────────┘

GitScrum Automation Setup

Creating Rules in GitScrum

GITSCRUM AUTOMATION CONFIGURATION:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ SETTINGS → AUTOMATIONS → NEW RULE                          │
│                                                             │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Rule Name: Auto-assign QA on Dev Complete              ││
│ │                                                         ││
│ │ TRIGGER                                                 ││
│ │ ────────                                                ││
│ │ When: [Task moves ▼]                                   ││
│ │ To: [In Review ▼]                                      ││
│ │                                                         ││
│ │ CONDITIONS (optional)                                   ││
│ │ ─────────────────────                                   ││
│ │ + Add condition                                         ││
│ │                                                         ││
│ │ ACTIONS                                                 ││
│ │ ───────                                                 ││
│ │ ☑ Assign to: [@qa-team ▼]                             ││
│ │ ☑ Notify: [#qa-channel ▼]                             ││
│ │ ☐ Add label                                            ││
│ │ ☐ Set due date                                         ││
│ │ + Add action                                            ││
│ │                                                         ││
│ │ [Save Rule]                                             ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ ACTIVE AUTOMATIONS:                                         │
│                                                             │
│ ✅ Auto-assign QA on Dev Complete                         │
│ ✅ Move to In Progress on Assignment                      │
│ ✅ Notify on Critical Bug                                 │
│ ⏸️ Archive Done Tasks (disabled)                          │
│                                                             │
│ [+ New Automation]                                         │
└─────────────────────────────────────────────────────────────┘

Testing Automations

AUTOMATION TESTING CHECKLIST:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ BEFORE ENABLING:                                            │
│                                                             │
│ 1. TEST IN SANDBOX                                         │
│    • Create test task                                     │
│    • Trigger the condition                                │
│    • Verify action executes correctly                     │
│                                                             │
│ 2. CHECK EDGE CASES                                        │
│    • What if task already in target state?               │
│    • What if assignee doesn't exist?                     │
│    • What if triggered multiple times?                   │
│                                                             │
│ 3. VERIFY NO LOOPS                                         │
│    • Rule A triggers B, B triggers A?                    │
│    • Infinite loop = broken system                       │
│                                                             │
│ 4. CONFIRM NOTIFICATIONS DON'T SPAM                       │
│    • Too many alerts = ignored alerts                    │
│    • Check notification frequency                         │
│                                                             │
│ AFTER ENABLING:                                             │
│                                                             │
│ 1. MONITOR FOR 1 WEEK                                      │
│    • Watch for unexpected behavior                        │
│    • Check team feedback                                  │
│                                                             │
│ 2. REVIEW EXECUTION LOGS                                   │
│    • Automation ran: 47 times                            │
│    • Success: 46                                          │
│    • Errors: 1 (investigate)                             │
│                                                             │
│ 3. ADJUST AS NEEDED                                        │
│    • Refine conditions                                    │
│    • Add missing cases                                    │
│    • Remove if not valuable                              │
└─────────────────────────────────────────────────────────────┘

Measuring Automation Value

Automation Metrics

TRACKING AUTOMATION IMPACT:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ METRICS TO TRACK:                                           │
│                                                             │
│ TIME SAVED:                                                 │
│ Before: 15 min/day on status updates                      │
│ After: 0 min (automated)                                  │
│ Savings: 5+ hours/month                                    │
│                                                             │
│ CONSISTENCY:                                                │
│ Before: 30% of tasks not updated on time                  │
│ After: 100% updated automatically                         │
│                                                             │
│ RESPONSE TIME:                                              │
│ Before: Avg 4h for critical bug acknowledgment           │
│ After: < 5 min (auto-notification)                        │
│                                                             │
│ ERROR REDUCTION:                                            │
│ Before: 12% of tasks in wrong status                      │
│ After: < 2%                                               │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ AUTOMATION HEALTH:                                          │
│                                                             │
│ Active rules: 8                                            │
│ Executions this week: 234                                  │
│ Success rate: 99.1%                                        │
│ Failed: 2 (permission issue - fixed)                      │
│                                                             │
│ Top performing:                                             │
│ 1. Auto-move on PR merge: 87 executions                  │
│ 2. Due date reminders: 45 executions                     │
│ 3. Bug triage: 34 executions                             │
│                                                             │
│ Never triggered (consider removing):                       │
│ • "Escalate urgent tasks" - 0 executions                 │
└─────────────────────────────────────────────────────────────┘