# templates

name: Automate Multi-Channel Customer Support with Gmail, Telegram, and GPT AI
author_name: RedOne
author_username: redone
categories: []
created_at: 2025-05-29T05:09:06.053Z
updated_at: 2025-05-29T05:09:06.053Z
url: https://n8n.io/workflows/4474
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Smart Customer Support AI Agent with Gmail and Telegram

  Who is this for?

  This workflow is perfect for:
  Small to medium businesses** looking to automate customer support
  E-commerce stores** handling order inquiries and customer questions
  SaaS companies** providing technical support to users
  Service providers** managing appointment bookings and general inquiries
  Startups** wanting to provide 24/7 customer service without hiring full-time staff
  Agencies** managing client communications across multiple channels

  What problem is this workflow solving?

  Customer support is essential but resource-intensive. Common challenges include:
  Slow response times** leading to frustrated customers
  Repetitive questions** consuming valuable staff time
  Inconsistent responses** across different support agents
  Limited availability** outside business hours
  Scaling support costs** as business grows
  Context loss** when customers switch between channels

  This workflow eliminates these pain points by providing instant, consistent, and intelligent responses 24/7.

  What this workflow does

  Core Functionality
  Multi-Channel Monitoring: Simultaneously watches Gmail and Telegram for customer inquiries
  Intelligent Processing: Uses AI to understand customer intent and context
  Knowledge Base Integration: Accesses your company's FAQ and support information
  Contextual Responses: Provides personalized, helpful replies maintaining conversation history
  Smart Escalation: Automatically escalates complex issues to human agents
  Comprehensive Logging: Tracks all interactions for analytics and improvement

  AI Agent Capabilities
  Natural Language Understanding**: Comprehends customer questions in plain English
  Context Awareness**: Remembers previous conversations with each customer
  Knowledge Retrieval**: Searches your knowledge base for accurate information
  Response Generation**: Creates professional, brand-appropriate responses
  Escalation Decision**: Identifies when human intervention is needed
  Multi-Channel Support**: Handles Gmail and Telegram with channel-specific formatting

  Automation Features
  Auto-Response**: Replies to customers within seconds
  Email Management**: Marks processed emails as read
  Conversation Threading**: Maintains context in email threads and Telegram chats
  Error Handling**: Gracefully handles failures with admin notifications
  Analytics Tracking**: Logs interactions for performance monitoring

  Setup

  Prerequisites
  Active Google Workspace or Gmail account
  Telegram account for bot creation
  OpenAI API access
  Google Sheets access
  n8n instance (cloud or self-hosted)

  Step 1: Credential Setup

  Gmail OAuth2 Configuration
  Go to Google Cloud Console
  Create new project or select existing one
  Enable Gmail API
  Create OAuth 2.0 credentials
  Add authorized redirect URIs for n8n
  In n8n: Settings → Credentials → Add Gmail OAuth2
  Enter Client ID and Client Secret
  Complete OAuth flow

  Telegram Bot Setup
  Message @BotFather on Telegram
  Create new bot with /newbot command
  Choose bot name and username
  Copy the bot token
  In n8n: Settings → Credentials → Add Telegram
  Enter bot token
  Set webhook URL in bot settings

  OpenAI API Configuration
  Sign up at OpenAI Platform
  Generate API key in API Keys section
  In n8n: Settings → Credentials → Add OpenAI
  Enter API key
  Choose appropriate model (gpt-4o-mini recommended)

  Google Sheets Setup
  Use existing Google account from Gmail setup
  In n8n: Settings → Credentials → Add Google Sheets OAuth2
  Complete authorization flow

  Step 2: Google Sheets Preparation

  Create three Google Sheets in your Google Drive:

  Knowledge Base Sheet
  Sheet Name**: "Knowledge Base"
  Columns**: ID, Category, Question/Topic, Answer/Response, Keywords, Last_Updated
  Import sample data from the Knowledge Base example
  Customize with your company's FAQs and policies

  Escalation Tracker Sheet
  Sheet Name**: "Escalations" 
  Columns**: Timestamp, Customer_Name, Customer_Contact, Inquiry_Summary, Escalation_Reason, Priority, Status, Assigned_To
  This will be auto-populated by the AI agent

  Interaction Log Sheet
  Sheet Name**: "Interaction Log"
  Columns**: Timestamp, Channel, Customer_Name, Customer_Contact, Inquiry_Subject, Customer_Message, AI_Response, Response_Time, Status
  This tracks all customer interactions for analytics

  Step 3: Workflow Configuration

  Import Template
  Copy the workflow JSON from the template
  In n8n: Import workflow from JSON
  Replace placeholder Sheet IDs with your actual Google Sheet IDs

  Update Sheet References
  Open each Google Sheets node
  Select your created sheets from the dropdown
  Verify column mappings match your sheet structure

  Customize AI Prompts
  Edit the "Customer Support AI Agent" node
  Update system message with:
     Your company name and description
     Brand voice and tone guidelines
     Specific policies and procedures
     Escalation criteria

  Configure Error Notifications (Optional)
  Set up Slack webhook or email notifications
  Update error notification node with your webhook URL
  Customize error message format

  Step 4: Testing

  Test Gmail Integration
  Send test email to your support Gmail account
  Check workflow execution in n8n
  Verify response is sent and email marked as read
  Check interaction logging in Google Sheets

  Test Telegram Integration  
  Send message to your Telegram bot
  Verify bot responds appropriately
  Test conversation memory with follow-up messages
  Check escalation functionality with complex request

  Test Knowledge Base
  Ask questions covered in your knowledge base
  Verify AI retrieves and uses correct information
  Test with variations of the same question
  Ensure responses are consistent and helpful

  How to customize this workflow to your needs

  Brand Voice Customization
  Update the AI system prompt to include:
  Your company's tone (formal, casual, friendly)
  Key phrases and terminology you use
  Brand personality traits
  Communication style preferences

  Knowledge Base Expansion
  Add industry-specific FAQs
  Include product documentation
  Add troubleshooting guides
  Create category-specific responses

  Escalation Rules
  Customize when to escalate by modifying the AI agent instructions:
  Billing disputes over $X amount
  Technical issues requiring developer help
  Angry or dissatisfied customers
  Requests outside standard services
  Legal or compliance questions

  Additional Channels
  Extend the workflow to support:
  Slack**: Add Slack triggers and response nodes
  WhatsApp**: Integrate WhatsApp Business API
  Web Chat**: Add webhook triggers for website chat
  Discord**: Connect Discord bot integration

  Analytics Enhancement
  Add sentiment analysis to customer messages
  Implement customer satisfaction scoring
  Create automated reporting dashboards
  Set up alert thresholds for escalation rates

  Integration Opportunities
  CRM Integration**: Connect to HubSpot, Salesforce, or Pipedrive
  Ticketing System**: Link to Zendesk, Freshdesk, or Jira Service Desk
  E-commerce Platform**: Integrate with Shopify, WooCommerce, or Magento
  Calendar Booking**: Connect to Calendly or Acuity for appointment scheduling

  Advanced Features
  Multi-language Support**: Add translation capabilities
  Voice Messages**: Integrate speech-to-text for Telegram voice notes
  Image Recognition**: Process customer screenshots for technical support
  Proactive Outreach**: Send follow-up messages based on customer behavior

  Workflow Maintenance

  Daily Tasks
  Review escalation queue
  Monitor error notifications
  Check response quality in interaction log

  Weekly Reviews
  Analyze customer interaction patterns
  Update knowledge base with new common questions
  Review escalation reasons and optimize AI prompts

  Monthly Optimization
  Export interaction data for detailed analysis
  Calculate key metrics (response time, resolution rate, escalation rate)
  Update AI model parameters based on performance
  Expand knowledge base with seasonal or trending topics

  Key Metrics to Track

  Response Time**: Average time from customer message to AI response
  Resolution Rate**: Percentage of inquiries resolved without escalation  
  Customer Satisfaction**: Based on follow-up surveys or sentiment analysis
  Escalation Rate**: Percentage of conversations requiring human intervention
  Channel Performance**: Effectiveness of Gmail vs Telegram vs other channels
  Knowledge Base Usage**: Which topics are accessed most frequently
  Peak Hours**: When customers contact support most often

  Troubleshooting

  Common Issues
  Gmail not triggering**: Check OAuth permissions and API quotas
  Telegram bot not responding**: Verify bot token and webhook configuration
  AI responses seem off**: Review and update system prompts
  Escalations not logging**: Check Google Sheets permissions and column mapping
  High escalation rate**: Expand knowledge base and refine AI instructions

  Performance Optimization
  Monitor OpenAI API usage and costs
  Adjust AI model temperature for response consistency
  Optimize knowledge base for faster searches
  Set appropriate conversation memory limits

  This workflow provides a solid foundation for automated customer support that can be extensively customized to match your specific business needs and grow with your company.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.telegramTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.telegram","n8n-nodes-base.gmailTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.errorTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTool"]

workflow_json_compressed:
  [encoded data, 6300 characters]

metadata_json:
  {"categories":["automation","integration","customer support","AI","omnichannel messaging"],"complexity":"medium","use_cases":["Automate multi-channel customer support (Gmail + Telegram)","Provide 24/7 instant responses and reduce repetitive tickets","Knowledge-base driven answer retrieval and contextual replies","Auto-escalation of complex issues to human agents","Centralized interaction logging and analytics"],"estimated_setup_minutes":90,"required_services":["Google Workspace / Gmail (OAuth2)","Telegram (Bot API)","OpenAI API (GPT model)","Google Sheets (for KB, logs, escalations)","n8n instance (cloud or self-hosted)"],"key_features":["Multi-channel monitoring (Gmail + Telegram)","Natural language understanding and response generation (OpenAI)","Knowledge base integration via Google Sheets","Conversation memory and contextual threading","Smart escalation to human agents and escalation tracker sheet population」「Automated email handling (mark as read) and channel-specific formatting」「Interaction logging and analytics tracking」「Error handling and admin notifications"],"target_audience":["Small & medium businesses","E-commerce stores","SaaS companies and support teams」「Service providers handling bookings/inquiries」「Startups needing 24/7 support without hiring full-time staff」「Agencies managing client communications"]}


name: MCP Server with AI Agent as a Tool Context Reducer
author_name: William Lettieri
author_username: fibonacci
categories: []
created_at: 2025-05-29T05:17:43.176Z
updated_at: 2025-05-29T05:17:43.176Z
url: https://n8n.io/workflows/4475
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Overview

  Transform your LLM into a powerful GitHub automation specialist with this n8n workflow template. In a world where multiple MCP servers can overwhelm LLMs with context, this streamlined solution provides a dedicated GitHub Agent that handles all GitHub API operations through a single, specialized tool.

  When you need GitHub operations like creating repositories, managing issues, or handling pull requests, your LLM can make one simple call to the GitHub Agent. This agent specializes exclusively in GitHub MCP server operations, offloading all contextual complexity and providing clean, efficient GitHub automation.

  ✨ Features

  Single MCP Server Trigger** - One tool and one parameter to handle all GitHub API interactions  
  Specialized GitHub Agent** - Dedicated AI agent with direct GitHub MCP Server connection
  Self-Executing Workflow** - "When Executed by Another Workflow" trigger enables seamless workflow chaining
  Scalable Architecture** - Ready to integrate with unlimited GitHub tools and operations
  Context Optimization** - Reduces LLM token usage by delegating GitHub complexity to a specialized agent
  Flexible Request Processing** - Handles any GitHub operation through natural language requests

  🎯 Use Cases

  Repository Management** - Create, clone, and manage repositories programmatically
  Issue Tracking** - Automate issue creation, updates, and management workflows  
  Pull Request Automation - Streamline code review and merge processes
  GitHub Actions Integration** - Trigger and monitor CI/CD workflows
  Team Collaboration** - Automate notifications and team management tasks
  Documentation Updates** - Automatically update README files and documentation

  🏗️ Workflow Architecture

  Node Breakdown:
  MCP Server Trigger - Receives requests with GitHub operation parameters
  Set GitHub Username - Configures GitHub user context for API calls  
  OpenAI Chat Model - Powers the intelligent GitHub agent with contextual understanding
  Simple Memory - Maintains conversation context and operation history
  GitHub AI Agent - Specialized Tools Agent with direct GitHub MCP Server access

  [MCP Server Trigger] → [Set GitHub Username] → [GitHub AI Agent]
                                  ↓
  [OpenAI Chat Model] ← [Simple Memory] ← [GitHub API Operations]

  📋 Requirements

  Essential Prerequisites:
  ✅ OpenAI API Key - For AI Agent and Chat Model functionality
  ✅ GitHub Username Configuration - Edit the "Set GitHub Username" node with your GitHub username for API calls
  ✅ n8n Version - Compatible with n8n 2024+ releases
  ✅ MCP Server Setup - Existing GitHub MCP server configuration

  Recommended Setup:
  GitHub Personal Access Token with appropriate permissions
  Basic understanding of n8n workflow configuration
  Familiarity with GitHub API operations

  🚀 Setup Instructions

  Step 1: Import and Configure
  Import the workflow template into your n8n instance
  Navigate to the Set GitHub Username node
  Replace the placeholder with your actual GitHub username

  Step 2: API Keys Setup
  Configure your OpenAI API key in the Chat Model node
  Ensure your GitHub credentials are properly configured in n8n
  Test the connection to verify API access

  Step 3: MCP Server Integration  
  Connect your existing GitHub MCP server to the workflow
  Verify the MCP Server Trigger is properly configured
  Test with a simple GitHub operation (e.g., "List my repositories")

  Step 4: Deploy and Test
  Activate the workflow in your n8n instance
  Test with various GitHub operations to ensure functionality
  Monitor execution logs for any configuration issues

  🔧 Customization Options

  Agent Behavior
  Modify the Chat Model prompt** to adjust agent personality and response style
  Configure memory settings** to control conversation context retention
  Adjust timeout settings** for long-running GitHub operations

  GitHub Operations
  Extend supported operations** by adding new GitHub API endpoints
  Configure repository filters** to limit scope of operations
  Set up notification preferences** for important GitHub events

  Integration Points
  Webhook triggers** for real-time GitHub event processing
  Scheduled operations** for regular repository maintenance
  Cross-workflow triggers** for complex automation chains

  💡 Pro Tips

  Start Simple**: Begin with basic operations like repository listing before attempting complex workflows
  Monitor Token Usage**: The specialized agent approach significantly reduces OpenAI API costs
  Batch Operations**: Group related GitHub operations in single requests for efficiency
  Error Handling**: The agent provides detailed error messages for troubleshooting

  🤝 Support and Community

  Documentation**: Official n8n Documentation
  Community Forum**: n8n Community
  Issues & Contributions**: Feel free to suggest improvements or report issues

  📄 License

  This workflow template is provided under the MIT License. You're free to use, modify, and redistribute with attribution.

  Created by: William Lettieri
  Version: 1.0  
  Last Updated: May 28, 2025  
  Compatibility: n8n 2024+

nodes_used:
  ["@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4504 characters]

metadata_json:
  {"categories":["automation","integration","AI agent","developer tools"],"complexity":"medium","use_cases":["Repository management (create/clone/manage repos)","Issue tracking and automation","Pull request automation and code review workflows","Triggering and monitoring GitHub Actions (CI/CD)","Team collaboration and notifications automation"],"estimated_setup_minutes":20,"required_services":["n8n (2024+)","OpenAI API Key","GitHub (MCP Server configuration / Personal Access Token)"],"key_features":["Single MCP Server trigger to centralize GitHub operations","Specialized GitHub AI Agent for all GitHub API calls","Self-executing/workflow-chaining via 'When Executed by Another Workflow' trigger","Context optimization to reduce LLM token usage","Flexible natural-language request handling for any GitHub operation (issues, PRs, repos, actions, etc.)"],"target_audience":["Developers","DevOps / CI engineers","Automation engineers / architects"]}


name: AI-Powered Knowledge Assistant using Google Sheets, OpenAI, and Supabase Vector Search
author_name: Alex Huy
author_username: alexhuy
categories: []
created_at: 2025-05-29T05:29:03.045Z
updated_at: 2025-05-29T05:29:03.045Z
url: https://n8n.io/workflows/4476
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Description
  An intelligent conversational AI system that provides contextual responses by combining chat history, vector database knowledge retrieval, and web search capabilities.
  How it Works (High-level steps)

  Message Detection: Google Sheets trigger monitors for new user messages and filters out already-processed entries
  Context Preparation: Extracts user message, retrieves chat history, and formats conversation context with system prompt
  Knowledge Retrieval: AI agent searches vector database for relevant context using Supabase + OpenAI embeddings
  Response Generation: LangChain agent processes the request using:

  OpenAI GPT-4 language model
  Vector store tool for knowledge base queries
  SerpAPI tool for web search when needed
  Buffer memory for conversation continuity


  Response Storage: Updates Google Sheets with AI response and assigns unique timestamp ID

  Setup Steps

  Configure Google Sheets with columns: user_message, ai_respond, id
  Set up Supabase vector store with OpenAI embeddings
  Connect OpenAI API credentials (GPT-4 + embeddings)
  Configure SerpAPI for web search functionality
  Set up Google Sheets trigger and update permissions

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.function","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolVectorStore","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.function","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.toolSerpApi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4508 characters]

metadata_json:
  {"categories":["automation","integration","conversational AI","knowledge management","search"],"complexity":"complex","use_cases":["Internal knowledge base assistant","Customer support chatbot with context-aware answers","FAQ automation and escalation","Research assistant that combines docs and web search","Augmenting human agents with retrieved knowledge"],"estimated_setup_minutes":60,"required_services":["n8n (or compatible workflow runner)","Google Sheets (Google account with API access)","OpenAI (GPT-4 + embeddings API key)","Supabase (vector store configured for embeddings)","SerpAPI (web search API key)"],"key_features":["Detects new user messages in Google Sheets and avoids reprocessing","Combines chat history (buffer memory) with system prompts for context","Retrieves relevant documents from Supabase vector store using OpenAI embeddings","Uses LangChain-style agent with GPT-4 to orchestrate tools","Performs web search via SerpAPI when knowledge base lacks answers or needs verification"],"target_audience":["Developers implementing AI assistants","Data engineers building retrieval-augmented systems","Knowledge managers and documentation teams automating answers to queries"]}


name: AI-Powered Knowledge Assistant using Google Sheets, OpenAI, and Supabase Vector Search
author_name: Akhil Varma Gadiraju
author_username: akhilv7
categories: []
created_at: 2025-05-29T06:47:19.887Z
updated_at: 2025-05-29T06:47:19.887Z
url: https://n8n.io/workflows/4477
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  AI-Powered GitHub Commit Reviewer

  Overview

  Workflow Name: AI-Powered GitHub Commit Reviewer  
  Author: Akhil  
  Purpose: This n8n workflow triggers on a GitHub push event, fetches commit diffs, formats them into HTML, runs an AI-powered code review using Groq LLM, and sends a detailed review via email.

  How It Works (Step-by-Step)

  1. GitHub Trigger
  Node Type**: n8n-nodes-base.githubTrigger
  Purpose**: Initiates the workflow on GitHub push events.
  Repo**: akhilv77/relevance
  Output**: JSON with commit and repo details.

  2. Parser
  Node Type**: n8n-nodes-base.set
  Purpose**: Extracts key info (repo ID, name, commit SHA, file changes).

  3. HTTP Request
  Node Type**: n8n-nodes-base.httpRequest
  Purpose**: Fetches commit diff details using GitHub API.
  Auth**: GitHub OAuth2 API.

  4. Code (HTML Formatter)
  Node Type**: n8n-nodes-base.code
  Purpose**: Formats commit info and diffs into styled HTML.
  Output**: HTML report of commit details.

  5. Groq Chat Model
  Node Type**: @n8n/n8n-nodes-langchain.lmChatGroq
  Purpose**: Provides the AI model (llama-3.1-8b-instant).

  6. Simple Memory
  Node Type**: @n8n/n8n-nodes-langchain.memoryBufferWindow
  Purpose**: Maintains memory context for AI agent.

  7. AI Agent
  Node Type**: @n8n/n8n-nodes-langchain.agent
  Purpose**: Executes AI-based code review.
  Prompt**: Reviews for bugs, style, grammar, and security. Outputs styled HTML.

  8. Output Parser
  Node Type**: n8n-nodes-base.code
  Purpose**: Combines commit HTML with AI review into one HTML block.

  9. Gmail
  Node Type**: n8n-nodes-base.gmail
  Purpose**: Sends review report via email.
  Recipient**: akhilgadiraju@gmail.com

  10. End Workflow
  Node Type**: n8n-nodes-base.noOp
  Purpose**: Marks the end.

  Customization Tips

  GitHub Trigger**: Change repo/owner or trigger events.
  HTTP Request**: Modify endpoint to get specific data.
  AI Agent**: Update the prompt to focus on different review aspects.
  Groq Model**: Swap for other supported LLMs if needed.
  Memory**: Use dynamic session key for per-commit reviews.
  Email**: Change recipient or email styling.

  Error Handling

  Use Error Trigger nodes to handle failures in:
  GitHub API requests
  LLM generation
  Email delivery

  Use Cases

  Instant AI-powered feedback on code pushes.
  Pre-human review suggestions.
  Security and standards enforcement.
  Developer onboarding assistance.

  Required Credentials

  | Credential | Used By | Notes |
  |-----------|---------|-------|
  | GitHub API (ID PSygiwMjdjFDImYb) | GitHub Trigger | PAT with repo and admin:repo_hook |
  | GitHub OAuth2 API | HTTP Request | OAuth2 token with repo scope |
  | Groq - Akhil (ID HJl5cdJzjhf727zW) | Groq Chat Model | API Key from GroqCloud |
  | Gmail OAuth2 - Akhil (ID wqFUFuFpF5eRAp4E) | Gmail | Gmail OAuth2 for sending email |

  Final Note

  Made with ❤️ using n8n by Akhil.

