AI Automation
923 results — all source-linked n8n references
Monitor procurement spend and risks with Google Sheets, Groq Llama and Gmail
Quick Overview This workflow runs every 15 minutes to pull procurement transactions and department budgets from Google Sheets, calculate spend utilization and forecasts, generate executive risk insights with Groq Llama, write dashboard records back to Google Sheets, and email critical-risk alerts via Gmail. How it works Runs every 15 minutes on a schedule. Reads procurement transactions and department budget/threshold data from Google Sheets and combines them by department. Aggregates spend per department, calculates utilization, remaining budget, projected monthly spend, vendor counts, pending transactions, and assigns SAFE/WARNING/CRITICAL risk levels. Uses Groq (Llama 3.1) to generate an executive-friendly risk analysis and recommendations for each department based on the calculated metrics. Builds organization-wide dashboard totals (spend, projections, alert counts, highest-spend and top-risk departments) and attaches workflow metadata. Formats the results into executive summary, department insight, and risk alert records and appends them into separate Google Sheets tabs. Sends a Gmail escalation email when a CRITICAL risk alert record is detected. Setup Connect Google Sheets O
Triage Gmail and draft email replies with OpenAI, Slack, and Google Sheets
Quick overview This workflow polls your Gmail inbox every 15 minutes, uses OpenAI to classify unread emails as URGENT, STANDARD, or SPAM, drafts reply emails for non-spam messages, posts a review notification to Slack, and logs spam messages to Google Sheets. How it works Runs every 15 minutes on a schedule and fetches up to 20 unread messages from your Gmail Inbox. Marks each fetched Gmail message as read and extracts key fields (sender, subject, snippet, body text, thread ID) for processing. Sends the email content to OpenAI to return a strict JSON classification (category, action label, priority note, and suggested subject). Routes SPAM messages to Google Sheets to append a row in a “Spam Log” sheet and stops further processing for those emails. Sends URGENT and STANDARD messages to OpenAI to generate a concise, plain-text reply draft in your writing style. Saves the generated reply as a Gmail draft in the original thread and posts a Slack message with the triage details so you can review and send. Setup Connect a Gmail OAuth2 credential and ensure the workflow has access to read Inbox messages, mark them as read, and create drafts. Add an OpenAI credential and customize the two
Run AI employee onboarding with Groq, Google Workspace, and Gemini
Quick overview This workflow ingests onboarding documents from Google Drive into an in-memory vector store with Google Gemini embeddings, then runs a multi-channel onboarding chatbot powered by Groq, sends role-based welcome emails via Gmail when a new hire appears in Google Sheets, and schedules day 1/7/30 check-in emails. How it works Manually runs an ingestion flow that lists files in a specified Google Drive folder, downloads them, extracts text, and indexes them into an in-memory vector store using Google Gemini embeddings. Receives employee questions via n8n Chat (and optionally Slack or Telegram), normalizes the message into a single format, and rejects empty or overly long inputs. Uses a Groq LLM agent with per-user session memory to retrieve relevant excerpts from the in-memory company_docs knowledge base and generate a grounded answer, or directs the user to HR when no relevant content is found. Routes the assistant’s response back to the originating channel (n8n Chat, and optionally Slack or Telegram). Triggers every minute on updates to a Google Sheets “Hires” sheet, validates rows marked as Hired, and skips hires already present in the “Tracking” sheet. Builds a depart
Qualify Facebook lead ads and send follow-ups with Gemini, Gmail, and Sheets
Quick overview Turn every Facebook ad lead into a qualified, followed-up prospect within seconds. AI scores their intent, sends a personalized email tailored to their score, logs campaign intelligence to Google Sheets, and alerts you instantly to hot leads before they consider a competitor. How it works Receives a lead submission via an n8n webhook (or the disabled Facebook Lead Ads trigger). Extracts and normalizes contact details, qualification answers, and Facebook campaign metadata into a consistent lead record. Sends the lead details to Google Gemini to classify the lead as Hot/Warm/Cold and generate a personalized follow-up email. Parses and formats the AI output, falling back to a default email draft if the response cannot be parsed. If an email address is present, sends the AI-written follow-up email to the lead using Gmail. Appends the lead, AI score, reasoning, and campaign fields to a Google Sheets log. If the lead is scored Hot, notifies the agent via Gmail and Slack, then updates the Google Sheets row to mark the agent as notified. Setup Credentials needed: Add credentials for Google Gemini (PaLM/Gemini API), Gmail OAuth2, Google Sheets OAuth2, Slack OAuth2 (optional),
Send a daily AI-ranked job match digest with Anthropic and Gmail from 6+ boards
Quick Overview This workflow runs every morning to pull jobs from multiple free job boards (and optional Adzuna), filters and de-duplicates results, scores each role against your resume and preferences using Anthropic, then emails a ranked digest via Gmail. How it works Runs every morning at 08:00 using a schedule trigger. Builds a list of job board API URLs (RemoteOK, Remotive, Arbeitnow, Jobicy, Himalayas, TheMuse, and optional Adzuna) based on your search settings. Fetches job listings from each board over HTTP. Normalizes all responses into a single job format, applies your filters (title keywords, tags, locations/remote, salary, and excluded terms), and de-duplicates roles across boards. Sends your resume, preferences, and the short-listed jobs to an Anthropic-powered AI agent to return a structured fit score, fit reason, risk/concerns, and a tailored first-person pitch for each job. Keeps only roles at or above your minimum score, ranks them by score, and generates an HTML email digest with links and source board attribution. Sends the digest to your target address using Gmail. Setup Add an Anthropic API credential, select an Anthropic chat model, and keep the structured outp
Classify lead function and seniority in Google Sheets with Google Gemini
Quick overview This workflow reads contacts from Google Sheets, uses Google Gemini to classify each contact’s job function and seniority from their job title and company name, and writes the Function, Seniority, and Confidence Score back to the same sheet. How it works Starts manually when you click Execute workflow. Reads rows from a specified Google Sheets worksheet and maps your column headers to the workflow’s expected fields. Keeps only contacts that have a Job Title and no existing Seniority value. Normalizes job titles and company names, deduplicates identical Job Title + Company pairs, and batches the unique combinations to save LLM tokens. Waits between batches to respect rate limits, then sends each batch to Google Gemini to return Function, Seniority, and a confidence score for every original row ID. Parses Gemini’s JSON response and updates the matching rows in Google Sheets with Function, Seniority, and Confidence Score. Setup Add Google Sheets OAuth credentials and set the Google Document ID and Sheet ID in the Global Settings values. Add a Google Gemini (PaLM) API credential for the Google Gemini node. Ensure your sheet has columns for #, Job Title, Company Name (rec
Archive and index legal PDFs from Gmail with Gemini, Sheets and Google Drive
Quick Overview This workflow monitors Gmail for unread emails with PDF attachments, uses Google Gemini to extract Japan Electronic Books Preservation Act filing metadata, logs a searchable index in Google Sheets, and archives documents into Google Drive folders while notifying Slack when extraction or classification fails. How it works Polls Gmail hourly for unread emails that contain attachments and downloads the attached files. Extracts text from the first PDF attachment. Sends the extracted text to Google Gemini to pull out transaction date, counterparty, amount, and document type, and alerts Slack if the document text cannot be read. Builds an Act-compliant PDF filename from the extracted fields and checks that date, counterparty, and amount are all present. If required metadata is missing, posts a warning to a Slack channel to handle the document manually. If metadata is complete, appends a row to a Google Sheets “Document Index”, marks the Gmail message as read to prevent reprocessing, and uploads the PDF to the matching Google Drive folder (invoice/receipt/contract) or flags it in Slack if unclassified. Setup Connect credentials for Gmail, Google Gemini (PaLM) API, Google Sh
Match Japanese jGrants subsidies to your company with Gemini, Slack and Gmail
Quick Overview This workflow runs weekly to search the public jGrants API for open Japanese subsidies, scores each subsidy’s fit for your company using Google Gemini, logs results to Google Sheets, and notifies a Slack channel (and drafts a Gmail kickoff email) for strong matches. How it works Runs weekly on a schedule and loads your company profile details (industry, headcount, prefecture, investment plan, and search keyword). Calls the public jGrants subsidies API to retrieve currently accepting programs sorted by newest first, and posts to Slack if the search fails. Processes each returned subsidy individually and asks Google Gemini to produce a fit score, verdict (strong/possible/no), reasons, next steps, and a short summary. Normalizes the Gemini response into consistent fields, and posts to Slack if scoring fails for a subsidy. Upserts each scored subsidy into a Google Sheets tracker (keyed by subsidy ID) to avoid duplicates across weekly runs. Routes results by verdict: sends a detailed Slack alert and creates a Gmail draft for strong matches, posts a lightweight Slack message for possible matches, and flags unclear verdicts in Slack. Setup Add credentials for Google Gemini
Monitor Japanese business partners for registry changes with gBizINFO and Gemini
Quick Overview This workflow runs weekly to check Japanese business partners listed in Google Sheets against the gBizINFO corporate registry API, uses Google Gemini to assess the risk impact of detected changes, updates the stored partner snapshot, and escalates findings to Slack and Gmail based on materiality. How it works Runs every week on a schedule. Reads the partner list (including corporate numbers and last-known name/address) from Google Sheets. Queries the gBizINFO corporate registry API for each partner and posts a Slack message if the lookup fails. Compares the latest registry data to the stored snapshot to detect name, address, or closure/dissolution changes and continues only when changes are found. Sends the detected changes to Google Gemini to classify materiality (high/medium/low) with a short summary and recommended action, and posts a Slack message if the assessment fails. Updates the Google Sheets partner snapshot with the latest registry details so the change is recorded. Routes by materiality to notify Slack (medium/other), and for high materiality also posts a Slack alert and creates a Gmail draft requesting a credit review. Setup Create a Google Sheets spread
Monitor overtime risk against Japanese labour caps with Gemini, Sheets, Slack & Gmail
Quick Overview This workflow runs weekly to read attendance overtime from Google Sheets, totals it per employee and month, uses Google Gemini to classify risk against Japanese labour-law limits, writes results back to Sheets, and escalates high-risk cases via Slack and a Gmail draft. How it works Runs every week on a schedule. Loads configured Japanese overtime limits and fetches raw attendance rows from a Google Sheets “Attendance” worksheet. Aggregates overtime hours per employee per month. Sends each employee-month total to Google Gemini, which returns a structured risk level (over/approaching/ok) plus a short summary and recommended manager actions. Stores or updates the assessment in a Google Sheets “Overtime Status” worksheet keyed by employee and month. Posts to Slack when overtime is over the cap (and drafts a manager notice in Gmail), posts an early-warning Slack message when approaching the cap, and flags unclear or failed assessments to Slack for manual review. Setup Add credentials for Google Sheets OAuth, Google Gemini (PaLM) API, Slack OAuth2, and Gmail OAuth2. Create a Google Sheets spreadsheet with an “Attendance” sheet containing Employee (or Name), Month (or Date)
Chat with Google Docs and Sheets using a Claude AI agent
Quick Overview This workflow opens an n8n chat interface where an AI agent powered by Anthropic Claude answers questions by reading a connected Google Doc and/or Google Sheet on demand, using short-term conversation memory for follow-up questions. How it works Receives a user question through n8n’s built-in chat trigger. Uses an AI agent powered by Anthropic Claude to decide whether it needs to consult Google Docs, Google Sheets, or both. Reads the full text of the configured Google Doc when the question is about document content. Fetches rows from the configured Google Sheet tab when the question is about spreadsheet data. Answers in the chat based only on the retrieved Doc/Sheet content (or states the information isn’t present), while keeping the last 10 messages in memory for contextual follow-ups. Setup Add credentials for Anthropic (Claude), Google Docs, and Google Sheets. Replace YOUR_GOOGLE_DOC_ID_OR_URL with your target Google Doc URL or ID. Set the Google Sheet document ID and choose the tab (sheet name) to read in the Google Sheets tool. Confirm the connected Google account has access to both the Doc and the Sheet, then open the workflow chat and start asking questions.
Sort Gmail leads, meetings, and trash with OpenAI classification
Quick Overview This workflow monitors Gmail for new messages, applies rule-based pre-classification, and uses OpenAI to categorize ambiguous emails as lead, review, or trash, then applies Gmail labels and schedules automatic deletion for trash threads. How it works Triggers every 5 minutes when a new Gmail message is received. Fetches the full email content from Gmail and extracts key fields like sender, subject, body, and thread ID. Applies deterministic rules to classify emails as team, meeting, website form, trash (bulk/OTP), or unknown. Adds Gmail labels for team and meeting emails, and skips processing for website form submissions. Sends only unknown emails to OpenAI for classification into LEAD, REVIEW, or TRASH and parses the returned JSON safely. Labels lead and review emails in Gmail, and for trash emails calculates a deletion timestamp, labels them as pending deletion, waits until that time, and then moves the entire Gmail thread to trash. Setup Connect a Gmail OAuth2 credential and ensure the trigger and Gmail actions point to the correct mailbox. Add an OpenAI API credential and select a model in the OpenAI classification step. Replace the placeholder Gmail label IDs (T
Monitor competitor pricing page changes with OpenAI, Google Sheets and Slack
Quick overview This workflow checks competitor pricing pages each morning, compares the latest visible text to the previous snapshot stored in Google Sheets, and uses OpenAI to summarize meaningful changes before posting an alert to a Slack channel. How it works Runs every day at 08:00 on a schedule. Reads your configured list of competitor page URLs and processes each URL individually. Fetches each page’s HTML, extracts the visible body text, and trims it to a snapshot for comparison. Looks up the previous snapshot for the same URL in Google Sheets. If a previous snapshot exists and the content differs, OpenAI generates a 1–3 bullet summary of meaningful changes based on your watch criteria. Posts the change summary to Slack and then appends or updates the URL’s latest snapshot and “Last Checked” timestamp in Google Sheets. If no previous snapshot exists or no change is detected, it skips the Slack alert and only saves the current snapshot to Google Sheets. Setup Add credentials for Google Sheets, Slack, and OpenAI (Chat) and select the target Slack channel. Create or choose a Google Sheet with columns named URL, Content, and Last Checked, and set the Spreadsheet ID and sheet name
Triage Gmail and draft replies with GPT-5 Mini and Google Sheets
Quick overview This workflow watches your Gmail inbox for new unread emails, uses OpenAI (GPT-5 Mini) to classify each message by priority and category, logs the triage results to Google Sheets, and creates a Gmail draft reply only when the email needs a personal response. How it works Triggers every minute when a new unread email arrives in Gmail. Applies your configured preferences (name, role, categories, and drafting style) to guide the triage. Sends the email content to OpenAI (GPT-5 Mini) to return a structured priority, category, one-line summary, whether a reply is needed, and an optional draft reply. Appends or updates a row in Google Sheets with the email details and triage results. If the email needs a reply, creates a draft reply in Gmail in the same thread addressed to the original sender. Setup Connect your Gmail account (Gmail Trigger and Gmail Draft) and ensure the trigger is set to monitor unread mail as desired. Add an OpenAI credential and select the GPT-5 Mini chat model in the OpenAI node. Connect Google Sheets OAuth credentials, then set the target spreadsheet document ID and sheet name for the triage dashboard. Create a Google Sheet with columns for Date, Fro
Run a Telegram voice assistant with OpenAI GPT-5 Mini and Google Calendar
Quick overview This workflow turns a Telegram bot into a personal assistant that accepts text or voice notes, transcribes audio with OpenAI, uses a memory-enabled AI agent for replies and calculations, and creates Google Calendar reminder events from natural-language requests. How it works Triggers whenever a new Telegram message is received by your bot. Routes the message based on type, sending text directly to the assistant, voice notes to transcription, and other message types to a fallback reply. For voice notes, downloads the audio from Telegram and transcribes it to text using OpenAI. Sends the user’s text (typed or transcribed) to an OpenAI chat model powered agent that remembers the last 15 messages per chat and can use a calculator tool. When the user asks for a reminder or event, the agent creates a Google Calendar event with AI-generated title and start/end times. Sends the agent’s final response back to the originating Telegram chat. Setup Create a Telegram bot with @BotFather, add a Telegram credential in n8n, and enable updates for the Telegram Trigger. Add an OpenAI credential with access to the chat model and audio transcription used in the workflow. Add a Google Ca
Check Japanese ad copy compliance with Google Gemini, Sheets, Slack and Gmail
Quick Overview This workflow runs daily to review Japanese ad copy in Google Sheets using Google Gemini, writes compliance risk results back to the sheet, and alerts the right team in Slack (and drafts a Gmail revision request) based on high/medium/low risk. How it works Runs every day at 9:00 on a schedule. Reads ad copy rows from Google Sheets to find items that still need a compliance check. Sends each copy item to Google Gemini with the configured product category, target laws, and extra rules to generate a risk level, violations, and a compliant rewrite. Parses and normalizes the Gemini output into fields like risk level, violation count, and safe rewrite, and posts a Slack alert if the AI check fails. Updates the corresponding Google Sheets row with the compliance results to keep a record of the review. Routes the item by risk level and posts to Slack for legal blocking (high), marketing review (medium), publish-ready notification (low), or manual review when the result is inconclusive. For high-risk copy, also creates a Gmail draft requesting the author to revise the copy using the suggested compliant rewrite. Setup Add credentials for Google Sheets, Google Gemini (PaLM) API
Verify Japanese invoice registration numbers from Gmail using Gemini, NTA API, Sheets and Slack
Quick Overview This workflow monitors Gmail for unread invoice emails with PDF attachments, extracts invoice details with Google Gemini, verifies Japanese qualified invoice registration numbers against the National Tax Agency (NTA) Invoice Web-API, logs results to Google Sheets, and sends Slack alerts for invalid, missing, or inconclusive checks. How it works Polls Gmail hourly for unread emails matching “has:attachment invoice” and downloads the first attachment. Extracts text from the attached invoice PDF. Uses Google Gemini to parse the invoice text into structured fields such as the T-registration number, issuer name, invoice date, and amounts. Normalizes and validates the registration number to ensure it matches the required “T + 13 digits” format. If the format is valid, calls the NTA Invoice Web-API to verify the registration number and interprets the response as valid, invalid, or not found. Appends the invoice details and verification status to a Google Sheets worksheet. Routes the outcome by sending the appropriate Slack alert for invalid/not found/inconclusive results or marking the invoice email as read when the number is valid. Setup Connect your Gmail OAuth2 credentia
Handle WhatsApp support text and voice messages with OpenAI GPT-5 Mini
Quick overview This workflow responds to incoming WhatsApp Business messages, handling both text and voice notes by transcribing audio with OpenAI and replying with an OpenAI chat agent that uses per-contact conversation memory and answers only from the business information you provide. How it works Triggers when a new WhatsApp message is received. Routes the incoming message by type, sending text messages directly to the support flow, audio messages to a voice-transcription flow, and other message types to a fallback reply. For voice notes, retrieves the WhatsApp media URL, downloads the audio file, and transcribes it to text with OpenAI. Sends the customer’s text (original or transcribed) to an OpenAI chat agent configured to answer only using your provided business information. Stores and reuses a per-contact conversation history keyed by the sender’s WhatsApp number to maintain context across messages. Sends the agent’s response back to the customer as a WhatsApp text message. Setup Connect WhatsApp Business Cloud credentials for both receiving messages (trigger) and sending replies, and ensure your WhatsApp webhook is configured to point to the trigger URL. Add OpenAI credenti
Answer customer questions on WhatsApp with OpenAI, Gmail, and Google Sheets
Quick overview This workflow answers incoming WhatsApp customer questions using an OpenAI-powered agent that reads your live website via HTTP requests, escalates unclear or sensitive cases to your support team via Gmail, and logs each conversation to Google Sheets. How it works Triggers when a new WhatsApp message is received. Loads configuration values (company name, website root URL, AI model, language rules, escalation email, and WhatsApp phone number ID) and extracts the customer phone number and message text. Ignores non-text WhatsApp updates (such as images, audio, and status messages). Uses OpenAI with conversation memory to navigate your website by listing links and fetching relevant pages, then generates a structured result containing an answer, escalation flag, sentiment, topic, and source URLs. If the agent marks the request as needing a human, sends an escalation email via Gmail to your support address with the customer details and the drafted reply. Sends the final plain-text reply back to the customer on WhatsApp. Appends the conversation details to a Google Sheets log. Setup Connect credentials for WhatsApp Trigger/WhatsApp Cloud API, OpenAI, Gmail, and Google Sheets
Run a personal assistant for calendar, Gmail and utilities with OpenAI and MCP
Quick overview This workflow runs a chat-based OpenAI assistant in n8n that calls three MCP servers for Google Calendar management, Gmail search and draft replies, and utility tools for weather, currency conversion, and calculations. How it works Receives a chat message in n8n to start or continue a conversation. Loads the assistant configuration (model, memory window, and system prompt) and sends the user message to an OpenAI chat model with short-term conversation memory. When the assistant needs calendar actions, it calls an MCP server that searches, creates, updates, or deletes Google Calendar events. When the assistant needs email actions, it calls an MCP server that searches Gmail messages and creates draft replies for user review. When the assistant needs quick utilities, it calls an MCP server that fetches weather from wttr.in, converts currency using frankfurter.app, or runs calculations. Returns the assistant’s response back to the chat, including any results from the MCP tool calls. Setup Add credentials for OpenAI, Google Calendar (OAuth2), and Gmail (OAuth2) in n8n. Activate the workflow, then copy each MCP Server Trigger Production URL for the Calendar, Gmail, and Uti
Send daily AI news digests from RSS feeds with OpenAI, Telegram and Gmail
Quick overview This workflow runs every morning at 8 AM, pulls articles from multiple RSS feeds, deduplicates and trims the list, uses OpenAI (GPT-5 Mini) to write a short plain-text news digest, and delivers the same digest to a Telegram chat and a Gmail inbox. How it works Runs daily at 8:00 AM on a schedule. Splits your configured RSS feed URL list into individual feeds and fetches the latest articles from each one, continuing even if a feed fails. Removes duplicate articles by link, keeps only the newest items up to your maxArticles limit, and trims each item to title, link, publish date, and a short snippet. Combines all cleaned articles into a single JSON list and sends it to OpenAI (GPT-5 Mini) to select 5–8 top stories and generate a single plain-text digest under 3,500 characters. Sends the generated digest to your specified Telegram chat. Emails the same digest as a plain-text message through Gmail. Setup Add an OpenAI credential and ensure the GPT-5 Mini model is available in your account. Create a Telegram bot with @BotFather, add the Telegram credential in n8n, and set your target telegramChatId (for example by using @get_id_bot). Connect a Gmail account in n8n and set
Run a multimodal WhatsApp AI assistant with OpenAI for text, voice and images
Quick overview This workflow turns WhatsApp into a multimodal assistant that answers text, voice notes, images, and PDF documents using OpenAI, and can generate images with DALL·E on demand, replying back in WhatsApp with either text, audio, or an image. How it works Triggers when a new WhatsApp message is received. Detects whether the incoming message is text, a voice note, an image, a PDF document, or an unsupported type. For text messages, generates an image with OpenAI DALL·E when the message starts with the configured /image command, and sends the generated image back to the sender. For voice notes, fetches the WhatsApp media URL, downloads the audio, transcribes it with OpenAI, and forwards the transcript to the assistant. For images, fetches the WhatsApp media URL, downloads the image, describes it with OpenAI vision using the configured analysis prompt, and forwards the description (plus any caption) to the assistant. For PDF documents, downloads the file from WhatsApp, extracts the PDF text, and forwards the extracted content (plus any caption) to the assistant, while non-PDF files receive an error message. Uses an OpenAI chat model with per-contact short-term memory to ge
Screen LinkedIn jobs and send tailored applications with Apify and OpenAI
Quick overview This workflow collects your job preferences via an n8n form, uses Apify to scrape LinkedIn job listings, and has OpenAI screen and rank them. After you approve a shortlist by Gmail, it generates tailored resume and cover-letter PDFs with DocRaptor, emails them to you, and logs matches to Sheets How it works Receives your job preferences and resume text through an n8n form submission. Sends the preferences to Apify to scrape recent LinkedIn jobs, then removes duplicates and obvious mismatches (seniority, years of experience, and location). Uses OpenAI to score each job’s relevance and eligibility and returns a JSON verdict with a fit score and short reason. Keeps the top matches above the configured threshold and emails you a shortlist in Gmail with approve/decline buttons. If you approve, uses OpenAI to draft a job-specific resume and cover letter from only the provided profile text and generates HTML interview prep questions. Converts the resume and cover letter HTML into PDFs via DocRaptor, emails the tailored application package to you in Gmail, and appends the match details to a Google Sheets tracker. Setup Add credentials for OpenAI, Gmail OAuth2, Google Sheets
Route urgent Gmail support emails and WhatsApp digests with Groq and Supabase
Quick overview This workflow monitors a Gmail inbox, uses Groq LLM classification to label each support email as urgent, routine, or spam, logs the result to Supabase, sends immediate WhatsApp alerts for urgent messages, and delivers a daily WhatsApp digest summarizing routine emails. How it works Triggers every minute when a new email arrives in Gmail. Uses Groq (via an LLM prompt) to classify the email as urgent, routine, or spam and generate a one-sentence summary and reason. Inserts the email metadata, category, and summary into a Supabase table for tracking. Sends an immediate WhatsApp message to the support owner when the email is classified as urgent and updates the Supabase record to reflect it was notified. Runs on a daily schedule to fetch all routine emails in Supabase that have not yet been included in a digest. Aggregates those routine emails into a single WhatsApp digest message, sends it to the support owner, and marks the included Supabase records as digested. Setup Connect Gmail OAuth2 credentials and ensure the trigger watches the support inbox/labels you want monitored. Add Groq API credentials for the chat model used to classify and summarize emails. Add Supabas