Google Sheets Workflows
4.090 Ergebnisse — 488 herunterladbare Workflow-Dateien, 3.602 quellenverknüpfte n8n-Referenzen
Transcribe Google Drive audio to markdown with Gladia and Google Sheets
Quick overview This workflow watches a Google Drive folder for new audio files, sends them to Gladia for asynchronous transcription, saves the resulting Markdown transcript back to Google Drive, and appends a success or failure record (with a link and details) to a Google Sheets log. How it works Triggers every minute when a new file is created in a specific Google Drive folder. Downloads the new file from Google Drive and uploads the binary audio to Gladia. Starts a Gladia pre-recorded transcription job and waits a configurable interval before checking status. Polls Gladia for the job result until the status is "done", an error is returned, or the maximum attempt limit is reached. When completed, formats the transcript into a Markdown file (including metadata and speaker utterances when available) and uploads it to a target Google Drive folder. Appends a row to Google Sheets with the timestamp, source file name, duration, status, transcript link, and a short preview, or logs a failure row with the error or timeout reason. Setup Add Google Drive OAuth2 credentials and set the source folder ID to watch and the destination folder ID where transcripts are saved. Create a Gladia HTTP H
Send LemonSqueezy subscription alerts to Slack, Discord, Telegram and log them in Google Sheets
Quick overview Get an alert in Slack, Discord or Telegram within seconds every time a LemonSqueezy subscription is created, cancelled, expires or a payment fails, plus a running log of every event in Google Sheets. How it works Receives a POST webhook from LemonSqueezy with the raw request body. Computes an HMAC signature for the raw body and compares it to LemonSqueezy’s x-signature header, stopping if they don’t match. Parses the webhook JSON and extracts the event name from the headers or payload metadata. Normalizes subscription and payment payloads into flat fields like customer email, product, plan, status, amount, and currency. Appends the normalized event to Google Sheets as an event log. If the event is not subscription_updated, sends an alert message to Slack, Discord, and/or Telegram with the key event details. Setup In LemonSqueezy, create a webhook pointing to this workflow’s Production webhook URL and set a signing secret. Configure the Crypto credential/secret used for the HMAC calculation so it matches your LemonSqueezy webhook signing secret exactly. Set up at least one alert destination: connect Slack OAuth and choose a channel, or provide a Discord webhook URL, o
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
Score draft content citability with GPT-4o-mini and Google Sheets
Quick overview This workflow manually scores draft content for AI citability using OpenAI GPT-4o-mini and logs detailed, evidence-backed results to Google Sheets, either from pasted draft text or by fetching and cleaning a provided page URL. How it works Starts when you run the workflow manually. The workflow reads drafts from the content tab of your Google Sheet (content_id, title, brand, target_query, draft_text). A Code node validates each row, computes word count, and builds the full judge payload. The complete anchored rubric lives in this node, so the entire scoring methodology is readable in one place. One HTTP call per draft sends the rubric and draft to gpt-4o-mini (temperature 0, JSON mode, retries with backoff). The rubric anchors describe what a 90, 70, 50, and 30 look like on each dimension, so the judge grades against fixed criteria. A second Code node parses the judge output, clamps each score to 0-100, computes the weighted composite (Answer Structure 40%, Entity Clarity 30%, Factual Density 30%), and assigns the verdict band: 80+ publish, 60-79 revise, below 60 rework. Results append to the scores tab with the run date, per-dimension scores, the top 3 fixes, the ju
Enrich Google Maps business leads with Scrapeer and Google Sheets
Quick Overview This workflow runs a saved Scrapeer Google Maps Leads flow on a daily schedule (or manually), enriches each business with detail-page data, and appends the normalized lead fields to a Google Sheets tab. How it works Runs either manually or every day at 08:00 using the schedule trigger. Sets the Google Maps search parameters (search query, location, max results) and the target spreadsheet name for the run. Calls Scrapeer to run a selected Google Maps Leads flow with those input variables and waits for the results. Attaches the original search context to the Scrapeer output for traceability. Parses and deduplicates the returned leads, normalizes fields like rating and review count, and formats phone numbers as sheet-safe text. Appends one row per lead to Google Sheets with columns such as name, category, rating, reviews, address, phone, website, and Google Maps URL. Setup Create (or choose) a Google Sheets spreadsheet with a “Leads” tab and columns: Scraped At, Search Query, Location, Name, Category, Rating, Reviews, Address, Phone, Website, and Google Maps URL. Add a Google Sheets Service Account credential in n8n and select the target spreadsheet and sheet tab in the
Extract business card contacts with LDX hub Gemini AnalyzeDoc and Google Sheets
Quick overview This workflow collects a business card photo/scan through an n8n form, uses LDX hub AnalyzeDoc (Gemini) to extract contact details as structured JSON, and appends the resulting fields as a new row in Google Sheets. How it works Receives a business card file upload (PDF/JPG/PNG) through an n8n form submission. Sends the uploaded file to LDX hub AnalyzeDoc using the Gemini model and a fixed schema prompt to extract contact fields as JSON. Parses the extracted JSON into individual fields like name, company, email, phone numbers, and address. Appends the extracted fields as a single new row in the selected Google Sheets worksheet. Setup Install the community node n8n-nodes-ldxhub and add an LDXhub API credential with your API key. Add a Google Sheets OAuth2 credential and select the target spreadsheet and worksheet in the append step. Create (or match) a header row in your sheet for full_name, job_title, company, department, email, phone, mobile, address, website, notes so the auto-mapping writes to the correct columns.
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
Track positive Instagram comment sentiment with OpenAI, Google Sheets, and Gmail
Quick overview This workflow runs twice daily to fetch recent Instagram post comments via the Instagram Graph API, uses OpenAI to classify sentiment, saves new positive comments to Google Sheets, and emails an HTML digest of the day’s positive comments to your team using Gmail. How it works Runs every day at 9 AM to fetch the most recent Instagram media posts from the Instagram Graph API. Pulls up to a set number of comments per post and enriches each comment with post context like the permalink. Sends each comment to OpenAI Chat Completions to classify it as POSITIVE, NEUTRAL, or NEGATIVE with a score. Filters to keep only non-empty comments classified as POSITIVE. Checks Google Sheets for an existing row with the same Instagram comment ID to prevent duplicates. Appends new positive comments to a Google Sheets tab for later reporting. Runs every day at 8 PM to read the saved rows from Google Sheets, build a formatted HTML summary for today, and send the digest email via Gmail. Setup Create a Facebook app with Instagram Graph API access and provide a long-lived access token plus your Instagram Business Account ID in the workflow’s configuration step. Add an OpenAI API credential fo
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
Track SIP goals with OpenAI ChatGPT, Gmail and Google Sheets
Quick Overview This workflow collects SIP and mutual fund details via an n8n Form, calculates goal and performance metrics, generates a personalized advisory using OpenAI, emails a color-coded HTML report via Gmail, and appends each submission to a Google Sheets log for ongoing tracking. How it works Receives an investor submission through an n8n Form with SIP, fund, and goal details. Calculates months invested, total invested, returns, an approximate CAGR, goal completion percentage, and an estimated monthly top-up needed to reach the goal. Sends the calculated metrics to OpenAI Chat Completions to generate a structured, plain-English advisory (including ELSS 80C context when applicable). Parses the AI response with a fallback advisory if parsing fails, and assigns colors for performance, returns, and goal progress. Builds a color-coded HTML email report with KPI cards, a goal progress bar, and the advisory sections. Appends the submission and calculated metrics to a Google Sheets “SIP Log” tab and emails the report to the investor via Gmail. Setup Add an OpenAI API credential and ensure the OpenAI Chat Completions endpoint is accessible from your n8n instance. Connect Google Shee
Onboard employees and manage Slack access with Google Sheets and Gmail
Quick Overview This workflow automates HR onboarding by capturing new hires via a webhook, saving them to Google Sheets, emailing a Slack invite via Gmail, and notifying managers in Slack, then listening for Slack team_join events to add new hires to department channels and update onboarding status. How it works Receives a POST webhook request from an HR form with new employee details and validates required fields. Appends the employee record to a Google Sheets spreadsheet and assigns a department-based list of Slack channels plus a static Slack invite link. Sends the new hire a welcome email through Gmail containing their start details and the Slack workspace invite link. Sends a Slack direct message to a manager user with the new hire details and the channels they will be added to, then updates the Google Sheets row to “Invite Sent” with a timestamp and responds to the HR form. Receives Slack Events API requests for the workspace and replies to url_verification challenges or immediately acknowledges real team_join events within 3 seconds. Extracts the joining user’s Slack ID and email, looks up the matching employee row in Google Sheets, and resolves the department’s target chann
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
Enrich LinkedIn leads with Unipile and Google Sheets
Quick overview Automatically search LinkedIn for prospects using Unipile's API, enrich each profile with full details, and sync leads into a Google Sheet CRM — runs daily on a schedule with rate limiting, deduplication, and error logging built in. How it works A daily Schedule Trigger fires at 08:00 and loads your search config — Unipile DSN, LinkedIn account ID, target keywords, and daily safety limits — into all downstream nodes. Unipile's Search API (POST /api/v1/linkedin/search) runs a keyword search across Classic, Sales Navigator, or Recruiter LinkedIn and auto-paginates via cursor up to a configurable page limit. Search results are split into individual profile items, de-duplicated by LinkedIn profile ID to prevent processing the same person twice across pages. A Limit node caps total profiles per run to protect your daily LinkedIn quota — Unipile recommends staying under 100 profile look-ups per account per day. Each profile is enriched with full details via GET /api/v1/users/{id}?linkedin_sections=*, processed in batches of 5 with a 3-second pause between calls to respect rate limits. A Set node maps the Unipile response to 12 clean CRM columns — name, headline, title, com
Upscale and watermark real estate photos with Google Drive, Gemini, and Sheets
Quick overview Youtube Explanation: https://youtu.be/tDiR50VJslY This workflow watches a Google Drive folder for new property photos, checks Google Sheets to avoid reprocessing, upscales the image using the Google Gemini API, applies a logo watermark, then uploads the final image to a processed folder and logs the result back to Google Sheets. How it works Triggers every minute when a new file is created in a specific Google Drive folder. Looks up the file name in Google Sheets to see whether the image is already marked as processed. If no processed row exists, downloads the image from Google Drive and extracts its binary data. Sends the image to the Google Gemini (Generative Language) API to enhance and upscale it, then converts the returned base64 image into a binary file. Downloads a watermark logo from a public URL, calculates a bottom-right placement based on the image and logo dimensions, and composites the logo onto the upscaled image. Uploads the watermarked image to a target Google Drive folder and appends or updates a matching row in Google Sheets to mark it as processed. Setup Connect Google Drive OAuth2 credentials and set the source folder to watch and the destination
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
Register event attendance via webhook with Google Sheets and Gmail
Quick overview This workflow powers a QR code-based event attendance system. A presenter displays a QR code (generated via the companion web app) which participants scan with their phones. Scanning opens a registration form pre-filled with the Event ID; on submission, the form POSTs to this webhook. How it works Receives a POST request via a webhook secured with Basic Auth. Validates the request body (name, email format, and optional role/event/day) and generates a timestamp plus a target Google Sheets tab name. If validation fails, returns an error JSON response to the caller. Reads all existing rows from the Google Sheets tab for the selected day and checks whether the email address is already registered. If the email is a duplicate, returns an “already registered” JSON response. If the email is new, appends the attendee details to Google Sheets, sends a confirmation email through Gmail, and returns a success JSON response. Setup Configure the webhook Basic Auth credentials and share the webhook URL with the form/app that submits attendance data. Add Google Sheets OAuth2 credentials and update the spreadsheet ID and ensure each day has a matching tab name (for example, “Day 1” ma
Track brand visibility in ChatGPT results with OpenAI and Google Sheets
Quick overview This workflow runs weekly, reads buyer-style queries from Google Sheets, asks OpenAI Chat Completions (ChatGPT) each query three times, judges whether your brand is mentioned, and writes per-query visibility metrics and a 0–100 score back to a Google Sheets results tab. How it works Runs every week on a schedule trigger. Reads the query set (query, brand, and competitors) from a Google Sheets tab named queries. Duplicates each query into three sample runs to account for variation in OpenAI responses. Sends each sample query to OpenAI Chat Completions (gpt-4o-mini) to generate an answer at temperature 1. Sends the generated answer to a separate OpenAI Chat Completions judge call (gpt-4o-mini) at temperature 0 to extract structured JSON about brand mention, rank, sentiment, recommendation, and competitors mentioned. Aggregates the three judged samples per query to compute inclusion rate, average rank/sentiment, and a weighted 0–100 visibility score. Appends the per-query results (including the run date and metrics) to the results tab in Google Sheets. Setup Add an OpenAI credential for HTTP Header Auth using Authorization: Bearer . Add a Google Sheets credential with a
Explain prescription PDFs for patients with GPT-4o-mini, Gmail and Google Sheets
Quick overview This workflow collects a patient’s prescription PDF via an n8n form, extracts its text, uses OpenAI (gpt-4o-mini) to generate a plain-language medicine-by-medicine explanation in the chosen language, emails the result via Gmail, and logs each processed prescription to Google Sheets. How it works Receives a form submission with the patient’s name, email, preferred language, optional doctor/health notes, and a prescription PDF upload. Extracts selectable text from the uploaded PDF. Validates required fields, checks that the PDF contains readable text, and truncates/cleans the extracted content for the AI prompt. Sends the prescription text and context to OpenAI Chat Completions (gpt-4o-mini) and requests a structured JSON explanation of each medicine in the selected language. Parses and validates the returned JSON, ensuring at least one medicine is found and merging the AI output with the patient context. Appends an audit row (date, patient details, doctor, medicine count, language, status, processed time) to a Google Sheets “Log” worksheet. Builds a formatted HTML email with the medicine explanations and disclaimer, then sends it to the patient using Gmail. Setup Add
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
Route ecommerce review alerts from Gmail to Slack with OpenAI and Google Sheets
Quick Overview This workflow polls Gmail for unread ecommerce review notification emails, extracts key review details, checks Google Sheets to prevent duplicate processing, uses OpenAI to classify sentiment and urgency, posts routed alerts to Slack, and logs each processed review and its AI metadata back to Google Sheets. How it works Polls Gmail every minute for unread emails with the “Reviews” label. Extracts the message ID, received time, customer details, product name, star rating, and review text from the email content. Reads the existing review audit log from Google Sheets and skips processing if the message ID already exists or the review text is too short. Sends the review details to OpenAI to return a JSON classification with sentiment, urgency, themes, summary, suggested action, and a sentiment score. Routes the review based on sentiment and urgency, escalating low-star or high-urgency negative reviews and optionally notifying on positive reviews. Posts a formatted alert to the selected Slack channel when notification is enabled. Appends the review (including route, AI fields, and whether Slack was notified) to Google Sheets as an audit log. Setup Create a Gmail label (fo