nodes_used:
  ["n8n-nodes-base.githubTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.gmail","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGroq","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5488 characters]

metadata_json:
  {"categories":["automation","integration","code review","ai-assistant","developer tools"],"complexity":"medium","use_cases":["Automated pre-human code reviews on push events","Instant feedback for developers on new commits","Security and style/standards enforcement for commits","Onboarding assistance by explaining code changes"],"estimated_setup_minutes":45,"required_services":["GitHub API (PAT or OAuth2)","Groq (GroqCloud LLM API)","Gmail API (OAuth2)","n8n instance hosting/credentials"],"key_features":["Triggers on GitHub push events and fetches commit diffs","Formats commit and diff data into styled HTML reports","Runs LLM-based code review (bugs, style, grammar, security) via Groq model","Maintains short-term memory/context for the AI agent","Combines AI review and commit HTML into a single report and emails it via Gmail OAuth2 credentialed account"],"target_audience":["Developers","Engineering teams / reviewers","DevOps engineers maintaining CI/CD hooks / automation owners\",\"Security engineers"]}


name: Auto-Publish YouTube Videos to Facebook & Instagram with AI-Generated Captions
author_name: Yaron Been
author_username: yaron-nofluff
categories: []
created_at: 2025-05-29T07:09:15.501Z
updated_at: 2025-05-29T07:09:15.501Z
url: https://n8n.io/workflows/4478
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Automatically turn your YouTube videos into engaging Facebook and Instagram posts with AI-generated captions.

  This powerful workflow monitors your YouTube channel for new uploads, generates engaging social media captions using AI, and automatically publishes to both Facebook pages and Instagram business accounts - maximizing your content reach across all major platforms.

  🚀 What It Does

  YouTube Channel Monitoring: Watches your YouTube RSS feed hourly for new video uploads and triggers cross-platform publishing

  AI Caption Generation: Uses GPT-4 to create engaging, platform-optimized social media captions with emojis and calls-to-action

  Facebook Auto-Publishing: Posts directly to your Facebook page with AI-generated captions and video links

  Instagram Business Posting: Creates Instagram posts using YouTube thumbnails as images with custom captions

  Smart Error Handling: Continues workflow even if one platform fails, ensuring maximum post distribution

  🎯 Key Benefits

  ✅ 3x Content Reach: Automatically distribute YouTube content across major social platforms  
  ✅ Save 5+ Hours Weekly: Eliminate manual cross-posting and caption writing  
  ✅ AI-Optimized Captions: Professional, engaging content tailored for social media  
  ✅ Instant Publishing: New YouTube videos become social posts within 1 hour  
  ✅ Professional Thumbnails: Uses high-quality YouTube thumbnails for Instagram  
  ✅ Set & Forget: Complete automation once configured  

  🏢 Perfect For

  Content Creators & YouTubers
  Individual creators maximizing content distribution
  Educational channels expanding social reach
  Entertainment creators building multi-platform presence
  Business channels driving traffic from social media

  Business Applications
  Brand Awareness**: Increase visibility across all major social platforms
  Traffic Generation**: Drive social media traffic back to YouTube content
  Audience Growth**: Reach different demographics on each platform
  Content Amplification**: Maximize ROI from video content creation

  ⚙️ What's Included

  Complete Cross-Platform Workflow: Ready-to-deploy multi-platform publishing system
  YouTube RSS Integration: Automatic monitoring of your channel for new uploads
  AI Caption Engine: GPT-4 powered social media caption generation
  Facebook Publishing: Direct integration with Facebook Pages API
  Instagram Business Integration: Full Instagram Business account posting capability
  Error-Resistant Design: Robust system continues working even if one platform fails

  🔧 Setup Requirements

  n8n Platform**: Cloud or self-hosted instance
  YouTube Channel**: RSS feed for monitoring new uploads
  Meta Developer Account**: Facebook app with required permissions
  OpenAI API**: GPT-4 access for caption generation
  Long-lived Access Token**: For Facebook and Instagram API access

  📊 Required Meta API Permissions

  Required Permissions:
  ✅ pages_manage_posts
  ✅ pages_read_engagement  
  ✅ pages_show_list
  ✅ instagram_content_publish
  ✅ instagram_basic

  Token Type: Long-lived access token
  API Version: v22.0

  🎨 Sample AI Caption Generation

  YouTube Video: "10 Tips for Better Photography"

  Generated Social Caption:
  📸 Just dropped my latest photography tutorial! 

  Discover 10 game-changing tips that will transform your photos from amateur to professional. Whether you're just starting out or looking to level up your skills, these techniques will make a huge difference! 

  ✨ What you'll learn:
  • Composition secrets the pros use
  • Lighting techniques for any situation  
  • Camera settings that actually matter

  Which tip surprised you the most? Drop a comment below! 👇

  Watch the full tutorial: [YouTube Link]

  #Photography #Tutorial #PhotoTips #ContentCreator #Learn

  🎯 Customization Options

  Caption Personalization: Adjust AI prompts for your brand voice, hashtags, and audience
  Platform-Specific Formatting: Different caption styles for Facebook vs Instagram
  Posting Schedule: Modify monitoring frequency (hourly, daily, custom intervals)
  Multiple Channels: Monitor multiple YouTube channels with different posting strategies
  Content Filtering: Add filters for specific video types or topics
  Brand Integration: Include consistent branding elements and calls-to-action

  🏷️ Tags & Categories

  #youtube-automation #social-media-publishing #cross-platform-marketing #facebook-automation #instagram-business #content-distribution #ai-caption-generation #social-media-management #multi-platform-posting #youtube-marketing #content-amplification #social-media-automation #creator-tools #video-marketing #workflow-automation

  💡 Use Case Examples

  Educational Creator: Automatically share tutorial videos across platforms to reach students on different social networks

  Product Review Channel: Distribute review videos to Facebook and Instagram to drive traffic and affiliate sales

  Business Coach: Share valuable content across platforms to build authority and attract consulting clients

  Entertainment Channel: Maximize viral potential by instantly distributing funny videos across all major platforms

  🛠️ Setup & Support

  Quick Configuration: Complete setup in 45 minutes with Meta Developer account and API tokens
  Template Access Tokens: Instructions for generating long-lived Facebook/Instagram tokens
  Channel Integration: Simple YouTube RSS feed configuration for any channel
  Testing Protocol: Built-in error handling and testing procedures

  📞 Get Help & Resources


  YouTube: https://www.youtube.com/@YaronBeen/videos

  💼 Social Media Automation Support  
  LinkedIn: https://www.linkedin.com/in/yaronbeen/

  📧 Technical Configuration Help  
  Email: Yaron@nofluff.online - Response within 24 hours

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.rssFeedReadTrigger"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","social-media-integration","content-distribution","AI-driven-content"],"complexity":"medium","use_cases":["Auto-publish YouTube videos to Facebook Pages and Instagram Business","AI-generated, platform-optimized social captions","Repurpose video content to increase reach and drive traffic to YouTube","Cross-platform content amplification and scheduling","Filtering and multi-channel distribution strategies"],"estimated_setup_minutes":45,"required_services":["n8n (cloud or self-hosted)","YouTube channel RSS","OpenAI GPT-4 (OpenAI API)","Meta APIs (Facebook Pages API & Instagram Graph API)","Meta Developer account with required permissions","Long-lived Facebook/Instagram access token"],"key_features":["YouTube RSS monitoring for new uploads","GPT-4 powered caption generation with emojis and CTAs","Automatic publishing to Facebook Pages","Instagram Business posting using YouTube thumbnails","Platform-specific caption formatting and scheduling options','Robust error handling to continue when one platform fails','Support for multiple channels and content filtering"],"target_audience":["YouTubers and individual content creators","Social media managers and marketers","Small businesses and brand teams looking to amplify video content','Educators and creators repurposing tutorials or lectures','Agencies managing multi-platform posting for clients"]}


name: AI-Powered Candidate Screening and Evaluation Workflow using OpenAI and Airtable
author_name: Billy Christi
author_username: billy
categories: []
created_at: 2025-05-29T11:06:09.128Z
updated_at: 2025-05-29T11:06:09.128Z
url: https://n8n.io/workflows/4481
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?

  This workflow is ideal for:

  HR professionals* and *recruiters** who want to automate and enhance the hiring process
  Organizations** seeking AI-driven, consistent, and data-backed candidate evaluations
  Hiring managers** using Airtable as their recruitment database

  What problem is this workflow solving?

  Screening candidates manually is time-consuming, inconsistent, and difficult to scale. This workflow solves that by:

  Automating resume intake and AI evaluation**
  Matching candidates to job postings dynamically**
  Generating standardized suitability reports**
  Notifying HR only when candidates meet the criteria**
  Storing all applications in a structured Airtable database**

  What this workflow does

  This workflow builds an end-to-end AI-powered hiring pipeline using Airtable, OpenAI, and Google Drive. Here's how it works:

  Accept candidate applications via a public web form, including resume upload (PDF only)
  Extract text from uploaded resumes for processing
  Store resumes in Google Drive and generate shareable links
  Match the application to a job posting stored in Airtable
  Use AI to evaluate candidates (via OpenAI GPT-4) against job descriptions and requirements
  Generate suitability results including:

     Match percentage
     Screening status: Suitable, Not Suitable, Under Review
     Detailed notes
  Combine AI output and files into one data object
  Create a new candidate record in Airtable with all application data
  Automatically notify HR via Gmail if a candidate is marked “Suitable”

  Setup

  View & Copy the Airtable base here:  
  👉 Candidate Screening – Airtable Base Template  
  Set up Google Drive folder
  Connect your OpenAI API key for the AI agent model
  Connect your Gmail account for email notifications
  Deploy the public-facing form to start receiving applications
  Test the workflow using a sample job and resume

  How to customize this workflow to your needs

  Expand file support**: Allow DOC or DOCX uploads by adding format conversion nodes
  Add multi-recipient email alerts**: Extend Gmail node for multiple HR recipients
  Handle “Under Review” differently**: Add additional logic to notify or flag these candidates
  Send rejection emails automatically**: Extend the IF branch for “Not Suitable” candidates
  Schedule interviews**: Integrate with Google Calendar or Calendly APIs
  Add Slack notifications**: Send alerts to team channels for real-time updates

  Contact me for consulting and support:   
  📧 billychartanto@gmail.com

nodes_used:
  ["n8n-nodes-base.airtable","n8n-nodes-base.airtable","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.if","n8n-nodes-base.gmail","n8n-nodes-base.formTrigger","n8n-nodes-base.extractFromFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7720 characters]

metadata_json:
  {"categories":["automation","integration","data processing","recruiting","ai/ml"],"complexity":"medium","use_cases":["Automated resume intake and storage","AI-driven candidate screening and evaluation","Matching candidates to job postings","Generating standardized suitability reports","Notifying HR of qualified candidates"],"estimated_setup_minutes":45,"required_services":["Airtable","OpenAI (GPT-4)","Google Drive","Gmail","Public form hosting (n8n or equivalent)"],"key_features":["Public web form for PDF resume uploads","PDF text extraction from resumes","Store resumes in Google Drive with shareable links","Match applications to Airtable job postings","AI evaluation producing match percentage, screening status, and notes (via OpenAI)"],"target_audience":["HR professionals","Recruiters","Hiring managers using Airtable as ATS-like database','Talent acquisition teams"]}


name: LinkedIn Post Automation with AI (GPT-4o) Generation & Slack Approval
author_name: Amit Mehta
author_username: amitswba
categories: []
created_at: 2025-05-29T11:20:45.319Z
updated_at: 2025-05-29T11:20:45.319Z
url: https://n8n.io/workflows/4483
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  LinkedIn Post Automation with AI Generation (Gpt-4o) & Slack Approval

  How it Works

  This workflow automates the creation and publishing of LinkedIn posts with AI-generated content and human approval via Slack, using Google Sheets, OpenAI (GPT-4), Slack Interactive Messages, and the LinkedIn API.

  Whether you're a social media manager, content creator, or marketing professional, this workflow helps you maintain consistent LinkedIn presence and scale content creation while keeping human oversight — all managed from a simple spreadsheet.

  🎯 Use Case

  Ideal for:
  Content Marketers** managing multiple LinkedIn accounts
  Personal Brand Builders** maintaining regular posting schedule  
  Agencies** handling client social media presence
  Teams** requiring content approval workflows

  Setup Instructions

  1. Prepare the Spreadsheet

  File name: Linkedin Post
  Main sheet structure:
  | ID | Linkedin Post Title | Status | Image URL |
  Groups sheet structure:
  | GroupIds |
  Add post topics and set their Status as Pending

  2. Configure Google Sheets Nodes

  Connect your Google account to:
  Linkedin-Post-Topic (Trigger node)
  Update-Status 
  Get-Group-id

  3. Add API Credentials

  OpenAI API Key** → for GPT-4 content generation
  Slack OAuth Token** → for approval messages
  LinkedIn Access Token** → for posting content
  HTTP Header Auth** → Bearer token for LinkedIn API

  4. Configure Webhooks

  Set up Slack Interactive Components webhook
  Point Request URL to your N8N webhook endpoint
  Enable interactive messages in Slack app

  5. Activate the Workflow

  Once live, the workflow will:
  Monitor spreadsheet for new topics every minute
  Generate LinkedIn post using GPT-4
  Send to Slack for approval/editing
  Upload image to LinkedIn
  Publish to profile and groups
  Update spreadsheet status to Posted

  🔁 Workflow Logic

  Trigger: New/updated row with Pending status
  Generate: AI creates engaging LinkedIn post
  Approve: Slack message for review/edit
  Process: Handle approval response
  Upload: Register and upload image
  Publish: Post to LinkedIn profile & groups
  Update: Mark as Posted in sheet

  🧩 Node Descriptions

  | Node Name | Description |
  |-----------|-------------|
  | Linkedin-Post-Topic | Monitors spreadsheet for new post topics |
  | Validate-Status | Filters only 'Pending' items |
  | Limit | Processes one item at a time |
  | Linedin-Post-Creator | Generates post content using GPT-4 |
  | Format-Content | Prepares content for Slack display |
  | Approval-on-Slack | Sends interactive approval message |
  | Webhook | Receives Slack button responses |
  | Format-Response | Extracts edited content from Slack |
  | Set-Final-Message | Prepares approved content |
  | Linkedin-User-Detail | Fetches LinkedIn user info |
  | Register Image | Initiates LinkedIn image upload |
  | Upload Image | Uploads image to LinkedIn |
  | Linkedin-post | Publishes to personal profile |
  | Get-Group-id | Retrieves LinkedIn group IDs |
  | Post-Linkedin-Groups | Posts to multiple groups |
  | Update-Status | Marks as completed in sheet |

  🛠️ Customization Tips

  Adjust AI prompt for brand voice and hashtags
  Change Slack approver or add multiple reviewers
  Modify posting schedule with delay nodes
  Add analytics tracking with additional API calls
  Filter groups based on specific criteria
  Include URL shortening for tracking

  📒 Suggested Sticky Notes for Workflow

  | Node/Section | Sticky Note Content |
  |--------------|---------------------|
  | Linkedin-Post-Topic | "Triggers every minute for new posts in your spreadsheet" |
  | Validate-Status | "Filters to process only 'Pending' items - prevents duplicates" |
  | Linedin-Post-Creator | "Uses GPT-4 to generate LinkedIn content - customize prompt for your brand voice" |
  | Approval-on-Slack | "Sends for human review - edit the Slack user to change approver" |
  | Webhook | "Receives approval responses - ensure URL is configured in Slack app" |
  | Register Image | "Initiates LinkedIn media upload - requires valid image URL from sheet" |
  | Linkedin-post | "Publishes to your profile - update with your LinkedIn credentials" |
  | Post-Linkedin-Groups | "Posts to multiple groups - add group IDs in Groups sheet" |
  | Update-Status | "Marks as 'Posted' to prevent reprocessing" |

  💡 AI Prompt Configuration

  The workflow uses a sophisticated prompt that:
  Creates compelling hooks
  Includes 3-4 informative paragraphs
  Adds engagement questions
  Inserts relevant emojis
  Generates 4-6 hashtags
  Formats with proper spacing

  🔒 Security & Permissions

  LinkedIn App Requirements:
  r_liteprofile - Read profile data
  r_emailaddress - Access email
  w_member_social - Post content
  rw_organization_admin - Group posting

  Slack Bot Permissions:
  chat:write - Send messages
  im:write - Direct messages
  users:read - User information

  📎 Required Components

  | Component | Purpose |
  |-----------|---------|
  | Google Sheet | Store post topics and status |
  | LinkedIn App | API access for posting |
  | Slack App | Interactive approval flow |
  | OpenAI Account | GPT-4 content generation |
  | N8N Instance | Workflow execution |

  🧪 Testing Tips

  Start with one test topic marked as Pending
  Verify Slack message appears correctly
  Test both "Approve" and "Edit" buttons
  Check image upload completes
  Confirm post appears on LinkedIn
  Verify status updates to Posted

  ⚠️ Common Issues & Solutions

  LinkedIn API Errors:
  Token expiration → Refresh access token
  Rate limits → Add delays between posts
  Group restrictions → Check posting permissions

  Slack Integration:
  Missing responses → Verify webhook URL
  Button not working → Check interactive components
  User not found → Confirm Slack user ID

  Image Upload Failures:
  Invalid URL → Validate image accessibility
  Size limits → Compress images under 10MB
  Format issues → Use JPEG or PNG only

  📊 Workflow Benefits

  Time Savings**: 80% reduction in content publishing time
  Consistency**: Regular posting schedule maintained
  Quality Control**: Human review ensures brand standards
  Scalability**: Handle multiple accounts and groups
  Flexibility**: Easy to modify and extend

  📎 Required Files

  | File Name | Purpose |
  |-----------|---------|
  | Linkedin Post | Google Sheet to hold post topics and status |

  🏷 Suggested Tags & Categories

  #LinkedIn
  #AI
  #ContentAutomation
  #SocialMedia
  #Slack
  #GPT4
  #Marketing
  #WorkflowAutomation

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.limit","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.webhook","n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.slack","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.code"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","social media","integration","content creation","approval workflow"],"complexity":"complex","use_cases":["Automate LinkedIn post generation using AI","Human-in-the-loop approval via Slack before publishing","Post to personal profiles and multiple LinkedIn groups","Scale content production for agencies and teams","Maintain a spreadsheet-driven editorial queue"],"estimated_setup_minutes":45,"required_services":["Google Sheets (spreadsheet as trigger & status store)","OpenAI (GPT-4 / GPT-4o API key)","Slack (OAuth bot + interactive components/webhook)","LinkedIn API (access token with posting & group scopes)","n8n instance (workflow runtime)","Publicly accessible image URLs (for LinkedIn media upload)"],"key_features":["AI-generated LinkedIn post content with customizable prompts","Slack interactive approval/edit flow before publishing","Google Sheets-driven queue and status updates","Image registration and upload to LinkedIn","Publish to profile and multiple groups (group ID lookup)"],"target_audience":["Content marketers","Social media managers","Agencies handling client accounts"]}


name: Build a Voice AI Chatbot with ElevenLabs and InfraNodus Knowledge Experts
author_name: InfraNodus
author_username: infranodus
categories: []
created_at: 2025-05-29T11:25:45.230Z
updated_at: 2025-05-29T11:25:45.230Z
url: https://n8n.io/workflows/4484
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Set Up ElevenLabs Voice Chat Agent using Graph RAG Knowledge Graphs as Experts

  This workflow creates an AI voice chatbot agent that has access to several knowledge bases at the same time (used as "experts"). 

  These knowledge bases are provided using the InfraNodus GraphRAG using the knowledge graphs and providing high-quality responses without the need to set up complex RAG vector store workflows.

  We use ElevenLabs to set up a voice agent that can be embedded to any website or used via their API.

  The advantages of using GraphRAG instead of the standard vector stores for knowledge are:

  Easy and quick to set up (no complex data import workflows needed) and to update with new knowledge
  A knowledge graph has a holistic overview of your knowledge base
  Better retrieval of relations between the document chunks = higher quality responses
  Ability to reuse in other n8n workflows

  How it works
  This template uses the n8n AI agent node as an orchestrating agent that decides which tool (knowledge graph) to use based on the user's prompt. 

  The user's prompt is received from the ElevenLabs Conversational AI agent via an n8n Webhook, which also takes care of the voice interaction. 

  The response from n8n is then sent to the Webhook, which is polled by the ElevenLabs voice agent. This agent processes the response and provides the final answer.

  Here's a description step by step:

  The user submits a question using ElevenLabs voice interface
  The question is sent via the knowledge_base tool in ElevenLabs to the n8n Webhook with the POST request containing the user's prompt and sessionID for Chat Memory node in n8n.
  The n8n AI agent node checks a list of tools it has access to. Each tool has a description of the knowledge auto-generated by InfraNodus (we call each tool an "expert"). 
  The n8n AI agent decides which tool should be used to generate a response. It may reformulate user's query to be more suitable for the expert. 
  The query is then sent to the InfraNodus HTTP node endpoint, which will query the graph that corresponds to that expert. 
  Each InfraNodus GraphRAG expert provides a rich response that takes the whole context into account and provides a response from each expert (graph) along with a list of relevant statements retrieved using a combination or RAG and GraphRAG. 
  The n8n AI Agent node integrates the responses received from the experts to produce the final answer.
  The final answer is sent back to the Webhook endpoint
  ElevenLabs conversational AI agent picks up the response arriving from the knowledge_base tool via the webhook and then condenses it for conversational format and transforms text into voice.

  How to use

  You need an InfraNodus GraphRAG API account and key to use this workflow. 

  Create an InfraNodus account
  Get the API key at https://infranodus.com/api-access and create a Bearer authorization key for the InfraNodus HTTP nodes.
  Create a separate knowledge graph for each expert (using PDF / content import options) in InfraNodus
  For each graph, go to the workflow, paste the name of the graph into the body name field.
  Keep other settings intact or learn more about them at the InfraNodus access points page. 
  Once you add one or more graphs as experts to your flow, add the LLM key to the OpenAI node and launch the workflow
  You will also need to set up an ElevenLabs account and to set up a conversational AI agent there. See the Post note in the n8n workflow for a complete step-by-step description or our support article on setting up ElevenLabs AI voice agent
  Once the voice AI agent is ready, you might want to combine it with a text AI chatbot workflow so your users have a choice between the text and voice interaction. In that case, you may be interested to use our free open-source website popup chat widget popupchat.dev where you can create an embed code to add to your blog or website and allow the user to choose between the text and voice interaction.

  Requirements

  An InfraNodus account and API key
  An OpenAI (or any other LLM) API key
  An ElevenLabs account

  FAQ

  1. How many "experts" should I aim for?

  We recommend to aim for the number of experts as the optimal number of people in a team, which is usually 2-7. If you add more experts, your AI orchestrating agent will have troubles choosing the most suitable "expert" tool for the user's query. You can mitigate this by specifying in the AI agent description that it can choose maximum 3-7 experts to provide a response.

  2. Why use InfraNodus GraphRAG and not standard vector store for knowledge?

  First, vector stores are complex to set up and to update. You'd need a separate workflow for that, decide on the vector dimensions, add metadata to your knowledge, etc.
  With InfraNodus, you have a complete RAG / GraphRAG solution under the hood that is easy to set up and provides high-quality responses that takes the overall structure and the relations between your ideas into account. 

  3 Why not use ElevenLabs' own knowledge?

  One of the reasons is that you want your knowledge base to be in one place so you can reuse it in other n8n workflows. Another reason is that you will not have such a good separation between the "experts" when you converse with the agent. So the answers you get will be based on top matches from all the books / articles you upload, while with the InfraNodus GraphRAG setup you can better control which graphs are consulted as experts and have an explicit way to display this data.

  Customizing this workflow

  You can use this same workflow with a Telegram bot, so you can interact with it using Telegram. There are many more customizations available on our GitHub repo for n8n workflows.

  Check out the complete setup guide for this workflow at https://support.noduslabs.com/hc/en-us/articles/20318967066396-How-to-Build-a-Text-Voice-AI-Agent-Chatbot-with-n8n-Elevenlabs-and-InfraNodus

  Also check out the video tutorial with a demo:

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequestTool","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7996 characters]

