Makani Tech: Build. Automate. Evolve.

Low Stock Reorder with Approval with n8n + Gemini (free workflow)

Checks your inventory sheet, groups low items by supplier, drafts the purchase orders and emails suppliers only after you approve.

FreeWorkflowBy Kishan Makani · updated 28 October 2026 · 5 min read

Google SheetsGeminiGmail

Downloads

  • Download the n8n workflow (JSON)

    low-stock-reorder-approval-n8n-gemini.json · n8n workflow · 19 steps · starts with Every Morning at 9 AM · uses Google Sheets, Summarize, Google Gemini, Gmail · 29 KB

    Import into n8n: Create Workflow, then the menu, then Import from File.

How to import it into n8n
  1. In n8n, create a new workflow.
  2. Open the ⋯ menu at the top right and choose Import from File, then pick the downloaded .json. (Or open the file, copy everything and paste it on the canvas.)
  3. Open each node with a warning and connect your own account: the file carries no passwords or keys.
  4. Run it once with Test workflow, check the result, then switch it to Active.

What this workflow does

Stop running out of stock. Every morning this workflow checks your inventory in Google Sheets, finds every item at or below its reorder level, groups them by supplier and has Gemini write one clear purchase order email per supplier. You get a single approval email with every draft. Click approve and each supplier gets their order from your Gmail, and the sheet records the order date so the same item isn't ordered twice.

  1. Every Morning at 9 AM starts the run, and Get Inventory from Google Sheets reads every row of your Inventory sheet.
  2. Keep Low-Stock Items keeps items where Current Stock is at or below Reorder Level, that have a supplier email, and that were not ordered in the last reorderCooldownDays days.
  3. Prepare Order Line builds one line per item, and Group Items by Supplier combines them into one order per supplier (supplier emails are matched without case or spaces).
  4. Write Purchase Order with AI (Gemini) writes a short purchase order email that lists every item and quantity exactly, asks for price and delivery date, and gives your delivery address. If Gemini fails, Use Standard Order Email writes a fixed template instead. Prepare Order Email adds the subject and keeps the item list.
  5. Combine All Orders and Ask Owner to Approve Orders send you one Gmail with each supplier, the stock levels and the email draft, with "Send all orders" and "Do not send" buttons. It waits up to 12 hours.
  6. If you approve, Send Order to Supplier emails each supplier from your Gmail (replies come to you), and Mark Items as Ordered writes today's date into the Last Ordered column for every item whose email was sent. If one email fails, its items stay unmarked and come back tomorrow.

Who it is for

Retail shops, kirana and grocery stores, pharmacies, restaurants and cafés, salons, D2C brands, small warehouses and anyone who keeps stock in a spreadsheet and orders from suppliers by email.

What you need

  • n8n (Cloud or self-hosted)
  • A Google account with Google Sheets and Gmail
  • A Google Gemini API key (the free tier is enough for a few suppliers a day)

The workflow, step by step

Step 1 · Read stock levels

Runs every morning and reads your inventory.

  • Every Morning at 9 AM (Schedule)
  • Workflow Configuration (Set)
  • Get Inventory from Google Sheets (Google Sheets)

Step 2 · Find items to reorder

Keeps low-stock items and groups them by supplier.

  • Keep Low-Stock Items (Filter)
  • Prepare Order Line (Set)
  • Group Items by Supplier (Summarize)

Step 3 · Write purchase orders

Gemini writes each supplier email, with a standard text as backup.

  • Google Gemini Chat Model (Gemini model)
  • Write Purchase Order with AI (Basic LLM Chain)
  • Use Standard Order Email (Set)
  • Prepare Order Email (Set)

Step 4 · Get your approval

One email with every order. Approve or decline.

  • Combine All Orders (Aggregate)
  • Ask Owner to Approve Orders (Gmail)
  • Did Owner Approve? (IF)

Step 5 · Send and update

Emails each supplier and fills in Last Ordered.

  • Get Approved Orders (Set)
  • Split Orders by Supplier (Split Out)
  • Send Order to Supplier (Gmail)
  • List Ordered Items (Set)
  • Split Ordered Items (Split Out)
  • Mark Items as Ordered (Google Sheets)

Setup

  1. Download the JSON below and import it in n8n (Create workflow > ⋯ > Import from File).
  2. Create a Google Sheet with a tab named Inventory and these columns: SKU, Product, Current Stock, Reorder Level, Reorder Qty, Unit, Supplier Name, Supplier Email, Last Ordered.
  3. Add Google Sheets OAuth2, Gmail OAuth2 and Google Gemini (PaLM) API credentials, and pick your spreadsheet in Get Inventory from Google Sheets and Mark Items as Ordered.
  4. Open Workflow Configuration and set your business name, your email, the delivery address, the cooldown in days and the email tone.
  5. Keep Current Stock up to date (by hand, from your POS export, or another workflow). Set the time zone in the workflow settings, then activate the workflow.
  6. Test it: add two rows with Current Stock below Reorder Level and your own address as Supplier Email, then run manually. Expect one approval email. After you approve, a purchase order arrives at your address and Last Ordered fills in.

How to customise

  • The sample prompt and emails are a starting point, not a fixed format. Rewrite them for your business.
  • Write Purchase Order with AI: order wording, or just emailTone
  • Use Standard Order Email: fallback order
  • Ask Owner to Approve Orders: approval email
  • Every Morning at 9 AM: run time
  • Keep Current Stock updated from your POS or another workflow
  • Change the run time in Every Morning at 9 AM, for example twice a day for fast-moving stock.
  • Change reorderCooldownDays to match your usual delivery time, so items in transit aren't ordered again.
  • Write orders in Hindi or another language by changing emailTone (for example "polite, in simple Hindi").
  • Send orders on WhatsApp instead: replace Send Order to Supplier with a WhatsApp Business Cloud node and add a supplier phone column.
  • Approve per supplier instead of all at once: put a Loop Over Items node around the approval step.

Why Gemini

Gemini 3.1 Flash-Lite (models/gemini-3.1-flash-lite, temperature 0.3). The task is short, structured business writing from a fixed list: no reasoning, tools or long context. It runs every day for every supplier, so cost and speed matter most, and Gemini's free tier covers a small shop at no cost. The risk in this task is changing a quantity, which the prompt forbids, the low temperature reduces, and the owner approval step catches. Claude would write slightly more polished emails, but that does not justify the extra cost for a daily purchase order, and OpenAI's small models do the job about as well but have no free API tier. Gemini also writes well in Hindi and other Indian languages if a supplier prefers that.

Guardrails

  • Self-hosted n8n: Set WEBHOOK_URL to your public n8n URL, or the approval buttons won't open.

Troubleshooting

  • Credential errors after import: imported workflows never include credentials. Open each node marked red and select your own account.
  • Nothing runs on its own: test runs only fire once. Activate the workflow so the trigger keeps running.
  • Odd times or dates: set your timezone in Workflow Settings.

Want the members-only resources too?

A free account unlocks them all, including the ones shared in DMs.

Create a free account