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
- Receives a purchase order submission via a POST webhook endpoint.
- Parses the incoming payload, extracts key fields (vendor, amount, department, requester details), and rejects invalid submissions with a Slack message to the finance channel.
- Generates a PO ID, classifies urgency and approval tier, and selects the appropriate approver and SLA based on the PO amount.
- Sends an approval request email through Gmail to the assigned approver (low, mid, or high tier).
- 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.
- 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
- Configure your source form or internal system to POST to the workflow’s webhook URL at
finance/purchase-order.
- Add Gmail credentials and confirm the sender account used for approver emails and requester confirmations.
- 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).
- 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.
- Add Slack credentials, replace
YOUR_FINANCE_SLACK_CHANNEL_ID, and select the channel that should receive invalid-submission and budget-breach alerts.
- Update the hardcoded approver emails, names, and amount thresholds in the classification step to match your organization’s approval policy.