metadata_json:
  {"categories":["automation","integration","voice AI","knowledge management","RAG/GraphRAG"],"complexity":"complex","use_cases":["Voice AI chatbot for websites","Multisource knowledge retrieval using GraphRAG experts","Customer support and interactive FAQ","Internal knowledge assistant for teams","Embedding voice agents into products"],"estimated_setup_minutes":60,"required_services":["InfraNodus (GraphRAG) API and account","ElevenLabs Conversational AI (voice) account","OpenAI or other LLM API key (lmChatOpenAi or lmChatGoogleGemini)","n8n instance (workflow runtime)","Public webhook endpoint (or tunneling service like ngrok)"],"key_features":["Orchestrating n8n AI agent that selects among multiple InfraNodus 'expert' graphs","InfraNodus GraphRAG for relation-aware retrieval (no vector store setup)","ElevenLabs conversational voice agent integration (text-to-speech & voice input)","Webhook-based request/response flow with chat memory","Aggregates and synthesizes answers from multiple knowledge graphs (experts)"],"target_audience":["Developers building voice/chat AI integrations","Product teams creating knowledge-driven agents","Knowledge managers and content owners who maintain graphs in InfraNodus」「AI/ML engineers implementing RAG solutions"]}


name: Telegram AI Chatbot Agent with InfraNodus GraphRAG Knowledge Base
author_name: InfraNodus
author_username: infranodus
categories: []
created_at: 2025-05-29T11:44:34.562Z
updated_at: 2025-05-29T11:44:34.562Z
url: https://n8n.io/workflows/4485
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Using the knowledge graphs instead of RAG vector stores

  This workflow creates a Telegram chatbot agent that has access to several knowledge bases at the same time (used as "experts"). 

  These knowledge bases are provided using the InfraNodus GraphRAG using the knowledge graphs and providing high-quality responses without the need to set up complex RAG vector store workflows.

  The advantages of using GraphRAG instead of the standard vector stores for knowledge are:

  Easy and quick to set up and update (no complex data import workflows or vector stores needed)
  A knowledge graph has a holistic view of your knowledge base and knows what it's about
  Better retrieval of relations between the document chunks = higher quality responses

  How it works
  This template uses the n8n AI agent node as an orchestrating agent that decides which tool (knowledge graph) to use based on the user's prompt. 

  Here's a description step by step:

  The user submits a question using the Telegram bot, which is then received in the n8n workflow via the Telegram trigger node.
  The AI agent node checks a list of tools it has access to. Each tool has a description of the knowledge it has auto-generated by InfraNodus. 
  The AI agent decides which tool should be used to generate a response. It may reformulate user's query to be more suitable for the expert. 
  The query is then sent to the InfraNodus HTTP node endpoint, which will query the graph that corresponds to that expert. 
  Each InfraNodus GraphRAG expert provides a rich response that takes the whole context into account and provides a response from each expert (graph) along with a list of relevant statements retrieved using a combination or RAG and GraphRAG. 
  The n8n AI Agent node integrates the responses received from the experts to produce the final answer.
  The final answer is sent back to the Telegram bot who delivers it back to the private chat or a Telegram group.

  How to use

  You need an InfraNodus GraphRAG API account and key to use this workflow. 

  Create an InfraNodus account
  Get the API key at https://infranodus.com/api-access and create a Bearer authorization key for the InfraNodus HTTP nodes.
  Create a separate knowledge graph for each expert (using PDF / content import options) in InfraNodus
  For each graph, go to the workflow, paste the name of the graph into the body name field.
  Keep other settings intact or learn more about them at the InfraNodus access points page. 
  Once you add one or more graphs as experts to your flow, add the LLM key to the OpenAI node
  Create a Telegram bot (the instructions are in the workflow Post note) — it takes 30 seconds. Get its API key and create the Telegram credentials to use in the Telegram nodes in this workflow.

  Requirements

  An InfraNodus account and API key
  An OpenAI (or any other LLM) API key
  A Telegram account

  Customizing this workflow

  You can use this same workflow with a standard AI chatbot via a URL that can also be embedded to any website. You can also use it with ElevenLabs AI voice agent. There are many more customizations available. 

  Check out the complete guide at https://support.noduslabs.com/hc/en-us/articles/20174217658396-Using-InfraNodus-Knowledge-Graphs-as-Experts-for-AI-Chatbot-Agents-in-n8n

  Also check out the video tutorial with a demo:

  Support

  If you have any questions, contact us via the support portal at https://support.noduslabs.com or via our Discord channel.

  More n8n workflows are available on our support portal: n8n x InfraNodus AI automation workflows.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","n8n-nodes-base.telegramTrigger","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7544 characters]

metadata_json:
  {"categories":["integration","automation","knowledge management","AI chatbot"],"complexity":"complex","use_cases":["Multi-source knowledge chatbot","Internal knowledge base assistant","Customer support / helpdesk automation","Research or documentation Q&A","Community or group chat information agent"],"estimated_setup_minutes":45,"required_services":["InfraNodus (GraphRAG) API","OpenAI or other LLM API key","Telegram Bot API"],"key_features":["Uses InfraNodus GraphRAG experts instead of vector stores","n8n AI Agent node to choose and orchestrate experts","Reformulates queries per expert and aggregates multi-expert responses","Returns relevant statements and context from knowledge graphs","Telegram trigger and response integration for chat interface"],"target_audience":["developers","knowledge managers","AI/ML engineers or data engineers building RAG systems`,`customer support teams"]}


name: Upload Google Drive Files to an InfraNodus Graph
author_name: InfraNodus
author_username: infranodus
categories: []
created_at: 2025-05-29T12:27:25.941Z
updated_at: 2025-05-29T12:27:25.941Z
url: https://n8n.io/workflows/4486
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  This template can be used to upload the files in your Google drive to an InfraNodus knowledge graph. 

  The InfraNodus graph will then reveal the main topics and ideas in your collection of documents and show the content gaps in them. You can also use the built-in AI to converse with the documents.



  You can also access the InfraNodus Graphs via its GraphRAG API to re-use them in your other n8n workflows for high-quality content retrieval and knowledge base optimization.

  The template showcases the use of multiple n8n nodes and processes:
  Extracting documents from a Google Drive folder
  text extraction
  optional: high-quality PDF conversion using ConvertAPI
  InfraNodus knowledge graph generation


  Note: If you want to **Sync your Google drive to an InfraNodus graph, check out our other workflow*

  How it works

  Here's a description of this workflow step by step:

  Find all the files in a specific Google drive folder
  For each file found: reiterate the workflow and
  Identify the type of the file (TXT, PDF, Markdown)
  For TXT and Markdown files extract the text data 
  For PDF files use a special PDF to Text convertor to extract the text data. (Optional: using ConvertAPI for better quality PDF conversion)
  Forward everything to the InfraNodus graphAndStatements API endpoint with the name of the new graph, the text field with the text data, the text settings, and doNotSave=false to create a new graph
  Reiterate through another file.

  How to use

  You need an InfraNodus GraphRAG API account and key to use this workflow. 

  Create an InfraNodus account
  Get the API key at https://infranodus.com/api-access and create a Bearer authorization key for the InfraNodus HTTP nodes.
  Use that API key to set up authorization for the InfraNodus tool in the workflow.
  If you want to upload the files to an existing graph, you should copy its name from InfraNodus. Otherwise you can specify any name you want.

  Requirements

  An InfraNodus account and API key
  A Google Drive account and authorization (you will need to set it up via Google Cloud using the n8n instructions provided in the Google Drive node).

  Customizing this workflow

  You can use Dropbox instead of Google Drive.

  You can also modify this workflow slightly to make it Sync with a Google Drive when the new files appear in it.

  Check out the complete guide at https://support.noduslabs.com/hc/en-us/articles/20267019838108-Upload-Sync-Your-Google-Drive-Folder-with-InfraNodus-using-n8n

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleDrive","n8n-nodes-base.switch","n8n-nodes-base.extractFromFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4712 characters]

metadata_json:
  {"categories":["integration","knowledge management","data processing","automation"],"complexity":"medium","use_cases":["Ingest Google Drive documents into a knowledge graph","Automatically extract text from TXT/Markdown/PDF files","Create InfraNodus graphs to surface main topics and content gaps","Enable GraphRAG-driven retrieval for RAG workflows","Sync or batch-upload documents for content analysis"],"estimated_setup_minutes":45,"required_services":["InfraNodus (GraphRAG API)","Google Drive (Google Cloud credentials)","Optional: ConvertAPI (for higher-quality PDF to text conversion)","Optional: Dropbox (alternative source)"],"key_features":["Find files in a Google Drive folder and iterate through them","Detect file type (TXT, Markdown, PDF) and extract text accordingly","Optional high-quality PDF conversion via ConvertAPI","Send extracted text to InfraNodus Statements/Graph API to create/update graphs","Produce knowledge graphs that reveal topics, ideas and content gaps for downstream RAG usage"],"target_audience":["knowledge managers","researchers","content teams (marketing, docs) looking for content insights and gaps analysis via graphs"]}


name: Automate LinkedIn Content from Twitter AI Posts with GPT-4 and Google Sheets
author_name: Archit Jain
author_username: architjn
categories: []
created_at: 2025-05-29T12:42:22.775Z
updated_at: 2025-05-29T12:42:22.775Z
url: https://n8n.io/workflows/4487
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  How it works
  Automates daily LinkedIn post creation from trending AI tweets.
  Fetches latest tweets, processes content, checks for duplicates, converts to LinkedIn-ready format, schedules, and posts automatically.

  Set up steps
  Setup required: Google Sheets, LinkedIn, Telegram, RapidAPI, and OpenAI/OpenRouter API credentials.
  Approximate setup time: 30-45 mins for all integrations and triggers.
  Detailed credential/config instructions are in sticky notes inside the workflow.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.noOp","n8n-nodes-base.googleSheets","n8n-nodes-base.noOp","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.switch","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.limit","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.filter","n8n-nodes-base.limit","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.linkedIn","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","social media","content generation","integration","marketing"],"complexity":"complex","use_cases":["Repurposing trending tweets into LinkedIn posts","Automated content curation and scheduling","Avoiding duplicate posts and tracking content history","Notifying team via Telegram about scheduled posts"],"estimated_setup_minutes":40,"required_services":["Google Sheets","LinkedIn API/credentials","Telegram bot/API","RapidAPI (Twitter endpoints)","OpenAI (GPT-4) or OpenRouter API"],"key_features":["Fetches latest/trending AI tweets","Deduplicates and logs items in Google Sheets","Uses GPT-4 to convert tweets into LinkedIn-ready posts","Schedules and posts to LinkedIn automatically","Batch processing and rate limiting to avoid API limits`,`Telegram notifications for status/alerts"],"target_audience":["Social media managers","Content marketers","Growth teams and agencies`,`Developers/automation engineers"]}


name: Automate WooCommerce Image Product Background Removal using API and Google Sheet
author_name: Davide
author_username: n3witalia
categories: []
created_at: 2025-05-29T14:02:50.912Z
updated_at: 2025-05-29T14:02:50.912Z
url: https://n8n.io/workflows/4488
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  This workflow automates the process of removing backgrounds from WooCommerce product images using the BackgroundCut API, and then updates the product images in both WooCommerce and a Google Sheet.

  Once set up, the workflow processes product images in bulk, removing backgrounds and updating WooCommerce seamlessly.

  This workflow is perfect for online stores that sell:
  Clothing and fashion items
  Jewelry and accessories
  General consumer products

  Any product that benefits from clean, background-free images for a professional storefront presentation will see improved visual appeal and potentially higher conversions.

  Benefits

  ⏱ Time-saving:** Automates what would otherwise be a manual and repetitive task of editing images and updating product listings.
  🔄 Fully Integrated:** Connects Google Sheets, BackgroundCut API, FTP server, and WooCommerce in a seamless loop.
  📦 Scalable:** Supports batch processing, making it suitable for stores with hundreds of products.
  📁 Organized Tracking:** Updates the Google Sheet with the new image and a “DONE” flag for easy monitoring.
  🔧 Customizable:** You can change the image processing API, storage server, or eCommerce platform if needed.

  How It Works  
  Data Retrieval:  
     The workflow starts by fetching product data (ID and IMAGE URL) from a Google Sheets document.  
     Only rows without a "DONE" marker are processed to avoid duplicates.  

  Background Removal:  
     Each product image URL is sent to the BackgroundCut API, which removes the background and returns the edited image.  

  File Handling:  
     The processed image is uploaded to an FTP server with the original filename preserved.  
     A new URL for the edited image is generated and assigned to the product.  

  WooCommerce Update:  
     The product in WooCommerce is updated with the new image URL.  

  Sheet Update:  
     The Google Sheet is marked as "DONE" for the processed row, and the new image URL is recorded.  

  Batch Processing:  
     The workflow loops through all rows in the sheet until all products are processed.  

  Set Up Steps  
  Prepare the Google Sheet:  
     Clone the provided Google Sheet template.  
     Fill in the ID (product ID) and IMAGE (original image URL) columns.  

  API & Credentials Setup:  
     Get an API key from BackgroundCut.co.  
     Configure the HTTP Request node ("Remove from Image URL") with:  
       Header Auth: Authorization = API_KEY.  
     Set up WooCommerce API credentials in the "Update product" node.  

  FTP Configuration:  
     Replace YOUR_FTP_URL in the "New Image Url" node with your FTP/CDN base URL.  
     Ensure FTP credentials are correctly set in the FTP node.  

  Execution:  
     Run the workflow manually via "When clicking ‘Execute workflow’".  
     The process automatically handles background removal, file upload, and WooCommerce updates.  

  Need help customizing?  
  Contact me for consulting and support or add me on Linkedin. 

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.ftp","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.wooCommerce","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","integration","image-processing","e-commerce"],"complexity":"medium","use_cases":["Bulk product image background removal","Automating WooCommerce product image updates","Keeping product image metadata in sync with Google Sheets","Batch processing and tracking of image edits","Offloading processed images to FTP/CDN"],"estimated_setup_minutes":45,"required_services":["BackgroundCut API (or similar image background removal API)","Google Sheets","WooCommerce (REST API)","FTP server or CDN for hosting processed images"],"key_features":["Reads product IDs and image URLs from Google Sheets","Skips rows marked as DONE to avoid duplicates","Sends image URLs to BackgroundCut API for background removal","Uploads processed images to FTP and generates new image URL","Updates WooCommerce product images via API call per product ID"],"target_audience":["e-commerce store owners","merchandise managers","product photographers/retouchers working at scale」「developers/integrators automating storefront workflows"]}


