See llms.txt for all machine-readable content.

Back to Templates

Send staged quote follow-ups and daily digests with Google Sheets and Telegram

Quick Overview

This workflow uses Google Sheets and a Telegram bot to send scheduled follow-ups for pending quotes, record each follow-up stage back in the sheet, send an optional daily digest to the owner, and classify incoming Telegram replies to notify you or mark quotes as lost.

How it works

  1. Runs every day at 09:00 based on a schedule trigger.
  2. Reads all rows from the “Quotes” tab in Google Sheets and evaluates each pending quote’s age and last follow-up stage to decide whether a stage 1, 2, or 3 follow-up is due (and avoids sending twice on the same day).
  3. Sends the appropriate personalized follow-up message to each customer via Telegram and updates the Google Sheet with the follow-up stage and date.
  4. Builds a daily digest summarizing how many follow-ups were sent per stage, plus any skipped rows or quotes pending for more than 30 days.
  5. If the digest is enabled and an owner chat ID is set, sends the digest to the owner via Telegram.
  6. Separately, triggers on incoming Telegram messages, classifies each reply as positive/negative/neutral, notifies the owner about positive or neutral replies, and marks the sender’s pending quote as lost in Google Sheets (then notifies the owner) for negative replies.

Setup

  1. Connect your Google Sheets OAuth credentials and set the spreadsheet Document ID for all Google Sheets nodes that read/update the “Quotes” tab.
  2. Create a Telegram bot with BotFather and add the bot token to both Telegram credentials (Telegram and Telegram Trigger).
  3. Create a “Quotes” sheet with columns: Name, ChatID, Item, Amount, QuoteDate (YYYY-MM-DD), Status, LastFollowUp, and LastFollowUpDate, and ensure pending quotes use Status = "pending".
  4. In “Set Follow-Up Config”, set your follow-up day thresholds, message templates, whether the digest is enabled, and your owner_chat_id for the daily digest.
  5. In “Set Owner Config”, set the owner_chat_id that should receive reply alerts (you can get your chat ID via @userinfobot).