Plan daily restaurant prep lists with DeepSeek, Google Sheets, Telegram and Gmail

Go to Workflow
0 views
Built by Khairul Muhtadin Khairul Muhtadin
Created on August 17, 2026

Description

Quick overview
This workflow generates a daily restaurant prep list from a Google Sheets master, uses an OpenAI (DeepSeek) model to plan quantities, logs tasks back to Google Sheets, and notifies the team via Telegram and Gmail, with webhook-based completion updates and a weekly completion report.

How it works
Runs every day at 07:00 (Asia/Jakarta) or when a POST request hits the /prep/generate webhook to start prep planning.
Reads the PrepItems master list from Google Sheets and compiles a day-specific context (date, weekday, items, par levels, and units).
Sends the context to an OpenAI (DeepSeek) chat model to generate a JSON prep plan and validates that at least one prep item is returned.
Appends each planned prep item to the PrepLog sheet in Google Sheets with a PENDING status, then posts a formatted prep summary to Telegram and emails it to the manager via Gmail.
Receives POST requests on /prep/complete to mark items DONE or SKIPPED, updates the matching row_key status in the PrepLog sheet, and confirms the update in Telegram and by email.
Runs every Monday at 09:00 to read the PrepLog sheet, calculate completion stats, generate a short weekly digest with the OpenAI (DeepSeek) model, and send the report via Gmail and Telegram (or posts a “no data” notice if nothing is logged).
If daily planning fails (for example, the plan is empty or a completion payload is invalid), sends an error alert to Telegram and the manager via Gmail.

Setup
Create a Google Sheets spreadsheet with a PrepItems sheet (item, station, par_qty, unit) and a PrepLog sheet (prep_date, row_key, item, station, qty, unit, status), then update the Google Sheets document ID if you are not using the included one.
Add credentials for Google Sheets OAuth2, Gmail OAuth2, Telegram Bot API, and an OpenAI-compatible API key for the DeepSeek model used by the AI agent nodes.
Set the Telegram chat ID for kitchen notifications and the manager email address in the Telegram and Gmail send steps.
Copy the /prep/generate and /prep/complete webhook URLs from n8n and configure your kitchen tool (or a simple form) to POST row_key and status (DONE/SKIPPED) to the completion endpoint.
Adjust the cron schedules (07:00 daily and 09:00 Mondays) and the AI prompts if you need different planning rules, stations, or report wording.

Additional info
about creator: Khairul Muhtadin (https://khmuhtadin.com)

Nodes Used (6)

AI Agent
@n8n/n8n-nodes-langchain.agent
Code
n8n-nodes-base.code
Gmail
n8n-nodes-base.gmail
Google Sheets
n8n-nodes-base.googleSheets
OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi
Telegram
n8n-nodes-base.telegram