name: Learn Anything, Write a Book, Design a Curriculum
author_name: Mohammed Rifad
author_username: rifadm817
categories: []
created_at: 2025-05-29T14:42:21.363Z
updated_at: 2025-05-29T14:42:21.363Z
url: https://n8n.io/workflows/4492
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Hey n8n Innovators & Knowledge Seekers! 👋


  Ever felt that spark? That "aha!" moment when you realize you need to dive deep into a new subject? Or maybe you've got a brilliant idea for a course, a comprehensive guide, or even the seeds of your next groundbreaking book, but the thought of structuring it all makes your brain do a backflip?

  What if you had an AI co-pilot, right within n8n, to help you LEARN ANYTHING profoundly, DESIGN A DETAILED CURRICULUM from scratch, or even OUTLINE YOUR NEXT BESTSELLER – and then beam it all into a beautifully organized Notion workspace?

  Well, dream no more! I'm super stoked to share a set of n8n workflows I've cooked up that does exactly this.

    
    
    
    
    
    




  Picture This: You Want To...

  🚀 Master the Unfamiliar: Finally conquer the intricacies of Decentralized Finance (DeFi), understand the core principles of Permaculture Design, or even get a solid grasp on Cognitive Bias in Decision Making. Just tell the AI your starting point!
  📚 WRITE THAT BOOK! Been mulling over a guide on Sustainable Urban Living? Or a deep dive into The History of Ancient Philosophies? Let AI generate your chapter outlines, key concepts, and foundational content.
  🎓 CREATE A WORLD-CLASS CURRICULUM: Planning a workshop on Advanced Data Visualization Techniques? Or an online course on The Fundamentals of Ethical AI Development? Get a comprehensive, Harvard-level syllabus structure in minutes.
  🧠 Personalize Your Knowledge Journey: Get content adapted not just for your current skill level, but with presentation hints based on cognitive styles (yep, we're playing with MBTI!).



  So, How Does This AI Magic Work in n8n?

  It's a dynamic duo of workflows:

  The "Learn Anything" Maestro:
      You feed it your topic, how much you know, (optionally) your MBTI, and how deep you want to go via a cool, custom-styled form.
      AI models (via OpenRouter) then get to work, sketching out a full hierarchical curriculum and brainstorming a catchy title and description.
      Then, for every single section in your new plan, our "SeniorWriter" AI crafts rich, detailed content. Think of it as your personal subject matter expert on tap!
  The "Notion Block Ninja" Sub-Workflow:
      This trusty sidekick takes all that awesome Markdown content.
      It intelligently converts it into the precise JSON that Notion loves, ensuring every heading, list, and table looks perfect.
      Then whoosh – it’s all uploaded to your Notion page, organized and ready.

  Why Share This? Because Knowledge Should Be Accessible & Creation Fun!

  I'm a firm believer that n8n isn't just for business tasks; it's an incredible platform for personal growth, learning, and creative exploration. This project is all about making it easier to dive deep, structure your thoughts, and bring big ideas to life.

  Ready to Unleash Your AI Co-Pilot?

  I'll be dropping the workflow JSONs and a setup guide (with a handy Notion database template link!) in the comments or a follow-up. You'll just need your Notion API key and an OpenRouter API key (they've got free tiers to get you started exploring!).

  Think of the Possibilities! You could be:

  Building custom learning paths for yourself or your team.
  Rapidly prototyping educational content.
  Finally writing that book** you've always talked about.
  Just satisfying your endless curiosity on any subject under the sun!

  I can't wait to hear what you think, the amazing topics you explore, and any brilliant ideas you have to make this even more powerful!

  Let the learning (and creating) begin! 🚀

nodes_used:
  ["n8n-nodes-base.formTrigger","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.notion","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.set","n8n-nodes-base.notion","n8n-nodes-base.executeWorkflow","n8n-nodes-base.notion","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.markdown","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.filter","n8n-nodes-base.merge","n8n-nodes-base.splitInBatches","n8n-nodes-base.aggregate","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","education","content-creation","knowledge-management","integration"],"complexity":"complex","use_cases":["Rapidly learn a new subject with a structured curriculum","Generate book outlines and chapter-level content","Design comprehensive course syllabi or workshop curricula","Push generated content into Notion as organized pages/blocks","Personalize learning paths by skill level and cognitive style (MBTI)"],"estimated_setup_minutes":30,"required_services":["Notion API (integration/key)","OpenRouter (LLM API) or compatible AI model endpoint","n8n instance (self-hosted or cloud)"],"key_features":["AI-generated hierarchical curriculum and course outlines","Per-section 'SeniorWriter' content generation with configurable depth","Custom-styled input form to collect topic, skill level, MBTI, and depth","Notion Block Ninja sub-workflow: Markdown -> Notion JSON conversion and upload","Batch processing of sections and modular sub-workflows for scalability/maintenance\",\"Multi-node AI orchestration (multiple OpenRouter lmChat calls) for iterative refinement"],"target_audience":["educators and instructional designers","Authors and book writers","Course creators and trainers/teams leads\",\"Knowledge seekers and lifelong learners"]}


name: Airbnb Telegram Agent - AI-powered accommodation search with voice support
author_name: Friedemann Schuetz
author_username: freddy-schuetz
categories: []
created_at: 2025-05-29T16:00:00.652Z
updated_at: 2025-05-29T16:00:00.652Z
url: https://n8n.io/workflows/4494
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  Welcome to my Airbnb Telegram Agent Workflow!
  This workflow creates an intelligent Telegram bot that helps users search and find Airbnb accommodations using natural language queries and voice messages.

  DISCLAIMER: This workflow only works with self-hosted n8n instances! You have to install the n8n-nodes-mcp-client Community Node!

  What this workflow does
  This workflow processes incoming Telegram messages (text or voice) and provides personalized Airbnb accommodation recommendations. The AI agent understands natural language queries, searches through Airbnb data using MCP tools, and returns mobile-optimized results with clickable links, prices, and key details.

  Key Features:
  Voice message support (speech-to-text and text-to-speech)
  Conversation memory for context-aware responses
  Mobile-optimized formatting for Telegram
  Real-time Airbnb data access via MCP integration

  This workflow has the following sequence:
  Telegram Trigger - Receives incoming messages from users
  Text or Voice Switch - Routes based on message type
  Voice Processing (if applicable) - Downloads and transcribes voice messages
  Text Preparation - Formats text input for the AI agent
  Airbnb AI Agent - Core logic that:
     Lists available MCP tools for Airbnb data
     Executes searches with parsed parameters
     Formats results for mobile display
  Response Generation - Sends formatted text response
  Voice Response (optional) - Creates and sends audio summary

  Requirements:
  Telegram Bot API**: Documentation 
    Create a bot via @BotFather on Telegram
    Get bot token and configure webhook
  OpenAI API**: Documentation
    Used for speech transcription (Whisper)
    Used for chat completion (GPT-4)
    Used for text-to-speech generation
  MCP Community Client Node**: Documentation
    Custom integration for Airbnb data
    Requires MCP server setup with Airbnb/Airtable connection
    Provides tools for accommodation search and details

  Important: You need to set up an MCP server with Airbnb data access. The workflow uses MCP tools to retrieve real accommodation data, so ensure your MCP server is properly configured with the Airtable/Airbnb integration.

  Configuration Notes:
  Update the Telegram chat ID in the trigger for your specific bot
  Modify the system prompt in the Airbnb Agent for different use cases
  The workflow supports both individual users and can be extended for group chats

  Feel free to contact me via LinkedIn, if you have any questions!

nodes_used:
  ["@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-mcp.mcpClientTool","n8n-nodes-mcp.mcpClientTool","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.telegramTrigger","n8n-nodes-base.switch","n8n-nodes-base.telegram","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7888 characters]

metadata_json:
  {"categories":["automation","integration","chatbot","AI agent","travel"],"complexity":"complex","use_cases":["AI-powered Airbnb accommodation search via Telegram","Voice-based natural language search and responses","Personalized lodging recommendations and links","Mobile-optimized result presentation for users"],"estimated_setup_minutes":120,"required_services":["Self-hosted n8n instance","Telegram Bot API (bot token & webhook)","OpenAI API (Whisper for STT, GPT-4 for chat, TTS)","MCP Community Client Node and MCP server configured with Airbnb/Airtable data","Airtable or Airbnb data source connected to MCP"],"key_features":["Voice message support (speech-to-text and text-to-speech)","Contextual conversation memory for multi-turn queries","Natural-language Airbnb search via AI agent","Real-time accommodation data retrieval through MCP tools","Mobile-optimized, clickable result formatting for Telegram"],"target_audience":["Developers and n8n power users","Bot builders and automation engineers","Travel product managers and agencies prototyping search assistants」「AI/automation enthusiasts integrating conversational UIs"]}


name: Sync Google Drive files to an InfraNodus Knowledge Graph
author_name: InfraNodus
author_username: infranodus
categories: []
created_at: 2025-05-29T16:07:41.106Z
updated_at: 2025-05-29T16:07:41.106Z
url: https://n8n.io/workflows/4495
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  This template can be used to sync the files in your Google drive to a new or existing InfraNodus knowledge graph. 

  The InfraNodus graph will then reveal the main topics and ideas in your collection of documents and show the content gaps in them. You can also use the built-in AI to converse with the documents.



  You can also access the InfraNodus Graphs via its GraphRAG API to re-use them in your other n8n workflows for high-quality content retrieval and knowledge base optimization.

  The template showcases the use of multiple n8n nodes and processes:
  Syncing documents from a Google Drive folder / extracting them
  text extraction from files
  optional: high-quality PDF conversion using ConvertAPI
  InfraNodus knowledge graph generation


  Note: If you want to **upload files from your Google drive to an InfraNodus graph, check out our other workflow*

  How it works

  Here's a description of this workflow step by step:

  Wait for new file(s) to appear in the Google drive folder
  Reiterate through each file
  Retrieve the new file from the Google drive
  For each file found: reiterate the workflow and
  Identify the type of the file (TXT, PDF, Markdown)
  For TXT and Markdown files extract the text data 
  For PDF files use a special PDF to Text convertor to extract the text data. (Optional: using ConvertAPI for better quality PDF conversion)
  Forward everything to the InfraNodus graphAndStatements API endpoint with the name of the new graph, the text field with the text data, the text settings, and doNotSave=false to create a new graph
  Reiterate through another file.

  How to use

  You need an InfraNodus GraphRAG API account and key to use this workflow. 

  Create an InfraNodus account
  Get the API key at https://infranodus.com/api-access and create a Bearer authorization key for the InfraNodus HTTP nodes.
  Use that API key to set up authorization for the InfraNodus tool in the workflow.
  If you want to upload the files to an existing graph, you should copy its name from InfraNodus. Otherwise you can specify any name you want.

  Requirements

  An InfraNodus account and API key
  A Google Drive account and authorization (you will need to set it up via Google Cloud using the n8n instructions provided in the Google Drive node).

  Customizing this workflow

  You can use Dropbox instead of Google Drive.

  You can also modify this workflow slightly to make it Upload the files from a Google Drive when the new files appear in it.

  Check out the complete guide at https://support.noduslabs.com/hc/en-us/articles/20267019838108-Upload-Sync-Your-Google-Drive-Folder-with-InfraNodus-using-n8n

nodes_used:
  ["n8n-nodes-base.splitInBatches","n8n-nodes-base.googleDrive","n8n-nodes-base.switch","n8n-nodes-base.extractFromFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4724 characters]

metadata_json:
  {"categories":["integration","knowledge management","data processing","automation"],"complexity":"medium","use_cases":["Syncing and ingesting documents into a knowledge graph","Automated topic and idea extraction from document collections","Creating/updating InfraNodus graphs for content analysis and gap detection","Building a GraphRAG-enabled knowledge base for retrieval in other workflows","Converting PDFs and extracting text for downstream NLP tasks"],"estimated_setup_minutes":30,"required_services":["InfraNodus GraphRAG API (API key)","Google Drive (Google Cloud project & OAuth credentials)","n8n instance/credentials","Optional: ConvertAPI (for higher-quality PDF conversion)"],"key_features":["Watches a Google Drive folder and triggers on new files","Detects file type (TXT, Markdown, PDF) and applies appropriate extraction","Text extraction from TXT/Markdown and converted PDF-to-text","Optional high-quality PDF conversion via ConvertAPI","Creates or updates InfraNodus knowledge graphs via GraphRAG API (doNotSave=false by default) and sends text + settings to InfraNodus endpoints`,`Supports processing files in batches and reiteration through multiple files`"],"target_audience":["knowledge managers","researchers","content teams and editors\",\"data engineers and integration specialists\",\"developers building RAG-enabled apps"]}


name: Wikipedia Podcast Generator - AI-Powered Voice Content Creator via Telegram
author_name: Friedemann Schuetz
author_username: freddy-schuetz
categories: []
created_at: 2025-05-29T16:56:39.662Z
updated_at: 2025-05-29T16:56:39.662Z
url: https://n8n.io/workflows/4496
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n workflow template uses community nodes and is only compatible with the self-hosted version of n8n. 

  Welcome to my Wikipedia Podcast Telegram Bot Workflow!
  This workflow creates an intelligent Telegram bot that transforms Wikipedia articles into engaging 5-minute podcast episodes using natural language queries and voice messages.

  What this workflow does
  This workflow processes incoming Telegram messages (text or voice, e.g. "Berlin") and generates professional podcast content about any Wikipedia topic (e.g. "Berlin", "Shakespeare", etc.). The AI agent researches the requested subject, creates a structured podcast script, and delivers it as high-quality audio directly through Telegram.

  Key Features:
  Voice message support (speech-to-text and text-to-speech)
  Wikipedia research integration for accurate content
  Professional podcast structure (intro, main content, outro)
  Natural-sounding AI voice synthesis
  Conversational and educational tone optimized for audio consumption

  This workflow has the following sequence:

  Telegram Trigger - Receives incoming messages (text or voice) from users via Telegram bot
  Text or Voice Switch - Routes the message based on input type (text message vs. voice message)
  Voice Message Processing (if voice input):
     Retrieval of voice file from Telegram
     Transcription of voice message to text using OpenAI Whisper
  Text Message Preparation (if text input) - Prepares the text message for the AI agent
  Wikipedia Podcast Agent - Core AI agent that:
     Researches the requested topic using Wikipedia tool
     Creates a professional 5-minute podcast script (600-750 words)
     Follows structured format: intro, main content, outro
     Uses conversational, accessible, and enthusiastic tone
  ElevenLabs Text to Speech - Converts the podcast script into natural-sounding audio using AI voice synthesis
  Send Voice Response - Delivers the generated podcast audio back to the user via Telegram

  Requirements:

  Telegram Bot API**: Documentation
    Create a bot via @BotFather on Telegram
    Get bot token and configure webhook
  Anthropic API** (Claude 4 Sonnet): Documentation
    Used for AI agent processing and podcast script generation
    Provides Wikipedia research capabilities
  OpenAI API**: Documentation
    Used for speech transcription (Whisper model)
  ElevenLabs API**: Documentation
    Used for high-quality text-to-speech generation
    Provides natural-sounding voice synthesis

  Important: The workflow uses the Wikipedia tool integrated with Claude 4 Sonnet to ensure accurate and comprehensive research. The AI agent is specifically prompted to create engaging, educational podcast content suitable for audio consumption.

  Configuration Notes:
  Update the Telegram chat ID in the trigger for your specific bot
  Modify the voice selection in ElevenLabs for different narrator styles
  The system prompt can be customized for different podcast formats or target audiences
  Supports both individual users and can be extended for group chats

  Feel free to contact me via LinkedIn, if you have any questions!

nodes_used:
  ["n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.toolWikipedia","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.switch","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","@elevenlabs/n8n-nodes-elevenlabs.elevenLabs","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5532 characters]

metadata_json:
  {"categories":["automation","integration","content-creation","ai","voice"],"complexity":"complex","use_cases":["Generate short podcast-style audio episodes from Wikipedia topics","Create a Telegram bot that responds with narrated content","Convert user voice or text queries into researched audio summaries","Repurpose encyclopedia content into accessible audio for learners"],"estimated_setup_minutes":45,"required_services":["Telegram Bot API (webhook + bot token)","Anthropic API (Claude 4 Sonnet)","OpenAI API (Whisper for STT)","ElevenLabs API (text-to-speech)","n8n self-hosted instance (community nodes support)","Wikipedia (research tool integrated via the agent)"],"key_features":["Handles text and voice input with STT transcription","Agent-based Wikipedia research to build accurate scripts","Generates structured 5-minute podcast scripts (intro, main, outro)","High-quality TTS via ElevenLabs delivered as Telegram voice message","Customizable system prompts and voice selection for narration style"],"target_audience":["Developers building chat/voice bots","Content creators and podcasters repurposing factual content","Educators and communicators creating audio summaries for learners」「Community managers supporting users via Telegram"]}


name: Extract Structured Data from Brave Search with Bright Data MCP & Google Gemini
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-05-29T17:34:51.086Z
updated_at: 2025-05-29T17:34:51.086Z
url: https://n8n.io/workflows/4497
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Notice
  Community nodes can only be installed on self-hosted instances of n8n.

  Who this is for
  The Brave Search Structured Data Extractor workflow is designed for professionals and teams that need high-quality, structured insights from Brave search results in real time. Whether you're performing market research, tracking competitors, training AI models, or powering content engines, this workflow offers a robust and automated solution.

  This workflow is tailored for:

  Market Researchers - Who analyze trends across multimedia channels

  AI Developers - Who require clean, structured datasets for model fine-tuning

  SEO & Content - Analysts looking to monitor visibility across news, images, and videos

  Media Researchers - Curating timely and relevant information across formats

  Automation Engineers - Integrating search insights into downstream workflows

  What problem is this workflow solving?
  Traditional web scraping and search result parsing is fragmented, inconsistent, and prone to errors, especially when dealing with multimedia (images, videos, news) data from search engines. This workflow provides:

  Centralized Brave search data extraction across all content types. Switches the search execution based upon the type of search that is being set. ex: news, images, videos, all

  Automated structured data transformation using Google Gemini

  Unified output persistence and notification across disk, webhook, and Google Sheets

  What this workflow does

  Input Configuration

  Define your Brave search query

  Set the search type: videos, images, news, or all

  Configure your Bright Data MCP zone

  Bright Data MCP Search Execution

  Initiates a Brave search via Bright Data MCP using the correct URL pattern for each search type

  Returns raw HTML of search results

  Google Gemini LLM 

  Structured Data Extraction

  Transforms raw results into structured data (e.g., title, URL, source, snippet)

  Output Handling

  Save to disk (e.g., JSON or CSV file)

  Send Webhook notification with structured data (e.g., Slack, internal dashboards)

  Store in Google Sheets for team-wide access or dashboarding

  Pre-conditions

  Knowledge of Model Context Protocol (MCP) is highly essential. Please read this blog post - model-context-protocol
  You need to have the Bright Data account and do the necessary setup as mentioned in the Setup section below.
  You need to have the Google Gemini API Key. Visit Google AI Studio
  You need to install the Bright Data MCP Server @brightdata/mcp
  You need to install the n8n-nodes-mcp

  Setup
  Please make sure to setup n8n locally with MCP Servers by navigating to n8n-nodes-mcp
  Please make sure to install the Bright Data MCP Server @brightdata/mcp  on your local machine.
  Sign up at Bright Data.
  Create a Web Unlocker proxy zone called mcp_unlocker on Bright Data control panel.
  Navigate to Proxies & Scraping and create a new Web Unlocker zone by selecting Web Unlocker API under Scraping Solutions.
  In n8n, configure the Google Gemini(PaLM) Api account with the Google Gemini API key (or access through Vertex AI or proxy).
  In n8n, configure the credentials to connect with MCP Client (STDIO) account with the Bright Data MCP Server as shown below.



  Make sure to copy the Bright Data API_TOKEN within the Environments textbox above as API_TOKEN=&lt;your-token&gt;

  How to customize this workflow to your needs

  Enhance Output Analysis
  Add additional LLM prompts for topic classification, sentiment scoring, or trend forecasting.

  Output Format Options
  Choose to output CSV, Markdown, or HTML reports based on your integration target.

  Schedule Automation
  Trigger the workflow on a schedule (daily/weekly) to keep monitoring topical content.

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-mcp.mcpClient","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-mcp.mcpClient","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-mcp.mcpClient","n8n-nodes-mcp.mcpClient","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.function","n8n-nodes-base.readWriteFile","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5600 characters]

metadata_json:
  {"categories":["automation","integration","data processing","web scraping","AI/LLM integration"],"complexity":"complex","use_cases":["Market research and trend monitoring","Building training datasets for AI models","SEO and content visibility monitoring","Media research and multimedia content curation","Competitor tracking and content intelligence"],"estimated_setup_minutes":60,"required_services":["Bright Data (MCP + Web Unlocker zone)","Google Gemini / PaLM (Google AI Studio or Vertex AI)","n8n self-hosted with community nodes (n8n-nodes-mcp)","Bright Data MCP Server (@brightdata/mcp)","Google Sheets (optional)","Webhook endpoints / notification targets (e.g., Slack)"],"key_features":["Centralized Brave search extraction across types (news, images, videos, all)","Bright Data MCP-driven fetch of raw HTML results","Google Gemini LLM for structured data extraction (title, URL, source, snippet, etc.)","Output persistence to disk (JSON/CSV), Google Sheets, and webhooks","Switching logic per search type and configurable search query input','Customizable LLM prompts for further classification or scoring"],"target_audience":["Market researchers","AI developers / ML engineers","SEO and content analysts or teams\",\"Media researchers\",\"Automation engineers / integrators"]}


name: Schedule & Publish All Instagram Content Types with Facebook Graph API
author_name: Lakshit Ukani
author_username: lakshit1996
categories: []
created_at: 2025-05-29T18:35:10.370Z
updated_at: 2025-05-29T18:35:10.370Z
url: https://n8n.io/workflows/4498
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  Automated Instagram posting with Facebook Graph API and content routing

  Who is this for?

  This workflow is perfect for social media managers, content creators, digital marketing agencies, and small business owners who need to automate their Instagram posting process. Whether you're managing multiple client accounts or maintaining consistent personal branding, this template streamlines your social media operations.

  What problem is this workflow solving?

  Manual Instagram posting is time-inconsistent and prone to inconsistency. Content creators struggle with:
  Remembering to post at optimal times
  Managing different content types (images, videos, reels, stories, carousels)
  Maintaining posting schedules across multiple accounts
  Ensuring content is properly formatted for each post type

  This workflow eliminates manual posting, reduces human error, and ensures consistent content delivery across all Instagram format types.

  What this workflow does

  The workflow automatically publishes content to Instagram using Facebook's Graph API with intelligent routing based on content type. It handles image posts, video stories, Instagram reels, carousel posts, and story content. The system creates media containers, monitors processing status, and publishes content when ready. It supports both HTTP requests and Facebook SDK methods for maximum reliability and includes automatic retry mechanisms for failed uploads.

  Setup

  Connect Instagram Business Account to a Facebook Page
  Configure Facebook Graph API credentials with instagram_basic permissions  
  Update the "Configure Post Settings" node with your Instagram Business Account ID
  Set media URLs and captions in the configuration section
  Choose post type (http_image, fb_reel, http_carousel, etc.)
  Test workflow with sample content before going live

  How to customize this workflow to your needs

  Modify the post_type variable to control content routing:
  Use http_* prefixes for direct API calls 
  Use fb_* prefixes for Facebook SDK calls
  Use both HTTP and Facebook SDK nodes as fallback mechanisms** - if one method fails, automatically try the other for maximum success rate
  Add scheduling by connecting a Cron node trigger
  Integrate with Google Sheets or Airtable for content management
  Connect webhook triggers for automated posting from external systems
  Customize wait times based on your content file sizes
  Set up error handling** to switch between HTTP and Facebook SDK methods when API limits are reached

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.httpRequest","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.httpRequest","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6124 characters]

metadata_json:
  {"categories":["social media","automation","integration","content management"],"complexity":"complex","use_cases":["Automated posting to Instagram (images, videos, reels, stories, carousels)","Multi-account content scheduling and routing","Agency or team workflows for consistent publishing","Fallback/resilient uploads using HTTP and Facebook SDK","Integrating content sources (Google Sheets, Airtable, webhooks) for scheduled publishing"],"estimated_setup_minutes":45,"required_services":["Facebook Graph API (instagram_basic and related permissions)","Instagram Business Account linked to a Facebook Page","Optional: Google Sheets or Airtable (for content management)","Optional: Webhook endpoints or external storage for media URLs"],"key_features":["Publish all Instagram content types: image, video, reel, story, carousel","Creates and monitors media containers and waits for processing before publish","Content-type based routing (http_* and fb_* methods)","Automatic retry and fallback between HTTP calls and Facebook SDK","Configurable post settings, captions, and scheduling via Cron trigger integration"],"target_audience":["Social media managers","Content creators","Digital marketing agencies and freelancers"]}


name: Sync GitHub Workflows to n8n After Pull Request Merges
author_name: Bao Duy Nguyen
author_username: duynb
categories: []
created_at: 2025-05-30T01:27:43.712Z
updated_at: 2025-05-30T01:27:43.712Z
url: https://n8n.io/workflows/4500
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?

  This template is ideal for developers, DevOps engineers, and automation managers who manage their n8n workflows using GitHub. It helps teams streamline their CI/CD automation by syncing changes from GitHub directly into n8n after a pull request (PR) is merged.

  What problem is this workflow solving?

  Manually restoring workflows after reviewing and merging code in GitHub can be tedious and error-prone. This workflow solves that by automating the restore process, ensuring that any new or updated workflow committed to your GitHub repo is automatically imported into your n8n environment.

  What this workflow does

  Triggers when a GitHub pull request is closed and merged.
  Fetches the details of the merge commit.
  Retrieves the list of added and modified workflow files.
  Downloads and decodes each workflow file.
  Creates or updates** the corresponding workflow in your n8n instance automatically.

  Setup

  Connect GitHub: Use the GitHub Trigger node and configure GitHub API credentials.
  Note: I'd recommended to use GitHub PAT (Personal Access Token) classic with repo and admin:repo_hook permission scopes enabled.
  Connect n8n API: Provide your n8n API credentials in the n8n nodes. - Check this doc
  Set repository variables: Update github_owner and repo_name in the Define Local Variables node.
  Enable webhook: Make sure your GitHub repository has a webhook for pull_request events pointing to this workflow.

  How to customize this workflow to your needs

  Modify filters to handle only certain branches or file paths.
  Add Slack or email notifications to confirm successful imports.
  Insert logging or version tagging for better traceability.
  Extend with conditional logic for workflow testing before applying changes.

  This automated flow provides a seamless CI/CD loop between GitHub and n8n, empowering teams to manage workflow versioning efficiently and securely.

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.githubTrigger","n8n-nodes-base.filter","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.github","n8n-nodes-base.github","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.n8n","n8n-nodes-base.n8n","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE+1abW/bRhL+K4vtAU0MrUwud8mlgH5w3WuToq19cZLDXWLY+zJrMaGWCrmyaxj674clKZuWpVhx0OKKu2+SSO4zM8+8Uze4MHiC/U/fJz9cxT9/+OHHw/rF4hc8wjPwEk9ucOEaL52Gl+E+yNJcxEKwPE1MnKjcgMqU5jJVMTfSpiIReZJBbAynuaXUUh2z1AiV5VoCwyPsYTYvpYfDGkxzAn4xP6xm8xI8GDzx9QKWI+zkDPAEv4LGVzWgq6r+aMvqqkG2rmbop8K/WKhwlLxo8OTd6Qi7ykD4eNOpw4xMlBKcQGpzwqJUEZkZTixAHKXMSCqDKD3MD2ALB+iXSssSvZV1IVUJTTj/eh6uO+FIC0CUbGDcgMcjPK+awheVw5N3NIpGhEbR6QjPZS1n4KFugumqebgjfFyOsGya4sLNwPn22r2vK7ljYXQCWhMd64ywOM9ITlNBEpGLNEkTmih9J/dF4acLdVZdOajvpG18XbgLPMKXslyEH8zi2qmc4uWoR1FJlgnOGWE0iggDHhPBqCTGahlxBcwKfodSw7w6az9vhwgWuiUJL0+Xy+7et1A3rY2SMbuFZypJjTWKpJDmhPE8IoplkiQ0jXORpEKK9A7+p1ZJ9LouLi6gRgT9cwoO+SnUgIoGObhC80VZoho+LaDxW1nrjNUfc58/Qm/5uwI1raqPra+zmFNNeUQiQzlhMlZERCkjsYmzSHOaGWnxA8pbMiY3+OysLjt/HuFZZVqJOiM+5AXDZe8HOOhyttLldHTfhQIVTeGr+noLQlm0FthMywhrqadgXkGzKP2b8DCeej9vJvv7nXXGuprt92Ltf+7h3zpu1mhfjrCuwYDzhSxba3THHsyLNpEEo/5r9mFeH53AUfPry5O37NU9ol8sFJJaVwvnESLoQGtoGuSrj+CQLkPEaPzAteJbx8qYykScKsKEpYTpGIhMk5RYraxilEoO4g7vcAr6Iyos8r1rtSQEnxr6E5pBfQFmq1vZovTr/sToLvlAV84Uq++DS/hypRkd4RKsf9uz2XLQwAm4gHQJK+5ba8iyMLLDb8NTe9xizFThpK9qPMHSBTWGsKu0k1nGMpNbkkrOCdNME5VrTkxsueJWxSwLEVnNoe7OulkZsVN/vLoyhk+LQP3DTNHd0cnX37S8r953Nzfob8++/cJ4//b5uPAwG39oKjdWlbkeSx1g0HKJR7guLqa3ALqsGjB3aVCqnJmYAwEQEWE2E0TIWBKVGxVpGqcx6DWte61UVZUg3ZpagQ08wk3hLkroQft69kfoOcwU485LNyi9KRnTMb01gs0op1QaYqgwhFEwJOeSh7RMM01TxvNBMv4RvJ72IYF0NZsVHhnwsigbdFnIvjKjg+OXWwMmZJxXt7l6EDUp2xI1izZTfbdKVXJejAfpqs2J+51NNxfye6Yb1ky0XO7+4G0ZDE91qq9g/wAqzzqEs2YqO1LvtxILPw1ZVq9cbx7SblDBHN4m4NfB/F1ntPbjZJCXd8nZr4Sj//i3aw4yU558YmZbzn6Ym9nA02SeSWUSRqzhgjAlYqKkViTRUuWGC5bnanAyeGSLEhqkp9JdQLPys+1t2bws/NFizatEuksutgWU5nV1sjqiTWzQpqgttYZKqQTojGRKWcLyKCd5nHFiUrA8SpJYSBjETZsm0awyhS3AoGFd3b2uxJGIRiT5CxUWbRineehnLWOEWZMTKWlGWC4555lkkZZ/TmFpg63x0i+aDVlyRcxj2ZKrmAFLLUmV1IRBzImQaUoYt1rrWEJK2QPWdQ3SfyXp8V+IdMUMhTiNCMuEIoxDRJTkhoDMqKY2NSyJ/htIl8Y8zjgIrq3NI5LSVBOWZgkRJmckUlwKwYThCtbr44popCvnQ0+5mlofGU7WiE+iW+KHY4m0JrdRHJE8izLCskwQpZkkJk+SOBdGZDT7mrHku6fWUtwm0hKOpZ/eYyD82FfOwAE01aLWPd+wxuZFO1w/Oug8WeZhGcftVP594WR9fVwHKfw1nlhZNjAK3tEyIcvjoSV3GnKeXjDj8V2JMZHWgkeGJDSLCIusIHkuNUnSBHRYCDCR7ex68RN8L/m/7/2v+l7MsyRikhId54IwKzSROs2JiG0qjZQmitRwgaYrAw+dz1coKL77Ji3mdEuH09u+llfrzXBAOFr4edu2BTJ65nshxgEpZZ2Iz573pt+6nBIGgCqREcHDBo6aiKiEW2IVRHGUGciSZGfFtwfdFs03lfk/S3NqrWJJbomW2hImLSW55RmJLQWZM81h2NG+mRvpB5oXDjmxnenu2lDfjG3tZe8ictGi4BFe4YQstDEoC7Mekq0pCtOr3U9XR0P7rQ49Uh9A+3vP+ernpnInbb9xa7q12HPCDQPP0uLEHbw4lHB8ID5cv7mzlRPuM1F3R0CspIplSjgTMWEZFUQmVpMkY7lRCTAtB6P4YdtVtsPlV5Kwube8I6HrX/HX2vDPMSKLcgqplCQWiSXM5kAkZBkRmWCQizgzfLBBP/GF/niNfqs8bA/V9p7+lvtb42hEuHhovKvChCoU1oB4CqHlxJMkfOkDE0/wN9+g9tXHe/fexWO0t3dYOQfa9xuUvb0JetNA2CGg8z5v9+uFcxRkQ9KFBYyzxcWihsHeBQ3sO37vgtgT9PJbg2oIKwVwBkxIT4sG0F7/2PHBa/TsGOomVJzV1vV12Lo+X61d99BV4afoPJSw8xb8XJpZ4SZtTQv9wTmaQz0rmkAIanQ1hwaBC0XQjN87OtQxUHlw/DIoeVxXl4UBdF0t6tXvQxWCS7dGcMJ1mjdjRNC7bnnrp0WDTKVPn62WQ6bSTfDzcVGFRdH+/U3J/vP3LgmSnIBHd3UeXa7KdWv3LrOdDzuMXuXbAn6+kmtvb3Pd39trhR2/dyzg/b01BOpbqYDyq/wIqAnctar3TAxkmsoGydUTyFY1Oh+uic67dXWD5lXhfOEuAqmtPVYROd6wvTgd4bAeDdNe32o04MPTrd/C76AXwU5HtQkdG76Mwxn9BNk2gDYFzrNEEpuF90fAGRGQCZLlVKXCWBantBsLA9OrGXTLC7ZQ3GQRYundTbunevpWvj1nhAtn4Hc8iZanp8vR9vl7E/DOo9vnoDYseJ6AFT8Ctn03thHs8d3TOspo/eHPrDA2SvhYQ7hJzsc6is12f4S1TUC7N21P0S3e7NY7VOunKLgZbed+/DOQOy35N4HvsLndCPtlkb89rL7s7cTmAPvCd86bOfj8nwo2AC+X/wHanLtejiEAAA==

metadata_json:
  {"categories":["automation","integration","CI/CD"],"complexity":"medium","use_cases":["Automatically import or restore n8n workflows after GitHub pull requests are merged","Keep n8n workflow definitions in sync with a GitHub repository (GitOps for n8n)","Prevent manual errors when deploying updated workflows","Enable continuous deployment/versioning of workflow changes"],"estimated_setup_minutes":20,"required_services":["GitHub (with a Personal Access Token; repo and admin:repo_hook scopes)","n8n API / n8n instance","Publicly reachable webhook endpoint (GitHub webhook configured for pull_request events)"],"key_features":["Triggers on GitHub pull_request closed + merged events","Fetches merge commit details and lists added/modified workflow files","Downloads and decodes workflow files from the repo","Creates or updates corresponding workflows in n8n automatically","Local repo variables for owner and repo_name for easy reuse/configuration"],"target_audience":["Developers","DevOps engineers","Automation managers / engineering managers"]}


name: Build & Query RAG System with Google Drive, OpenAI GPT-4o-mini, and Pinecone
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-05-30T01:35:59.082Z
updated_at: 2025-05-30T01:35:59.082Z
url: https://n8n.io/workflows/4501
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  🔍 What This Workflow Does

  This RAG Pipeline in n8n automates document ingestion from Google Drive, vectorizes it using OpenAI embeddings, stores it in Pinecone, and enables chat-based retrieval using LangChain agents.

  Main Functions:

  📂 Auto-detects new files uploaded to a specific Google Drive folder.
  🧠 Converts the file into embeddings using OpenAI.
  📦 Stores them in a Pinecone vector database.
  💬 Allows a user to query the knowledge base through a chat interface.
  🤖 Uses a GPT-4o-mini model with LangChain to generate intelligent responses using retrieved context.
  ⚙️ Setup Instructions

  Connect Accounts
  Ensure these services are connected in n8n:

  ✅ Google Drive (OAuth2)
  ✅ OpenAI
  ✅ Pinecone
  You can do this in n8n &gt; Credentials &gt; New and use the matching names from the file:

  Google Drive: "Google Drive account 2"
  OpenAI: "OpenAi success"
  Pinecone: "PineconeApi account 2"
  Folder Setup
  Upload your documents to this folder in Google Drive:

  📁 Power Folder

  The workflow is triggered every minute when a new file is uploaded.

  Workflow Overview
  A. File Ingestion Path

  Google Drive Trigger — detects new file.
  Google Drive (Download) — downloads the new file.
  Recursive Text Splitter — splits text into chunks.
  Default Data Loader — loads content as LangChain documents.
  OpenAI Embeddings — converts text chunks into embeddings.
  Pinecone Vector Store — stores them in "ragfile" index.
  B. Chat Retrieval Path

  When chat message received — 
  AI Agent — LangChain agent managing tools.
  OpenAI Chat Model (GPT-4o-mini) — generates replies.
  Pinecone Vector Store (retrieval) — retrieves matching content.
  Embeddings OpenAI1 — helps match queries to document chunks.

nodes_used:
  ["n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.vectorStorePinecone","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.vectorStorePinecone","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","integration","ml-nlp","knowledge-management","retrieval-augmented-generation"],"complexity":"medium","use_cases":["Build a searchable knowledge base from Google Drive documents","Document Q&A/chat assistant for internal teams","Customer support/documentation retrieval","Research assistant that retrieves relevant document excerpts","Automated ingestion and vectorization pipeline for corpora"],"estimated_setup_minutes":30,"required_services":["Google Drive (OAuth2)","OpenAI (embeddings + GPT-4o-mini)","Pinecone (vector database)","n8n (workflow runtime with LangChain agent node)"],"key_features":["Auto-detects new files in a specified Google Drive folder","Recursive text splitting and LangChain Document loading","OpenAI embeddings for vectorization","Stores and retrieves vectors in/from Pinecone index (\"ragfile\")","Chat-based retrieval using a LangChain agent with GPT-4o-mini responses"],"target_audience":["Developers building RAG systems","Data engineers/ML engineers","Knowledge managers/technical writers looking to expose docs via chat interface"]}


name: Starred Slack Messages to Notion Database with AI Auto-Tagging
author_name: Matty Reed
author_username: mattyreed1
categories: []
created_at: 2025-05-30T01:48:24.589Z
updated_at: 2025-05-30T01:48:24.589Z
url: https://n8n.io/workflows/4502
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who is this for?
  Teams that want to capture important Slack messages in Notion with smart categorization.
  Perfect for knowledge workers, community managers, or any team that needs to preserve valuable conversations from Slack and organize them automatically in a Notion database.

  What problem does this solve?
  Important Slack messages get buried in chat history and are hard to find later.
  This workflow monitors your Slack channel and automatically saves starred messages to Notion with AI-generated titles and smart tags. No more manually copying messages or losing track of important discussions.

  How it works
  Trigger - Schedule Trigger fires every 10 minutes to check for new messages.

  Get Slack Messages - fetches recent messages from your specified Slack channel within the last 10 minutes.

  Star Filter - only processes messages that have been reacted to with a ⭐ emoji (configurable to any emoji).

  Get Message Link - retrieves the permanent link to the starred Slack message.

  Choose Notion DB - connects to your target Notion database and loads available tag options.

  Set Tags - prepares the available tags from your Notion database for AI processing.

  AI Processing - uses OpenAI GPT-4o-mini to:
    Generate a concise title (under 50 characters)
    Automatically categorize the message with existing tags (90%+ confidence threshold)

  Create Notion Page - saves the message to Notion with:
    AI-generated title
    Auto-selected tags
    Original message content
    Permanent link back to Slack

  Setup steps

  1. Import and connect credentials
  Import this template into n8n
  Connect your Slack API credentials (Slack Bot Setup Guide)
  Connect your Notion API token (Notion Integration Guide)
  Connect your OpenAI API credentials

  2. Configure Slack integration
  Create a Slack bot and add it to your target channel
  Update the channelId in "Get Slack Messages" node with your channel ID
  Ensure your bot has these permissions:
    channels:history - to read channel messages
    reactions:read - to detect star reactions
    chat:write.public - to get message permalinks

  Slack Bot Setup Resources:
  Creating a Slack App
  Bot Token Scopes
  Adding Apps to Channels

  3. Set up Notion database
  Create or use existing Notion database with required properties:
    Tags (Multi-select) - add tag options with descriptions for better AI accuracy
    Link (URL) - for storing Slack permalink
    Title (Title) - will be auto-populated by AI
  Update the databaseId in "Choose Notion DB" and "Create Notion Page" nodes

  4. Customize the workflow
  Change trigger emoji**: Edit the IF condition to use a different emoji (e.g., bookmark, pushpin)
  Adjust timing**: Modify the Schedule Trigger interval (remember to update the "oldest" filter in Get Slack Messages to match)
  Improve AI prompts**: Edit the prompt in "Write Title & Tag" node for better categorization

  5. Test the setup
  Star a message in your Slack channel
  Wait for the next 10-minute trigger or manually execute the workflow
  Check your Notion database for the new entry

  Example output

  Slack message:
  &gt; "Hey team, just found this amazing tool for automating our design workflow. We should definitely consider it for next sprint: https://example.com/design-tool"

  Generated Notion page:
  Title:** "Design Tool Recommendation for Next Sprint"
  Tags:** "Tools", "Design", "Sprint Planning"
  Content:** Full message text with Slack permalink
  Link:** Direct link back to original Slack message

  Extending the flow

  Multi-channel support - duplicate the "Get Slack Messages" node for different channels and merge the outputs.

  Enhanced AI processing - modify the prompt to extract additional metadata like:
  Priority levels
  Action items
  Mentioned team members
  Due dates

  Rich content preservation - add logic to handle Slack attachments, images, or threaded replies.

  Notification system - add nodes to notify team members when important messages are archived.

  Sentiment analysis - incorporate additional AI processing to categorize message sentiment or urgency.

  This template provides a lean setup for intelligent Slack-to-Notion archiving. Star important messages, let AI handle the organization, and never lose track of valuable conversations again.

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.slack","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.notion","n8n-nodes-base.slack","n8n-nodes-base.notion","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WXbWsbRxDHv8qxL/pK4+7D7JMg0NSlJdA0oQlpIZiyD7PyYfkk7k5pXKPvXu7sWHJ0MlbyRhh59r+//e/szOiW1ZnN2Y34oP7+/N+H5vIt/xPpnM3YNfWBzW9Z3XR9aBK9GuKsS1krnV2SjidflBdZJEElkBUxqsi5NpJn4a302cbiU9YJSWjuiaJkM9bT9XoZejpvKXfvqN+sz1fX6yX1lNm8bze0nbEmXBObs3fLkK6q192iepkz5apfVX+s+nrVDDJh0bH5x4sZa1aZhj9v747igtBUkgARbATkskAMpYBSJITJiUqI7GGLV79WLYU0iFYvXlRdH9pB/GY9/LNxDYzqEENHZ3VhM7ZedfWIMP8IWvKZlfxixtahDdfUU9ux+e32TuADtd0YKLazL2yonCOroQjnAGUO4FEKQFEQE8+RstuxvUuXlDdLqt639WJBx8G6+8Bd3D6lx+dRnskHTnQiGZskWEINmBHBR5VBkfBFCR1I5h3nmzU1L19V55ehr16vMi13oD81rvlxR7sMzSJdhro5W14P4ePK+jGvcnzm8SRcLkxUsRjQXCtAbhxE7gwoKxIZPXzQnq19u0n9pqVcvdn0601fvQ1tt2/vUerVGH8XvpN5zK/NyfyZY4wySfCkOKCWBE5mBG9Vsokb463f8f9GfXX/MqjrwoK644kxhH2VDvYhHf6leLlaXY0POySupYwcpMoB0NgITpQE0SvSUXJtxlfz5JHkmXo4UhGkbTEEKkoDGI2CaI0DXVTimI3kie9dCfXV++FBHz0I9Y+PIcyzklqd4e7xOQwpSw6eewdIRUOMmICURIeBB2n1Dumvtu6pel/3S6p+GOCekR5hQU1/mM3Penz+gVMbK6VwFoQKGVC4ABGjgai8cOhdDGrPuvOWQk/3dbF6GxZ01MTmS+3c47PP81HuZStFHQvZAMWRBZQ6g3Nagw4i+iwFeikeZ+t9nla/183VSbkq3VSueu1ciSWBDsEAhiIhyqggS448+aFV6FNyNaFURuQERpABlIUgFG1ACyt5QE22qD3DL1er7sHwX34+yW443W4eo/BKE/hUEqBTAaJTBDg8zFJ0StrsF7c6Xd0MdMfzoBtj7kP24QQ3fIbuAI+lVdMPqT1n7Hhz8yZzSzyD0NEBIkbwpiTgSiDnUaCNZRJUnE6q8TtAyaOxSnnwcuhuGg34YAqgSQa1scSFmgSV32Lpd4AmW6SUwkLSY8XyBry1HIxQikdONkU+CapOBlXyOzgdWYxcIATEwcaiweviQVmfUiF0SkzfPH6DoeZbrv5ixoYh7xOxeQnLjmaso76vm8W4lD5T2gwbvGkztWzOPolB49Pd+rHmpGQIi0/gMaehRgTwygSIBq2MJSYuBtK0ahoap8lR+KGvzW/ZdaiHA3y8HQfWpzvMGDtjdZPpM5vz7cXFdnZYeKZEDzvppNZBVZ7SOl7pJjUPxtUpzaeGl0nVw+FyfstC/c/QdTdhQfffPc/Xg3Vf73a4dtKYJ3ruUbu/OvWU7pM/RiaFp1Ycs326C09f5bER+c77/TH4BOsfLXu85Xb7PzhPq/CJDgAA

metadata_json:
  {"categories":["automation","integration","knowledge management","AI tagging"],"complexity":"medium","use_cases":["Archive important Slack conversations into Notion","Automatically generate concise titles and tags for saved messages","Build a searchable knowledge base from chat","Capture action items or recommendations from team chat","Community moderation / highlight curation"],"estimated_setup_minutes":45,"required_services":["Slack API (bot with channels:history, reactions:read, chat:write.public)","Notion API (integration with access to target database)","OpenAI (GPT-4o-mini or compatible model)","n8n (cloud or self-hosted instance)"],"key_features":["Scheduled polling of Slack channel (configurable interval)","Emoji-based filter to select starred messages","Retrieves permanent Slack message permalinks","Loads existing Notion multi-select tags for consistent categorization","AI-generated concise titles (under 50 chars) using GPT-4o-mini / automated tag selection with confidence threshold (~90%+)\" , \"Creates Notion page with title, tags, original content and Slack link\" , \"Configurable trigger emoji, timing, and AI prompt\" , \"Extensible for multi-channel support, attachments, action items, sentiment, and notifications"],"target_audience":["knowledge workers","community managers","product and engineering teams collecting decisions or discoveries from chat managers (ops) and support teams"]}


name: Automate RSS Content with AI: Summarize, Notify & Archive
author_name: Victor
author_username: victoorsaad
categories: []
created_at: 2025-05-30T02:22:30.751Z
updated_at: 2025-05-30T02:22:30.751Z
url: https://n8n.io/workflows/4503
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-30 08:33:37
description:
  🚀 Product Overview
  This n8n workflow template automates the entire lifecycle of RSS feed monitoring—perfect for tech news aggregation, content curation, and AI-powered updates. It reads RSS links from a Google Sheets file, fetches content, summarizes it using GPT, sends digest messages to Discord, and stores clean content into a Google Sheets database for future use.



  🔄 How It Works
  ✅ 1. Scheduled RSS Fetching
  Triggers every 24 hours via Schedule Trigger.

  Reads a list of RSS feed URLs from a centralized Google Sheets file.

  Splits them for individual processing.

  🔍 2. Feed Scanning & Filtering
  Loops through each RSS link and retrieves the latest entries.

  Filters out content older than 24 hours to avoid duplicates or outdated info.

  🤖 3. AI Summarization & Messaging
  Aggregates filtered entries.

  Summarizes content using an AI Agent (OpenAI Chat Model).

  Sends beautifully formatted summaries directly to Discord as a message, keeping your community or team informed.

  🗃️ 4. Persistent Storage
  Converts each item to Markdown.

  Writes entries to a second Google Sheets file, including a rate limiter (wait step) to avoid API limits.

  💡 Why Use This Template?
  No-code setup: Drag, drop, and deploy in n8n.

  AI-powered: Smart summarization reduces content noise.

  Discord integration: Great for community managers, news bots, or internal updates.

  Database-ready: Stores everything cleanly for later analysis or republishing.

  🧩 Use Cases
  Daily tech news digest for Discord communities.

  Content curation for newsletters.

  Competitive intelligence via targeted RSS feeds.

  Auto-archiving of blog or podcast updates.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.markdown","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.splitInBatches","n8n-nodes-base.rssFeedRead","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.discordTool","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.code"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","integration","content curation","data processing","notifications"],"complexity":"medium","use_cases":["Automated RSS monitoring and summarization","Daily tech news or industry digest creation","Content curation for newsletters or social channels","Team notifications via Discord about new articles","Archiving cleaned article content for future search/analysis"],"estimated_setup_minutes":30,"required_services":["Google Sheets","OpenAI / GPT API (or other AI summarization provider)","Discord","RSS feeds (source URLs)"],"key_features":["Scheduled daily RSS fetching","Reads RSS feed URLs from Google Sheets","Fetches and cleans article content","GPT-powered summaries","Sends digest/notifications to Discord channels"],"target_audience":["content curators","community managers","marketers and communications teams"]}


