See llms.txt for all machine-readable content.

Back to Templates

Quote, book, and follow up on tattoo requests with Sheets, Gmail, Telegram, and DeepSeek

Tattoo enquiries arrive at midnight with a blurry reference and a how much question, and the artist answers the same message all day. This workflow reads the idea against your own rate card, sends a price range and a deposit amount by email, records the deposit when it lands and chases quotes that went quiet. Clients get a prep note before the session and you get a Monday summary.

Last updated: November 2026.

Quick Overview

A studio form collects the idea, placement, size, style, cover up, budget and preferred date. The request is validated, the RateCard tab is loaded from Google Sheets and a DeepSeek agent prices it only from those rates, deciding between bookable and consult. A Code node then checks the quote against the rate card floor and ceiling for that style, so a strange number reaches the artist on Telegram instead of the client. Good quotes are logged and emailed. A staff form records paid deposits and turns the request into a booking with a confirmation email. A daily lane reminds silent clients once and expires stale quotes, a morning lane sends prep notes for tomorrow's sessions, and a weekly digest goes to the owner.

How it works

  1. The client form is normalized into a request id and clean fields. Missing name, email or idea triggers a Telegram call back alert.
  2. The RateCard tab and the request are combined into a prompt and the agent returns a bucket, estimated hours, quote range, deposit, risk flags and a client email.
  3. Check Quote Against Rate Card finds the style row and rejects quotes under 90 percent of the minimum or over 110 percent of the maximum, plus empty or unreadable quotes.
  4. Rejected quotes are logged as artist review and the artist gets a Telegram alert. Nothing goes to the client.
  5. Bookable quotes are logged as quote sent, emailed to the client and announced on Telegram. Consult cases are logged and emailed a consult invite.
  6. When staff submit the Record a paid deposit form, the request id is looked up, its status and the session date are checked, and the row is updated to booked with the deposit amount.
  7. The client gets a booking confirmation email. Bad entries are reported to the studio on Telegram.
  8. Daily at 11:00, quotes and consults with no contact for 3 days get one reminder and a followups count. After another 7 days they are marked expired.
  9. Every morning booked sessions for tomorrow get an AI written prep note and are marked reminder sent.
  10. Mondays at 08:00 the Requests tab is summarized by status and upcoming sessions and emailed to the owner.

Setup

  1. Connect Google Sheets, Gmail and Telegram, and add an OpenAI-compatible credential pointed at DeepSeek on all three model nodes.
  2. Create a RateCard tab with style, hourly_rate, min_hours, max_hours and deposit_pct, plus an optional default row.
  3. Create a Requests tab with the logged fields, including status, session_date, reminder_sent, last_contact, followups and deposit_paid.
  4. Replace the Telegram chat id 123456789 and the owner email [email protected].
  5. Share the client form link publicly and keep the deposit form link inside the studio.

Quick Answers

Can the AI send a client a wrong price?
Quotes outside the rate card range for that style are held for the artist and never emailed automatically.

How does a request become booked?
Staff submit the deposit form with the request id and session date. The row is updated to booked and the client is emailed.

How many times is a quiet client chased?
Once, three days after the quote. Seven days after that reminder the request is marked expired.

Does the prep reminder need anything extra?
No. It reads booked rows with tomorrow's session date, which the deposit form fills in.

Additional info

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