OpenAI workflow'ları
630 sonuç — tümü kaynağa bağlı n8n referansı
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
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
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
Send CRM lead outreach emails with Notion, Gmail, Google Drive and OpenAI
Quick Overview This workflow watches a Notion CRM for leads ready to contact, checks Gmail to avoid duplicate outreach, then sends or drafts an email with Google Drive PDF attachments and updates the lead status in Notion, with bounce detection that marks invalid emails (using OpenAI to extract addresses). How it works Triggers when a lead page is updated in a selected Notion CRM database. Validates that the lead’s Email field looks like an email address and searches Gmail Sent for recent messages to that recipient to detect prior outreach. If the lead was already emailed and the current status is safe to overwrite, it updates the Notion lead status to “Emailed.” If the lead was not previously emailed, it downloads two PDF attachments from Google Drive, converts them to Gmail attachments, and either creates a Gmail draft for specific domains (optionally sending a Twilio SMS to a rep) or sends a generic vs personalized Gmail email based on whether a contact name exists. After sending, it waits briefly, searches Gmail for bounce messages mentioning “Address not found,” and updates the Notion record to “INVALID EMAIL” (or sets “Emailed” when the status indicates the lead is in an acti
Create Zoho Books invoices from email attachments using OpenAI OCR
Quick overview This workflow monitors an IMAP inbox for emails with invoice attachments, uses OpenAI to OCR and extract structured invoice data, looks up customers and tax/currency settings in Zoho Books, and then creates a new Zoho Books invoice with the original attachment included. How it works Triggers when a new email arrives via IMAP. Filters for emails that contain attachments, then splits each attachment into its own item for processing. Normalizes each attachment’s binary data and routes it to OpenAI for OCR based on whether it is a PDF or an image. Fetches taxes, currencies, and active customer contacts from Zoho Books and prepares the data for matching and invoice creation. Sends the OCR text plus Zoho Books tax metadata to OpenAI to validate that the document is a sales invoice and to return invoice and customer details as JSON. Filters out non-invoice attachments, matches the extracted customer to an existing Zoho Books contact (with a configurable fallback), and posts a new invoice to Zoho Books using multipart upload to attach the original file. Setup Add IMAP credentials for the mailbox that receives invoice emails. Add Zoho Books OAuth2 credentials and ensure the c
Create Instagram carousels and TikTok slideshows with OpenAI and PostFast
Quick overview This workflow runs on a Mon/Wed/Fri schedule to generate an Instagram carousel or TikTok slideshow using OpenAI (GPT-4o-mini and gpt-image-1), sends the slides to Telegram for approval, and only then uploads the images and schedules the post via PostFast. How it works Runs every Monday, Wednesday, and Friday at 8am and loads your brand, topics, slide count, platform filter, and Telegram chat ID. Retrieves your connected social accounts from PostFast and keeps only accounts that are connected and match the selected platforms. Uses OpenAI (gpt-4o-mini) to write a carousel as strict JSON containing a caption and slide-by-slide headings, body text, and visual descriptions. Builds per-slide image prompts and uses OpenAI (gpt-image-1) to generate a 1024×1536 portrait image for each slide. Sends the generated slide images to Telegram and waits for you to approve or decline posting. If approved, requests per-account upload URLs from PostFast, uploads each slide image to the provided storage URLs, and schedules one PostFast social post per account with the slides in order and the generated caption. Setup Install and enable the PostFast community node (n8n-nodes-postfast) and
Answer Slack knowledge base questions with Notion, Pinecone, and OpenAI
Quick overview This workflow syncs an internal Notion knowledge base to Pinecone on a daily schedule, then runs a Slack bot that answers questions in a specific channel using Pinecone retrieval and an OpenAI chat model, replying in a thread with citations back to the source Notion pages. How it works Runs on a daily schedule to sync your Notion knowledge base into a Pinecone vector index. Fetches all pages from a specified Notion database and then pulls each page’s full block content (including nested blocks). Combines each page’s blocks into a single document and attaches metadata such as the Notion title, URL, and last edited time. Splits each document into overlapping text chunks, generates OpenAI embeddings, and inserts them into Pinecone while clearing and rebuilding the target namespace. Triggers when a new message is posted in the configured Slack channel and ignores bot/system messages to prevent reply loops. Uses an OpenAI-powered agent that always queries Pinecone for relevant chunks (including source metadata) and generates an answer in the user’s language. Posts the response back to Slack as a threaded reply, including cited Notion sources. Setup Create a Notion interna
Extract and log Gmail admin tasks with OpenAI, Google Sheets and Airtable
Quick overview This workflow monitors Gmail for messages labeled “Admin”, redacts sensitive data, uses OpenAI to extract structured admin tasks and reminders, skips duplicates by checking Google Sheets and/or Airtable, sends optional Slack or Microsoft Teams alerts for urgent items, and logs the clean task details. How it works Triggers every minute when a new Gmail message matches the query label:Admin newer_than:7d. Loads configurable settings (log destination, alert channels, due-soon window, dedupe window, and redaction toggle) and normalizes the email into a clean text body. Redacts sensitive patterns (such as SSNs, card-like numbers, phone numbers, email addresses, and addresses) and generates an “admin hash” fingerprint for deduplication. Checks Google Sheets and/or Airtable for recent matching Message IDs or admin hashes and skips processing if the email appears to be a duplicate. Sends the redacted email content to OpenAI to classify whether it is an admin item and to extract fields like task title, summary, priority, due date/time, and recommended next step. If the item is valid, optionally posts an alert to Slack and/or Microsoft Teams for urgent/high-priority, due-soon,
Extract and log Gmail receipt expenses with OpenAI, Sheets and Airtable
Quick overview This workflow monitors a Gmail “Receipts” label, downloads attachments, uses OpenAI to extract expense data from receipt emails and images, skips duplicates and non-receipts, fails safely when extraction is unreadable, sends Slack/Teams alerts for high-value, warranty, or review-needed receipts, and logs valid receipts to Sheets or Airtable. How it works Triggers every minute when Gmail finds new emails matching the query label:Receipts newer_than:2d. Normalizes the email into consistent fields (message ID, subject, sender, received date, plain-text body) and generates a receipt hash for stable matching. Searches Airtable and/or Google Sheets for existing records matching the message ID or receipt hash and marks the email as a duplicate if it falls within the configured duplicate window. For new receipts, sends the email content to OpenAI to extract receipt details like merchant, total, category, line items, tax hints, and return/warranty dates. Evaluates the extraction to flag high-value, warranty/return-relevant, or needs-review receipts and formats alert messages. Posts alerts to Slack and/or Microsoft Teams when enabled and the receipt is not “standard.” Appends
Scrape and score Amazon products with Apify, OpenAI, and Google Sheets
Quick overview This workflow manually scrapes product results from an Amazon search URL via the Apify Amazon Crawler actor, uses OpenAI to generate a structured product analysis (category, key feature, verdict, value score), and appends the enriched results to a Google Sheets spreadsheet. How it works Runs when you manually click “Test workflow” in n8n. Sends the configured Amazon search URL and scraping limits to the apify Amazon Crawler actor and retrieves the dataset items. Filters out any scraper items that are missing a title or contain an error. Uses OpenAI to analyze each product’s title, brand, price, rating, and review count and returns a structured category, key feature, buyer verdict, and 1–10 value score. Combines the scraped fields and AI analysis into a single row format and adds a timestamp. Appends each enriched product as a new row in Google Sheets. Setup Create an apify API token and add it as an HTTP Header Auth credential used by the Apify request. Add an OpenAI API key as an OpenAI credential and choose the model to use in the configuration. Connect a Google Sheets OAuth2 account and select the target spreadsheet, sheet tab, and columns for appending rows. Upda
Generate weekly Pinterest content opportunity briefs with Apify, OpenAI and Google Sheets
Quick overview Research a Pinterest niche with FetchCat's Pinterest Search Scraper, preserve every source pin in Google Sheets, and use one evidence-controlled OpenAI call to identify recurring themes, underrepresented angles, and five production-ready content briefs without claiming search volume or trend growth. How it works Starts manually with one research niche and one to five exact Pinterest search phrases, plus locale, country, and a configurable result limit. Runs fetch_cat/pinterest-search-scraper through a Cloud-compatible HTTP Request and collects 20 to 500 public pins per search with public detail enrichment enabled. Validates, normalizes, and deduplicates returned pins. It stops before AI or destination writes when fewer than ten usable pins remain. Builds stable Google Sheets rows, deterministic phrase counts, and a bounded evidence packet, then uses one structured gpt-5.4-mini request for analysis. Removes invalid pin citations and rejects any finding that retains no supplied evidence, preventing unsupported recommendations from reaching the destination. Upserts source pins and a readable brief into separate Pins and Research Brief tabs using stable same-day research
Find and verify business emails with ScraperCity, OpenAI, Google Sheets, and Gmail
Quick overview This workflow reads contacts from Google Sheets, finds and verifies their business emails via the ScraperCity Email Finder API, generates a short personalized icebreaker with OpenAI, appends the enriched leads to another Google Sheet, and emails a run summary via Gmail. How it works Starts manually to run an email enrichment job. Reads contacts (first name, last name, domain) from an input Google Sheets worksheet and aggregates them into a single payload. Submits the contacts to the ScraperCity Email Finder API, then waits and repeatedly checks the job status until it succeeds or fails/times out. When the job succeeds, downloads the result CSV from ScraperCity, parses it, normalizes key fields (name, domain, email, verification status, provider), and keeps only rows with an email. For each verified contact, prompts OpenAI to generate one short, company-referencing cold-email opening line in the configured language. Appends the enriched lead (including email, status, and icebreaker) to an output Google Sheets worksheet and sends a summary email via Gmail. Setup Create a ScraperCity account with Email Finder credits and add an HTTP Header Auth credential that sends you
Find YouTube creator emails with Apify, OpenAI and Google Sheets
Quick overview This workflow searches YouTube via Apify for videos matching a keyword, deduplicates the resulting channels, scrapes each channel’s About description, uses OpenAI to extract contact email addresses, and appends channels with emails to a Google Sheets tab. How it works Starts when you manually execute the workflow. Sends a keyword-based search request to the Apify YouTube Scraper to retrieve recent YouTube results and their channel URLs. Deduplicates the results so each channel URL is processed only once. Scrapes each channel’s About/description data using an Apify YouTube Scraper request. Uses OpenAI to extract and de-obfuscate any email addresses found in the channel description. Keeps only channels where at least one email address was extracted. Appends the channel name, channel URL, extracted emails, search query, and the current date to Google Sheets. Setup Add an Apify API token using an HTTP Header Auth credential (Authorization: Bearer ) and connect it to both Apify HTTP Request steps. Add an OpenAI API key credential and choose the model name you want to use in the Configuration values. Connect your Google Sheets OAuth credential, then set the target spreadsh
Turn support emails into FAQ drafts with Gmail, OpenAI, Sheets and Docs
Quick overview This workflow monitors a Gmail inbox for new support-style emails, uses OpenAI to extract a reusable FAQ question and safe draft answer, logs results to Google Sheets, and then creates a Google Docs draft and/or Gmail review drafts for a human reviewer. How it works Polls Gmail every 5 minutes for unread emails matching the configured support-related search query. Cleans the email content by stripping quoted replies, signatures, and HTML to produce a concise plain-text body. Sends the cleaned email and product context to OpenAI to extract a structured FAQ candidate (question, draft answer, category, score, sensitivity flag, tags, and recommended action). Calculates a routing status based on the FAQ score threshold and sensitivity/recommended action, and prepares draft text for a Google Doc and reviewer email. Appends every processed email and extracted fields to a Google Sheets tab for tracking and reporting. If the candidate is strong, creates a Google Docs FAQ draft, inserts the draft content, and creates a Gmail draft notification to the reviewer with the document link. If the candidate needs manual handling, creates a Gmail draft to the reviewer with the review n
Handle WhatsApp sales inquiries with OpenAI, Pinecone, Google Calendar, and Slack
Quick overview This workflow handles inbound WhatsApp Business messages with an OpenAI-powered sales agent that uses Pinecone RAG for product answers and Google Calendar tools for scheduling, then either replies on WhatsApp or hands the conversation to Slack, with Slack-based error alerts. How it works Triggers on every inbound WhatsApp Business message and checks whether the payload contains a text body. Drops non-text messages (such as images or voice notes) and continues only with text conversations. Uses an OpenAI chat model with per-customer session memory to generate a concise sales reply and decide whether a human handoff is needed. Lets the agent query a Pinecone-backed product catalog via OpenAI embeddings to answer pricing, specs, and availability questions. Lets the agent check availability and book appointments in Google Calendar when the customer requests scheduling. Parses the agent’s HANDOFF flag and either posts the customer message plus draft reply to a Slack channel or sends the reply back to the customer on WhatsApp. Sends a Slack alert to an ops channel if any step in the workflow fails. Setup Connect WhatsApp Business Cloud credentials and set the WhatsApp Phon
Send Calendly meeting prep briefs with Gmail, Notion, OpenAI and Sheets
Quick Overview This workflow monitors Gmail for Calendly “New Event” emails, extracts meeting details with OpenAI, enriches the invitee with Notion CRM data, Google Sheets STR records, and SerpApi building research, then generates and schedules a meeting-prep brief email to send 30 minutes before the meeting. How it works Triggers every minute when a new Gmail message arrives and continues only if it is a Calendly notification for a new event. Uses OpenAI to extract the invitee email and meeting date/time from the email and calculates a send time 30 minutes before the meeting. Looks up the lead in a Notion database by invitee email and pulls building research via SerpApi, then uses OpenAI to extract building details from the AI Overview results. Loads STR registration data from Google Sheets and matches it to the building address to flag whether the property appears in STR records. Searches recent Gmail history in two accounts for messages involving the lead’s email address and checks whether any history exists. If email history exists, uses OpenAI to summarize the relationship and generate a concise meeting brief, then formats it as an HTML email. If no email history exists, uses