See llms.txt for all machine-readable content.

Back to Templates

Log and assess food safety temperatures with DeepSeek, Google Sheets and Telegram

Paper temperature logs are the first habit a kitchen drops on a busy shift, and the last thing anyone wants to rebuild before an inspection. This workflow takes each reading from whatever posts it, has an AI model judge it against safe holding ranges, writes every reading to Google Sheets, and alerts the team on Telegram the moment something sits out of range. The weekly summary writes itself.

Last updated: November 2026.

Quick Overview

A POST webhook receives each temperature reading. The workflow normalises it, checks that the zone is a real storage zone and the temperature is plausible, then asks an AI model to judge the reading against safe cooler, freezer, hot hold and prep ranges. Every reading lands in a Google Sheets log with its status and corrective action, out of range readings raise a Telegram alert, and invalid readings go to an Errors sheet with their own alert. A daily check nudges the team when no reading has been logged, and a Monday email summarises the week for the owner.

How it works

  1. Receives a POST on the food/temp webhook with zone, temp, unit, staff and notes, from anything that can send JSON: a form, a phone or a temperature sensor.
  2. Normalize Reading builds a reading id, lowercases the zone, forces the unit to C or F, and stamps the received time.
  3. Valid Reading? accepts only the walk_in, reach_in, freezer, hot_hold and prep zones and a temperature between -40 and 220 Fahrenheit once converted. Anything else is logged to the Errors sheet and raises a Telegram alert.
  4. Build Safety Context turns the zone into a readable label (Walk-in cooler, Freezer, Hot hold cabinet, Prep table) and converts Celsius readings to Fahrenheit for the verdict.
  5. Assess Temperature Safety sends the reading to an AI agent with FDA style ranges: coolers at or below 40F, freezers at or below 0F, hot hold at or above 135F, prep tables at or below 41F. It returns a status, an issue and a corrective action as JSON.
  6. Parse Safety Assessment reads that JSON, recomputes the status from the zone rules in code, and fills in the issue and the corrective action when the model left them empty.
  7. Log Reading to Sheets appends the reading with its zone label, Fahrenheit value, status, issue and action to the Temperature Log sheet.
  8. When the status is not safe, Telegram At Risk Alert posts the zone label, the temperature, the status, the issue and the corrective action to the team chat.
  9. Every day at 12:00 the Daily Log Check reads the log, keeps only today's rows, and when there are none a Telegram nudge asks the team for the missing reading.
  10. Every Monday at 08:00 Stats This Week counts the readings and the out of range events of the last seven days, and Write Weekly Report has an AI model write a short plain text summary that Gmail sends to the owner.

Setup

  1. Connect Google Sheets and point the four Sheets nodes at one spreadsheet that has a Temperature Log sheet and an Errors sheet.
  2. Copy the production URL of the food/temp webhook into whatever posts the readings.
  3. Connect Telegram and replace the placeholder chat id in the three Telegram nodes with your team chat.
  4. Connect Gmail and replace the weekly report recipient with the owner address.
  5. Add the model credential on the two model nodes and select the DeepSeek model.
  6. POST one valid reading and one invalid zone to confirm the safe path, the Errors path and both alerts.

Quick Answers

What counts as an invalid reading?
The zone has to be one of walk_in, reach_in, freezer, hot_hold or prep and the temperature has to sit between -40 and 220 Fahrenheit after conversion. Anything else is written to the Errors sheet and announced on Telegram.

Can the AI mark a bad reading as safe?
The agent writes the verdict, but Parse Safety Assessment recomputes the status from the zone rules in code, so the logged status follows the temperature rules rather than the opinion of the model.

How does the team know when nobody logged a reading?
Every day at 12:00 the workflow reads the log, filters it to today's rows, and nudges the team on Telegram when there are none.

Where does the owner see the week?
Every Monday at 08:00 the readings of the last seven days are counted, an AI model writes a short summary of the totals and the out of range events, and Gmail delivers it.

Additional info

Built with n8n. Need an assessment on your business? Feel free to reach out at https://khmuhtadin.com/consultation/