n8n

How to Automate Google Sheets Stock Approvals?

Manage raw material stock from delivery to usage in one connected flow. The system receives goods, logs costs, processes issue requests with approvals, and keeps stock levels accurate across tools. It fits teams that track inventory in spreadsheets but need clear approvals and timely low stock alerts.

The flow begins with three webhooks: one for receiving materials, one for issue requests, and one for approval clicks from email. Data is standardized, total price is calculated, and entries are written to Google Sheets and Supabase. The workflow looks up current stock, adds or deducts quantities, and checks a minimum level to prevent stockouts. Approvers get a Gmail message with approve or reject links, and low stock alerts send by email when the threshold is reached. Code nodes validate numbers, remove duplicates, and calculate new balances, while merge nodes bring branches back together for clean records.

Setup requires Google Sheets, Gmail, and Supabase credentials, plus a form or service that can post to the n8n webhooks. Expect faster approvals, fewer entry mistakes, and a single source of truth across Sheets and Supabase. Ideal for operations teams that buy materials often and must control usage with an audit trail and alerting.

What are the key features?

  • Three webhook triggers capture received materials, issue requests, and approval responses in real time.
  • Google Sheets nodes append and update rows for receipts, issues, and current stock tables.
  • Supabase nodes insert and update matching records for Current Stock, Raw Materials, and Materials Issued.
  • Gmail node sends approval emails with approve or reject links and low stock alerts to managers.
  • Code nodes calculate total price, new stock balances, and validate numeric fields to prevent bad data.
  • Low stock detection checks a minimum level and only emails when the threshold is crossed.
  • Merge and If nodes combine lookup branches and route approved or rejected results cleanly.
  • Standardize nodes map incoming form fields into a consistent schema for downstream updates.

What are the benefits?

  • Reduce manual entry from 2 hours per day to 10 minutes by logging receipts and issues automatically
  • Streamline approval turnaround by 70 percent with one click email actions
  • Improve stock accuracy by 90 percent using validated quantities and live lookups
  • Handle 5 to 10 times more requests with webhook based intake and no queue bottlenecks
  • Connect Google Sheets Gmail and Supabase so data stays consistent across systems

How do you set it up?

  1. Import the template into n8n: Create a new workflow in n8n > Click the three dots menu > Select 'Import from File' > Choose the downloaded JSON file.
  2. You'll need accounts with Google Sheets, Gmail, Supabase, Typeform, Google Forms and Webhook.site. See the Tools Required section above for links to create accounts with these services.
  3. In the n8n credentials manager, create a Google Sheets credential. Double click any Google Sheets node, click Credential to connect with, choose Create new credential, and follow the on screen Google OAuth steps.
  4. Set up Gmail credentials. Open the Send Approval Request and low stock email nodes, create a new Gmail credential, and complete the Google OAuth flow.
  5. Configure Supabase. In your Supabase project, copy the API URL and service role key. In n8n, create a Supabase credential with the URL and key. Use table names Current Stock, Raw Materials, and Materials Issued or match your schema.
  6. Copy each webhook URL from these nodes: Receive Raw Materials Webhook, Receive Issue Request, and Get Approvals. Keep them handy for your form or test tool.
  7. Connect your form tool. In Typeform, add a webhook to the Receive Raw Materials URL for delivery forms and to the Receive Issue Request URL for issue forms. If using Google Forms, use Apps Script to POST form data to the same URLs.
  8. Open each Google Sheets node and set the Document ID and Sheet Name to your target spreadsheet and tabs. Ensure columns like Product ID, Current Stock, Quantity Received, Quantity Requested, and Minimum Stock Level exist.
  9. Review Supabase nodes. Confirm table names and field mappings. If you use Row Level Security, add policies to allow service role writes.
  10. Edit the Gmail recipient in Send Approval Request to your approver email. Update the email content if needed and ensure the approval links point to the Get Approvals webhook URL.
  11. Adjust the low stock threshold in the low stock detection code nodes if your business uses a different minimum level.
  12. Test receipts. Send a sample POST from Webhook.site or your form to the Receive Raw Materials webhook. Check that a new row appears in Sheets and a record is created in Supabase.
  13. Test issue and approval. Submit an issue request, approve it from the email, and confirm stock is reduced in Sheets and Supabase. If emails do not send, recheck Gmail credential scopes and the recipient address.

Tools Required

$24 / mo or $20 / mo billed annually to use n8n in the cloud. However, the local or self-hosted n8n Community Edition is free.

Gmail

Sign up

No cost: Personal Gmail (Gmail API has no usage-based pricing; quotas apply)

Google Forms

Sign up

Free: $0, Google Forms API usage at no additional cost; per-minute quotas apply (e.g., reads up to 975/min per project).

Google Sheets

Sign up

Free: $0 (Google Sheets API usage has no additional cost; quota limits apply)

Supabase

Sign up

Free: $0 / mo — unlimited API requests; 500 MB database; 5 GB bandwidth; 1 GB storage; 50,000 MAUs.

Typeform

Sign up

Basic: $29 / mo — includes API access and webhooks

Webhook.site

Sign up

Free tier: $0, public API available; free URLs expire after 7 days and accept up to 100 requests

Similar Templates

Join Futurise to access 1,200+ automation templates

Get instant access to ready-made automation workflows for n8n, Make.com, AI agents, and more. Download, customise, and deploy in minutes.