name: Automate VIRAL Youtube Titles & Thumbnails Creation (FLUX.1 + Apify)
author_name: Nasser
author_username: nasser
categories: []
created_at: 2025-05-30T06:24:10.419Z
updated_at: 2025-05-30T06:24:10.419Z
url: https://n8n.io/workflows/4504
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  For Who?

  Content Creators
  Youtube Automation
  Marketing Team

  How it works?

  1 - Enter your content idea in the Edit Fields node in a "raw" format. Ex : Boil Eggs Perfectly
  2 - LLM create 3 keywords request based on the idea and Apify scrape the YTB Search
  3 - Wait until the dataset is completed in Apify
  4 - Retrieve Dataset from Apify, calculate approximation of CTR and filter top performing videos
  5 - LLM analyze patterns of best performing titles and create a prompt based on it. Another LLM create 5 titles based on these criteria
  6 - LLM analyze patterns of best performing thumbnails and create a prompt based on it. Another LLM create 1 thumbnail based on these criteria
  7 - Return titles and thumbnail in a HTML Page

  📺 YouTube Video Tutorial:

  SETUP

  Setup Input Content Idea : Enter Keyword Related to the niche you want. Trigger can be replaced with anything as long as you retrieve a content idea. For example : Form submission, Database entry, etc ...

  If you want to change the number of keywords, update the data accordingly in the "Create Keywords" LLM Chain node ➡️ Structured Output Parser AND in the "YTB Search Scrape" HTTP Request Node in Body ➡️ JSON ➡️ searchQueries.
  If you want to change the number of scraped videos for each keyword, update the data accordingly in the "Create Videos Dataset" HTTP Request Node in Body ➡️ JSON ➡️ maxResults.
  If you want to adjust the CTR Calculation feel free to update it in the Code Node ➡️ Follow the Comments (after "//") to find what you're looking for.
  If you want to adjust the level of virality of the videos kept for analaysis go to Filter Node ➡️ Value.

  Setup Output HTML Page : You can also replace this part with any type of storage. For example : Airtable Database, Google Drive/Google Sheet, Send to an email, etc ...

  APIs : For the following third-party integrations, replace ==[YOUR_API_TOKEN]== with your API Token or connect your account via Client ID / Secret to your n8n instance :
  Apify : https://docs.apify.com/api/v2/getting-started 
  OpenAI : https://platform.openai.com/docs/overview (base URL : https://api.openai.com/v1) OR OpenRouter : https://openrouter.ai/docs/quickstart (base URL : https://openrouter.ai/api/v1)
  HuggingFace (FLUX.1) : https://huggingface.co/docs

  👨‍💻 More Workflows : https://n8n.io/creators/nasser/

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.wait","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-base.code","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatMistralCloud","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.html","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.wait","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.lmChatMistralCloud","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.extractFromFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.wait"]

workflow_json_compressed:
  [encoded data, 9556 characters]

