Google Sheets workflow'ları
248 sonuç — tümü kaynağa bağlı n8n referansı
Track and analyze TikTok videos with Apify, OpenAI, and Google Sheets
Quick overview This workflow runs daily (or manually) to fetch recent videos from a list of TikTok accounts via Apify, transcribes each video with OpenAI, generates content insights and translations, and then appends or updates one row per video in Google Sheets. How it works Runs on a daily schedule (or manually) and loads configuration values like the date window, video limit, output language, and Apify actor. Reads the TikTok usernames to monitor from the accounts tab in Google Sheets. Calls the Apify TikTok Scraper API to retrieve the latest videos for each configured account. Filters and normalizes the results to keep only videos published within the last N days and extracts metrics, captions, hashtags, and download URLs. Downloads each video file and transcribes it with OpenAI speech-to-text. Sends the transcription plus caption and hashtags to OpenAI to extract a hook, classify the content, infer the video format, and translate the transcription. Writes the combined video metadata, transcription, and AI insights to the insights tab in Google Sheets using an append-or-update operation. Setup Create a Google Sheets spreadsheet with an accounts sheet containing a username colum
Track RSS events with OpenAI GPT-4.1-mini, Google Sheets, and Outlook
Quick overview This automated pipeline monitors an RSS feed, leverages an OpenAI chat model to extract event details into structured JSON, logs the data to Google Sheets, and triggers real-time email notifications via Microsoft Outlook. How it works Trigger: An RSS node polls the specified feed every minute to detect new entries. Batching: A Loop node isolates each RSS item to ensure accurate, individual processing without data overlap. AI Extraction: An AI Agent, powered by OpenAI, extracts the event title, date, URL, and description, formatting the output strictly as JSON. Sanitization: A custom JavaScript Code node cleans the LLM response by stripping markdown blocks and parsing the JSON object. Database Logging: The Google Sheets node maps the parsed keys and appends a new row for the event. Alerting: An Outlook node dispatches an automated notification email, and the loop continues for the next item. Setup Configure the RSS Feed Trigger by pasting your target feed URL. Add your OpenAI API credentials to the OpenAI Chat Model node (verify your specific model identifier, e.g., gpt-4o-mini Authenticate the Google Sheets node via OAuth and select your destination spreadsheet and w
Track recurring job pain points with SerpApi, Gemini, and Google Sheets
Quick Overview This workflow runs weekly to pull Google Jobs results via SerpApi, uses Google Gemini to extract operational pain points and an automation opportunity from each posting, logs them to Google Sheets, and writes a frequency-ranked pain-point summary to a summary tab. How it works Runs weekly on a schedule. Sets the target job role, location, and Google Sheets tab name to use for this run. Queries Google Jobs through SerpApi and splits the response into one item per job posting. Sends each posting’s title, company, and description to Google Gemini and parses the returned JSON into structured fields. Appends each analyzed posting (company, title, pain points, automation opportunity, and collection date) as a new row in Google Sheets. Reads all rows from the same Google Sheets tab, counts how often each pain-point phrase appears, and sorts the list by frequency. Appends the ranked pain-point frequency list to a Google Sheets "summary" tab. Setup Add a SerpApi API key and update the SerpApi request parameters in the HTTP request step (or store the key in an n8n credential). Connect a Google Sheets OAuth2 credential and replace the placeholder spreadsheet URL/ID with your ow
Route WhatsApp support requests with Groq, Google Sheets, Gmail, Telegram and AiSensy
Quick overview This workflow receives incoming WhatsApp messages via an n8n webhook, loads an FAQ knowledge base from Google Sheets, and uses Groq (Llama 3.3) to classify intent and generate a reply. It sends the response through the AiSensy API, logs the conversation to Google Sheets, and alerts via Gmail and Telegram. How it works Receives a POST request from AiSensy on a WhatsApp webhook when a customer sends a message. Extracts the customer phone, name, message text, and timestamp, and ignores requests missing required fields. Loads FAQ question-and-answer rows from Google Sheets and sends them with the customer message to Groq (Llama 3.3) to classify intent, detect language and urgency, and draft a reply. Parses and validates the model’s JSON output and formats a safe fallback reply if parsing fails. Sends the generated reply back to the customer using the AiSensy WhatsApp API. Sends a Gmail alert when the intent is COMPLAINT and posts a Telegram alert when the intent is ESCALATE. Appends or updates a conversation log row in Google Sheets and returns a 200 OK webhook response. Setup Configure AiSensy to send message events to this workflow’s webhook URL (path: /whatsapp-suppor
Log email receipts to Google Sheets with Gmail and OpenAI
Quick Overview This workflow logs Gmail receipt attachments to Google Sheets by extracting structured fields with OpenAI (including category selection from your list), prevents duplicates by checking the ledger, and sends a monthly spending summary email via Gmail based on last month’s rows. How it works Triggers when a Gmail message matching has:attachment subject:receipt arrives or when a schedule runs on the 1st of the month at 8am. For receipt emails, looks up the Gmail message ID in Google Sheets and stops if the receipt is already logged. If the receipt is new, extracts text from PDF attachments or transcribes image receipts using OpenAI vision. Sends the receipt text to OpenAI to extract receipt_date, merchant, amount, currency, and a category chosen only from your predefined category list. Appends one cleaned expense row to Google Sheets with the extracted fields plus a processed timestamp, Gmail message ID, and the original email subject. For the monthly run, reads the full Google Sheets ledger, totals last month’s expenses by category, and emails the summary to you via Gmail. Setup Connect Gmail credentials for the Gmail Trigger and for sending the monthly summary email.
Turn customer emails into FAQ drafts with Gmail, Gemini, Docs and Sheets
Quick overview This workflow monitors customer-support emails in Gmail, uses Google Gemini to extract FAQ-ready questions and draft answers, logs every candidate to Google Sheets, and routes strong candidates to a Google Docs draft while sending unclear or sensitive messages to a Gmail draft for manual review. How it works Triggers every 5 minutes when Gmail finds new messages matching the configured support-style search query. Cleans and normalizes the email metadata and body text to remove signatures and quoted replies. Sends the normalized email content to Google Gemini to extract the customer question, category, urgency, FAQ value score, draft answer, and a recommended action as structured JSON. Logs the extracted FAQ candidate details (including score, tags, and sensitivity flags) to a Google Sheets tab for tracking. Creates a Google Docs FAQ draft and inserts the generated draft content when the candidate meets the score threshold or is marked as reusable. Creates a Gmail draft to the reviewer with the Google Docs link for high-value candidates, or a separate Gmail draft containing review notes for sensitive or unclear emails. Setup Connect credentials for Gmail, Google Gemin
Validate startup ideas and generate business plans from Telegram with Perplexity and GPT-4o
Quick overview This workflow receives startup ideas via a Telegram bot, uses OpenAI (GPT-4o and GPT-4o mini) plus Perplexity to score, research, and validate them, then generates a full business plan in Google Docs, logs key results to Google Sheets, and returns the plan link in Telegram. How it works Receives a Telegram message containing a raw startup idea. Uses OpenAI (GPT-4o mini) to structure the idea, detect its language, and assign an initial 1–10 idea score with improvement feedback. If the idea score is below the configured threshold, sends the score reasoning back to Telegram and stops. If the score meets the threshold, asks in Telegram for approval to run full research and plan generation. After approval, uses Perplexity to research the target market and competitors and then uses OpenAI (GPT-4o) to structure the findings, score market and competition, and generate differentiation and moat notes. Uses OpenAI (GPT-4o mini) to validate demand, risks, and go-to-market approach, then computes a composite score and recommendation. Uses OpenAI (GPT-4o) to write a full business plan, saves it to a Google Doc, appends a summary row to Google Sheets, and sends the Google Doc link
Answer support FAQs with Google Gemini, Supabase, Google Sheets and WhatsApp
Quick overview This workflow ingests FAQs from Google Sheets into a Supabase vector table using Google Gemini embeddings, then serves a webhook-based support chatbot that answers only from that FAQ knowledge base and escalates unanswered questions to a human via UltraMsg WhatsApp. How it works Runs manually to pull FAQ rows (Question/Answer) from a Google Sheets spreadsheet. Formats each row into a single text document (for example, Q: … A: …), generates embeddings with Google Gemini, and inserts the documents into a Supabase vector store table. Receives incoming chat messages via a POST webhook that includes message and sessionId. Uses a Google Gemini chat model with session-based memory to query the Supabase vector store for the most relevant FAQ matches and generates a reply strictly from the retrieved content. If the agent output indicates escalation to a human, sends the full message content to UltraMsg via an HTTP request to alert a WhatsApp number. Returns a JSON response to the webhook caller with either the FAQ-based answer or a confirmation that a human agent has been notified. Setup Add credentials for Google Gemini (PaLM) API, Supabase, and Google Sheets OAuth2. In Supa
Monitor new template releases with OpenAI and log insights to Telegram and Google Sheets
Quick overview This workflow runs daily to check the public n8n Templates API for newly published templates in a chosen category, generates improvement suggestions with OpenAI, logs each new template to Google Sheets, and sends a Telegram digest (with an optional all-clear message when nothing new is found). How it works Runs every day at 9 AM on a schedule. Fetches the latest templates for the configured category from the n8n Templates API. Extracts key metadata for each template and compares template IDs against a stored “seen” list to detect newly published items. For each new template, sends its details to an OpenAI chat model to generate 4–6 business-focused improvement tips. Appends one row per new template (including the AI tips and metadata) to a Google Sheets spreadsheet. Builds a combined digest of all new templates and posts it to a Telegram chat, or sends an optional all-clear message when no new templates are found. Setup Add an OpenAI API credential and select the model to use for the analysis. Add a Google Sheets OAuth credential, then choose the target spreadsheet and sheet tab and ensure the header columns match the fields being appended. Add a Telegram bot credent
Protect Gmail AI email workflows from prompt injection with Gemini and Sheets
Quick overview This workflow monitors Gmail for new support-style emails, scans them for prompt-injection signals, and only then sends safe messages to Google Gemini for structured triage. It logs outcomes to Google Sheets and creates Gmail drafts either for a safe reply or for manual human review. How it works Triggers every 5 minutes when a new Gmail message matches the configured query filter. Normalizes the email metadata and cleans the body text to create a consistent input for safety checks. Scores the email for prompt-injection risk using keyword and pattern matching and labels it as safe, review, or high risk. If the email is high risk, it skips Google Gemini, logs the event to Google Sheets, and creates a Gmail draft to request manual review. If the email is safe or review-level, it sends the email (wrapped as untrusted content) to Google Gemini to return a strict JSON triage including summary, intent, requested action, and a safe reply draft. Logs the Gemini results and final safety status to Google Sheets, then creates either a Gmail reply draft to the sender or a Gmail draft for the reviewer when human review is required. Setup Add credentials for Gmail, Google Gemini,
Track asset warranty deadlines with Google Sheets, Gmail, Todoist, Slack, and OpenAI
Quick overview This workflow runs daily to read an asset register from Google Sheets, calculate warranty expiry dates, and escalate upcoming deadlines via Gmail, Slack, and Todoist, while using OpenAI to draft vendor negotiation emails for high-value assets and updating expired items back in the sheet. How it works Runs every day at 08:30. Reads all assets from a Google Sheets register and calculates each item’s warranty expiry date and days remaining from the purchase date and warranty months. For already-expired assets, updates the Google Sheets register to set the status to “warranty expired.” For assets expiring within 7 days, posts an urgent Slack message and creates a Todoist task due on the warranty expiry date. For assets expiring within 30 days, emails the asset owner via Gmail asking them to choose whether to extend, replace, or let the warranty lapse. For 30-day warnings where the asset value is at least 2000, uses OpenAI to draft a vendor warranty-extension negotiation email and saves it as a Gmail draft for review. Setup Create a Google Sheets asset register with columns for asset, owner_email, purchase_date, warranty_months, vendor, value, and status. Add credentials
Triage Gmail and draft replies with Ollama, Telegram and Google Sheets
Quick Overview This workflow pulls unread Gmail messages, uses a local Ollama Llama 3.1 model to classify and extract action items, drafts a reply, and sends an approval request to Telegram before creating a threaded Gmail draft and logging the decision to Google Sheets. How it works Runs manually and fetches up to 10 unread emails from Gmail. Normalizes each email into a consistent structure (sender, subject, body, message ID, and thread ID) and classifies it with Ollama into urgent, action_needed, fyi, or spam. Continues only for emails classified as urgent or action_needed and marks all other categories as skipped. For actionable emails, uses Ollama to extract a task title and deadline and to draft a short professional reply as structured JSON. Sends the classification, extracted task/deadline, and draft reply to Telegram and waits for you to approve or decline. If approved, creates a Gmail draft reply in the original thread, adds a Gmail label (STARRED), and logs the approval/rejection plus details to Google Sheets. Setup Connect your Gmail OAuth2 credential and ensure it has permission to read messages, create drafts, and add labels. Install and run Ollama, pull the llama3.1:l
Run a Telegram RAG support chatbot with OpenAI, Pinecone, and Google Sheets
Quick overview This workflow turns a Telegram bot into a multi-modal support chatbot that accepts text, voice, images, and PDFs, converts them to text, retrieves relevant knowledge from Pinecone using OpenAI embeddings, generates a grounded answer with OpenAI Chat Completions, and logs each conversation to Google Sheets. How it works Triggers when a new message is received by your Telegram bot. Detects whether the message is text, a voice note, a photo, a PDF document, or an admin-only /ingest command, and extracts the needed user and file identifiers. For voice, image, and PDF inputs, downloads the file from Telegram and converts it into text using OpenAI Whisper, OpenAI Vision, or PDF text extraction. Builds a single query text from the normalized input and creates an embedding with the OpenAI Embeddings API. Queries Pinecone for the top 3 most relevant knowledge base chunks and assembles them into a context block. Sends the query and retrieved context to the OpenAI Chat Completions API to generate an answer constrained to the provided knowledge. Sends the reply back to the user in Telegram and appends a conversation log row (including session ID and chunk count) to Google Sheets
Draft LinkedIn posts from RSS feeds with OpenAI, Google Sheets and Slack
Quick overview This workflow runs daily at 7am, reads an RSS feed, uses OpenAI to score articles for niche relevance and draft LinkedIn posts, then appends approved candidates to a Google Sheets review queue and notifies a Slack channel. How it works Runs every day at 7:00 AM on a scheduled trigger. Reads items from the configured RSS feed and keeps only articles published in the last 24 hours. Limits the list to the first five recent articles to reduce processing volume. Uses OpenAI to score each article’s relevance (0–10) and generate an angle and hot take in structured JSON. Filters to only the articles with relevance scores of 7 or higher. Uses OpenAI to write a 120–180 word LinkedIn draft in your specified voice based on the article, angle, and hot take. Appends the draft and metadata to a Google Sheets “Drafts” tab and posts a notification to a Slack channel for review. Setup Add OpenAI credentials for both OpenAI nodes and customize the audience/beat and voice instructions in the prompts. Add a Google Sheets OAuth credential, set the spreadsheet ID, and ensure a “Drafts” sheet exists with matching columns (Date, Angle, Status, Relevance, Draft Post, Source Link, Source Title
Triage Japanese freelance gig emails with Gmail, Gemini, Sheets, Drive, and Calendar
Quick overview This workflow monitors Gmail for Japanese side-gig inquiries, flags risky wording, and uses Google Gemini to extract details and score each request. It logs every opportunity to Google Sheets, then drafts an accept/clarify/decline reply and, for accepted work, creates a Drive folder, Docs templates, and a Calendar block. How it works Triggers every minute when a new Gmail message matching the configured Japanese inquiry search query arrives. Cleans and normalizes the email content, detects the likely source platform, and checks the subject/body for Japanese red-flag keywords to produce an initial risk score. Sends the normalized email plus freelancer settings to Google Gemini to extract structured project details, scores, red flags, and Japanese draft replies. Combines Gemini’s scores with keyword-based risk signals to decide accept/hold/decline, calculates a recommended minimum price from your hourly rate and minimum fee, and generates a project ID and safe project title. Appends the opportunity (scores, decision, red flags, and draft text) to a Google Sheets tracking spreadsheet. Routes by decision to create a Gmail draft for clarification questions (hold) or a pol
Extract and validate invoice data with Google Gemini and Google Sheets
Quick overview This workflow accepts an invoice file via an n8n chat trigger, uses Google Gemini to extract structured invoice data, validates it against an existing Google Sheets log, appends valid line items to the sheet, and sends a formatted confirmation or failure alert via Gmail. How it works Receives a chat message with an uploaded invoice document. Uses Google Gemini to extract the vendor, invoice number, date, total amount, and all line items as a clean JSON object. Converts the extracted JSON into per-line-item records, builds an HTML invoice summary for email, and loads existing rows from Google Sheets for comparison. Validates each item by checking for missing critical fields and whether the invoice number already exists in Google Sheets. If validation passes, appends each line item as a new row in Google Sheets and then prepares a summary of the inserted data. Sends a Gmail message with the formatted HTML invoice breakdown when processing succeeds, or sends a Gmail alert email explaining the validation failure. Setup Add Google Gemini (PaLM) API credentials and ensure the chat trigger allows file uploads so the invoice is available as binary input. Connect Google Sheet
Handle real estate SMS inquiries with Twilio, Google Sheets, Gemini, and Calendar
Quick overview Youtube Explanation: https://youtu.be/e_07nGFmVs0 This workflow replies to inbound Twilio SMS messages with property details and viewing scheduling help by looking up leads and properties in Google Sheets, using a Google Gemini agent with Redis chat memory, and checking/booking appointments in Google Calendar. How it works Receives an inbound SMS via Twilio. Looks up the sender’s mobile number in a Google Sheets “leads_info” spreadsheet and appends/updates the lead record if it does not exist, extracting a 4-digit property code from the message when available. Splits any saved semicolon-separated property IDs into individual lookups, fetches matching property rows from a Google Sheets “Property details” spreadsheet, and compiles a summary of found vs. missing property codes. Sends the user message, lead context (saved property IDs and email), current time, and the property-lookup results to a Google Gemini chat agent with Redis-backed conversation memory. Lets the agent optionally use tools to fetch additional property info from Google Sheets, update the lead’s email or interested property IDs in Google Sheets, and check or create viewing events in Google Calendar. S
Draft Google review reply emails with Gmail, OpenAI, and Google Sheets
Quick Overview This workflow monitors Gmail for Google Business Profile “new review” alert emails, uses OpenAI to extract the rating and review text and draft a policy-safe reply, then emails the draft to you and logs the review and reply draft to Google Sheets. How it works Triggers when a new Google Business Profile review notification email arrives in Gmail. Looks up the email’s message ID in a Google Sheets ledger to prevent drafting duplicate replies. Sends the email content and your configured business details to OpenAI to extract the rating, reviewer first name, and review text and generate a reply draft as structured JSON. Emails you a formatted message containing the review excerpt, the suggested reply, and a link to your Google reviews page. Appends a new row to Google Sheets with the message ID, extracted review details, the reply draft, a timestamp, and a “draft-sent-to-owner” status. Setup Connect your Gmail account and ensure Google review alerts are delivered from [email protected]. Add an OpenAI API key/credential and select the chat model in the OpenAI node. Create a Google Sheets “reply ledger” with columns like processed_at, gmail_message_id, rat
Vet community membership applications with Google Gemini, Telegram, and Sheets
Quick overview This workflow collects community membership applications via an n8n Form, vets each candidate with Google Gemini using Tavily web search and an Apify LinkedIn lookup, requests human approval in Telegram when needed, sends invite or rejection emails via Gmail, and logs outcomes to Google Sheets. How it works Receives a submission from an n8n Form that captures applicant details such as name, email, company, role, birthday, and additional notes. Normalizes the submitted fields and passes the candidate profile to a Google Gemini-powered AI Agent that can use Tavily web search, an Apify LinkedIn search actor, a calculator, and short-term memory. Produces a structured vetting result (including summary, decision status, and a community-fit score) using a structured output schema. If the AI decision is “Immediate approval”, sends the candidate summary to Telegram and waits for a response before continuing. If the AI decision is not “Immediate approval”, sends the summary to Telegram and asks the reviewer to reply with 1 (approve), 2 (reject), or 3 (do nothing). Sends an approval/invite email or a rejection email via Gmail based on the Telegram response, or stops without act
Assist hospital doctors via Telegram with OpenAI, Google Sheets, Gmail and Slack
Quick overview This workflow combines a Telegram doctor bot, OpenAI, Google Sheets, Gmail, Slack, and a webhook to summarize PDF reports, generate and email discharge summaries, analyze lab values, report bed availability, send daily patient follow-ups, and post error alerts. How it works Runs every day at 9:00 AM to read patient records from Google Sheets, filter those due for follow-up today with a Pending status, send each patient a Telegram check-in, and mark the follow-up as Sent. Triggers when a doctor sends a Telegram message and routes it based on whether it includes a document or a supported command. If a PDF is attached, downloads it from Telegram, extracts the text, uses OpenAI (gpt-4o-mini) to create a short clinical summary, logs the result to a Google Sheets Reports tab, and replies to the doctor on Telegram. If the message starts with "/discharge PATIENTID", extracts the patient ID, looks up the patient in the Google Sheets Patients tab, uses OpenAI (gpt-4o-mini) to generate a discharge summary, saves it back to Google Sheets, emails it to the patient via Gmail, and confirms completion on Telegram. If the message starts with "/labs", sends the provided lab values to
Send ranked freight quote PDFs with GPT-4o, Google Sheets, Gmail and PDFShift
Quick overview This workflow receives shipment requests via webhook, pulls carrier rate data from Google Sheets, uses OpenAI GPT-4o to generate a ranked HTML freight quote, converts it to a PDF with PDFShift, and emails the PDF to the customer via Gmail, with Slack alerts on workflow errors. How it works Receives a POST webhook request containing shipment details like origin, destination, weight, mode, and customer contact information. Reads rate information in parallel from three carrier tabs in a Google Sheets spreadsheet (BlueDart, DTDC, and Delhivery). Combines the carrier results and calculates per-carrier total cost based on the shipment weight. Sends the shipment and carrier data to OpenAI GPT-4o to generate a complete HTML quote page with a ranked comparison table. Converts the generated HTML into an A4 PDF file using the PDFShift API. Emails the PDF quote to the customer using Gmail with a prefilled subject and message. If the workflow fails, posts an error alert message to a Slack channel. Setup Configure the webhook path in n8n and copy the production webhook URL into the system that submits shipment requests. Add Google Sheets OAuth2 credentials and ensure the reference
Validate invoice tax compliance from Gmail using Groq, Notion, and Google Sheets
Quick overview This workflow monitors a Gmail inbox for PDF invoices, uses Groq (Llama 3.3) to extract structured invoice fields, validates the invoice against Purchase Orders in Google Sheets and tax rules in Notion, logs an audit entry to Notion, and notifies Slack and the supplier based on pass/fail. How it works Triggers every minute when a new email arrives in Gmail and downloads the attached PDF invoice. Extracts text from the PDF and sends it to Groq (Llama 3.3) to parse invoice fields into a structured JSON schema, including SEZ/LUT detection. Looks up the referenced PO number in Google Sheets and fetches applicable tax rules from a Notion database. Validates the invoice against the PO (existence, approval status, currency, and total amount) and against Notion tax rules (SEZ/import/domestic matching and GST expectations). Writes the compliance result, matched rule, and any violations to a Notion “Compliance Audit Log” database. If the invoice passes, posts an approval message to Slack and archives the PDF to a Google Drive folder. If the invoice fails, posts a blocking alert to Slack and emails the supplier a rejection notice listing the violations. Setup Connect your Gmail
Track meal nutrition from photos with LINE, Google Gemini and Google Sheets
Quick Overview This workflow receives meal photos via LINE, uses Google Gemini to estimate nutrition facts and generate advice, stores the photo in Google Drive, logs the results to Google Sheets, and replies to the user in LINE with a formatted analysis. How it works Receives a POST webhook event from LINE when a user sends a message. Checks whether the incoming LINE message contains an image and stops processing if it does not. Downloads the image content from the LINE Messaging API and sends it to Google Gemini to identify foods, estimate nutrition values, and generate health guidance. If the AI response indicates the image is not food, sends a LINE push message asking the user to submit a clearer meal photo. If the AI response is valid, parses the returned text into structured fields (food items, macros, calories, score, and advice) and calculates remaining calories based on a daily goal. Uploads the meal photo to Google Drive, appends the nutrition log (including the Drive image URL) to Google Sheets, and sends the formatted nutrition summary back to the user via LINE. Setup Create a LINE Messaging API channel, enable the webhook, and add the workflow’s webhook URL (the /MealT
Re-engage dormant real estate leads with Google Sheets, Gemini and Gmail
Quick Overview This workflow runs daily to find dormant real estate leads in Google Sheets, uses Google Gemini to draft personalized winback emails, sends them via Gmail, updates the lead records, and then posts a run summary digest to Gmail and optionally to Slack. How it works Runs every day at 8am on a schedule. Pulls all lead records from a Google Sheets spreadsheet. Filters to leads that have an email address, are not marked “Do Not Contact,” and have not been contacted in at least 30 days. Processes each dormant lead in turn by prompting Google Gemini to generate a short re-engagement email subject and body based on the lead’s name, property interest, and days since last contact. Sends the generated message to the lead via Gmail and updates the corresponding row in Google Sheets (for example, tracking status and re-engagement attempt count). Aggregates the run results and sends a summary digest to a specified Gmail address and to a Slack channel. Setup Connect credentials for Google Sheets, Gmail, and Google Gemini (PaLM) API. Select the Google Sheets document and sheet name for both the lead fetch and lead update steps, and ensure your sheet includes fields like Email, Statu