Log invoice approval decisions from Slack to Google Sheets
What This Workflow Does Listens for button clicks from the Invoice → Slack Approval workflow. When someone clicks Approve, Reject, or Flag on an invoice in Slack, this workflow captures that decision, logs it to Googl...
Template notes
What This Workflow Does Listens for button clicks from the Invoice → Slack Approval workflow. When someone clicks Approve, Reject, or Flag on an invoice in Slack, this workflow captures that decision, logs it to Google Sheets, and sends a confirmation notification.
How It Works 1. Webhook Trigger – Receives POST request from Slack when a button is clicked 2. Parse Payload – Extracts the JSON payload from Slack's request body 3. Extract Decision Data – Pulls decision, user info, and invoice details from the message 4. Route by Decision – Branches to Approved, Rejected, or Flagged path 5. Log to Sheets – Appends invoice data to the appropriate sheet tab 6. Notify via Slack – Sends confirmation DM to the approver
Decision Routes - ✅ Approved → Logs to "Approved" sheet → DM confirmation - ❌ Rejected → Logs to "Rejected" sheet → DM confirmation - 🚩 Flagged → Logs to "Flagged" sheet → DM for manual review
---
Setup Guide
1. Create Google Sheet 1. Create a new Google Sheet with 3 tabs: Approved, Rejected, Flagged 2. Add these column headers to each tab: - Supplier Name - Invoice Number - Amount - Date 3. Copy the Sheet ID from the URL
2. Connect the Nodes in n8n 1. Add your Google Sheets OAuth2 credential to all three logging nodes 2. Update the Document ID in each Google Sheets node to your Sheet ID 3. Add your Slack API credential to all three notification nodes 4. Update the User ID in the notification nodes (or change to channel)
3. Configure Slack Interactivity 1. Go to api.slack.com/apps → your app → Interactivity & Shortcuts 2. Set the Request URL to this workflow's webhook URL 3. Save Changes