metadata_json:
  {"categories":["automation","integration","AI/ML","content creation","marketing"],"complexity":"complex","use_cases":["Generate viral YouTube titles","Automated thumbnail creation","YouTube competitor research and title/thumbnail pattern analysis","Content ideation and validation","Automating a content optimization pipeline for creators/teams"],"estimated_setup_minutes":45,"required_services":["Apify (YouTube search scraping)","OpenAI or OpenRouter (LLM for text analysis & title generation)","HuggingFace FLUX.1 (thumbnail/image generation)","n8n instance (workflow runner)"],"key_features":["Create keywords from a raw idea","Scrape YouTube search results and build datasets","Approximate CTR calculation and filter top performing videos","LLM-driven pattern analysis of titles and thumbnails","Generate multiple title options and a thumbnail based on best-performing patterns (HTML output)」「Configurable extraction counts, CTR logic and output destination"],"target_audience":["Content creators","YouTube automation channels","Marketing teams and social media managers」「Growth hackers / creators focused on audience/CTR optimization"]}


name: Automate Meeting Prep & Lead Enrichment with Bright Data, Cal.com & Airtable
author_name: Zacharia Kimotho
author_username: imperolq
categories: []
created_at: 2025-05-30T06:25:28.290Z
updated_at: 2025-05-30T06:25:28.290Z
url: https://n8n.io/workflows/4505
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow makes it easier to prepare for meetings and calls by researching your lead right before the call and creates a high-level meeting prep that is sent to your email. This removes the extra steps needed by teams to learn their leads, research, and prepare for the upcoming calls.

  How does it work

  This workflow starts when We Capture the webhook from cal.com for new bookings.

  Ensure you have a field on the form to collect LinkedIn posts. This can be optional or mandatory depending on your preferences.

  When a new event is booked, we will add the leads to an Airtable CRM for appointments and new bookings. This table will contain all the items and items needed to enrich and maintain your CRM.

  If the lead has linkedin then we do research on LinkedIn for their content and posts and perform a lead enrichment to get as much info as we can about the leads and create a new meeting prep.

  What you need
  Bright data API
  Cal.com account/calendar. Other calendars can be used too for this eg calendly, Google Calendar, etc with a few tweaks
  CRM - This can be anything not just airtable

  Setting it up
  Create/update your calendar to allow collecting users LinkedIn profiles/bios
  Add a new webhook to and subscribe to the desired events like below



  Map the fields from the webhook to match your CRM. If you have no CRM make a copy of this Airtable CRM and map the fields to your account. We will be using the Base and table ID to make the mapping easier
  Setup your Bright Data API and select the data source as linkedin for the scraping
  You can edit more data on the bio as needed 
  Update this info to the CRM under the table lead enrichment and map accordingly
  You can update the prompt on the AI models or work with them as is. 
  Update the Gmail node to send the meeting preps to you and finally update the CRM with the generated  Meeting prep

  This automated process can save your team a couple of minutes each day otherwise spent on other client fulfillment items.

  If you would like to learn more about n8n templates like this, feel free to reach out via Linkedin 

  Happy productivity!!

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.filter","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.airtable","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.airtable","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","@brightdata/n8n-nodes-brightdata.brightData","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.gmail","n8n-nodes-base.markdown"]

workflow_json_compressed:
  [encoded data, 8368 characters]

metadata_json:
  {"categories":["automation","integration","sales enablement","CRM","data enrichment"],"complexity":"medium","use_cases":["Automated meeting prep and call summaries","Lead enrichment from LinkedIn profiles and posts","Automatically add/update appointments in a CRM","Pre-call research for sales/CS teams","Send meeting prep to email and store in CRM"],"estimated_setup_minutes":45,"required_services":["n8n (workflow runner)","Bright Data API (LinkedIn scraping/data source)","Cal.com (or Calendly/Google Calendar with webhook tweaks)","Airtable (or another CRM to store leads)","Email provider (Gmail node or other SMTP)","LLM/API for AI generation (OpenAI or compatible via lmChatOpenRouter)"],"key_features":["Capture booking events via Cal.com webhook","Map webhook fields to CRM records (Airtable)","Scrape LinkedIn profiles/posts for content and context","Automated lead enrichment and CRM updates","Generate high-level meeting prep via AI/ML nodes (customizable prompts)"],"target_audience":["Sales development reps (SDRs) and account executives","Customer success and support teams","Revenue/growth teams needing pre-call research automation"]}


name: Generate Youtube Video Metadata (Timestamps, Tags, Description, ...)
author_name: Nasser
author_username: nasser
categories: []
created_at: 2025-05-30T08:59:44.727Z
updated_at: 2025-05-30T08:59:44.727Z
url: https://n8n.io/workflows/4506
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  For Who?

  Content Creators
  Youtube Automation
  Marketing Team

  How it works?

  1 - Enter the ID of the YTB channel to trigger the workflow when a new video is posted
  2 - Apify scrape the last YTB video of the channel
  3 - Wait until the dataset is completed in Apify and get it
  4 - Verify if Metadata are not already generated and generate them with LLM
  5 - Format all the data created and update YTB Video

  📺 YouTube Video Tutorial: 

  SETUP

  Setup Input YTB Chanel : Go to the channel's page on YouTube, and look at the URL of the page. The channel ID is the value that comes after channel/ in the URL. Add it after "?channel_id=" You can also use free tools available to retrieve channel ID.

  Setup Output YTB Video Update : Connect your YTB account to your n8n instance thanks to the Google Cloud Console. You can find tutorials by typing "youtube api Oauth" on Google.

  APIs : For the following third-party integrations, replace ==[YOUR_API_TOKEN]== with your API Token or connect your account via Client ID / Secret to your n8n instance : 
  Apify : https://docs.apify.com/api/v2/getting-started
  Youtube : https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.youtube/?utm_source=n8n_app&utm_medium=node_settings_modal-credential_link&utm_campaign=n8n-nodes-base.youTube#templates-and-examples

  👨‍💻 More Workflows : https://n8n.io/creators/nasser/

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-base.noOp","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.noOp","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.rssFeedReadTrigger","n8n-nodes-base.youTube"]

workflow_json_compressed:
  [encoded data, 4644 characters]

metadata_json:
  {"categories":["automation","integration","content creation","marketing"],"complexity":"medium","use_cases":["Automatically generate YouTube video metadata (timestamps, tags, descriptions)","Trigger workflow on new channel video and update video via API","Scrape latest video content and extract structured data","Use LLM to create SEO-friendly metadata","Prevent duplicate metadata generation"],"estimated_setup_minutes":30,"required_services":["n8n instance","YouTube API (Google Cloud OAuth)","Apify API (scraping)","LLM provider (lmChatMistralCloud or other configured LLM)"],"key_features":["Trigger on new video by channel ID","Scrape latest video via Apify and wait for dataset completion","Check for existing metadata before generation","Generate timestamps, tags and descriptions using LLM","Format results and update YouTube video via API"],"target_audience":["Content creators","YouTube automation specialists","Marketing teams and social media managers"]}


name: AI Email Classifier & Auto-Delete for Gmail (SPAM/OFFER Cleaner)
author_name: LukaszB
author_username: lukaszb
categories: []
created_at: 2025-05-30T09:19:19.428Z
updated_at: 2025-05-30T09:19:19.428Z
url: https://n8n.io/workflows/4507
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  This workflow is designed for freelancers, solopreneurs, and business owners who receive a high volume of irrelevant messages in their Gmail inbox — from cold offers to spammy promotions — and want to automatically filter and delete them using AI. Its main purpose is to scan new emails with the help of OpenAI, classify their content, and automatically delete those considered marketing (OFFER) or junk (SPAM). The result is a cleaner inbox without the need to manually sift through low-value messages.

  The classification logic uses a detailed system prompt with practical examples, so even complex or borderline messages are categorized accurately. Important emails — such as payment confirmations, shipping updates, or genuine business inquiries — remain untouched. This helps maintain a professional inbox with only valuable and relevant communication.

  The entire process runs automatically in the background and can be customized further — for example, to archive instead of delete, or log deleted emails for review.

  How it works

  When triggered (every hour), the workflow fetches new Gmail messages using the Gmail Trigger node. Each message is passed to an AI classifier powered by OpenAI, which reads the message body (email snippet) and returns one of three labels:

  SPAM: Obvious junk messages, scams, or low-effort bulk messages
  OFFER: Cold outreach, discount promotions, cart reminders, or generic advertising
  IMPORTANT: Valuable information for the user, even if commercial (e.g., invoices, order updates, personal inquiries)

  The workflow then routes the result through an IF node. If the message is marked as SPAM or OFFER, it is immediately deleted from Gmail via the Gmail Delete node. Emails marked as IMPORTANT are ignored and remain in the inbox.

  The classification is entirely AI-driven based on message content — sender address, headers, or metadata are not used.

  How to set up

  To get started, simply connect two credentials:

  A Gmail account using OAuth2 (via the Gmail Trigger and Gmail Delete nodes)
  An OpenAI API key (used by the AI classifier node)

  No advanced setup is needed beyond these two connections.

  Optionally, you can review or modify the system prompt used for classification — it’s available inside the workflow’s LangChain AI Agent node. The prompt is in English, so it’s recommended to use this workflow with English-language emails for best results.

  By default, the workflow deletes matching emails immediately. If you prefer safer testing, you can modify the Gmail node to archive, label, or log emails instead of deleting them.

  The full workflow takes around 5–10 minutes to configure and includes a sticky note with additional instructions and warnings.

nodes_used:
  ["n8n-nodes-base.gmailTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4208 characters]

metadata_json:
  {"categories":["automation","email management","AI moderation","integration"],"complexity":"simple","use_cases":["Automatically remove spam and promotional emails","AI-based email classification (SPAM / OFFER / IMPORTANT)","Inbox cleaning and decluttering","Archiving or labeling low-value mail as an alternative to deletion","Customizable AI prompt for tailored classification"],"estimated_setup_minutes":10,"required_services":["Gmail (OAuth2)","OpenAI API"],"key_features":["LangChain/OpenAI-driven content classification","Three-label taxonomy: SPAM, OFFER, IMPORTANT","Automatic deletion of unwanted emails (configurable to archive/label/log)","Hourly Gmail trigger for continuous operation","Prompt is editable for customization and language considerations"],"target_audience":["Freelancers","Solopreneurs","Small business owners / entrepreneurs who receive high volumes of outreach or promotions"]}


name: Multi-Platform AI Sales Agent with RAG, CRM, Calendar & Stripe
author_name: Vansh Arora
author_username: v4nsh
categories: []
created_at: 2025-05-30T09:29:25.335Z
updated_at: 2025-05-30T09:29:25.335Z
url: https://n8n.io/workflows/4508
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  Turn More Website and Social Media Leads into Sales, Automatically. 
  This AI workflow instantly connects with new leads from your website, WhatsApp, Instagram, and Facebook to boost your sales.

  Who is it for?
  This solution is designed for:
  Product and service-based businesses committed to maximizing lead conversion and sales.
  Sales Teams aiming to automate lead engagement, qualification, and accelerate sales generation.
  Companies seeking to provide immediate, personalized, and consistent responses to inquiries across multiple channels.
  Use Case: Turn Conversations into Conversions, 24/7
  Imagine a potential customer fills out a form on your website or interact with your website chatbot or directly messages your business on WhatsApp, Instagram, or Facebook. Instantly, our intelligent workflow springs into action:
  Personalized Welcome: If they filled out a form, they receive a personalized WhatsApp message referencing the key details they provided. If they messaged directly on social media or your website chat, they receive an immediate, welcoming response.
  Human-like Engagement: The AI sales agent initiates a natural, human-like conversation to understand their specific goals and needs.
  Intelligent Product Matching: Leveraging your product database, the agent intelligently suggests the most suitable products or services.
  Expert Consultation & Meeting Booking: For complex needs requiring expert advice, the agent seamlessly books a meeting in your calendar.
  Seamless CRM Integration: All interactions, customer details, and meeting information are automatically saved and updated in your CRM.
  Overcoming Hesitation (Optional): If a lead shows pricing concerns, the agent can be configured to offer pre-approved discounts or alternative solutions.
  Facilitating Transactions (Optional): The workflow can even send payment links to close deals directly within the conversation.
  This automated yet personalized approach ensures every lead is nurtured effectively, regardless of where the conversation starts.
  How This Workflow Works:
  This intelligent system streamlines your sales process through a series of automated yet highly personalized steps:
  Lead Capture: A prospect either fills out a form embedded on your website or initiates a conversation directly via your business's WhatsApp, Instagram, Facebook page, or the n8n Chat embedded on your website.
  Instant & Personalized Outreach:
  Form Submissions: An instant, personalized WhatsApp message is dispatched, incorporating details from their form submission.
  Direct Messages (WhatsApp, Instagram, Facebook, n8n Chat): The AI sales agent immediately greets the user and begins a human-like conversation.
  AI-Powered Engagement & Qualification: The AI agent engages the lead with relevant questions to understand their needs and qualify them based on predefined criteria. It accesses your product information (from a vector database) to provide accurate and relevant suggestions.
  Tailored Call to Action: Based on the conversation and qualification:
  Product/Service Recommendation: Offers the most suitable product or service with a clear call to action (e.g., view product, learn more).
  Consultation Booking: If expert advice is needed or requested, the agent can schedule a meeting directly into your calendar.
  CRM Update: All lead details, conversation history, and scheduled meetings are automatically logged in your CRM.
  Handling Objections & Closing (Optional):
  Payment Links: Can send direct payment links for purchases.
  Discount Offers: If a lead expresses hesitation about pricing, the agent can be programmed to offer a predefined discount to encourage conversion.
  Multi-Channel Communication: The entire interaction can seamlessly occur on WhatsApp, Instagram, Facebook, or your website's embedded n8n Chat, providing flexibility for your leads.
  How to Set It Up:
  Modular Agent Creation: Design distinct workflows for your CRM Agent (managing customer data), Calendar Agent (handling meeting bookings), and Billing Agent (managing payments and discounts).
  Connect AI Agent Tools: Integrate each workflow with its specific AI agent communication tool (e.g., call workflow tool).
  Multi-Platform App Configuration: Create an application on https://developers.facebook.com and set up WhatsApp, Instagram, and Facebook messaging capabilities, linking them to your app.
  Knowledge Base Creation: Develop a vector document (e.g., in PostgreSQL) containing comprehensive details about your products, services, sales techniques, FAQs, and other relevant information for the AI to draw upon.
  Credential Integration: Securely connect all necessary credentials for your CRM, calendar, payment gateways, and messaging platforms.
  AI Agent Personalization: Edit the system prompt of your AI agent, filling in your specific business details, brand voice, and operational guidelines to ensure responses are accurate, relevant, and on-brand.
  Website Form Integration (Recommended): Customize your lead capture form and embed it on your website to directly feed leads into the workflow.
  Embeddable Web Chat (Recommended): Integrate the n8n Chat widget onto your website, allowing visitors to directly communicate with your AI sales agent.

  DEMO DATABASE - https://airtable.com/appFUS6RjSdbJhtR0/shrIEUJf9egBqDl8q

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.noOp","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.memoryPostgresChat","n8n-nodes-base.switch","n8n-nodes-base.whatsApp","n8n-nodes-base.set","n8n-nodes-base.whatsApp","n8n-nodes-base.whatsAppTrigger","n8n-nodes-base.whatsApp","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.vectorStorePGVector","n8n-nodes-base.postgres","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stripeTool","n8n-nodes-base.stripeTool","n8n-nodes-base.stripeTool","n8n-nodes-base.stripeTool","n8n-nodes-base.stripeTool","n8n-nodes-base.stripeTool","n8n-nodes-base.stripeTool","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolVectorStore","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.set","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.whatsApp","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.formTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.set","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.postgresTool","n8n-nodes-base.postgresTool","n8n-nodes-base.postgresTool","n8n-nodes-base.postgresTool","n8n-nodes-base.postgresTool","n8n-nodes-base.postgresTool","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.postgresTool","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.postgres"]

workflow_json_compressed:
  [encoded data, 6204 characters]

metadata_json:
  {"categories":["automation","integration","sales","conversational-ai","payments"],"complexity":"complex","use_cases":["Automated lead capture and qualification across website and social channels","24/7 conversational sales agent that recommends products/services using a product knowledge base (RAG)","Automated meeting booking and calendar management for consultations","CRM enrichment and logging of conversations and deal stages","In-chat payment processing and discount handling to close deals"],"estimated_setup_minutes":240,"required_services":["WhatsApp Business API / Meta Messaging (Facebook & Instagram)","Stripe (payment links, billing)","Google Calendar","LLM provider (e.g., Google Gemini) or compatible chat model","Vector database or PostgreSQL for RAG/knowledge base","CRM (e.g., HubSpot, Salesforce, or Airtable demo)","n8n hosting + Webhooks / embeddable n8n Chat widget","Facebook Developers app configuration"],"key_features":["Multi-channel lead ingestion (website form, WhatsApp, Instagram, Facebook, n8n Chat)","Personalized welcome messages and human-like AI conversations","Retrieval-augmented product/service matching from a vector DB","Automated qualification flow and tailored CTAs","Calendar integration for consultation booking (Google Calendar) as part of the flow','CRM auto-create/update with conversation history and meetings' , "],"target_audience":["Product and service-based businesses","Sales teams seeking automation to scale outreach and conversion","Companies wanting consistent, personalized multi-channel customer engagement"]}


name: 🏛️ Daily US Congress Members Stock Trades Report via Firecrawl + OpenAI + Gmail
author_name: Automate With Marc
author_username: marconi
categories: []
created_at: 2025-05-30T10:06:06.957Z
updated_at: 2025-05-30T10:06:06.957Z
url: https://n8n.io/workflows/4509
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  📬 What This Workflow Does
  This workflow automatically scrapes recent high-value congressional stock trades from Quiver Quantitative, summarizes the key transactions, and delivers a neatly formatted report to your inbox — every single day.

  It combines Firecrawl's powerful content extraction, OpenAI's GPT formatting, and n8n's automation engine to turn raw HTML data into a digestible, human-readable email.

  Watch Full Tutorial on how to build this workflow here:
  https://www.youtube.com/watch?v=HChQSYsWbGo&t=947s&pp=0gcJCb4JAYcqIYzv

  🔧 How It Works
  🕒 Schedule Trigger
  Fires daily at a set hour (e.g., 6 PM) to begin the data pipeline.

  🔥 Firecrawl Extract API (POST)
  Targets the Quiver Quantitative “Congress Trading” page and sends a structured prompt asking for all trades over $50K in the past month.

  ⏳ Wait Node
  Allows time for Firecrawl to finish processing before retrieving results.

  📥 Firecrawl Get Result API (GET)
  Retrieves the extracted and structured data.

  🧠 OpenAI Chat Model (GPT-4o)
  Formats the raw trading data into a readable summary that includes:

  Date of Transaction

  Stock/Asset traded

  Amount

  Congress member’s name and political party

  📧 Gmail Node
  Sends the summary to your inbox with the subject “Congress Trade Updates - QQ”.

  🧠 Why This is Useful
  Congressional trading activity often reveals valuable signals — especially when high-value trades are made.
  This workflow:

  Saves time manually tracking Quiver Quant updates

  Converts complex tables into a daily, readable email

  Keeps investors, researchers, and newsrooms in the loop — hands-free

  🛠 Requirements
  Firecrawl API Key (with extract access)

  OpenAI API Key

  Gmail OAuth2 credentials

  n8n (self-hosted or cloud)

  💬 Sample Output:
  Congress Trade Summary – May 21

  Nancy Pelosi (D) sold TSLA for $85,000 on April 28

  John Raynor (R) purchased AAPL worth $120,000 on May 2
  ... and more

  🪜 Setup Steps
  Add your Firecrawl, OpenAI, and Gmail credentials in n8n.

  Adjust the schedule node to your desired time.

  Customize the OpenAI system prompt if you want a different summary style.

  Deploy the workflow — and enjoy your daily edge.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.gmail","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4552 characters]

metadata_json:
  {"categories":["automation","data processing","web scraping","reporting","finance/intelligence"],"complexity":"medium","use_cases":["Daily monitoring of high-value congressional stock trades","Investor research and signal generation","Newsroom or beat reporting on congressional financial activity","Regulatory/compliance monitoring and oversight","Automated digest delivery for analysts or stakeholders"],"estimated_setup_minutes":30,"required_services":["Firecrawl Extract API (with extract access)","Quiver Quantitative (source website being scraped)","OpenAI (GPT-4o) API","Gmail (OAuth2) account for sending emails","n8n (self-hosted or n8n cloud)"],"key_features":["Daily scheduled trigger to run the pipeline","Firecrawl-based HTML extraction and structured data retrieval","Filtering for trades over a configurable threshold (e.g., $50K) in the past month","Wait node to handle asynchronous extraction processing","OpenAI GPT formatting to produce human-readable summaries of transactions (date, asset, amount, member, party)"],"target_audience":["individual and institutional investors","financial researchers and analysts","journalists and newsrooms covering politics/finance beats"]}


name: Sprint Cycle Announcements with Form Input, GPT-4 and Slack
author_name: Nikhil Kuriakose
author_username: nikhilkuriakose
categories: []
created_at: 2025-05-30T11:14:45.141Z
updated_at: 2025-05-30T11:14:45.141Z
url: https://n8n.io/workflows/4510
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  How it works
  Triggers on submitting an n8n form
  Uses the form details to prepare a message
  Sends the message to Slack

  Set up Steps
  Add in your team name
  Add in message tone
  Set up Open AI
  Set up Slack

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","team communication","integration","AI-assisted content"],"complexity":"medium","use_cases":["Automate sprint kickoff or cycle announcements","Convert form inputs into polished team messages","Standardize announcement tone across teams","Quickly generate tailored Slack updates from structured input"],"estimated_setup_minutes":15,"required_services":["n8n Forms","OpenAI (GPT-4)","Slack"],"key_features":["Triggers on n8n form submission","Uses GPT-4 to craft message from form details","Configurable team name and message tone","Posts generated announcement to Slack","Lightweight multi-node workflow (form → AI → Slack)"],"target_audience":["product managers","engineering managers","scrum masters / agile coaches`,`team leads"]}


