A laundry counter runs on paper tickets and phone calls. This workflow turns every drop-off into a tracked order with its own id, emails the customer at each step, and lets staff move it forward by texting a Telegram bot, so nobody has to dig through receipts when a customer asks about the wash.
Last updated: November 2026.
Quick Overview
An order arrives on a webhook, gets normalized and checked, and a GPT-6.1-sol agent decides whether it is a same day or special care job and writes the confirmation line. The order lands in the Orders tab in Google Sheets and the customer gets a confirmation email through Gmail. Staff message the Telegram bot with an order id plus ready or picked, which updates the sheet, emails the pickup notice and writes a log row. A daily sweep nudges customers whose orders are ready but uncollected, escalates overdue orders to the owner, and posts an all clear in Discord.
How it works
- Receives a new order on a POST webhook (laundry/order) with customer name, phone, email, service type, items, promise days and an optional note.
- Normalizes the payload: trims fields, lowercases the email, defaults the service type to wash_fold and the promise to two days.
- Validates the order. A name, an email with an @ and at least one item are required; anything else goes to Telegram and the owner's inbox instead of creating an order.
- Generates the order id in the LDR-20260908-1234 shape, calculates the promise date and builds the care context.
- Sends that context to a GPT-6.1-sol agent that sets the priority (same_day or standard), flags special care items such as silk, wool, leather or wedding dresses, and writes the note for the team plus one warm line for the customer.
- Parses the agent reply as JSON and falls back to standard handling when it is not clean JSON.
- Appends the order to Orders and emails a confirmation with the order id, items, service and promise date.
- Routes same day and special care orders to Discord so the team sees them before the run starts.
- Listens on a Telegram bot for staff messages of an order id plus ready or picked, replies with usage help when the command does not parse, and alerts Discord when the id is unknown.
- Updates the status and the ready and picked timestamps on the Orders row, emails the pickup notice when an order turns ready, posts a ready alert to Discord, and appends ready or picked rows to ActivityLog.
- Every day at 08:00 reads the Orders sheet, finds orders ready and unpicked for a day or more plus orders past their promise date, then sends a reminder email, an overdue alert to the owner by email and Telegram, or a Discord all clear.
Setup
- Create a Google Sheets workbook with an Orders tab and an ActivityLog tab, then select it in the Sheets nodes.
- Connect your Google Sheets account on the append, read and update nodes.
- Connect a Gmail account for the confirmation, pickup, reminder and overdue emails, and replace the owner address in the invalid order and escalation nodes.
- Create a Telegram bot, add the credential to the staff trigger and reply nodes, and set your own chat id.
- Connect a Discord bot and pick the channel for same day, ready, unknown order and all clear messages.
- Add OpenAI credentials on the Care Classifier Model node, and keep or change the model it points at.
- Point your counter app at the laundry/order webhook, then send one test order and one test ready message.
Quick Answers
What does the workflow expect when an order arrives?
A POST to the laundry/order webhook with customer_name, customer_email, service_type, items and an optional promise_in_days. The workflow builds the order id, the promise date and the timestamps itself.
What makes an order invalid?
A missing name, an email without an @ or an empty items field. Invalid payloads never reach the sheet: they are reported on Telegram and by email with the fields that failed.
How do staff update an order?
They message the Telegram bot with the order id and a keyword, for example LDR-20260908-1234 ready. The bot updates the sheet, emails the pickup notice and writes a log row.
What happens when a customer never collects?
The 08:00 sweep emails a reminder once an order has been ready for a day or more, and alerts the owner by email and Telegram once the promise date has passed.
Additional info
Built with n8n. Need an assessment on your business? Feel free to reach out at https://khmuhtadin.com/consultation/