by Nicolas Chourrout
This workflow automatically generates draft replies in Gmail. It's designed for anyone who manages a high volume of emails or often face writer's block when crafting responses. Since it doesn't send the generated message directly, you're still in charge of editing and approving emails before they go out. How It Works: Email Trigger: activates when new emails reach the Gmail inbox Assessment: uses OpenAI gpt-4o and a JSON parser to determine if a response is necessary. Reply Generation: crafts a reply with OpenAI GPT-4 Turbo Draft Integration: after converting the text to html, it places the draft into the Gmail thread as a reply to the first message Set Up Overview (~10 minutes): OAuth Configuration (follow n8n instructions here): Setup Google OAuth in Google Cloud console. Make sure to add Gmail API with the modify scope. Add Google OAuth credentials in n8n. Make sure to add the n8n redirect URI to the Google Cloud Console consent screen settings. OpenAI Configuration: add OpenAI API Key in the credentials Tweaking the prompt: edit the system prompt in the "Generate email reply" node to suit your needs Detailed Walkthrough Check out this blog post where I go into more details on how I built this workflow. Reach out to me here if you need help building automations for your business.
by Audun
Who Is This For? Web developers SEO specialists Digital marketers What Problem Is This Workflow Solving? Automates the extraction of internal links from a webpage Eliminates the manual and error-prone process of collecting links Facilitates analysis of website structure and optimization What This Workflow Does Uses HTTP request node to fetch HTML content from a specified webpage Parses the HTML to identify and extract internal links Compiles a list of URLs directing to pages within the same domain Setup Configure the Set Base URL node: Set the url field to the URL you want to analyze. How to Customize This Workflow to Your Needs Change the target URL in the Set Base URL node to analyze different webpages. Add nodes to: Filter or categorize the extracted links Export the list to a database or CSV Send links via email or integrate with other tools This workflow can be used as a base for workflows to manage the process of extracting internal links, aiding in website optimization and SEO efforts.
by Milorad Filipović
How It works It's very important to come prepared to Sales calls. This often means a lot of manual research about the person you're calling with. This workflow delivers the latest news about businesses you are about to interact with each day. Scans Your Calendar**: Each morning, it reviews your Google Calendar for any scheduled meetings or calls with companies. Fetches Latest News**: For each identified company, it searches the web for the most recent and relevant news articles using newsapi.org Delivers Insights**: You receive personalized emails via Gmail, each dedicated to a company you're meeting with that day, containing a curated list of news headlines, brief descriptions, and direct links to full articles. Setup steps The workflow requires you to have the following accounts set up in their respective nodes: Google Calendar GMail Besides those, there are a few parameters in the node called Setup that can be used to tweak the workflow:
by Daniel Nolde
What it is Chat with your event schedule from Google Sheets in Telegram: "When is the next meetup?" "How many events are there next month?" "Who presented most often?" "Which future meetups have no presenters yet?" This workflow lets you chat with a telegram bot about past, present and future events that are scheduled in a Google Spreadsheet. (Info: This proof-of-concept was created as a demo for a hackathon of an AI & Developer Meetup in Da Nang (Vietnam) that uses a telegram group to organize) Who it is for If you want an easy way for your audience to get information about your events, you can us this workflow for the same purpose, or easily adapt it to your needs and different use-cases where you want to query smaller amounts of tabular data in natural language. How it works Upon getting triggered by a chat message to a telegram bot, the schedule of meetups is retrieved from Google Spreadsheets, converted into a markdown table syntax and fed into the system prompt of an LLM (we're using OpenRouter in this example), whose output is posted back as answer into the same telegram chat. Setup steps TO REVIEWING IN ACTION As the reviewer of this workflow, you can temporarily use it via an existing telegram bot, simply point your telegram client to https://t.me/AiDaNangBot and start to ask questions like: "When is the next meetup?" "What future meetings do not have presenters?" "Who presented on Future of Human Relationships?" To build upon this workflow: Import the workflow Customize the Google Docs credentials for your individual access Create a telegram bot and connect it to the workflow by entering its API token into the credentials used in the telegram trigger node In the "Settings" node, replace the "scheduleURL" with the URL of your own copy of the Google Spreadsheet or a copy of the Event Schedule Template Sheet to spin off your own – whereby the structure of the spreadsheet doesn't matter, it's just important that you semantically structure your information in dedicated columns clearly labeled in the header row.
by David Roberts
The built-in Gmail node doesn't yet support embedding images within the body of the email, but you can pull this off using the HTTP node, and this template shows you how. Requirements A Gmail account How it works The workflow downloads an image, converts it into the format that the Gmail API expects (base64), packages it into a multipart MIME email and uses the HTTP node to send it.
by Yaron Been
Transform YouTube comments into actionable insights with automated AI analysis and professional email reports. This intelligent workflow monitors your Google Sheets for YouTube video IDs, fetches comments using YouTube API, performs comprehensive AI sentiment analysis, and delivers formatted email reports with viewer insights - helping content creators understand their audience and improve engagement. 🚀 What It Does Smart Video Monitoring: Watches Google Sheets for new YouTube video IDs marked as "Pending" and triggers automated analysis Complete Comment Collection: Fetches up to 100 top comments per video using YouTube API with relevance-based ordering AI-Powered Analysis: Uses GPT-4 to analyze comments for sentiment, themes, questions, feedback, and actionable insights Professional Email Reports: Generates detailed HTML reports with statistics, sentiment breakdown, and improvement recommendations Automated Status Tracking: Updates spreadsheet status to prevent duplicate processing and maintain organized workflow 🎯 Key Benefits ✅ Deep Audience Insights: Understand what viewers really think about your content ✅ Save Hours of Manual Work: Automated comment analysis vs reading hundreds of comments ✅ Improve Content Strategy: Get actionable feedback for better video performance ✅ Track Sentiment Trends: Monitor positive/negative feedback patterns ✅ Professional Reporting: Receive formatted analysis reports via email ✅ Scalable Analysis: Process multiple videos automatically 🏢 Perfect For Content Creators & YouTubers Individual creators tracking audience engagement Educational channels analyzing learning feedback Entertainment creators understanding viewer preferences Business channels monitoring brand sentiment Marketing & Business Applications Brand Monitoring**: Track sentiment on branded content and partnerships Audience Research**: Understand viewer demographics and preferences Content Optimization**: Identify what resonates with your audience Competitor Analysis**: Analyze comments on competitor videos (where allowed) ⚙️ What's Included Complete Analytics Workflow: Ready-to-deploy YouTube comment analysis system Google Sheets Integration: Simple spreadsheet-based video management YouTube API Integration: Automated comment fetching with proper authentication AI Analysis Engine: GPT-4 powered sentiment and insight generation Email Reporting System: Professional HTML-formatted reports Status Management: Automatic processing tracking and duplicate prevention 🔧 Setup Requirements n8n Platform**: Cloud or self-hosted instance YouTube API Credentials**: Google Cloud Console API access OpenAI API**: GPT-4 access for comment analysis Google Sheets**: Video ID management and status tracking Gmail Account**: For receiving analysis reports 📊 Required Google Sheets Structure | ID | Video Title | YouTube Video ID | Status | |----|-------------|------------------|---------| | 1 | My Tutorial | dQw4w9WgXcQ | Pending | | 2 | Product Demo| abc123def456 | Mail Sent | | 3 | Weekly Vlog | xyz789uvw012 | Draft | Status Options: Draft → Pending → Mail Sent 📧 Sample Analysis Report 📺 YouTube Comments Analysis Report Video: "How to Build Your First Website" 📊 Quick Statistics: • Total Comments Analyzed: 87 • Average Likes per Comment: 3.2 • Total Replies: 156 • Sentiment Summary: Positive: 65%, Negative: 10%, Neutral: 25% ❓ Common Questions: • "What hosting service do you recommend?" • "Can I do this without coding experience?" • "How much does domain registration cost?" 💡 Key Feedback Points: • Tutorial pace is perfect for beginners • More examples of finished websites requested • Viewers want follow-up video on advanced features 🎯 Actionable Insights: • Create hosting comparison video • Add timestamps for different skill levels • Consider beginner-friendly series expansion 🎨 Customization Options Analysis Depth: Adjust AI prompts for different analysis focuses (engagement, education, entertainment) Comment Limits: Modify maximum comments processed (default: 100, AI analysis: 50) Report Recipients: Send reports to multiple team members or clients Custom Metrics: Add specific analysis criteria for your content niche Multi-Channel: Process videos from multiple YouTube channels Scheduling: Set up regular analysis of your latest videos 🏷️ Tags & Categories #youtube-analytics #comment-analysis #content-creator-tools #ai-sentiment-analysis #video-insights #audience-research #youtube-api #content-optimization #social-media-analytics #creator-economy #video-marketing #engagement-analysis #content-strategy #ai-reporting #youtube-automation 💡 Use Case Examples Educational Channel: Analyze tutorial comments to identify confusing concepts and improve teaching methods Product Reviews: Monitor sentiment on review videos to understand customer satisfaction trends Entertainment Creator: Track audience reactions to different content formats and optimize future videos
by Tom Sekula
Who is this workflow for? This workflow is the baseline workflow for anyone who needs to automate the process of posting 1-4 images to Bluesky using the Bluesky API. It is ideal for anyone looking to streamline their social media posting process, saving time and ensuring consistent content delivery. Use Case / Problem Solved Manually posting images and captions on Instagram can be time-consuming, especially for businesses and content creators managing multiple accounts. This workflow automates the process from image preparation to publishing, reducing manual effort and increasing efficiency. What this workflow does Trigger Initialization: The workflow starts with a manual trigger that can be adapted to other triggers (e.g., HTTP webhook or schedule). Set Parameters: The workflow includes a node that sets essential parameters, such as the Bluesky account ID, image URLs, and caption. Prepare Bluesky Session: A node creates the authenticated session data used by the upload and post operations later in the workflow. Publish Media: Nodes retrieve image files from the specified URLS and uploads them as blobs to Bluesky, a necessary pre-requisite for a Bluesky post to have images attached. Post text caption + images: A node does the final call to the Bluesky API, including the text caption and relevant image references. Setup Sign-in to Bluesky and create an App Password Add your username and App Password to the Define Credentials node. Set the caption (text content) of your post in the Set Caption node. Set 1-4 image URLs in the Set Images node Adapt the initial trigger as needed to fit your workflow's requirements (e.g., schedule, webhook). Adapt the caption and images nodes to accept dynamic parameters. Limitations This workflow assumes a minimum of 1 image URL to function. If you want a text-only post, remove the whole embed section from the JSON in last Post to Bluesky node, as well as relevant image attachment nodes. The 300-character limit in Bluesky includes the caption + hashtags + image alt text. Going over 300 will return a Record/description must not be longer than 300 graphemes error.
by Jimleuk
This n8n template builds upon a simple appointment request form design which uses AI to qualify if the incoming enquiry is suitable and/or time-worthy of an appointment. This demonstrates a lighter approach to using AI in your templates but handles a technically difficult problem - contextual understanding! This example can be used in a variety of contexts where figuring out what is and isn't relevant can save a lot of time for your organisation. How it works We start with a form trigger which asks for the purpose of the appointment. Instantly, we can qualify this by using a text classifier node which uses AI's contextual understanding to ensure the appointment is worthwhile. If not, an alternative is suggested instead. Multi-page forms are then used to set the terms of the appointment and ask the user for a desired date and time. An acknowledgement is sent to the user while an approval by email process is triggered in the background. In a subworkflow, we use Gmail with the wait for approval operation to send an approval form to the admin user who can either confirm or decline the appointment request. When approved, a Google Calendar event is created. When declined, the user is notified via email that the appointment request was declined. How to use Modify the enquiry classifier to determine which contexts are relevant to you. Configure the wait for approval node to send to an email address which is accessible to all appropriate team members. Requirements OpenAI for LLM Gmail for Email Google Calendar for Appointments Customising this workflow Not using Google Mail or Calendar? Feel free to swap this with other services. The wait for approval step is optional. Remove if you wish to handle appointment request resolution in another way.
by Franz
🧠 Sentiment Analyzer Google Sheets → OpenAI GPT-4o → QuickChart → Gmail 🚀 What this workflow does Fetches customer reviews from a Google Sheet. Classifies each review as Positive, Neutral or Negative with GPT-4o-mini. Writes the sentiment back to your sheet. Builds a doughnut chart summarising the totals. Emails the chart to your chosen recipient so the whole team stays in the loop. Perfect for support teams, product managers or anyone who wants a zero-code mood ring for their users’ feedback. 🗺️ Node-by-node tour | 🔩 Node | 💡 Purpose | | ------------------------------------------------------- | ---------------------------------------------------------- | | Manual Trigger | Lets you test the workflow on demand. | | Select Google Sheet | Points to the spreadsheet that holds your reviews. | | Loop Over Items | Feeds each row through the analysis routine. | | Sentiment Analysis (LangChain) | Calls GPT-4o-mini and returns only the sentiment category. | | Update Google Sheet | Writes the new Sentiment value into column C. | | Read Data from Google Sheet | Pulls the full sheet again to create a summary. | | Extract Number of Answers per Sentiment (Code node) | Tallies up how many reviews fall into each category. | | Generate QuickChart | Creates a doughnut (or pie) chart as a PNG. | | Send Gmail with Sentiment Chart | Fires the chart off to your inbox. | | (Sticky Notes) | Friendly setup tips scattered around the canvas. | 🛠️ Setup checklist | ✅ Step | Where | | ------------------------------------------------------------------------------------- | -------------------------------- | | Connect Google Sheets → paste your Spreadsheet ID & choose the correct sheet. | All Google Sheets nodes | | Add OpenAI credentials (sk-… key). | Sentiment Analysis node | | Configure Gmail OAuth2 + recipient address. | Gmail node | | Match your sheet columns → “Review title”, “Review text”, empty “Sentiment”. | Google Sheet itself | | (Optional) Switch to gpt-4o for maximum accuracy. | Sentiment Analysis “Model” param | 🏃♂️ How to run Drop a few sample reviews into the sheet. Click “Test workflow” on the Manual Trigger. Watch each row march through → sentiment appears in column C. After all rows finish, check your inbox for a fresh chart. ✔️ ✨ Ideas for next level Schedule** the trigger (Cron) to auto-process new reviews daily. Feed the counts to Slack or Discord instead of email. Add a second GPT call to generate a short summary for each review. Happy automating! 🎉
by Martijn Kerver
Description This workflow automates email categorization in Gmail using the Gmail API and OpenAI's language model. It periodically checks for new emails, reads their content, and categorizes them based on existing Gmail labels. If no matching label is found, the workflow creates a new label and assigns it to the email. Key Features Polling for Emails**: The workflow triggers every 5 minutes to check for new emails using the Gmail Trigger node. Reading Labels**: Existing Gmail labels are fetched to determine the most relevant match for email categorization. Dynamic Labeling**: If no existing label matches, a new label is created dynamically based on the email's content. OpenAI Integration**: The workflow uses OpenAI's Chat model to analyze email content and suggest or create appropriate labels. Email Categorization**: Labels are applied to emails, ensuring they are organized in Gmail's structure. The workflow also removes less relevant emails (e.g., ads) from the inbox. Nodes in Use Gmail Trigger: Polls Gmail every 5 minutes for new emails. Gmail - Read Labels: Fetches all existing Gmail labels. Gmail - Get Message: Retrieves the full content of a specific email. Gmail - Add Label to Message: Assigns a chosen label to the email. Gmail - Create Label: Creates a new label if necessary. OpenAI Chat Model: Analyzes email content for categorization. Memory Buffer: Retains context for email analysis across multiple iterations. Wait Node: Adds a buffer period to manage email processing. Prerequisites Gmail API Setup**: Ensure Gmail OAuth2 credentials are configured in n8n. OpenAI API Key**: Configure OpenAI credentials for email analysis. Labeling Standards**: Maintain a consistent Gmail label structure for better organization. Instructions Add your Gmail API credentials to the Gmail nodes. Add your OpenAI API credentials to the OpenAI Chat Model node. Activate the workflow. It will start polling for new emails every 5 minutes. Monitor and refine the categorization logic if necessary to ensure alignment with Gmail's organizational needs. Use Case Ideal for individuals or teams handling high email volumes who want to maintain an organized inbox and automate repetitive categorization tasks. Note: You can improve the prompt to get better results from the agent by giving it more personal rules on how to categorize.
by Juan Carlos Cavero Gracia
Description This automation template is designed for content creators, digital marketers, and social media managers looking to simplify their video posting workflow. It automates the process of generating engaging video descriptions and uploading content to both Instagram and TikTok, making your social media management more efficient and error-free. Who Is This For? Content Creators & Influencers:** Streamline your video uploads and focus more on creating content. Digital Marketers:** Ensure consistent posting across multiple platforms with minimal manual intervention. Social Media Managers:** Automate repetitive tasks and maintain a steady online presence. What Problem Does This Workflow Solve? Manually creating descriptions and uploading videos to different platforms can be time-consuming and error-prone. This workflow addresses these challenges by: Automating Video Uploads:** Monitors a designated Google Drive folder for new videos. Generating Descriptions:** Uses OpenAI to transcribe video audio and generate engaging, customized social media descriptions. Ensuring Multi-Platform Consistency:** Simultaneously posts your video with the generated description to Instagram and TikTok. Error Notifications:** Optional Telegram integration sends alerts in case of issues, ensuring smooth operations. How It Works Video Upload: Place your video in the designated Google Drive folder. Description Generation: The automation triggers OpenAI to transcribe your video’s audio and generate a captivating description. Content Distribution: Automatically uploads the video and description to both Instagram and TikTok. Error Handling: Sends Telegram notifications if any issues arise during the process. Setup Generate an API token at upload-post.com and configure it in both the Upload to TikTok and Upload to Instagram nodes. Google Cloud Project: Create a project in Google Cloud Platform, enable the Google Drive API, and generate the necessary OAuth credentials to connect to your Google Drive account. Set up your Google Drive folder in the Google Drive Trigger node. Customize the OpenAI prompt in the Generate Social Description node to match your brand’s tone. (Optional) Configure Telegram credentials for error notifications. Requirements Accounts:** upload-post.com, Google Drive, and (optionally) Telegram. API Keys & Credentials:** Upload-post.com API token, OpenAI API key, and (optional) Telegram bot token. Google Cloud:** A project with the Google Drive API enabled and valid OAuth credentials. Use this template to enhance your productivity, maintain consistency across your social media channels, and engage your audience with high-quality video content.
by explorium
Explorium Event-Triggered Outreach This n8n and agent-based workflow automates outbound prospecting by monitoring Explorium event data (e.g. product launches, new office opening, new investment and more), researching companies, identifying key contacts, and generating tailored sales emails leveraging the Explorium MCP server. Template Workflow Overview Node 1: Webhook Trigger Purpose: Listens for real-time product launch events pushed from Explorium's webhook system. How it works: Explorium sends HTTP POST requests containing event data The webhook payload includes company name, business ID, domain, product name, and event type Pay attention: Product launch is just one example. You can easily enroll to many more meaningful events. to learn about events and how to enroll to events, visit the events documentation. Node 2: Company Research Agent Agent Type: Tools Agent Purpose: Enrich company data after an event occurs. How it works: Uses Explorium MCP via the MCP Client tool to gather additional company data Uses Anthropic Claude (Chat Model) to process and interpret company information for downstream personalization Node 3: Employee Data Retrieval Purpose: Retrieve prospect-level data for targeting. How it works: Uses HTTP Request node to call Explorium's fetch_prospects endpoint Filters prospects by: Company business_id Departments: Product, R&D, etc... Seniority levels: owner, cxo, vp, director, senior, manager, partner, etc... Pay Attention: Follow our fetch prospect documentation for the full list of filter and best practice. Limits results to top 5 relevant employees Code nodes handle: Filtering logic Cleaning API response Formatting data for downstream agents Node 4: Conditional Branch - Prospect Data Check If Node: Checks whether prospect data was successfully retrieved Logic: If prospects found → personalized emails per person If no prospects → fallback to company-level general email Node 5A: Email Writer #1 (No Prospect Data) Agent Type: Tools Agent Purpose: Write generic outbound email using only company-level research and event info. Powered by: Anthropic Chat Model Node 5B: Loop Over Prospects → Email Writer #2 (Personalized) Agent Type: Tools Agent Purpose: Write highly personalized email for each identified employee. How it works: Loops through each individual prospect Passes company research + employee data to LLM agent Generates customized emails referencing: Prospect's title & department Product launch Role-relevant Explorium value proposition Node 6: Slack Notifications Purpose: Posts completed emails to internal Slack channel for review or testing before final deployment. Future State: Can be swapped with an email sequencing platform in production. Setup Requirements Explorium API Access MCP Client credentials for company enrichment and prospect fetching Registered webhook for event listening Get explorium api key n8n Configuration Secure environment variables for API keys & webhook secret Code nodes configured for JSON transformation, filtering & signature validation Customization Options Personalization Logic Update LLM prompt instructions to reflect ICP priorities Modify email templates based on role, department, or tenure logic Adjust fallback behavior when prospect data is unavailable API Request Tuning Adjust page_size for number of prospects retrieved Fine-tune seniority and department filters to match evolving targeting Future Expansion Swap Slack notifications for outbound email automation Integrate call task assignment directly into CRM Introduce engagement scoring feedback loop (opens, clicks, replies) Troubleshooting Tips Validate webhook signature matching to prevent unauthorized requests Ensure correct business_id is passed to prospect fetching endpoint Confirm business enrichment returns sufficient data for company researcher agents Review agent LLM responses for correct output structure and parsing consistency