name: Automate Microsoft Teams Meeting Analysis with GPT-4.1, Outlook & Mem.ai
author_name: Wayne Simpson
author_username: nocodecreative
categories: []
created_at: 2025-05-30T12:43:51.349Z
updated_at: 2025-05-30T12:43:51.349Z
url: https://n8n.io/workflows/4512
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Automate Microsoft Teams Meeting Analysis with GPT-4.1, Outlook & Mem.ai
      
  Watch the YouTube video to get started
  Follow along with the blog post

  Template Overview

  This advanced n8n template automates Microsoft Teams meeting analysis, knowledge base creation, and email drafting directly from meeting recordings and transcripts.

  It provides end-to-end automation for the following use cases:

  Meeting Analysis

  Connects to Microsoft Graph to retrieve meeting recordings, chat messages, and transcripts.
  Analyses meeting content using AI models.
  Extracts key points, action items, questions, and themes from meetings automatically.

  AI-Powered Web App

  Automatically creates a detailed report from past meetings.
  Stores meeting summaries, metadata, and insights into an easy-to-browse frontend.
  New meetings are added dynamically without manual work.
  **
  Knowledge Base Indexing (via Mem.ai)**

  Uploads extracted meeting data into a structured knowledge base.
  Supports categorisation, search and chat functionality across meetings.
  Draft Follow-Up Emails**

  Draft personalised follow-up emails for meeting participants.
  Email drafts include:
      Meeting summary
      Key decisions
      Action items
  Emails can be sent manually with a human in the loop context via Microsoft Outlook integration.

  Core Components

  Microsoft Graph API for accessing meetings, chats, files, and user profiles.
  SharePoint API for file storage and search.
  n8n Webhooks to trigger processes dynamically.
  Generic OAuth2 authentication for seamless Microsoft access.
  JavaScript Code Nodes for flexible, intelligent parsing and structuring of meeting data.
  AI/LLM nodes for summarisation and content creation.

  Designed to be scalable, modular, and easily customisable for different organisation sizes and industries.

  🛡️ Note

  Failure to correctly configure Azure permissions will prevent the template from functioning. Ensure admin approval is fully completed during setup.

  Important Prerequisites

  ⚠️ Administrator consent is required

  This template requires a Microsoft 365 Global Administrator or Application Administrator to grant admin consent to a set of Microsoft Graph and SharePoint API scopes.

  Basic Azure App Registration knowledge is required:

  You need to set up an Azure App Registration manually, configure OAuth2 authentication, and assign specific API permissions.

  A setup guide is included, but familiarity with:

  App registrations
  API permissions
  Client secrets
  OAuth2 flows

  is highly recommended.

  Knowledge of Postgres is required
  The template includes a SQL script to create the required Postgres table (see blog post).

  You are responsible for hosting your own database (You can use Supabase with the Postgres connection string).

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.postgres","n8n-nodes-base.code","n8n-nodes-base.filter","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.postgres","n8n-nodes-base.respondToWebhook","n8n-nodes-base.html","n8n-nodes-base.html","n8n-nodes-base.webhook","n8n-nodes-base.webhook","n8n-nodes-base.switch","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.markdown","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.filter","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.sort","n8n-nodes-base.stickyNote","n8n-nodes-base.removeDuplicates","n8n-nodes-base.formTrigger","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.microsoftOutlook","n8n-nodes-base.httpRequest","n8n-nodes-base.respondToWebhook","n8n-nodes-base.microsoftOutlook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4796 characters]

metadata_json:
  {"categories":["automation","integration","data processing","AI / LLM","knowledge management"],"complexity":"complex","use_cases":["Automated meeting analysis and summarisation","Action item and decision extraction from Teams meetings","Creating and indexing meeting knowledge in Mem.ai","Generating and drafting personalised follow-up emails via Outlook","Populating a browsable web app/report of past meetings"],"estimated_setup_minutes":120,"required_services":["Microsoft Graph (Teams, Outlook, Users)","SharePoint (file storage/search)","Azure App Registration / OAuth2 (admin consent required)","Postgres database (self-hosted or Supabase)","Mem.ai (knowledge base API)","LLM provider (GPT-4.1 or compatible LLM)","n8n (hosted instance)"],"key_features":["Fetch Teams recordings, transcripts, chats and metadata via Microsoft Graph","AI-powered summarisation and extraction (key points, actions, questions, themes)","Indexing and categorisation of meeting data into Mem.ai","Auto-generate detailed meeting reports and frontend-ready records","Draft personalised follow-up emails with Outlook integration and human-in-loop send flow (optional send via Outlook API/webhook triggers)"],"target_audience":["Developers / automation engineers","IT administrators (Azure/Microsoft365)","Knowledge managers / content teams responsible for KBs/searchable meeting records"]}


name: Generate Azure VM Timeline Reports with Google Gemini AI Chat Assistant
author_name: Adam Bertram
author_username: adbertram
categories: []
created_at: 2025-05-30T13:38:24.059Z
updated_at: 2025-05-30T13:38:24.059Z
url: https://n8n.io/workflows/4513
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  An AI-powered chat assistant that analyzes Azure virtual machine activity and generates detailed timeline reports showing VM state changes, performance metrics, and operational events over time.

  How It Works

  The workflow starts with a chat trigger that accepts user queries about Azure VM analysis. A Google Gemini AI agent processes these requests and uses six specialized tools to gather comprehensive VM data from Azure APIs. The agent queries resource groups, retrieves VM configurations and instance views, pulls performance metrics (CPU, network, disk I/O), and collects activity log events. It then analyzes this data to create timeline reports showing what happened to VMs during specified periods, defaulting to the last 90 days unless the user specifies otherwise.

  Prerequisites

  To use this template, you'll need:

  n8n instance (cloud or self-hosted)
  Azure subscription with virtual machines
  Microsoft Azure Monitor OAuth2 API credentials
  Google Gemini API credentials
  Proper Azure permissions to read VM data and activity logs

  Setup Instructions

  Import the template into n8n.
  Configure credentials:  
     Add Microsoft Azure Monitor OAuth2 API credentials with read permissions for VMs and activity logs
     Add Google Gemini API credentials
  Update workflow parameters:  
     Open the "Set Common Variables" node  
     Replace &lt;your azure subscription id here&gt; with your actual Azure subscription ID
  Configure triggers:  
     The chat trigger will automatically generate a webhook URL for receiving chat messages
     No additional trigger configuration needed
  Test the setup to ensure it works.

  Security Considerations

  Use minimum required Azure permissions (Reader role on subscription or resource groups). Store API credentials securely in n8n credential store. The Azure Monitor API has rate limits, so avoid excessive concurrent requests. Chat sessions use session-based memory that persists during conversations but doesn't retain data between separate chat sessions.

  Extending the Template

  You can add more Azure monitoring tools like disk metrics, network security group logs, or Application Insights data. The AI agent can be enhanced with additional tools for Azure cost analysis, security recommendations, or automated remediation actions. You could also integrate with alerting systems or export reports to external storage or reporting platforms.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolCode","@n8n/n8n-nodes-langchain.toolHttpRequest"]

workflow_json_compressed:
  [encoded data, 5820 characters]

metadata_json:
  {"categories":["integration","monitoring","observability","automation","reporting"],"complexity":"complex","use_cases":["Generate timeline reports of Azure VM state changes and performance","Forensic/incident investigation of VM events","Performance troubleshooting (CPU, network, disk I/O)","Audit and compliance reporting of VM activity","Ad-hoc analysis via conversational (chat) interface"],"estimated_setup_minutes":30,"required_services":["n8n (cloud or self-hosted)","Azure subscription with Virtual Machines","Microsoft Azure Monitor API / OAuth2 credentials (read access to VMs and activity logs)","Google Gemini API credentials"],"key_features":["Chat-triggered AI assistant (Google Gemini) for conversational queries","Agent with multiple specialized tools to fetch Azure resource groups, VM configs, instance views","Collects performance metrics (CPU, network, disk I/O) and activity log events","Generates timeline reports (default last 90 days, configurable)","Session-based memory during chat sessions (no cross-session persistence by default)"],"target_audience":["Cloud engineers","Site Reliability Engineers (SREs)","DevOps teams / IT operations staff"]}


name: AI-Powered HR Interview System with BeyondPresence
author_name: M Shehroz Sajjad
author_username: mshehrozsajjad
categories: []
created_at: 2025-05-30T13:55:23.666Z
updated_at: 2025-05-30T13:55:23.666Z
url: https://n8n.io/workflows/4514
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  What problem does it solve?

  Manual candidate screening is time-consuming and inconsistent. This workflow automates initial interviews, providing 24/7 availability, consistent questioning, and objective assessments for every candidate.

  Who is it for?

  HR teams handling high-volume recruiting
  Small businesses without dedicated recruiters
  Companies scaling their hiring process
  Remote-first organizations needing asynchronous screening

  What this workflow does

  Creates AI interviewers from job descriptions that conduct natural conversations with candidates via BeyondPresence Agents. Automatically analyzes interviews and saves structured assessments to Google Sheets.

  Setup
  Install Beyond Presence Community Node: Beyond Presence has verified community node which you can install from node search panel easily.

  Copy template sheet: BeyondPresence HR Interview System Template
  Add credentials:
     BeyondPresence API Key
     OpenAI API
     Google Sheets
  Configure webhook in BeyondPresence dashboard:
     https://[your-n8n-production-webhook]
  Paste job description in "Your Job Description" node and run setup flow
  Share generated interview link with candidates
  Get interview analysis in Google Sheet As soon as candidates complete interview with you AI Agent you will start getting results in Google Sheet.

  How it works
  Agent Creation: Converts job description into conversational AI interviewer
  Interview Conduct: Candidates chat naturally with AI via shared link
  Webhook Trigger: Completed interviews sent to n8n
  AI Analysis: OpenAI evaluates responses against job requirements
  Results Storage: Assessments saved to Google Sheets with scores and recommendations

  Resources
  Google Sheets Template
  BeyondPresence Documentation
  Webhook Setup Guide

  Example Use Case
  Tech startup screens 200 applicants for engineering role. Creates AI interviewer in 2 minutes, sends link to all candidates. Receives structured assessments within 24 hours, identifying top 20 candidates for human interviews. Reduces initial screening time from 2 weeks to 2 days.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.code","n8n-nodes-beyondpresence.beyondPresence","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-beyondpresence.beyondPresence","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9268 characters]

metadata_json:
  {"categories":["automation","integration","AI-driven recruiting","data collection"],"complexity":"medium","use_cases":["Automated initial candidate screening","Asynchronous/interview-on-demand for remote candidates","Scaling high-volume hiring processes","Consistent objective assessment and shortlisting","Storing interview results for reporting and tracking"],"estimated_setup_minutes":20,"required_services":["BeyondPresence API (Beyond Presence Community Node)","OpenAI API","Google Sheets (Google Sheets API / Google account)","n8n webhook/HTTP endpoint"],"key_features":["Generates AI interviewers from job descriptions","Conducts natural conversations via BeyondPresence Agents","Webhook-triggered capture of completed interviews","Automated analysis of responses using OpenAI","Saves structured assessments, scores, and recommendations to Google Sheets with templated layout and links to recordings/conversations (if available)"],"target_audience":["HR teams and recruiters","Small businesses without dedicated recruiting staff","Startups and scaling companies handling high candidate volume','Remote-first organizations"]}


name: Scheduled Workflow Backups from n8n to Google Drive with Auto Cleanup
author_name: Daniel Ng
author_username: danielng
categories: []
created_at: 2025-05-30T14:28:11.772Z
updated_at: 2025-05-30T14:28:11.772Z
url: https://n8n.io/workflows/4515
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Auto Backup n8n Workflows to Google Drive

  Imagine the sinking feeling: hours, weeks, or even months of meticulous work building your n8n workflows, suddenly gone. A server crash, an accidental deletion, data corruption, or an unexpected platform issue – and all your automated processes vanish. Without a reliable backup system, you're facing a complete rebuild from scratch, a scenario that's not just frustrating but can be catastrophic for business operations.

  Furthermore, consider the daunting task of migrating your n8n instance to a new host or server. Manually exporting each workflow, one by one, then painstakingly importing them into the new environment is not only incredibly time-consuming, especially if you have tens or hundreds of workflows, but also highly prone to errors and omissions. You need a systematic, automated solution.

  This workflow provides a robust solution for automatically backing up all your n8n workflows to Google Drive on schedule (default to every hour). It creates a uniquely named folder for each backup instance, incorporating the date and hour, and then systematically uploads each workflow as an individual JSON file. To manage storage space, the workflow also includes a cleanup mechanism that deletes backup folders older than a user-defined retention period (defaulting to 7 days). 

  Ideally, this backup workflow should be used in conjunction with a restore solution like our "Restore Workflows from Google Drive Backups" template.

  For more powerful n8n templates, visit our website or contact us at AI Automation Pro. We help your business build custom AI workflow automation and apps.

  Feature highlights

  Triggers on schedule (default to hourly).  
  Creates a \n8n\_backup\_YYYY-MM-DD\_HH\ folder in Google Drive.  
  Fetches all n8n workflows.  
  Saves each workflow as a JSON file to the new folder.  
  Deletes backup folders older than the 'Coverage Period' (default to 7 days).

  Who is this for?

  This template is designed for:

  n8n Administrators and Developers:** Who need a reliable, automated system to safeguard their workflows against accidental loss, corruption, or system issues.  
  Proactive n8n Users:** Who want to maintain a version history of their workflows, enabling easy rollback to previous configurations if necessary.  
  Organizations:** Seeking to implement disaster recovery and data integrity practices for their n8n automation infrastructure.

  What problem is this workflow solving? / use case

  This workflow directly addresses these critical risks and challenges by:

  Automating Backups:** Eliminates the manual effort and inconsistency of ad-hoc backups, ensuring your workflows are regularly and reliably saved.  
  Preventing Data Loss:** Safeguards your valuable automation assets against unforeseen disasters by creating secure, versioned copies in Google Drive.  
  Facilitating Migration & Recovery:** Provides the foundational backups needed for a smoother, more systematic migration or a full disaster recovery, allowing you to restore your operations efficiently.  
  Version Control:** By storing scheduled backups (defaulting to hourly), it allows you to access and restore previous versions of your workflows, offering an undo capability for significant changes or corruptions.  
  Storage Management:** Automatically removes old backups based on a configurable retention period, preventing excessive use of Google Drive storage while keeping a relevant history.

  What this workflow does

  Scheduled Trigger: Runs automatically every hour.  
  Timestamping: Fetches the current date and hour to create a unique name for the backup folder.  
  Folder Creation: Creates a new folder in a specified Google Drive location. The folder is named in the format: n8n_backup_YYYY-MM-DD_HH.  
  Workflow Retrieval: Connects to your n8n instance via its API and fetches a list of all existing workflows.  
  Individual Backup: Processes each workflow one by one:  
     Converts the workflow data to a binary JSON file.  
     Uploads the JSON file (named after the workflow) to the hourly backup folder in Google Drive.  
     Includes a short wait step between uploads to respect potential API rate limits.  
  Old Backup Deletion:  
     Calculates a cut-off date based on the "Coverage Period" set in the "Settings" node (e.g., 7 days prior to the current date).  
     Searches Google Drive for backup folders (matching the naming convention) that are older than this cut-off date.  
     Deletes these identified old backup folders to free up storage space.

  Step-by-step setup

  Import Template: Upload the provided JSON file into your n8n instance.  
  Configure Credentials:  
     Google Drive Nodes: You will need to create or select existing Google Drive OAuth2 API credentials for these nodes.  
     n8n Node: n8n (node that fetches workflows) Configure n8n API credentials to allow the workflow to access your instance's workflow data.  
  Specify Google Drive Backup Location:  
     Open the "Google Drive Backup Folder Every Hour" node.  
     Under the "Drive ID" parameter: select it from the list or provide its ID.  
     Under the "Folder ID" parameter: select or input the ID of the parent folder in Google Drive where you want the n8n_backup_YYYY-MM-DD_HH folders to be created (e.g., a general "n8n\_Backups" folder).  
  Set Backup Retention Period:  
     Open the "Settings" node.  
     Modify the value for "Coverage Period" (default is 7). This number represents the number of days backups should be kept before being deleted.  
  Activate Workflow: Toggle the "Active" switch for the workflow in your n8n dashboard.

  How to customize this workflow to your needs

  Backup Frequency:* Adjust the "Rule" in the *"Schedule Trigger"** node to change the backup interval (e.g., daily, specific times).  
  Folder/File Naming:* Modify the expressions in the "Parameters" tab of the *"Google Drive Backup Folder Every Hour"* node (for folder name) or the *"Google Drive Upload Workflows"** node (for file name) if you require a different naming convention.  
  Targeted Backups:* To back up only specific workflows, insert a "Filter" node after the *"n8n"** node to filter workflows based on criteria like name, tags, or ID before they reach the "Move Binary Data" node.  
  Wait Time:* The *"Wait"** node is set to 3 seconds between uploads. If you have a very large number of workflows or encounter rate limiting, you might adjust this duration.  
  Error Workflow:** The workflow is pre-configured with an "Error Workflow" setting. Ensure this error workflow exists in your n8n instance, or update the setting to point to your preferred error handling workflow. This can be used to send notifications on failure.

  Important Considerations

  Resource Usage:** While the workflow includes a wait step between individual workflow uploads to minimize load, backing up an extremely large number of workflows could still consume resources on your n8n instance and make many API calls to Google Drive. Monitor performance if you have thousands of workflows.  
  Testing Restore Process**: Regularly test restoring a few workflows from your Google Drive backups using the companion "Restore All n8n Workflows from Google Drive" template or a manual import. This verifies the integrity of your backups and ensures you can recover when needed.  
  Workflow Modifications**: If you modify this backup workflow (e.g., change the folder naming convention), ensure your restore process or workflow is also updated to match these changes.

