Build a Multi-Step Document Approval Workflow with Slack Sign-Offs
An n8n workflow that takes a submitted document and walks it through sequential approvers — legal, then finance, then a director — only advancing when each signs off in Slack, so nothing ships without the right chain of approval and every decision is logged.
- 1
Submit the document
A
Webhookreceives the document link and metadata. ASetnode defines the ordered approver list (legal → finance → director). - 2
Ask the first approver
A
Slacknode posts the document to the current approver with Approve/Reject buttons, then aWaitnode pauses until their response webhook fires. - 3
Advance or send back
An
IFchecks the decision: approve → move to the next approver and repeat; reject → notify the submitter with the reason and stop. - 4
Finalize and log
When the last approver signs off, a final
Slack/Gmailmarks the document approved and aGoogle Sheetsnode records the full decision trail with timestamps.
Frequently asked questions
How does it wait between approval stages?
n8n's Wait node can pause the execution until a specific webhook is called. Each approver's Slack button hits that resume webhook; only then does the flow advance to the next approver. This creates a true sequential gate rather than notifying everyone at once.
What if someone rejects?
A reject action routes to a 'sent back' branch that notifies the submitter with the reason and stops the chain. The document only reaches the next stage on an explicit approve, so a rejection can't slip through to later approvers.