Skip to main content

Route purchase order approvals and budget alerts with Gmail, Slack and Sheets

Workflow preview

Workflow preview
100%
Route purchase order approvals and budget alerts with Gmail, Slack and Sheets preview
Open on n8n.io

1. Workflow Overview

Quick Overview This workflow receives purchase order requests via webhook, validates and enriches them, emails the correct approver through Gmail based on spend tier, checks department budgets in G...

Best for

  • Document Extraction automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.webhook, n8n-nodes-base.code, n8n-nodes-base.if, n8n-nodes-base.slack, n8n-nodes-base.set, n8n-nodes-base.switch, n8n-nodes-base.gmail

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Avkash Kakdiya.

Original n8n.io source

1.1 Workflow description

Title
Route purchase order approvals and budget alerts with Gmail, Slack and Sheets
Workflow name
Route purchase order approvals and budget alerts with Gmail, Slack and Sheets

Quick Overview

This workflow receives purchase order requests via webhook, validates and enriches them, emails the correct approver through Gmail based on spend tier, checks department budgets in Google Sheets, sends budget warnings to Slack, logs each PO to a tracker sheet, and confirms submission to the requester.

How it works

  1. Receives a purchase order submission via a POST webhook endpoint.
  2. Parses the incoming payload, extracts key fields (vendor, amount, department, requester details), and rejects invalid submissions with a Slack message to the finance channel.
  3. Generates a PO ID, classifies urgency and approval tier, and selects the appropriate approver and SLA based on the PO amount.
  4. Sends an approval request email through Gmail to the assigned approver (low, mid, or high tier).
  5. Looks up the submitting department’s current spend and monthly cap in Google Sheets and checks whether the PO would push usage to 80% or more.
  6. Posts a Slack budget-breach warning when the threshold is exceeded, then appends the PO details to a Google Sheets “PO Tracker” sheet and emails a confirmation to the requester via Gmail.

Setup

  1. Configure your source form or internal system to POST to the workflow’s webhook URL at finance/purchase-order.
  2. Add Gmail credentials and confirm the sender account used for approver emails and requester confirmations.
  3. Add Google Sheets credentials, replace YOUR_GOOGLE_SHEET_ID, and ensure the “PO Tracker” sheet has columns matching the fields the workflow appends (for example PO ID, Amount, Department, Status, Approver, and SLA).
  4. Ensure the budget sheet used by the Google Sheets lookup contains department rows with at least Monthly Cap and Current Spend fields and that the lookup is configured to match your department value.
  5. Add Slack credentials, replace YOUR_FINANCE_SLACK_CHANNEL_ID, and select the channel that should receive invalid-submission and budget-breach alerts.
  6. Update the hardcoded approver emails, names, and amount thresholds in the classification step to match your organization’s approval policy.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Overview Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - Section Note 1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 3 - Section Note 2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 4 - Section Note 3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 5 - PO Submission Webhook

Type / Role
n8n-nodes-base.webhook - webhook
Config choices
Version 2

Block 6 - Parse PO Payload

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 7 - Valid PO Request

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 8 - Alert Invalid Submission

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.2

Block 9 - Enrich & Classify PO

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 10 - Route by Approval Tier

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.2

Block 11 - Email Low-Tier Approver

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 12 - Email Mid-Tier Approver

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 13 - Email High-Tier Approver

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 14 - Read Department Budget

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 15 - Budget Breach Check

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 16 - Send Budget Breach Alert

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.2

Block 17 - Log PO to Tracker Sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 18 - Send Requester Confirmation

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

3. Summary Table

Workflow Route purchase order approvals and budget alerts with Gmail, Slack and Sheets
Complexity advanced
Nodes 18
Categories Document Extraction
Author Avkash Kakdiya
Published 16 Jun 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/16404/16404.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Route purchase order approvals and budget alerts with Gmail, Slack and Sheets do?

Quick Overview This workflow receives purchase order requests via webhook, validates and enriches them, emails the correct approver through Gmail based on spend tier, checks department budgets in G...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Document Extraction use case.