How the work actually flows
It branches. Exactly one path is taken.
Pattern: Exclusive Choice (4) · Simple Merge (5)
flowchart TD
trig>"team member submits request"]:::trig
s0["receive request"]:::task
s1["notify approver"]:::svc
s2(("approver decides")):::human
s3[("log decision")]:::store
trig --> s0
s0 --> s1
s1 --> s2
gx{"× approve or reject request"}:::gate
s2 --> gx
p00["mark approved"]:::task
gx -->|"approved"| p00
p10["mark rejected"]:::task
gx -->|"rejected"| p10
jn{"○ log decision"}:::gate
p00 --> jn
p10 --> jn
jn --> s3
out[/"logged approval decision"/]:::out
pay{{"faster approvals without leaving slack"}}:::pay
s3 --> out
out --> pay
classDef task fill:#e7f6fe,stroke:#34b8f0,color:#2c2a29
classDef svc fill:#f6f8fa,stroke:#7c8795,color:#2c2a29
classDef mi fill:#e7f6fe,stroke:#0079a8,color:#2c2a29,stroke-width:2px
classDef human fill:#fff,stroke:#0079a8,color:#0079a8
classDef store fill:#f6f8fa,stroke:#0079a8,color:#2c2a29
classDef trig fill:#00a4eb,stroke:#0079a8,color:#fff,font-weight:bold
classDef trigtime fill:#00a4eb,stroke:#0079a8,color:#fff,font-weight:bold
classDef trigdata fill:#8ad4f5,stroke:#0079a8,color:#06314c,font-weight:bold
classDef gate fill:#fff,stroke:#e8a23d,color:#6b4708,font-weight:bold
classDef out fill:#1f9d6b,stroke:#167a53,color:#fff,font-weight:bold
classDef pay fill:#06314c,stroke:#021f33,color:#fff
Starts itA stepAn outside serviceA personA record or sheetOne path onlyPaths rejoinResultPayoff