{"product_id":"automate-purchase-approvals-in-n8n-sheets-gmail-slack","title":"Automate Purchase Approvals in n8n: Sheets, Gmail \u0026 Slack","description":"\u003ch3\u003eAutomate Purchase Approvals in n8n—Policy checks, multi-level approvals, and an auditable trail in Google Sheets\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow automatically routes purchase requests for approval based on vendor, budget, duplicate risk, and amount thresholds—then generates a purchase order and updates \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e and \u003cstrong\u003eSlack\u003c\/strong\u003e from start to finish.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eReceives and validates requests\u003c\/strong\u003e from an \u003cstrong\u003en8n Form\u003c\/strong\u003e, checking required fields, ensuring amounts are positive, and validating an optional “needed by” date.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eEnriches with policy context\u003c\/strong\u003e by reading vendor and budget data plus recent requests from \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eFlags policy conditions\u003c\/strong\u003e such as unpreferred\/new vendors, over-budget requests, and potential duplicates from the last \u003cstrong\u003e30 days\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCalculates totals and approval routing\u003c\/strong\u003e, deciding whether the request is \u003cstrong\u003eauto-approved\u003c\/strong\u003e or routed through \u003cstrong\u003eL1 to L3\u003c\/strong\u003e approval levels based on amount thresholds and any policy flags.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCreates an approval request with auditability\u003c\/strong\u003e: for routed requests, it generates a request ID, appends a \u003cstrong\u003esubmitted\u003c\/strong\u003e entry to a Google Sheets audit log, and sends the first approver decision request via \u003cstrong\u003eGmail\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eProcesses approver decisions\u003c\/strong\u003e through a \u003cstrong\u003ewebhook\u003c\/strong\u003e, rebuilds request state from the Google Sheets audit log, and ignores duplicate\/late decisions.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eEscalates or resolves\u003c\/strong\u003e: approved requests continue to the next level (L1→L2→L3) by email; rejected requests trigger an email outcome to the requester.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eFinalizes with purchase documentation\u003c\/strong\u003e: upon final approval (or auto-approval), it creates a \u003cstrong\u003epurchase order in Google Docs\u003c\/strong\u003e, writes the PO text, emails the PO link, logs the approval to \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e, and posts an approval message to \u003cstrong\u003eSlack\u003c\/strong\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eStreamline procurement approvals across teams using \u003cstrong\u003eL1\/L2\/L3\u003c\/strong\u003e thresholds and policy checks.\u003c\/li\u003e\n  \u003cli\u003eReduce duplicate or risky spend by flagging potential duplicates from the last 30 days in \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003eKeep an always-current audit trail for every purchase request, approval, and purchase order.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eIntegrations \/ nodes\u003c\/strong\u003e: if, set, code, \u003cstrong\u003eGmail\u003c\/strong\u003e, \u003cstrong\u003eSlack\u003c\/strong\u003e, \u003cstrong\u003ewebhook\u003c\/strong\u003e\n\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eData layer\u003c\/strong\u003e: \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e for vendor\/budget data and a complete audit log\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eDocument generation\u003c\/strong\u003e: \u003cstrong\u003eGoogle Docs\u003c\/strong\u003e purchase order creation and PO text insertion\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46289069670579,"sku":"N8N-21653","price":11.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/hNIYpp7zmODlzz5waLgP4_oTiYAldc.png?v=1793006143","url":"https:\/\/buyflowscripts.com\/products\/automate-purchase-approvals-in-n8n-sheets-gmail-slack","provider":"N8N Commerce","version":"1.0","type":"link"}