by Ranjan Dailata
Who this is for? The Automate Etsy Data Mining with Bright Data Scrape & Google Gemini workflow is designed for eCommerce analysts, product researchers, and AI developers seeking to extract actionable insights from Etsy listings at scale. It is ideal for: eCommerce Entrepreneurs** - Researching product demand and competition. Market Analysts** - Tracking pricing, reviews, and trends across Etsy categories. Product Managers** - Identifying niche opportunities and design inspirations. Data Scientists & AI Engineers** - Automating product intelligence pipelines. Growth Hackers** - Leveraging Etsy insights to refine product-market fit. What problem is this workflow solving? Manually browsing Etsy to analyze product listings, pricing, reviews, and seller activity is slow, inconsistent, and unscalable. Scraping Etsy requires unlocking JavaScript-heavy content and structuring noisy data for analysis. This workflow solves: Automated and scalable scraping of Etsy product listings using Bright Data’s infrastructure. A fully paginated data structured Estry production data extraction via the Google Gemini LLM. Enables faster decision-making for product research and competitive analysis via the fully automated paginated data extraction. What this workflow does Receives input: Sets the Esty URL for the data extraction and analysis. Uses Bright Data's Web Unlocker to extract content from relevant sites. Cleans and preprocesses the scraped content for readability. Sends the content to Google Gemini for: Enriched results including: Data persistence over the disk. Sends the response to a target system via Webhook notification. Setup Sign up at Bright Data. Navigate to Proxies & Scraping and create a new Web Unlocker zone by selecting Web Unlocker API under Scraping Solutions. In n8n, configure the Header Auth account under Credentials (Generic Auth Type: Header Authentication). The Value field should be set with the Bearer XXXXXXXXXXXXXX. The XXXXXXXXXXXXXX should be replaced by the Web Unlocker Token. A Google Gemini API key (or access through Vertex AI or proxy). Update the Set Esty Search Query for setting the brand content URL and the Bright Data Zone name. Update the Webhook HTTP Request node with the Webhook endpoint of your choice. How to customize this workflow to your needs Input Sources** : Replace the static URL with dynamic input from Google Sheets, Webhook, or Airtable to research multiple niches. Prompt Customization** : Adjust Gemini prompts to extract specific insights for example: List key features of the product Summarization of the review themes Data Output Options** : Update the Webhook notification to save data to: Google Sheets Notion or Airtable SQL/NoSQL Slack/Email
by mariskarthick
QuantumDefender AI is a next-generation intelligent cybersecurity assistant designed to harness the symbolic strength of quantum computing’s promise alongside cutting-edge AI capabilities. This sophisticated agent empowers SOC analysts, red teamers, and security researchers with rapid threat investigation, operational automation, and intelligent command execution—all driven by GPT-4 and integrated tools, accessible through Telegram or on any medium. 🔑 Key Features: Expert-Level Cybersecurity Research & Analysis: Leverages powerful AI models to deliver clean, detailed, domain-specific insights across detection, remediation, and offensive security. Command & Control: Executes Linux shell commands, autonomous scripts, and system operations securely in isolated environments. Real-Time Web Intelligence: Utilizes integrated Langsearch API to provide timely internet research with contextual relevance. Calendar & Scheduling Automation: Manage Google Calendar events or any similar application(create, update, delete, retrieve) dynamically from chat. Multi-Tool Orchestration: Combines calculator functions, internet searches, command execution, and messaging for comprehensive operational support. Telegram-native Chatbot: Delivers an adaptive, memory-informed, and interactive conversational experience with immediate typing indicators and high responsiveness. Conversation & Session Management: Maintains context-aware, session-based memory to enable smooth, multi-turn dialogues with individual users. Sends “typing…” indicators during processing to ensure an interactive, user-friendly chat experience. Operates exclusively within Telegram, delivering rich, timely responses and leveraging all Telegram bot capabilities. Execution Intelligence & Safety: Fully autonomous in deciding which tools to invoke, how frequently, and in what sequence to fulfill user requests comprehensively and responsibly. Operates within a secure temporary folder environment to contain all command executions safely and avoid persistent or harmful side effects. Enforces strict safety protocols to avoid running malicious or destructive commands, maintaining ethical standards and compliance. Use Cases: Cybersecurity researchers and operators seeking an intelligent assistant to accelerate investigations and automate routine tasks. Red team professionals requiring on-the-fly command execution and information gathering integrated with tactical chat interactions. SOC teams aiming to augment their alert triage and incident handling workflows with AI-powered analysis and action. Anyone looking for a robust multi-tool AI chatbot integrated with real-world operational capabilities. Setup Requirements: OpenAI API key for GPT-4.1-nano language processing. Telegram Bot API credentials with proper webhook setup to receive and respond to messages. Google OAuth credentials for Calendar integration if calendar features are used. SSH access credentials for executing commands on remote hosts, if remote execution is enabled. Internet connectivity for the Langsearch web search API. Customization & Extensibility: The workflow is built modularly with n8n’s flexible node system. Users can extend it by adding more tools, integrating other services (ticketing, threat intel, scanning tools), or modifying interaction logic to suit specialized operational needs and environments. Created by Mariskarthick M Senior Security Analyst | Detection Engineer | Threat Hunter | Open-Source Enthusiast
by Krishna Kumar Eswaran
🧠 Problem This Solves: For developers and creators, consistently posting quality content on LinkedIn can be time-consuming. This workflow automates the process by: Fetching the latest Dev.to articles Posting them to LinkedIn twice daily Preventing duplicates using Airtable Sending success alerts to Telegram This ensures you're always active on LinkedIn, with zero manual effort. 👥 Who This Template Is For Developers who want to build their presence on LinkedIn Tech creators or solo founders looking to grow an audience Community/page managers who want regular, curated content Busy professionals aiming for consistent LinkedIn engagement without doing it manually ⚙️ Workflow Breakdown This automation runs twice a day (9:00 AM and 7:00 PM) and performs the following steps: Fetches Dev.to articles based on a tag Checks Airtable to avoid reposting the same article Posts to LinkedIn if it’s new Sends a Telegram message after posting successfully 🧩 Step-by-Step Setup Instructions ✅ 1. Airtable Configuration Create a new base in Airtable with just one table and one column: Table Name: PostedArticles Column: ArticleID (Single line text – stores the unique ID of each Dev.to article posted) This column is used to track posted articles and prevent duplicates. 🔗 2. Dev.to API Setup Use the following endpoint in the HTTP Request node: arduino Copy Edit https://dev.to/api/articles?tag=YOUR_TAG_HERE&per_page=10 Replace YOUR_TAG_HERE with a tag like android, webdev, ai, etc. 💬 3. Telegram Bot Setup Open @BotFather in Telegram and create a new bot Save the bot token Get your chat ID using @userinfobot or via Telegram API Add a Telegram node in n8n using this token and chat ID This will notify you when a post is successfully published. 🧾 4. LinkedIn Setup Create a LinkedIn Developer App Use OAuth2 to connect it in n8n Choose to post on either a user profile or a company page 🧱 5. n8n Workflow Structure Here’s the basic structure of the workflow: Cron Node – Triggers at 9:00 AM and 7:00 PM daily HTTP Request – Fetches latest articles from Dev.to Airtable Search – Checks if ArticleID already exists IF Node – Filters new vs. already-posted articles LinkedIn Post – Publishes new article Airtable Create – Saves the new ArticleID Telegram Message – Sends success confirmation 🛠️ Customization Tips Change the Dev.to tag in the API URL Modify LinkedIn post format (add hashtags, emojis, personal notes) Adjust posting times in the Cron node Use additional filters (e.g., only post articles with a cover image or certain word count)
by JPres
👥 Who Is This For? Content creators, marketing teams, and channel managers who want a simple, hands‑off solution to upload videos and automatically generate optimized metadata from video transcripts. 🛠 What Problem Does This Solve? Manual video uploads with proper metadata creation is time‑consuming and repetitive. This workflow fully automates: Monitoring a specific Google Drive folder for new video uploads Seamless YouTube upload processing Transcript extraction for context understanding AI‑powered generation of titles, descriptions, and tags Metadata application to uploaded videos without manual intervention 🔄 Node‑by‑Node Breakdown | Step | Node Purpose | |------|---------------------------------------------------------------------| | 1 | New Video? (Trigger) – Monitors specified Google Drive folder | | 2 | Download New Video – Retrieves the video file from Google Drive | | 3 | Upload to YouTube – Uploads the video to YouTube with initial settings | | 4 | Get Transcript – Extracts transcript from the uploaded video | | 5 | Adjust Transcript Format – Formats raw transcript for processing | | 6 | Create Description – Generates SEO‑optimized description | | 7 | YT Tags (Message Model) – Creates relevant tags based on content | | 8 | YT Title (Message Model) – Generates compelling title | | 9 | Define File Path Upload Format (Optional) – Structures data paths | | 10 | Update Video’s Metadata – Applies generated title, description, tags| ⚙️ Pre‑conditions / Requirements n8n with Google Drive and YouTube API credentials configured (stored as n8n credentials/variables; no hard‑coded IDs) Dedicated Google Drive folder for video uploads YouTube channel with proper upload permissions AI service access for transcript processing and metadata generation Sufficient storage for temporary video handling ⚙️ Setup Instructions Import this workflow into your n8n instance. Configure Google Drive credentials; reference folder ID via n8n variable (do not hard‑code). Set up YouTube API credentials with upload and edit permissions. Specify the target Google Drive folder ID in the New Video? trigger node (via variable). Configure AI service credentials for transcript and metadata generation. Adjust message templates for title, description, and tag creation. Test with a small video file before production use. 🎨 How to Customize Modify AI prompts to match your channel’s tone and style. Add conditional logic based on video categories or naming conventions. Implement notification systems to alert when uploads complete. Create custom metadata templates for different content types. Include timestamps or chapter markers based on transcript analysis. Add social media sharing nodes to announce new uploads. ⚠️ Important Notes Video quality is preserved through the upload process. Consider YouTube API quotas when handling multiple uploads. Transcript quality affects metadata generation results. Videos are initially uploaded without visibility adjustments. Processing time depends on video length and transcript complexity. 🔐 Security and Privacy Store API credentials and folder IDs as n8n Credentials/Variables—remove any hard‑coded tokens or IDs. Video files are processed temporarily and not stored permanently. Limit Google Drive folder access to authorized users only. Manage YouTube upload permissions carefully (use OAuth/service accounts). Ensure compliance with organizational data‑handling policies.
by Krishna Kumar Eswaran
🧠 Problem This Solves Manually sharing Medium articles to LinkedIn daily can be repetitive and time-consuming. This automation: Fetches the latest Medium articles based on a tag (e.g., android) Posts them on LinkedIn twice daily Uses Airtable to prevent duplicates Sends a confirmation to Telegram once posted Stay consistently active on LinkedIn without lifting a finger. 👥 Who This Template Is For Developers who write or follow Medium content Tech creators or founders looking to grow an audience Community or page managers needing regular curated posts Busy professionals who want hands-free LinkedIn engagement ⚙️ Workflow Breakdown This automation runs at 9:00 AM and 7:00 PM daily and performs these steps: Fetch articles from MediumAPI.com by tag Check Airtable to prevent reposting the same article Post on LinkedIn if it’s new Store the article ID in Airtable Send a Telegram message after successful posting 🧾 Step-by-Step Setup Instructions ✅ 1. Airtable Configuration Create a base with: Table Name: PostedArticles Column: ArticleID (Single line text – to track posted articles) 🔗 2. MediumAPI Setup Go to https://mediumapi.com Sign up and generate your API key from the dashboard Use this API endpoint in an HTTP node: GET https://mediumapi.com/api/tag/YOUR_TAG/latest Headers: Authorization: Bearer YOUR_API_KEY Replace YOUR_TAG with a topic like android, ai, webdev, etc. 💬 3. Telegram Bot Setup Go to @BotFather and create a new bot Save the bot token Use @userinfobot to get your Telegram chat ID Add a Telegram node in n8n with the token + chat ID 🔗 4. LinkedIn Setup Create a LinkedIn Developer App Connect it via OAuth2 in n8n Choose to post on your profile or company page 🧱 5. n8n Workflow Structure Node Type Description Cron Triggers the flow twice a day HTTP Request Fetches articles from MediumAPI.com Airtable Search Checks if article ID already exists IF Node Skips duplicates LinkedIn Post Publishes to your LinkedIn profile/page Airtable Create Stores posted article ID Telegram Node Sends success notification 🛠️ Customization Tips Change the tag in the API URL to match your niche Add hashtags or personal comments to the LinkedIn message Schedule different posting times in the Cron node Filter Medium posts based on length or title keywords (optional)
by Naveen Choudhary
Who is this template for? Growth teams, SDRs, recruiters, or anyone who routinely hunts for hard‑to‑find business emails and would rather spend time reaching out than guessing formats. What problem does this workflow solve? Manually piecing together email patterns, cross‑checking them in a verifier, and updating a tracking sheet is slow and error‑prone. This template automates the entire loop—research, guess, verify, and log—so you hit Start and watch rows fill up with ready‑to‑send addresses. What this workflow does Pull fresh leads – Grabs only the rows in your Google Sheet where Status = FALSE. Find the company pattern – Queries Serper.dev for snippets and feeds them to Gemini Flash (via OpenRouter) to spot the dominant email format. Build the address – Constructs a likely email for every first/last name. Verify in real time – Pings Prospeo by default (API) or lets you bulk‑clean in Sparkle.io. Write it back – Updates the sheet with pattern, email, confidence, verification status, and flips Status to TRUE. Loop until done – Runs batch‑by‑batch so you never hit API limits. 🆓 Work free‑tier magic (up to \~2,500 contacts/month) | Service | Free allowance | How this template uses it | | -------------- | ----------------------------- | ------------------------------------------------------------------------------------ | | Serper.dev | 2,500 searches/mo | Scrapes three public email snippets per domain to learn the pattern | | Sparkle.io | 10,000 bulk verifications/day | Manual upload‑download option—perfect to clean your first 2.5k emails at zero cost | | Prospeo | 75 API calls/mo | Built‑in if you prefer fully automated verification | Quick Sparkle workflow: Let the template generate emails. Export the “Email” column to CSV → upload to Sparkle.io. Download the results and paste the "verification\_status" back into the sheet (or add a small n8n import sub‑flow). Setup (5 minutes) Copy the Google Sheet linked in the sticky note and paste its ID into the Get Rows and Update Rows nodes. Add credentials for Google Sheets, Serper (X‑API‑KEY), OpenRouter, and optionally Prospeo. Hit Execute Workflow—that’s it. How to customise Prefer Sparkle for volume:** Skip the Prospeo node, export emails in one click, bulk‑verify in Sparkle, and re‑import results. Swap the search source:* Replace the *Get Email Pattern HTTP node with Bing, Brave, etc. Extend enrichment:* Add phone look‑ups or LinkedIn scrapers before the *Update Rows node. Auto‑run:** Replace the Manual Trigger with a Cron node so the sheet cleans itself every morning. Additional resources | Tool | Purpose | Link | | --------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | -------------------------------------------------------- | | Prospeo – API‑ready email verificationSpecial offer: 20 % free credits for the first 3 months on any plan using this link! | Real‑time, single‑call mailbox validation | prospeo.io | | Sparkle.io – high‑volume bulk verifier (manual upload) | Free daily quota of 10 000 verifications | app.sparkle.io/sign‑up | | OpenRouter – API gateway for Gemini Flash & other LLMs | One key unlocks multiple frontier models | openrouter.ai | | Serper.dev – Google Search API | 2 500 searches/month on the free tier | serper.dev | Add the relevant keys or signup details from these links, drop them into the matching n8n credentials, and you’re all set to enrich your first 2 500 contacts at zero cost. Happy building!
by Milan Vasarhelyi - SmoothWork
Video Introduction Want to automate your inbox or need a custom workflow? 📞 Book a Call | 💬 DM me on Linkedin Transform your messy inbox into a calm, organized command center - in minutes - using this ready-to-use n8n automation! Tired of your Gmail looking like this? With this template, you can have this instead: What does this automation do? AI-powered categorization:** Every new email is analyzed with OpenRouter AI and sorted into categories you define (like Orders, Support, Invoices, Urgent, etc.). Instant color-coded labels:** The workflow creates and applies Gmail labels with custom colors, so you can spot important messages at a glance. Supports Gmail’s Multiple Inboxes:** Display different categories in their own sections—see what matters most right away. Flexible and customizable:** You control the categories and definitions using a simple Google Sheet. How it works – Step by Step See the full setup & demo: Copy the Template Open the n8n workflow template and click Use for free. Log in (or sign up) for n8n Cloud for the quickest start. Customize Your Categories in Google Sheets Use the provided Google Sheets template linked in the workflow notes. Go to File → Make a copy to your own Drive. Edit the categories and their definitions for your business. Example: Add categories like “Existing Order Questions,” define each one to guide the AI, and copy your Google Sheet’s URL into the workflow config node. Connect AI with OpenRouter Go to OpenRouter.ai, log in, and generate a new API key. Paste your API key into the workflow where prompted. Test and Activate the Workflow Connect your Gmail account to n8n. Hit “Test Workflow”—watch as the AI processes your latest emails and applies labels automatically. Labels will appear instantly in Gmail, and any missing ones are created by the automation. Schedule Automatic Runs Switch workflow status to Active in n8n. Set the scheduler trigger—most people use hourly, but you can use crontab.guru for custom times (like only business hours). Tips for Best Results Color Code Your Labels:** In Gmail, you can assign colors to labels—set high-priority categories (like “Customer Complaints”) to a bright color to stand out. Upgrade Your Gmail View:** Enable Multiple Inboxes in Gmail’s settings and set up sections for your key categories. Example search queries: in:inbox label:customer-complaints OR label:urgent-emails in:inbox label:existing-order-questions in:inbox label:support-requests Why Use This? Get rid of inbox chaos for good - no more lost emails or missed deadlines Fully customize the system to your business with just a Google Sheet Works with zero coding - set up in 10-15 minutes Flexible: add auto-replies, draft suggestions, and more as you grow
by Jimleuk
This n8n template demonstrates one approach to customer authentication via chat agents. Unlike approaches where you have to authenticate users prior to interacting with the agent, this approach allows guest users to authenticate at any time during the session or not at all. Note about Security: this template is for illustration purposes only and requires much more work to be ready for production! How it works A conversational agent is used for this demonstration. The key component is the Redis node just after the chat trigger which acts as the session context. For guests, the session item is blank. for customers, the session item is populated with their customer profile. The agent is instructed to generate a unique login URL only for guests when appropriate or upon request. This login URL redirects the guest user to a simple n8n form also hosted in this template. The login URL has the current sessionID as a query parameter as the way to pass this data to the form. Once login is successful, the matching session item by sessionId is populated with the customer profile. The user can now return to the chat window. Back to the agent, now when the user sends their next message, the Redis node will pick up the session item and the customer profile associated with it. The system prompt is updated with this data which let's the agent know the user is now a customer. How to use You'll need to update the "auth URL" tool to match the URL of your n8n instance. Better yet, copy the production URL of your form from the trigger. Activate the workflow to turn on production mode which is required for this workflow. Implement the authentication logic in step 3. This could be sending the user and pass to a postgreSQL data for validation. Requirements OpenAI for LLM (feel free to swap to any provider) Redis for Cache/Sessions (again, feel free to swap this out for postgresql or other database) Customising this workflow Consider not populating the session item with the user data as it can become stale. Instead, just add the userId and instruct the agent to query using tools. Extend the Login URL idea by experimenting with signup URLs or single-use Urls.
by Jimleuk
This n8n template demonstrates how to calculate the evaluation metric "Summarization" which in this scenario, measures the LLM's accuracy and faithfulness in producing summaries which are based on an incoming Youtube transcript. The scoring approach is adapted from https://cloud.google.com/vertex-ai/generative-ai/docs/models/metrics-templates#pointwise_summarization_quality How it works This evaluation works best for an AI summarization workflows. For our scoring, we simple compare the generated response to the original transcript. A key factor is to look out information in the response which is not mentioned in the documents. A high score indicates LLM adherence and alignment whereas a low score could signal inadequate prompt or model hallucination. Requirements n8n version 1.94+ Check out this Google Sheet for a sample data https://docs.google.com/spreadsheets/d/1YOnu2JJjlxd787AuYcg-wKbkjyjyZFgASYVV0jsij5Y/edit?usp=sharing
by Billy Christi
Who is this for? This workflow is ideal for: Customer support teams looking to reduce manual response time SaaS companies that frequently receive product inquiries E-commerce stores with common customer questions about orders, shipping, and returns What problem is this workflow solving? Manually responding to repetitive customer emails is inefficient, prone to inconsistency, and time-consuming. This workflow solves the issue by: Automatically replying to real customer inquiries 24/7 Ensuring every response is consistent, friendly, and based on approved knowledge Preventing responses to non-inquiries like newsletters or confirmations Logging every interaction for traceability, analysis, and compliance What this workflow does This AI-powered Gmail auto-responder intelligently handles inbound emails with the following steps: Monitors your Gmail inbox for new incoming emails in real time Classifies each email as either an “Inquiry” or “Not Inquiry” using GPT-4 Gets context from a Google Sheets FAQ database The context will be used to determine the most accurate and helpful response Generates a professional reply only if it’s a valid inquiry (e.g., pricing, refund, product details) Builds a context-aware, helpful response using verified knowledge only Sends the reply to the original sender automatically Logs everything to a Google Sheet — original email, AI response, timestamp, and email address Example Use Case: An email comes in: "Hi, I want to know your pricing and refund policy." The workflow: Detects it’s an inquiry Finds the pricing and refund FAQs in your Google Sheet Sends back a professional response like: "Hi! Thanks for reaching out. Our pricing starts at \$99/month. Refunds can be requested within 30 days of purchase. Let us know if you have more questions!" Logs the interaction to your “Enquiry\_Log” tab Setup Copy the Google Sheet template here: 👉 Gmail Auto-Responder – Google Sheet Template This contains: A FAQ_Context tab (your knowledge base) An Enquiry_Log tab (interaction logs) Connect your Gmail account to the Gmail Trigger and Gmail Send nodes Add your OpenAI API key in the classification and response generator nodes Link the Google Sheet in both the FAQ lookup and logging nodes Test with a sample email — try asking a pricing and refund question to see the complete process in action How to customize this workflow to your needs Adjust tone or brand voice** in the AI prompt for a more casual or formal reply Modify classification rules** if your use case includes more custom logic Expand the FAQ database** to include new questions and answers Add multilingual support** by customizing the AI prompt to detect and respond in different languages Integrate CRM or ticketing systems** (like HubSpot, Zendesk, or Notion) to log or escalate unanswered queries
by Airtop
Recursive Web Scraping Use Case Automating web scraping with recursive depth is ideal for collecting content across multiple linked pages—perfect for content aggregation, lead generation, or research projects. What This Automation Does This automation reads a list of URLs from a Google Sheet, scrapes each page, stores the content in a document, and adds newly discovered links back to the sheet. It continues this process for a specified number of iterations based on the defined scraping depth. Input Parameters: Seed URL: The starting URL to begin the scraping process. Example: https://example.com/ Links must contain: Restricts the links to those that contain this specified string. Example: https://example.com/ Depth: The number of iterations (layers of links) to scrape beyond the initial set. Example: 3 How It Works Starts by reading the Seed URL from the Google Sheet. Scrapes each page and saves its content to the specified document. Extracts new links from each page that match the Links must contain string, appends them to the Google Sheet. Repeats steps 2–3 for the number of times specified by Depth - 1. Setup Requirements Airtop API Key — free to generate. Credentials set up for Google Docs (requires creating a project on Google Console). Read how to. Credentials set up for Google Spreadsheet. Next Steps Add Filtering Rules**: Filter which links to follow based on domain, path, or content type. Combine with Scheduler**: Run this automation on a schedule to continuously explore newly discovered pages. Export Structured Data**: Extend the process to store extracted data in a CSV or database for analysis. Read more about website scraping for LLMS
by Robert Breen
This n8n workflow reads emails from your Outlook inbox, drafts AI-powered replies using OpenAI, and routes them through the gotoHuman node for human approval before replying automatically. ✅ Key Features Reads Outlook emails** from today only (excluding those from your own address). AI-generated replies** crafted using OpenAI based on the subject and body of the email. Community node integration**: Uses the gotoHuman node for human review and approval of replies before sending. Safe sending**: Only approved responses are automatically sent back via Outlook. Expandable**: Can be easily modified to: Send drafts instead of full replies Include additional email filters Trigger at intervals or via webhook 🧠 Nodes Used Microsoft Outlook – Fetch and reply to emails OpenAI – Generates smart reply text gotoHuman – Human-in-the-loop approval system Loop Over Items, IF, Code, and Set nodes for processing logic Manual Trigger – For testing 🔧 Setup Instructions 1. Connect APIs Outlook OAuth2**: Go to Azure Portal Register an app Add Mail.Read, Mail.Send scopes Set redirect URI: https://api.n8n.cloud/oauth2-credential/callback Paste credentials in n8n credential manager OpenAI API**: Create account at OpenAI Create an API Key Add it to n8n credentials gotoHuman API**: Go to https://gotoHuman.ai and sign in Create a review template (e.g., “Email Responses”) Copy the Template ID and API key into n8n credentials 🪜 Workflow Steps Overview 1. Trigger Use the Manual Trigger to test or schedule execution with a cron node. 2. Filter Emails from Today A Code node outputs today's date in the proper yyyy-mm-dd format. const today = new Date(); today.setHours(0, 0, 0, 0); return [{ json: { searchQuery: received:${today.toISOString().split('T')[0]} } }]; 3. Search and Filter Outlook Messages Uses the Outlook node with a search query like: received:2025-08-06 -from:rbreen@ynteractive.com (Update to your email) 4. Generate AI Response Text prompt to OpenAI: subject: {{ $json.subject }} body: {{ $json.body.content }} System prompt: > You are a personal assistant helping respond to emails. I am an AI automation expert specializing in helping small and medium-size businesses automate processes. Create a short response to the email. Sign the email as Robert Breen. 5. Review with gotoHuman Submit AI output for human approval using the gotoHuman node. The output schema should match the Review Template fields (e.g., "email", "OriginalEmail"). 6. IF Node Decision If status is approved, send reply If not, return to loop for revision or skip ✏️ Customization Ideas ✉️ Send only drafts by skipping the "reply" step and storing results. 🕒 Schedule the workflow with a Cron trigger for automation. 🔎 Add label filters or subject keywords for advanced targeting. 🔗 External Links gotoHuman Community Node OpenAI Microsoft Outlook API Setup 💬 Need More Help? If you'd like help customizing this or building similar automations, reach out: Robert Breen AI & Automation Consultant 🌐 https://ynteractive.com 📧 robert.j.breen@gmail.com 🔗 LinkedIn