nodes_used:
  ["n8n-nodes-base.dateTime","n8n-nodes-base.dateTime","n8n-nodes-base.dateTime","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.n8n","n8n-nodes-base.moveBinaryData","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleDrive","n8n-nodes-base.dateTime","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.dateTime","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6340 characters]

metadata_json:
  {"categories":["automation","backup","integration","data-protection"],"complexity":"medium","use_cases":["Scheduled automatic backups of all n8n workflows","Disaster recovery and rollback of workflows","Migration of n8n instance to a new host","Retention-based backup lifecycle management","Maintaining versioned copies of workflows for audits or compliance"],"estimated_setup_minutes":20,"required_services":["Google Drive (OAuth2 credentials / Google API access)","n8n instance with API access (to list and export workflows)"],"key_features":["Scheduled trigger (default hourly)","Creates timestamped backup folder (n8n_backup_YYYY-MM-DD_HH) in Google Drive","Fetches all workflows from n8n and saves each as an individual JSON file","Uploads workflow JSONs to Google Drive with configurable wait to respect rate limits","Automatic cleanup of backup folders older than configurable 'Coverage Period' (default 7 days)"],"target_audience":["n8n administrators","Developers maintaining n8n automations","IT/DevOps teams responsible for backups and migrations"]}


name: Restore n8n Workflows from Google Drive Backups
author_name: Daniel Ng
author_username: danielng
categories: []
created_at: 2025-05-30T14:33:00.291Z
updated_at: 2025-05-30T14:33:00.291Z
url: https://n8n.io/workflows/4516
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Restore All n8n Workflows from Google Drive Backups

  Restoring multiple n8n workflows manually, especially when migrating your n8n instance to another host or server, can be an incredibly daunting and time-consuming task. Imagine having to individually export and then manually import hundreds of workflows; it's a recipe for errors and significant downtime. 

  This workflow provides a streamlined way to restore all your n8n workflows from backup JSON files stored in a designated Google Drive folder. It's an essential tool for disaster recovery, migrating workflows to a new n8n instance, or recovering from accidental deletions, ideally used in conjunction with a backup solution like our "Auto Backup Workflows To Google Drive" template.

  For more powerful n8n templates, visit our website or contact us at AI Automation Pro. We help your business build custom AI workflow automation and apps.

  Who is this for?

  This template is intended for:

  n8n Users and Administrators:** Who have previously backed up their n8n workflows as JSON files to Google Drive.  
  Anyone needing to recover their n8n setup:** Whether due to system failure, data corruption, accidental deletions, or during an instance migration.

  What problem is this workflow solving? / use case

  Restoring multiple n8n workflows manually can be a slow and error-prone process. This workflow solves that by:

  Automating Bulk Restore:** Quickly re-imports all workflows from a specified Google Drive backup folder, drastically cutting down on manual effort.  
  Disaster Recovery:** Enables rapid recovery of your automation environment, minimizing downtime after a system failure or data corruption.  
  Simplified Instance Migration:** Makes the process of transferring your entire workflow suite to a new n8n server significantly more manageable and less error-prone compared to manual imports.  
  Data Integrity:** Helps restore workflows to a known good state from your backups, ensuring consistency after a recovery or migration.

  What this workflow does

  Manual Trigger: You initiate the workflow manually whenever a restore operation is needed.  
  List Backup Files: The workflow accesses a specific Google Drive folder (which you must configure) and lists all the files within it. It assumes these are your n8n workflow JSON backup files.  
  Iterate and Process: It then loops through each file found in the Google Drive folder:  
     Download Workflow: Downloads the individual workflow JSON file from Google Drive.  
     Extract Content: Parses the downloaded file to extract the JSON data representing the workflow.  
     Import to n8n: Uses the n8n API to create a new workflow (or update an existing one if an ID match is found) in your current n8n instance using the extracted JSON data.  
     Wait Step: Pauses for 3 seconds after attempting to create each workflow to help manage system load and avoid potential API rate-limiting issues.

  Step-by-step setup

  Import Template: Upload the provided JSON file into your n8n instance.  
  Configure Credentials:  
     Google Drive Nodes: You will need to create or select existing Google Drive OAuth2 API credentials for these nodes.  
     n8n Node: Configure your n8n API credentials to allow the workflow to create/update workflows in your instance.  
  Specify Google Drive Backup Folder (CRITICAL):  
     Open the "Google Drive Get All Workflows" node.  
     Locate the "Filter" section, and within it, the "Folder ID" parameter. The default value is a placeholder URL.  
     You MUST change this URL to the direct URL of the Google Drive folder that contains your n8n workflow .json backup files. This would typically be one of the hourly folders (e.g., n8n_backup_YYYY-MM-DD_HH) created by the companion backup workflow.  
  Activate Workflow: Although manually triggered, the workflow needs to be active in your n8n instance to be runnable.

  How to customize this workflow to your needs

  Selective Restore:**  
    Option 1 (Manual): Before running the workflow, manually move only the specific workflow JSON files you want to restore into the source Google Drive folder configured in the "Google Drive Get All Workflows" node.  
    Option 2 (Automated Filter): Insert an "Edit Fields" or "Filter" node after the "Google Drive Get All Workflows" node to programmatically select which files (e.g., based on filename patterns) should proceed to the "Loop Over Items" node for restoration.  
  Adjust Wait Time:** The "Wait" node is set to 3 seconds. You can increase this if you have a very large number of workflows or if your n8n instance requires more time between API calls. Conversely, for smaller batches on powerful instances, you might decrease it.  
  Error Handling:** For enhanced robustness, consider adding error handling branches (e.g., using "Error Trigger" nodes or "Continue on Fail" settings within nodes) to log or send notifications if a specific workflow fails to import.

  Important Considerations

  Workflow Overwriting/Updating:* If a workflow with the same id as one in a backup JSON file already exists in your n8n instance, this restore process will typically *update/overwrite** that existing workflow with the version from the backup. If the id from the backup file does not correspond to any existing workflow, a new workflow will be created.  
  Idempotency:** Running this workflow multiple times on the exact same backup folder will cause the workflow to re-process all files. This means workflows will be updated/overwritten again if they exist, or created if they don't. Ensure this is the intended behavior.  
  Companion Backup Workflow:** This restore workflow is ideally paired with backups created by a process like our "Auto Backup Workflows To Google Drive" template, which saves workflows in the expected JSON format.  
  Test Safely:** It's highly recommended to test this workflow on a non-production or development n8n instance first, especially when restoring a large number of critical workflows or if you're unsure about the overwrite behavior in your specific n8n setup.  
  Source Folder Content:* Ensure the specified Google Drive folder *only contains n8n workflow JSON files that you intend to restore. Other file types may cause errors in the "Extract from File" node.

nodes_used:
  ["n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.extractFromFile","n8n-nodes-base.wait","n8n-nodes-base.googleDrive","n8n-nodes-base.n8n","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5300 characters]

metadata_json:
  {"categories":["automation","backup & restore","integration","disaster recovery","migration"],"complexity":"medium","use_cases":["Bulk restore of n8n workflows from backups","Disaster recovery after data loss or corruption","Migrating workflows to a new n8n instance/server","Recovering accidentally deleted workflows","Seeding development/staging instances with production workflows"],"estimated_setup_minutes":15,"required_services":["Google Drive (OAuth2 access to folder with workflow JSON backups)","n8n instance with API access/credentials"],"key_features":["Lists all workflow JSON files from a specified Google Drive folder","Downloads and parses workflow JSON files","Creates or updates workflows in the target n8n instance via n8n API","Iterates/loops through multiple files with a configurable wait between imports to avoid rate limits","Manual trigger with activation to run restores on demand"],"target_audience":["n8n users and administrators","DevOps/SRE engineers performing migrations or recovery","Automation engineers responsible for workflow maintenance"]}


name: Automated n8n Credential Backups to Google Drive with Scheduled Execution
author_name: Daniel Ng
author_username: danielng
categories: []
created_at: 2025-05-30T14:34:53.719Z
updated_at: 2025-05-30T14:34:53.719Z
url: https://n8n.io/workflows/4517
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  This n8n workflow template uses community nodes and is only compatible with the self-hosted version of n8n. 
  Auto Backup n8n Credentials to Google Drive

  This workflow automates the backup of all your n8n credentials. It can be triggered manually for on-demand backups or will run automatically on a schedule (default to daily execution). It executes a command to export decrypted credentials, formats them into a JSON file, and then uploads this file to a specified Google Drive folder. This process is essential for creating secure backups of your sensitive credential data, facilitating instance recovery or migration.

  We recommend you use this backup workflow in conjunction with a restore solution like our "Restore Credentials from Google Drive Backups" template.

  For more powerful n8n templates, visit our website or contact us at AI Automation Pro. We help your business build custom AI workflow automation and apps.

  Who is this for?

  This workflow is designed for n8n administrators and users who require a reliable method to back up their n8n credentials. It is particularly beneficial for those managing self-hosted n8n instances, where direct server access allows for command-line operations.

  What problem is this workflow solving? / use case

  Managing and backing up n8n credentials manually can be a tedious task, susceptible to errors and often overlooked. This workflow solves the problem by providing an automated, secure, and consistent way to back up all credential data. The primary use case is to ensure that a recovery point for credentials exists, safeguarding against data loss, assisting in instance migrations, or for general disaster recovery preparedness, ideally on a regular, automated basis.

  What this workflow does

  The workflow proceeds through the following steps:

  Triggers: The workflow includes two types of triggers:  
     Manual Trigger: An "On Click Trigger" allows for on-demand execution whenever needed.  
     Scheduled Trigger: A "Schedule Trigger" is included, designed for automated daily backups.   
  Export Credentials: An "Execute Command" node runs the shell command npx n8n export:credentials --all --decrypted. This command exports all credentials from the n8n instance in a decrypted JSON format.  
  Format JSON Data: The output from the command is processed by a "Code" node ("JSON Formatting Data"). This node extracts, parses, and formats the JSON to ensure it is well-structured.  
  Aggregate Credentials: An "Aggregate" node ("Aggregate Cridentials") combines individual credential entries into a single JSON array.  
  Convert to File: The "Convert To File" node transforms the aggregated JSON array into a binary file, preparing it as n8n_backup_credentials.json.  
  Upload to Google Drive: The "Google Drive Upload File" node uploads the generated JSON file to a specified folder in Google Drive.

  Step-by-step setup

  To use this workflow, you'll need to configure a few things:

  n8n Instance Environment:  
     The n8n instance must have access to the npx command and the n8n-cli package.  
     The "Execute Command" node must be able to run shell commands on the server where n8n is hosted.  
  Google Drive Credentials:  
     In the "Google Drive Upload File" node, select or create your Google Drive OAuth2 API credentials.   
  Google Drive Folder ID:  
     Update the folderId parameter in the "Google Drive Upload File" node with the ID of your desired Google Drive folder.  
  File Name (Optional):  
     The backup file will be named n8n_backup_credentials.json. You can customize this in the "Google Drive Upload File" node.  
  Configure Schedule Trigger:  
     The workflow includes a "Schedule Trigger". Review its configuration to ensure it runs daily at your preferred time.

  How to customize this workflow to your needs

  Adjust Schedule:** Fine-tune the "Schedule Trigger" for different intervals (e.g., weekly, hourly) or specific days/times as per your requirements.  
  Notifications:** Add notification nodes (e.g., Slack, Email, Discord) after the "Google Drive Upload File" node to receive alerts upon successful backup or in case of failures.  
  Enhanced Error Handling:** Incorporate error handling branches using "Error Trigger" nodes or conditional logic to manage potential failures.  
  Client-Side Encryption (Advanced):* If your security policy requires the backup file itself to be encrypted at rest in Google Drive, you can add a step *before uploading. Insert a "Code" node or use an "Execute Command" node with an encryption utility (like GPG) to encrypt the n8n_backup_credentials.json file. Remember that you would then need a corresponding decryption process.  
  Dynamic File Naming:** Modify the "Google Drive Upload File" node to include a timestamp in the filename (e.g., n8n_backup_credentials_{{$now.toFormat('yyyyMMddHHmmss')}}.json) to keep multiple versions of backups.

  Important Note on Credential Security 

  To simplify the setup and use of this backup workflow, the exported credentials are stored in the resulting JSON file in a decrypted state. This means the backup file itself is not further encrypted by this workflow. Consequently, it is critically important to:

  Ensure the Google Drive account used for backups is highly secure (e.g., strong password, two-factor authentication).  
  Restrict access to the Google Drive folder where these backups are stored to only authorized personnel.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.executeCommand","n8n-nodes-base.code","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.convertToFile","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.scheduleTrigger"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","backup","security","integration","scheduling"],"complexity":"medium","use_cases":["Automated backups of n8n credentials","Disaster recovery and instance migration","Regular scheduled credential exports","On-demand credential export for audits or transfers"],"estimated_setup_minutes":30,"required_services":["Self-hosted n8n instance with shell access (npx and n8n-cli available)","Google Drive (OAuth2) / Google Cloud project with Drive API enabled"],"key_features":["Manual and scheduled triggers (on-demand + daily by default)","Exports decrypted credentials via n8n CLI command","Parses and aggregates credential entries into a single JSON file","Converts JSON to a binary file and uploads to a specified Google Drive folder","Configurable folder ID and file naming (can include timestamps)"],"target_audience":["n8n administrators","Self-hosted n8n operators","DevOps and IT teams responsible for backups and recovery"]}


name: Restore and Recover n8n Credentials from Google Drive Backups with Duplication Protection
author_name: Daniel Ng
author_username: danielng
categories: []
created_at: 2025-05-30T14:36:28.964Z
updated_at: 2025-05-30T14:36:28.964Z
url: https://n8n.io/workflows/4518
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  This n8n workflow template uses community nodes and is only compatible with the self-hosted version of n8n. 

  Restore n8n Credentials from Google Drive Backup

  This template enables you to restore your n8n credentials from a backup file in Google Drive. It's an essential companion to a credential backup workflow, ensuring you can recover your setup in case of data loss, instance migration, or disaster recovery. The workflow intelligently checks for existing credentials to prevent accidental overwrites of credentials with the same name that are already present. This workflow is manually triggered.

  We recommend you use this restore workflow in conjunction with a backup solution like our "Auto Backup Credentials to Google Drive" template.

  For more powerful n8n templates, visit our website or contact us at AI Automation Pro. We help your business build custom AI workflow automation and apps.

  Who is this for?

  This workflow is for n8n administrators and users who have backed up their n8n credentials to Google Drive (e.g., using a companion backup template) and need to restore them to the same or a different n8n instance. It's crucial for those managing self-hosted instances.

  What problem is this workflow solving? / use case

  If an n8n instance becomes corrupted, needs to be migrated, or if credentials are accidentally deleted, a manual re-creation of all credentials can be extremely time-consuming and error-prone. This workflow automates the restoration process from a known backup, saving significant time and ensuring accuracy. It's particularly useful for:

  Disaster recovery.  
  Migrating n8n instances.  
  Quickly setting up a new n8n instance with existing credentials.

  What this workflow does

  The workflow is manually triggered and performs the following operations:

  Fetch Current Credentials:  
     An "On Click Trigger" starts the process.  
     It executes the command npx n8n export:credentials --all --decrypted via the "Execute Command Get All Credentials" node to get a list of all credentials currently in your n8n instance.  
     This list is then processed by "JSON Formatting Data" and "Aggregate Credentials" nodes to extract just the names of existing credentials for comparison.  
  Download Backup File from Google Drive:  
     The "Google Drive Get Credentials File" node searches your Google Drive for the n8n_backup_credentials.json file.  
     The "Google Drive Download File" node then downloads the found file.  
  Process Backup Data:  
     The "Convert Files To JSON" (an Extract From File node) converts the downloaded file content, expected to be JSON, into a usable JSON object.  
     "Split Out" nodes then process this data to handle individual credential entries from the backup file.  
  Loop and Restore Credentials:  
     The "Loop Over Items" (a SplitInBatches node) iterates through each credential from the backup file.  
     Duplicate Check: For each credential, an "IF" node ("Check For Skipped Credentials") checks two conditions using an OR combinator:  
       If the credential name from the backup ($('Loop Over Items').item.json.name) is empty.  
       If a credential with the same name already exists in the current n8n instance (by checking against the list from the "Aggregate Credentials" node).  
     Conditional Restore: If the credential name is NOT empty AND it does NOT already exist (i.e., the conditions in the IF node are false), the workflow proceeds to the "Restore N8n Credentials" node (an n8n API node). This node uses the name, type, and data for each new credential from the backup file to create it in the n8n instance. Credentials with empty names or those already present are skipped as they take the true path of the IF node, which loops back.  
     A "Wait" node introduces a 1-second delay after each restoration attempt, to prevent API rate limiting before looping to the next item.

  Step-by-step setup

  n8n Instance Environment (for current credentials check):  
     The n8n instance must have access to npx and n8n-cli for the "Execute Command Get All Credentials" node to function.  
  Google Drive Credentials:  
     Configure the "Google Drive Get Credentials File" and "Google Drive Download File" nodes with your Google OAuth2 credentials.   
  n8n API Credentials:  
     Configure the "Restore N8n Credentials" node with your n8n API credentials. This API key needs permissions to manage credentials.   
  Backup File Name:  
     The workflow is configured to search for a file named n8n_backup_credentials.json in the "Google Drive Get Credentials File" node. If your backup file has a different name or you want to specify a path, update the "Query String" parameter in this node.

  How to customize this workflow to your needs

  Backup File Location/Query:** Modify the "Google Drive Get Credentials File" node parameters if your backup file is in a specific folder, has a different naming convention, or if you want more specific query logic.  
  Overwrite Logic:** The current workflow skips existing credentials by name. If you need to update/overwrite existing credentials, you would need to modify the logic in the "Check For Skipped Credentials" (IF) node and potentially use an "update" operation in the "n8n" API node if available for credentials (note: updates often require the credential ID, which might not be in the backup file).  
  Notifications:** Add notification steps (e.g., Email, Slack) to report on the success or failure of the restoration process, and to list which credentials were restored or skipped.  
  Selective Restore:** To restore only specific credentials, you could add a filter step after "Split Out1" or modify the IF condition in "Check For Skipped Credentials" to check for particular credential names or types from the backup file.  
  Error Handling:** Implement more robust error handling for API errors (e.g., from the n8n API node or Google Drive nodes), file not found issues, or problems during command execution.

  Important Note on Credential Security 

  Decrypted Backup File:** This workflow assumes the n8n_backup_credentials.json file contains decrypted credential data, typically created by a companion backup workflow.  
  Execution Environment:** The "Execute Command Get All Credentials" node requires npx n8n-cli access on the server running n8n.

nodes_used:
  ["n8n-nodes-base.extractFromFile","n8n-nodes-base.if","n8n-nodes-base.n8n","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.executeCommand","n8n-nodes-base.code","n8n-nodes-base.aggregate","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.manualTrigger"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","backup & recovery","integration","operations"],"complexity":"medium","use_cases":["Disaster recovery of n8n credentials","Migrating credentials between n8n instances","Quickly restoring deleted credentials","Automating credential restore from cloud backups"],"estimated_setup_minutes":20,"required_services":["Google Drive (OAuth2) - storage of backup file","Self-hosted n8n instance with npx/n8n-cli access","n8n API access (API key with permissions to manage credentials)"],"key_features":["Downloads decrypted credentials backup (n8n_backup_credentials.json) from Google Drive","Exports current credentials via n8n-cli to detect existing names","Skips restoring credentials with empty names or duplicate names to avoid overwrites","Restores credentials via n8n API node (creates new credentials)","Processes backup JSON, iterates items with rate-limit delay (1s Wait) to prevent API throttling"],"target_audience":["n8n administrators","DevOps / SRE managing self-hosted n8n","IT/automation engineers tasked with backups and recovery"]}


name: Centralized n8n Error Management System with Automated Email Alerts via Gmail
author_name: Daniel Ng
author_username: danielng
categories: []
created_at: 2025-05-30T14:38:17.431Z
updated_at: 2025-05-30T14:38:17.431Z
url: https://n8n.io/workflows/4519
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Advanced n8n Error Handling: Automated Email Alerts & Global Error Workflow Configuration

  In any automated environment, n8n workflows, while powerful, can sometimes encounter unexpected issues or fail during execution. Without a dedicated error handling strategy, these failures might go unnoticed, leading to incomplete processes, data inconsistencies, or critical operational disruptions. Manually monitoring every workflow execution or sifting through logs for error details is inefficient and can significantly delay crucial fixes. This is where a centralized, automated error management system becomes essential to maintain reliability and quickly address any problems.

  The "Advanced n8n Error Handling: Automated Email Alerts & Global Error Workflow Configuration" template provides a robust solution to proactively manage and respond to errors within your n8n instance. 

  For more powerful n8n templates, visit our website or contact us at AI Automation Pro. We help your business build custom AI workflow automation and apps.

  Highlight features

  Automated Email Notifications:** Sends detailed HTML emails via Gmail for both execution and trigger failures, ensuring you're promptly informed.  
  Centralized Error Management:** Acts as a single, dedicated workflow to catch and process errors from multiple other n8n workflows.  
  Proactive Global Error Handler Configuration:** A scheduled task automatically scans and updates other active n8n workflows to use this workflow as their default error handler, ensuring consistent error management.  
  Comprehensive Error Reporting:** Notification emails are rich with information, including error messages, stack traces, the last executed node, direct links to failed executions, and detailed trigger failure context.  
  Dynamic Email Content:** The subject line and body of the notification email are dynamically adjusted based on whether the failure was an execution error or a trigger failure.  
  Highly Customizable:** Offers flexibility to modify email content (HTML), change the notification channel (e.g., Slack, other email providers), and adjust the logic for updating other workflows' error handlers.  
  Scheduled Operation:** The global configuration part runs on a user-definable schedule (e.g., daily, hourly) for proactive and automated error handling setup across your n8n instance.

  Who is this for?

  This workflow is designed for n8n users and administrators who want to:

  Establish a resilient and centralized error handling mechanism across their n8n instance.  
  Receive immediate and detailed email notifications for any workflow failures.  
  Automate the process of assigning a default error handling workflow to all their active n8n workflows.  
  Save time on manually configuring error handlers for each individual workflow and ensure comprehensive error coverage.

  What problem is this workflow solving? / use case

  In an n8n environment with multiple workflows, errors can occur without immediate visibility. This can lead to:

  Unnoticed failures, potentially causing data loss or incomplete automated processes.  
  Time-consuming diagnosis of issues due to a lack of readily available, detailed error information.  
  Inefficiency and oversight from manually setting an error workflow for every new or existing workflow.

  This template tackles these issues by providing a proactive error management system. It not only alerts you to failures with comprehensive details but also ensures that your other workflows are automatically configured to use this centralized handler.

  What this workflow does

  This workflow operates in two distinct yet complementary parts:

  1\. Scheduled Global Error Handler Configuration:

  Trigger:** Initiates based on a configurable schedule (e.g., daily, hourly).  
  Identify Self:** Retrieves its own workflow ID to use as the designated error handler.  
  Scan Workflows:** Fetches a list of all other workflows within your n8n instance.  
  Conditional Update Logic:** For each active workflow found, it checks if:  
    An error workflow (errorWorkflow setting) is not currently set, OR  
    The currently set errorWorkflow is different from this central error handling workflow.  
    The workflow is active.  
  Apply Default Handler:** If the above conditions are met, it automatically updates the target workflow's settings. This sets the current workflow as its default error handler, ensuring that any future errors in those workflows are routed here. The callerPolicy setting is also removed during this update.

  2\. Error Notification via Email:

  Trigger:** Activates whenever an error occurs in any n8n workflow that has this workflow designated as its errorWorkflow.  
  Gather Error Context:** Collects vital information about the failure, such as:  
    The base URL of your n8n instance.  
    Specific details of the workflow that failed (name, ID).  
    The nature of the error: whether it's an "execution error" (occurring mid-workflow) or a "trigger failure" (occurring at the start).  
  Format Detailed Error Message:** Constructs a comprehensive HTML email tailored to the error type:  
    For Execution Errors: The email includes a direct link to the failed execution's page, the timestamp of the error, the name of the last node that successfully executed, the error message, and the full error stack trace.  
    For Trigger Failures: The email includes the timestamp, operational mode, error message, error name and description, relevant context data, details about the cause (message, name, code, status), and the stack trace.  
  Send Email Notification:** Dispatches the formatted HTML email using Gmail to a predefined recipient. The email subject line dynamically indicates the name of the failing workflow and the type of error, providing a quick overview.

  Setup

  Import Workflow: Import the JSON file into your n8n instance.  
  Configure Credentials:  
     n8n API Access:  
       Locate the nodes: "N8n Get Error Handler", "N8n Get All Workflows", and "N8n Update Workflow".  
       For each, select or create new n8n API credentials. These credentials must have permissions to read all workflows (workflows.read) and update workflows (workflows.update).  
     Gmail Access:  
       Locate the "Gmail Send Notification" node.  
       Select or create new Gmail OAuth2 credentials to authorize n8n to send emails on your behalf.  
  Set Email Recipient and Sender Details:  
     Navigate to the "Settings" node, which is connected directly after the "Error Trigger" node.  
     Modify the value for the Email Receiver variable to the email address where error notifications should be sent.  
     Optionally, update the Email Sender Name variable.  
  Configure Schedule (Optional):  
     Select the "Schedule Trigger" node.  
     Adjust the "Trigger Interval" (e.g., Every Day, Every Hour) according to how frequently you want the workflow to scan and update the error handler settings for other workflows in your n8n instance.  
  Activate Workflow: Ensure this workflow is toggled to "Active". Once active, its scheduled component will begin operating, and it will be ready to process and notify on errors from other linked workflows.  
  Manual Configuration (Optional): While this workflow automates the assignment, you can also manually set this workflow as the errorWorkflow in the settings of any critical existing workflows for immediate protection.

  How to customize this workflow to your needs

  Email Content & Formatting:** Modify the HTML content within the "HTML For Execution Error" and "HTML For Trigger Error" nodes to alter the appearance, structure, or information included in the notification emails.  
  Alternative Notification Channels:** Replace the "Gmail Send Notification" node with a different email service node (e.g., Microsoft Outlook, SendGrid) or integrate other notification platforms like Slack, Microsoft Teams, or Discord. Remember to adjust the input data mappings for the new node.  
  Refine Global Update Logic:** Adjust the conditions within the "If No Default Error Handler Set" node if you need more granular control over which workflows are automatically updated (e.g., filter by workflow tags, names, or explicitly exclude certain workflows).  
  Enrich Error Data:** Insert additional nodes after the "Error Trigger" but before the "Settings" node if you need to fetch more context about the error or the workflow that failed (e.g., look up related information from a database or API).  
  Advanced Notification Routing:** Implement more complex logic prior to sending notifications. For example, you could use a Switch node to route error alerts to different email addresses or channels based on the name of the failing workflow or the severity of the error.  
  Handling of callerPolicy:** The "Set Data" node is configured to remove the callerPolicy setting from workflows it updates. If your workflows rely on this setting, you may need to modify or remove this part of the "Set Data" node's code.  
  Adjust Scheduled Task:** Change the frequency or timing of the "Schedule Trigger" to better suit your operational needs for the global error handler update.

nodes_used:
  ["n8n-nodes-base.errorTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.n8n","n8n-nodes-base.n8n","n8n-nodes-base.if","n8n-nodes-base.n8n","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.html","n8n-nodes-base.html","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8272 characters]

metadata_json:
  {"categories":["automation","monitoring","notifications","integration"],"complexity":"medium","use_cases":["Centralized error handling for n8n workflows","Automated email alerts for execution and trigger failures","Automatically assign a default error workflow across an n8n instance","Detailed incident reporting with links, stack traces and last-executed node","Proactive scanning/updating of workflow error handlers on a schedule"],"estimated_setup_minutes":30,"required_services":["n8n instance with API access (workflows.read, workflows.update)","Gmail account with OAuth2 credentials to send email notifications"],"key_features":["Centralized error management workflow to receive errors from multiple workflows","Automated HTML email notifications via Gmail for execution and trigger failures","Scheduled scanner that sets this workflow as default errorWorkflow for active workflows","Detailed error payloads: stack traces, last executed node, direct execution links, trigger context","Dynamic email subject/body based on error type (execution vs trigger) and timestamps/metadata included in messages \n(fully customizable HTML)  ]  )  — NOTE: trimmed for clarity? Error: remove extraneous characters. Let's rewrite cleanly. Sorry.  "],"target_audience":["n8n administrators","DevOps / SRE teams","Automation engineers and integrators who run multi-workflow n8n instances"]}


