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)