# templates

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-12-24 13:02:45
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:
  H4sIAAAAAAAAE6VX204jRxD9ldE85MlN+n6xtFI2RImQsmEVViTSCkV9qTYjzNjyjMkSxL+nZvDaBo+RDS8I7OrqU6dPnSoeyiqV4/KeXYq/v/13WV9/pn9KOC1H5S20vhw/lFXdtL6OcNbFGRuTEirZyC2NLgvHEosMsgfDQhCBUqU5TcwZ7pIJ2WF8lMAUdQCBY94WbudT38LpAlJzAe1yfjrDT6AFvKBdLOFxVNb+FvC2i6mPN8WnZlJ8TAlS0c6KP2ZtNau7NH7SlOOvVxg8S9D9+vBUivVMQY6MMG8CkZRnEnzORAhgTKeIWEO5vuLs12IBPnZJiw8fCix10SW/n3df1rYmfXbM0MBJlfGr+aypegjjr0RxOjKcIoa5X2C+FhYI5OHxKcEl/tUHssfRd2xSWAtGkcysJZInT5zkjEiWpYw0BUh2g+0iXkNaTqH4sqgmE9gPrFkFbuK2UTp5GMoTvsYpLYvaRE4MSEVkkpK4IBJBCvHNmfLA0wbn+Rzqj2fF6bVvi0+IaroB+hMi/XGDdurrSbz2VX0yve3C+5PVc7zC0hFCPgYuZRqllzVRVAl8cm1JoFYTYVgErbofsEUriiy2S5Rfcb5s58u2+OwXzTa9e1HP+vin8E2a5/iVPhp/ojIEjnQ7EJRIxYFYnpBzI6KJVGtn3Ab/b9AWq86ApvETFP9eYXRhL+Rg1nL4F8L1bHbTN7aPVHEeKOECRSk1to5lOZLgBKjAsav7rnm1JH4i1iVlBspkDUQErokMWpBg8F1UFpHKhB4R6daTYElfuobeWwi0z8tg+iBRixO5aT4rfUycEkcdNh9kRUKQkYDgEr+inhu1gfTXomqx86oW+++HDtwB8sC3qNtdNR/UfG6NU2nDObOGMOETWoP1JCCBJKDZWuls8GKLOrRRNNOVL6KSJ7CXxPq7d27hM4fxyLfUCkGFDMaTjFaGJqYSsVYpojwLLnEmHWfP1brSafF7Vd8cpVVuh7TqlLU5oDiV96gtnzkJPAiCbytxKHWjQh2j1Si50CxFohlgPp6B+KzQTRje7aUCk8UW4YijWRP+y89H0U2Op5uGwJxQQFzEkqUVKAcrgMiuMXNWMSq9bW5VvLnv0O3XQdPHrEK2wTGK8KTdgVfGWd120h6X5f7h5nSiBmgiTAXsLykDcRohU8EkpYFJXAcGgbLjkSr5DqDg0N+EcMTxbropqYnzOqPrRS2x+4AyMQiUv4XSdwCNJnO0AkOi6h3LIVBjKOpUCBoomBjoIFBxNFDB34ETfUAGyiTxUnY0orM6lR3OXxdjBtQsG355+QZC9VueHqO7Je8Ob8p+2sCoxInSVvWkPwrfIC67C84XCfeAcXnHuhx3T+d7z4lRg8RtFrcpNAr0CNzchMZW1NLwkEOkrEOKIGrot8k+8Xqu4e+3OCGwAFxTuzJfnzB97AhX7wTfyjF9vLpCODvGM5R0d5IO5tpx5aFc+51uMOfOujqU87XlZTDr7nKJaX31Tzd1l3h+9dlhvO6ce3nb7tlBYl6ZuXvpflH1UN5X/xkZTDx0Yh/tw1N4+Cn3rchP3G+vwUdQ/+zY8ysfH/8HOE+r8IkOAAA=


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-12-24 13:02:44
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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


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-12-24 13:02:43
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, 9560 characters]


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-12-24 13:02:45
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, 8408 characters]


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-12-24 13:02:41
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, 4656 characters]


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-12-24 13:02:43
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, 4216 characters]


name: Multi-Platform AI Sales Agent with RAG, CRM Logging & Appointment Booking
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-12-24 13:02:44
description:
  Multi-Platform AI Sales Agent with RAG, CRM Logging & Appointment Booking

  This workflow acts as a 24/7 sales agent, engaging leads across WhatsApp, Instagram, Facebook, Telegram, and your website. It intelligently transcribes audio messages, answers questions using a knowledge base, and uses modular sub-workflows to manage your CRM in Airtable and book appointments in Google Calendar.

  Who Is It For?

  This solution is designed for service-based businesses that require a sophisticated, multi-channel lead management and appointment booking system.
  Agencies, consultants, and clinics** looking to automate lead qualification and booking across text and voice messages.
  Sales teams** needing a robust system that separates CRM and calendar logic for easier management and scalability.
  Advanced n8n users** who want a powerful, agent-based framework that can be easily customized and extended.

  Key Features & Workflow

  This system is composed of a parent workflow that orchestrates the conversation and calls specialized sub-workflows (agents) to perform specific tasks.

  Omni-Channel Engagement:* Greets and converses with leads naturally on *Website Chat, WhatsApp, Instagram, Facebook, and Telegram**.
  Voice Message Transcription:* Automatically transcribes incoming audio/voice notes from *WhatsApp and Telegram** into text, allowing the AI to understand and respond without manual intervention.
  RAG-Powered Intelligence:* The AI agent draws answers from your dedicated *PostgreSQL Knowledge Base (RAG)**, providing accurate information about your services, pricing, and process. A built-in tool allows you to load new knowledge documents from Google Drive.
  Modular CRM Agent (Sub-Workflow):* When the conversation requires CRM actions (like creating a contact or updating an opportunity), the main agent calls a dedicated *Airtable CRM sub-workflow** to handle the task.
  Modular Calendar Agent (Sub-Workflow):* To book appointments, the main agent calls a separate *Google Calendar sub-workflow**, which manages event creation, updates, and deletions.

  What You'll Need

  This workflow framework requires credentials for the following services:
  An AI provider (OpenAI is used for the main agent, transcription, and embeddings).
  PostgreSQL** database with the pgvector extension (for RAG and chat memory).
  Airtable** account (for the CRM sub-workflow).
  Google Calendar** account (for the Calendar sub-workflow).
  Telegram Bot** credentials.
  A Meta Developer Account (for WhatsApp, Instagram & Facebook).
  (Optional) Google Drive for loading knowledge documents.
  (Optional) Google Gemini for embeddings.

  How to Set It Up

  This is a modular system. You must set up the sub-workflows first.

  Deploy Sub-Workflows: Create two new, separate workflows using the provided templates for the CRM Agent and the Calendar Agent. Configure the credentials (Airtable, Google Calendar) within those workflows, then save and activate them.
  Link Sub-Workflows in Main Workflow: Return to this main workflow. In the "CRM Agent" and "Consultation Agent" tool nodes, select the new workflows you just created from the dropdown list.
  Configure Main Credentials: Securely add the remaining credentials (OpenAI, PostgreSQL, Telegram, and your Meta App) in this main workflow.
  Personalize the AI Agent: In the "Update Agent Details" node, fill in your business name, the agent's persona name, and your key services to customize the AI's personality.
  Load Your Knowledge (Optional): To populate the RAG database, use the manual trigger path starting with "When clicking ‘Execute workflow’" to download a document from Google Drive and insert it into your PostgreSQL vector store.
  Activate: Configure your channel-specific details (e.g., Phone Number ID in WhatsApp nodes), save the workflow, and activate it.

  Demo CRM Table: View on Airtable

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.noOp","@n8n/n8n-nodes-langchain.memoryPostgresChat","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.vectorStorePGVector","@n8n/n8n-nodes-langchain.toolVectorStore","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.whatsApp","n8n-nodes-base.telegramTrigger","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.whatsApp","n8n-nodes-base.whatsAppTrigger","n8n-nodes-base.airtable","n8n-nodes-base.switch","n8n-nodes-base.switch","n8n-nodes-base.whatsApp","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.telegram","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-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.vectorStorePGVector","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.airtableTool","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.airtableTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6520 characters]


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-12-24 13:02:42
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, 4544 characters]


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-12-24 13:02:46
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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


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-12-24 13:02:43
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, 4892 characters]


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-12-24 13:02:44
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, 5828 characters]


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-12-24 13:02:44
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.

  	You must install beyondpresence node (available in node search) before copying workflow.


  	WALKTHROUGH VIDEO



  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-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","n8n-nodes-base.set"]

workflow_json_compressed:
  [encoded data, 9512 characters]


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-12-24 13:02:44
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, 6324 characters]


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-12-24 13:02:45
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, 5320 characters]


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-12-24 13:02:45
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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


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-12-24 13:02:44
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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


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-12-24 13:02:43
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, 8264 characters]


name: Automate Screenshot Upload to Postimages.org with Airtop Browser Automation
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-05-30T18:48:39.652Z
updated_at: 2025-05-30T18:48:39.652Z
url: https://n8n.io/workflows/4521
scraped_at: 2025-12-24 13:02:44
description:
  Automating File (Image) Upload to Postimages.org

  Use Case
  Manually uploading screenshots or other image files to hosting platforms like Postimages.org can be tedious and time-consuming. This automation simplifies the process by automatically uploading an image to Postimages.org and validating the result, which is especially useful for repetitive QA tasks, reporting, or archiving visual web data.

  What This Automation Does
  This automation uploads a screenshot to Postimages.org using the following steps:

  Creates a browser session using Airtop.
  Navigates to the Postimages.org upload page.
  Takes a screenshot using the browser session.
  Uploads the screenshot to the site via the "Choose images" button.
  Waits briefly to ensure upload processing.
  Captures a post-upload screenshot for validation.

  How It Works
  Session Initialization: Starts a browser session using the Airtop node.
  Navigation: Opens the URL https://postimages.org/ in a new window.
  Screenshot Capture: Takes a screenshot to use for upload.
  File Upload: Uploads the screenshot to the site using the file upload interaction.
  Validation: Waits 5 seconds and then captures a second screenshot to confirm the image was uploaded successfully.

  Setup Requirements
  Airtop API Key — required for session creation and browser interactions.

  Next Steps
  Customize for Other Sites**: Adapt this workflow to automate file uploads to different platforms.
  Integrate with Reporting Tools**: Combine this automation with workflows that require image reporting or archiving.
  Enhance Validation**: Add logic to parse the upload confirmation or retrieve the image URL programmatically for logging or sharing.

  Read more about how to automate file uploads to the web

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.stickyNote"]

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


name: Automated Video Download from Sample.cat using Airtop Browser Automation
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-05-30T18:51:44.127Z
updated_at: 2025-05-30T18:51:44.127Z
url: https://n8n.io/workflows/4522
scraped_at: 2025-12-24 13:02:44
description:
  README

  Automating Video File Download from Sample.cat with Airtop.ai

  Use Case
  Automating file downloads from web pages is useful for scenarios like bulk media retrieval, dataset access, or recurring content backups. This workflow ensures a hands-free, consistent process for retrieving downloadable content.

  What This Automation Does
  This automation performs a reliable download of a video file from a specified webpage using the following steps:

  Initiates an Airtop browser session.
  Opens a specified URL containing downloadable media.
  Interacts with the page to click the download button.
  Waits for the file to be processed and made available.
  Retrieves metadata to confirm availability.
  Downloads the file.
  Terminates the browser session to clean up resources.

  How It Works
  Manual Trigger: Activated by user test.
  Session: Starts an Airtop browser session.
  Window: Navigates to https://sample.cat/en/webm.
  Interaction: Simulates a click on the download button for the video titled “SD 640x360 (Seawater, drone view video, 30 FPS)”.
  Wait: Pauses for 10 seconds to allow the file to be ready for download.
  Get File Data: Checks for downloadable files in the session.
  Download File: Retrieves the file using its ID.
  Terminate: Ends the browser session to free up resources.

  Setup Requirements
  Airtop API Key — required to authenticate API calls.

  Next Steps
  Enhance with Retry Logic**: Loop file availability check until status = available for more robust automation.
  Customize File Targets**: Dynamically pass URLs and button descriptors for multi-source downloads.
  Connect to Storage**: Pipe downloaded files to cloud storage or databases for archiving.

  Read more about automating file downloads from the web

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.wait","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.stickyNote"]

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


name: Build a Multi-functional Telegram Bot with Gemini, RAG PDF Search & Google Suite
author_name: Issam AGGOUR
author_username: devgor
categories: []
created_at: 2025-05-30T22:34:27.586Z
updated_at: 2025-05-30T22:34:27.586Z
url: https://n8n.io/workflows/4525
scraped_at: 2025-12-24 13:02:43
description:
  The Ultimate Beginner's Guide to an AI-Powered Telegram Assistant (PDF, Brave search & Google Suite)

  This comprehensive workflow bundle is designed as a powerful starter kit, enabling you to build a multi-functional AI assistant on Telegram. It seamlessly integrates AI-powered voice interactions, an intelligent PDF document search using a Retrieval-Augmented Generation (RAG) system, and automates various Google Suite tasks like calendar management and document generation. Perfect for beginners looking to explore advanced AI and automation capabilities.

  Disclaimer
  This template is designed for self-hosted n8n instances.

  🚀 Key Features
  Telegram Bot Interface:** Interact with your AI assistant using both text and voice commands through Telegram.
  AI Voice Bot:**
      Transcribes user voice messages using OpenAI Whisper.
      Processes requests with an AI agent powered by Google Gemini.
      Responds with AI-synthesized voice using Replicate API.
  PDF RAG System:**
      Index PDF documents from Google Drive via Telegram commands.
      Utilizes Mistral AI for Optical Character Recognition (OCR) on PDFs.
      Stores document content and embeddings in a Qdrant vector database.
      Answers questions about your documents using Google Gemini, based on retrieved context.
  Google Suite Automation:**
      Manage Google Calendar: Create events, find upcoming holidays, and list birthdays.
      Google Drive: Search for PDF files and manage document templates.
      Google Docs: Automatically generate invoices from templates.
  Intelligent Web Search:** Employs Brave Search for fetching real-time information from the web.
  Versatile AI Agent:** Leverages Google Gemini with a suite of tools including a calculator, date & time utilities, and custom integrations (e.g., example Airbnb tools).
  Command-Driven Functionality:** Easily trigger specific actions using Telegram commands like /help, /pdf, /rag, /invoice, /chat, /brave, and /birthday.

  ⚙️ How It Works
  The workflow is initiated by messages or commands sent to your Telegram bot. A central Switch node directs the flow based on the input received.

  1. Telegram Interaction & Command Routing
  A Telegram Trigger node listens for new messages (text or voice).
  A "typing..." indicator is sent to Telegram for better user experience.
  The Switch node parses the message content and routes it to the appropriate sub-workflow based on predefined commands (e.g., /pdf, /rag, /voice) or general chat.

  2. AI Voice Bot Functionality
  For voice messages (or if the voice path is triggered):
      The voice file is downloaded from Telegram.
      OpenAI Whisper transcribes the audio into text.
      The transcribed text is fed to an AI Agent (powered by Google Gemini and equipped with various tools and memory).
      The AI Agent's text response is then sent to the Replicate API to generate a natural-sounding voice.
      The generated audio response is sent back to the user on Telegram.

  3. PDF RAG System with Mistral OCR & Qdrant
  Indexing PDFs (via /qdrant &lt;Google_Drive_File_ID&gt; command):**
      The specified PDF is downloaded from Google Drive.
      The PDF is uploaded to Mistral AI for OCR processing.
      The extracted text (in markdown format) is retrieved.
      The text is split into manageable chunks.
      OpenAI Embeddings are generated for each chunk.
      These chunks and their embeddings are stored in a Qdrant vector collection.
      A confirmation message is sent to Telegram.
  Querying PDFs (via /rag &lt;your_question&gt; command):**
      The user's question is processed by a RetrievalQA Chain.
      This chain uses Google Gemini as the Language Model and retrieves relevant document chunks from Qdrant based on semantic similarity (embeddings).
      Google Gemini then generates a concise answer based on the user's question and the retrieved contextual information from the documents.
      The answer is sent back to the user on Telegram.
  Searching PDFs in Drive (via /pdf &lt;search_term&gt; command):**
      Searches your Google Drive for PDF files matching the provided search term.
      Sends a list of found PDF files (name and ID) to the user on Telegram, allowing them to easily identify files for indexing with /qdrant.

  4. AI Chat & Task Automation (General Chat & /chat command)
  Handles general text messages or transcribed voice inputs that are not specific commands.
  An AI Agent (Google Gemini) processes these inputs.
  The agent is equipped with tools such as:
      Google Calendar Tools: To create events, find the next public holiday, or list upcoming birthdays.
      Brave Search Tool: To search the internet for information.
      Calculator Tool: For mathematical computations.
      Date & Time Utility: For handling and formatting dates.
      Example Airbnb Tools: Demonstrates extensibility for custom tool integrations.
  The agent utilizes a "Think Node" process for reasoning and Window Buffer Memory to maintain conversational context.
  Responses are formulated and sent back to the user on Telegram.

  5. Google Automations
  Invoice Generation (via /invoice command):**
      Copies a predefined Google Docs invoice template from your Google Drive.
      Populates the new document with details (client name, items, etc. – currently uses placeholder data from an 'Edit Fields' node, which can be customized to parse input from the command).
      Converts the populated Google Doc into a PDF file.
      Sends the generated PDF invoice to the user via Telegram.
  Calendar Management (via AI Agent or specific commands like /birthday):**
      The /birthday command fetches upcoming birthdays from a specified Google Calendar.
      The AI Agent can also interact with Google Calendar to create events or retrieve information based on natural language requests.

  6. Web Search (via /brave &lt;query&gt; command or AI Agent)
  Performs a web search using the Brave Search API.
  Returns a list of search results, including titles and URLs, to the user on Telegram.

  7. Help Command (/help)
  Provides the user with a formatted list of all available Telegram commands and their basic usage instructions.

  🛠️ Setup Steps & Credentials
  To get this workflow bundle up and running, you'll need to configure several credentials:

  Telegram:
      Create a new bot via @BotFather on Telegram to obtain a Bot Token.
      Add this token to the Telegram Trigger node and all Telegram (sender) nodes in the workflow.
  OpenAI:
      Obtain an API Key from platform.openai.com.
      Create an OpenAI credential.
      Use this credential in the Convert audio to text (OpenAI node for Whisper transcription) and all Embeddings OpenAI nodes (for RAG system).
  Replicate API (Text-to-Speech):
      Sign up at replicate.com and get your API token.
      Create an HTTP Bearer Auth credential using this token.
      Assign this credential to the Call Replicate API (HTTP Request) node.
  Google Gemini (PaLM API):
      Get an API key from Google AI Studio or Google Cloud Console.
      Create a Google Gemini(PaLM) Api credential.
      Assign it to all Google Gemini Chat Model nodes.
  Qdrant (Vector Database):
      Set up a Qdrant instance (either cloud-hosted or self-managed).
      Note your Qdrant instance URL and API Key (if security is enabled).
      Create a QdrantApi credential with these details.
      Assign it to the Qdrant Vector Store nodes.
      For the Refresh collection node (an HTTP Request node used to clear the collection for /pdf command demo), create an HTTP Header Auth credential with your Qdrant API key if required by your instance.
  Mistral AI (PDF OCR):
      Obtain an API key from console.mistral.ai.
      Create a Mistral Cloud API credential.
      Assign this to the Mistral Upload, Mistral Signed URL, and Mistral DOC OCR (HTTP Request) nodes.
  Google Drive & Google Docs:
      Ensure the Google Drive API and Google Docs API are enabled in your Google Cloud Console project.
      Set up OAuth 2.0 credentials (Client ID and Client Secret).
      Create Google Drive OAuth2 Api and Google Docs OAuth2 Api credentials.
      Assign these to the respective Google Drive and Google Docs nodes throughout the workflow.
      Important: Configure relevant Folder IDs (for PDF search, invoice template source, invoice output) and the invoice template Document ID in the Google Drive and Google Docs nodes.
  Google Calendar:
      Enable the Google Calendar API in your Google Cloud Console project.
      Set up OAuth 2.0 credentials.
      Create a Google Calendar OAuth2 Api credential.
      Assign it to the Google CalendarTool and Google Calendar nodes.
      Specify the correct calendar names or IDs in the nodes (e.g., for birthdays, holidays, new event creation).
  Brave Search:
      Get a Brave Search API key from their developer portal.
      Create a Brave Search API credential.
      Assign it to the Brave Search nodes and tools.
  (Optional) Airbnb MCP Client:
      The workflow includes example nodes for Airbnb MCP tools. If you intend to use or expand these, set up the corresponding MCP Client API credentials.

  💡 Customization & Learning
  This "Beginner Bundle" is not just a ready-to-use solution but also a fantastic learning resource:

  Explore AI Agent Prompts:** Dive into the AI Agent nodes to see how prompts are structured to guide the LLM's behavior, including the "Think Node" process and character guidance for robust messaging.
  Modify Toolsets:** Easily add or remove tools for the AI agent to expand its capabilities.
  Invoice Customization:** Adapt the Edit Fields node and the Google Docs template to match your invoicing needs. You can extend it to parse invoice details directly from the Telegram command.
  RAG Parameters:** Experiment with chunk sizes, overlap, and different embedding models in the RAG pipeline.
  Extend Commands:** Add new commands and corresponding functionalities by expanding the main Switch node and building out new automation paths.

  By setting up and dissecting this workflow, beginners can gain a practical understanding of building complex, AI-driven applications, integrating various services, and managing different data flows.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.telegramTrigger","n8n-nodes-base.telegram","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.telegram","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.toolCalculator","n8n-nodes-base.dateTimeTool","@brave/n8n-nodes-brave-search.braveSearch","@brave/n8n-nodes-brave-search.braveSearchTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","@n8n/n8n-nodes-langchain.chainRetrievalQa","@n8n/n8n-nodes-langchain.retrieverVectorStore","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterTokenSplitter","n8n-nodes-base.code","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.vectorStoreQdrant","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.toolCalculator","n8n-nodes-base.dateTimeTool","@brave/n8n-nodes-brave-search.braveSearchTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-mcp.mcpClientTool","n8n-nodes-mcp.mcpClientTool","n8n-nodes-mcp.mcpClientTool","n8n-nodes-mcp.mcpClientTool","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDocs","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleCalendar","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6276 characters]


name: Build a Knowledge Base Chatbot with OpenAI, RAG and MongoDB Vector Embeddings
author_name: NovaNode
author_username: thomasgpt
categories: []
created_at: 2025-05-30T23:12:00.516Z
updated_at: 2025-05-30T23:12:00.516Z
url: https://n8n.io/workflows/4526
scraped_at: 2025-12-24 13:02:41
description:
  Who is this for?

  This template is designed for internal support teams, product specialists, and knowledge managers in technology companies who want to automate ingestion of product documentation and enable AI-driven, retrieval-augmented question answering.

  What problem is this workflow solving?
  Support agents often spend too much time manually searching through lengthy documentation, leading to inconsistent or delayed answers. This solution automates importing, chunking, and indexing product manuals, then uses retrieval-augmented generation (RAG) to answer user queries accurately and quickly with AI.

  What these workflows do
  Workflow 1: Document Ingestion & Indexing
  Manually triggered to import product documentation from Google Docs.

  Automatically splits large documents into chunks for efficient searching.

  Generates vector embeddings for each chunk using OpenAI embeddings.

  Inserts the embedded chunks and metadata into a MongoDB Atlas vector store, enabling fast semantic search.

  Workflow 2: AI-Powered Query & Response
  Listens for incoming user questions (can be extended to webhook).

  Converts questions to vector embeddings and performs similarity search on MongoDB vector store.

  Uses OpenAI’s GPT-4o-mini model with retrieval-augmented generation to produce direct, context-aware answers.

  Maintains short-term conversation context using a memory buffer node.

  Setup
  Setting up vector embeddings
  Authenticate Google Docs and connect your Google Docs URL containing the product documentation you want to index.

  Authenticate MongoDB Atlas and connect the collection where you want to store the vector embeddings. Create a search index on this collection to support vector similarity queries.

  Ensure the index name matches the one configured in n8n (data_index).

  See the example MongoDB search index template below for reference.

  Setting up chat
  Configure the AI system prompt in the “Knowledge Base Agent” node to reflect your company’s tone, answering style, and any business rules.

  Update the workflow description and instructions to help users understand the chat’s purpose and capabilities.

  Connect the MongoDB collection used for vector search in the chat workflow and update the vector search index if needed to match your setup.

  Make sure
  Both MongoDB nodes (in ingestion and chat workflows) are connected to the same collection, with:

  An embedding field storing vector data,

  Relevant metadata fields (e.g., document ID, source), and

  The same vector index name configured (e.g., data_index).



  Search Index Example:
  {
    "mappings": {
      "dynamic": false,
      "fields": {
        "_id": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "embedding": {
          "type": "knnVector",
          "dimensions": 1536,
          "similarity": "cosine"
        },
        "source": {
          "type": "string"
        },
        "doc_id": {
          "type": "string"
        }
      }
    }
  }

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.vectorStoreMongoDBAtlas","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.vectorStoreMongoDBAtlas","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.googleDocs","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE81Z627bRhZ+lYGwP1pAI/NOyUCx69hp4CZOduNc2q2DYDgzlCamSIVD2lECA32NBXZfrk+y3xlSlmTLrpMfuwUSRZrLuXznPvkymOtGDPa/DExpG1FKfawG+wMvjfKJp4MsiwMvkXEeebEYCyGTOPajSSrTwPPiYByKGDt55o0DL838LBTpWAbZeDAcNHq+KESjD2ut7Klu2sVhhRXdaDBo6lZfDQdlpbQd7P8K7sQ1lpknxmHC84nwOSQI+CQMEi7VOBDhJFCeEqBcirnG6adldVloNdXskbCaHUx12RDf5YJ2/1aOyz385Y4HL0Q5lTNhypHozy0qaxpTlWAfBN7Qe4clUYN0o2tLgDT6UwNCP3z5wv7ywVblCPeb43LRNuzqCgSqBV13R+3SQt0TbS2o484vVctErVkzg1zHTFhrCNyG5VXNRMlMCSalKJhtF4uqblijxZyJhgl8k7OyKqrpkkngJcolswstjSjMZ1NOcZUJdUGGUsxWeXNJfGxVtE6YEQPrmjXCnjNjWVP1vNccWwv1WEbUS9sWDdEkMas8N8SFLepKtbJhqpLtHFAJIsxsU8GOxJ0O95L9/tu/LDu/NkMGM4zOyrPy4EKYQmSFZrXOda0hrN2njZ72USXtPjtt9IJnSw7oFmzaGphp2KlvJOSAfLmZtrXjjx1RqrWQc1G2orAMJqqFhEuxvK7mTraeh5NtSwcn2iM9ExcGVqjbQtveHvZS14TDx1Zbxw3CHhSXYmlXKD0EotzUALq1K0Q3lIUhqsLxf6ntooImstCiLpZOK2VqLZtiOYQ6CBlTEoVZdUnmUxW7hNuRMWvt5NPKETqqWFnBoUwBwzp7ItamVb1kbQnNrKMFcRtiYs+BEM6QWOQAHQV4uuw0o+ho4bpQkWkhZ7AzTExizDufxoIyF0YB9F7oulfEeQQEXJEYsV4y8AEEBDUwvIDTdSitWdVsZsitlk5PuLjqAqajbNdSOWmfa9AgTC/oXGHKc/gE1hBM+QY07DhHEJGOpHVvYHd8iFOLYgnT/v7bv48BV0lSbhF0t5eI3VJTdFHYweJQEVTmTvwhQwajbIM8Bmyc8zs4jtmlKQo208UC35qZ00QhtZrCjn7/7T+kwmvcE8QxB6ggJophb/vOu2ct3BpglJ3GTzXionNOBKxuLjWUDdzJiOSF+/amXpl1hYNlc0Rrz37TWwwMUTabCnXGg3d1247UjojucZmaC83Kdp5pSgYUuJbsWMCOsEa3QSTmzJIkZWOcv3znD1kwZOFoNPreoVMhh9pzs1iQi1Ew6oUWLhV1NDZMSwJZ5DRJWQdJrHSehdA2uUstTX8Fl0cDlBTAO180r7oioHQOnGiZqsIbEHYJ3x9NroarmpPoJM/SmCdikvIoShI+0WnOUy/1PRmkkafSdc15sdAlEvohgXaCwlI8oOAUczrubprtupN4wyC6XXjmjjC+vH9fF12tHLpFcCGoQeRCFC39nC4aHlUcoWpIy3VJusIvCSN1NnBkKyfBwcK4ak+6y59eitlk9uTv/0j1z9EHdUNPw4SUVYtqeXUbweAaQR3GgQwDzQHYmEfCUxz9gM+zIA4DNUmUNwnWlB/DWErBWpZ1YD4AQX19ZyeKY28Yjm/D+H8BI42yDO2Qx32Bj8gPfS6CCcCQOs7SSRKMs2hN+e0MTi6Rps/J988Gjz9p2Taava3q87yoLs8Ga3TWwLio7Crgq9pMp7reBoTDr3gU3ELkltzXUudo50SUeTwJwgmZMONZlvjc11GYp+N8rCNvLfWpoT6OnWhkmeUDzDd3Bx+1FLBvUUiqy215Q7RfwQPEHYXXAk+iOPEVJISs+BhnCc98P+JKRipK4yjJ83At8ElVTqujR+wNUi2yzSlKr5w9QPALd/6UWp+exEFTCLstfZzslH4VsLVuaoNkxoXl1AVsNY6kItaed2JuNAwDCnhwPKyKAkI4Tg/JB6TFqvHGskQt1wo9B1qYnsnWiZ7/kbayNouOjZNYU6Lfam+IiYPjuFT6U09MiUa8N7QwuB1iToGj7DrA0tq02S+Pn78++qedf1g+vW2fPsJYsCvG1t4qozSUYah4nIxpTAgFFxJTg6dCzw90GsR+viZ+1GsBszsg2bNKKBcyf2T+lf5HOhcA8AjKXt/dcACUiCEPkvsSkBuyCKzN72/IZt3004sKhu+N2jDnevZYyXKsaPi4ekcA0caRI7o5pPRF0o0otHLSOQrawbprO9yVu3NBGPhBEMiM+0rkPMp0wEUiBSW0UAVRnqTeLnQPZ215/iBYaa46RW/aAKeXyHeQ4EKjRLpGvn61sbuN85jSmu/di7Olm4edxnNRnyPXlM41SbpT8xnroed5/cILtJSFWAz2MczeDUjqJ7E/yWMutYS7ZTliOc80T/wol0GokfLju3MNJQ92jHa2bh6EzsNyTrQ7w6+ygnH8bqaa/1FG+bOkCRFNJOwmeR7DeFFILUmSwZGzXPpBNkn8MB7c7Ow22pMnutSYPquHWO3+DiUak+f+WVqURCFFRirmwSSCP+MH/Hmc8dALpAhkjs+NYv+kqqYo9m6KPZ7TY8WmG99oSqbucF/ANh9YvDv8FTp2Az71spr8bpXoXr98hrVZ0yzs/t4eVm1PHRluvrc6taf2/OnFdJH6eqJVlY3fPvv44/Evh+rzYXr++mO4ePYiTN88zbjgF2/eRntameavjch+aEbeDl9cy//ioG1mwSb4Pz7/+eTy40meXhT+29c/ftgN0Z0WWOOPguVlWeDzNMjRIio/hF/6Hg+0DPyxUKGf+RvNVoPucMmeVy78dsNu3Zn+yGYjCMiB+44RQ1YF/Ho/BgJdvQDRly2NfxgFL/vus39lKdyAbpzt3fTpIpltar37QcSUuLcKWjcUd6mBraPFzee5sBgHXVM2uqcwBXGuUPVj7kV+hrKPxk9ECepUJqTI1HgcpsnN1prmtNUTBgZtamvUA8KZ7u1sraPuofBSZ7OqOndPpVGQaqEwOyZRqjhyTsrHgUq5TpMs8pIkyhWZ877AvzOF5X4e5kIprmKd8ChWOc/GcBU/QU0KfZXnMtvpKv63+crdnhJtesqrLS9x43jf5oqCi3ZKLqAVm3YJlFzhu5cHT753z5HuPaN7rbh+bqOnqc7+q7ezldf0DuNeH53vrWjiHLL16qnIdu7lJPzU3OdE4URrPYklz8IwwPSgI54pPeFC5F6uY+1hdtiJaPDViPoeNSy7JtOZNtMZgIwDbxPWbi5hrnKyx5+Em7Lo9eXLWckwHc6FezCxZ4N95pZoUS0hq5G0liOL6eFqIze6UJtnaRHt5dYKrZFWtHg2sA09o5wNVrtXw/VNAvYbr16H+z33z8uy65jOBsPNE8rAmciIThM/DpOtbWvmphC1aZYdGQn4S71bjO4V6Rt16Frzr7ncfXH/4AN/dnjlO2f+suvHnGtsz9ZYEOb9vP/xK00KXZN2//99rO8MB13bte9dvXsH/rfa9Y7DZku+xecPh6ebl28yvP3c03G89oktdn8wqG/du8np9tNcx2n1ityvfQ2I21dvMtzZGVFDiwpyr1Z3jATu3k0mO2XcYOIO7YatNy29OXyV1v0rxR2Oc8MROiaruv8tam9ev8n1niK+C+j7VduJ731t/9d46t3K3e2xD3j926Xl/R35Di2vrv4LwJO4JuYdAAA=


name: Transcribe Voice Messages from Telegram using OpenAI Whisper-1
author_name: Aitor | 1Node
author_username: aitoralonso
categories: []
created_at: 2025-05-31T08:23:21.556Z
updated_at: 2025-05-31T08:23:21.556Z
url: https://n8n.io/workflows/4528
scraped_at: 2025-12-24 13:02:42
description:
  This n8n workflow processes incoming Telegram messages, differentiating between text and voice messages.

  How it works:
  Message Trigger: The workflow initiates when a new message is received via the Telegram "Message Trigger" node.
  Switch Node: This node acts as a router. It examines the incoming message:
      If the message is text, it directs the flow along the "text" branch.
      If the message contains voice, it directs the flow along the "voice" branch.
  Get Audio File: For audio messages, this node downloads the audio file from Telegram.
  Transcribe Audio: The downloaded audio file is then sent to an "OpenAI Transcribe Recording" node, which uses OpenAI's whisper-1 speech-to-text model to convert the audio into a text transcript.
  Send Transcription Message: Regardless of whether the original message was text or transcribed audio, the final text content is then passed to a "Send transcription message" node.

  Setup Requirements:
  Telegram Bot Token**: You will need a Telegram bot token configured in the "Message Trigger" node to receive messages.
  OpenAI API Key**: An OpenAI API key is required for the "Transcribe audio" node to perform speech transcription.

  Additional Notes:
  This workflow provides a foundational step for building more complex AI-driven applications. The transcribed text or original text message can be easily piped into an AI agent (e.g., a large language model) for analysis, response generation, or interaction with other tools, extending the bot's capabilities beyond simple message reception and transcription.

  👉 Need Help?
  Feel free to contact us at 1 Node.
  Get instant access to a library of free resources we created.

nodes_used:
  ["n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.telegramTrigger","n8n-nodes-base.telegram","n8n-nodes-base.switch"]

workflow_json_compressed:
  H4sIAAAAAAAAE82WfW/bNhCHv4ogDOgGmC5JkZIYYMCCbh2yonO7dMWGLRj4cnLUypInUU66wN99R9qOE8fZVqAo9p9Akb87PvfGm7R26Un6Q/vtzy9mq9kvdna2OH9t00m6AK/Tk5u0bgevWwtnYZ/iTIGxRaGkAV3meVVQrTOnisJJIVhRuYrmVjAlhAElgVNbmZxWSnFnmEJdD4tloz0868EN5+DH5bMOV8ADGvD9COtJ2uoFoLU3vW4H29cGkjfQwLzXi+R0dHWXXNX+MpktoT09C5J6PqQnv13gwc5B+LzZXEtllFtwjLBcSoLuFaQsNCOlrXKlJeToVXpr7nvwiY7yVd1A0P2wDOtt2ZIoTIweYOq3ruCGZTfUvu5atMgopxPCKEUvrsBcdt37SKzIHHUZL4krpCHCGEo0M4qUzAmuecVNFVxYalREBv0QmAf78fTXNzfJF++Grp0uYBj0HKarrrYwDRv+qF2yXuPZHoZu7G1wNTqOAC3ChdbXuol6O5dPl3UMaZA+/3O2+HWev5Kv2I89W3y/52CNS0zn0/V6g+AtehUvyaZ8Pdkep2CENbQk1kJGhHSCqNJawnhZ8QLpMmfSY5GMhPdwv0G6T/eEG93O7aWu22kXolsfQObiFvJ9Yt0ybAmf63tAdtZQrdcbldTfOnME1cbsXVCrcXn6Xp778XKmq9f2zq1iAtaJtrYb26O8ylteAoug0qwiKteciBw0MYXJCKagzKli1vE7yi830U7e9PV8Dv2/5uJ+3x1aOQ2wysOMdLSsMukKApRi5ACLQvNcEzCM0VJKoLx4kJHj0mHNhtJKt5mYoqx2LhrTzfMaGhfxf5bs4zQ3QmZYRjLLiSiwvnSRWaIsFKKkWONg95Ln0LpkF/WYKMnuEh9Z5CIUOX9Q5NLmShWWEiVKTYQyhmgpOGaqLU3FMlq5h0Xu4dofLfHwAyv79/b2z3YFJbA2/L4zfPnkIFGefDWtscFO7+mFM9NdszgSslQvMZHdqfdYE+PmqhXGDj5PLDOwlc5zQUAwbNK8RIxZaYjiNONUaacE3Uv+1I0ekmd4peSsXY7+0QgOOCPs5f34lfuKuB+Lfmwgfqx0M24nCBpC/RfwIbSMECuE0bUbegc9J13tLsYnaQOVfxtk8Fw4g85gAgYfVrCZcFsYuqndricNyN762I+6halb7bs+tK/WHZjdjTYtc6a1KYiwGc4Vq3KCaVcQWpS8ZEZaHMi3fS9o3ew4BVPt/KAnwnU9+AEXB/zXwNb/7Ti+e6NH0zUMonp+ub/6+iK24hC3WUS507uPNg60/xdbU1SMSulInkuGz4a8IoZaRyy2beyZTlSZPs62M+/A+k/HNsL5GLhh+c4sPKy7DOsu9G27ARarHP0C79G1TYHXC/ira4OR78Yer/H0pXZ9HVHppoH+VdfUNgTuquvfV013NTzvu8V5cOSqjSMIrsHGNjLrHQTSKxbgb+MYu5fJdEUBy92xQLjEaaSAOsKMkzIDKZWVm+C0yHOXCQcPNFxZ4EsB44aBC5X/jw+NuHWCz1kH1+kJXV8EVIdz9pjk4x3nqOSD7cc0/8tEeqA+2Z9/7Kl61KMHTD6ZRxfr9fpv3zdNukIMAAA=


name: Track Partnerstack Affiliate Events with Google Sheets & Telegram Notifications
author_name: Aitor | 1Node
author_username: aitoralonso
categories: []
created_at: 2025-05-31T09:10:47.961Z
updated_at: 2025-05-31T09:10:47.961Z
url: https://n8n.io/workflows/4529
scraped_at: 2025-12-24 13:02:45
description:
  This n8n workflow captures Partnerstack events via a webhook, logs the event data into a Google Sheet, and sends a Telegram notification.

  How it Works:

  Webhook Node (Trigger): Listens for incoming POST requests. When an event occurs in Partnerstack (e.g., a new referral signs up), the workflow is triggered, capturing the event data.

  Append Row in Sheets Node: Takes the received Partnerstack event data and appends it as a new row to a designated Google Sheet. This creates a historical log of all captured events.

  Set Chat ID Node: Defines the specific Telegram chat ID where notifications will be sent.

  Send Notification Node (Telegram): Sends a message to the specified Telegram chat. The message content includes details from the Partnerstack event, providing real-time alerts.

  Setup Requirements:

  Partnerstack Postback: Configure a postback in Partnerstack (My account &gt; Postbacks &gt; Create a postback). Paste the URL provided by n8n's **Webhook node. Select the Partnerstack events you wish to track.
  Google Sheets Authentication**: Provide n8n with Google credentials that have write access to your target Google Sheet. Specify the sheet name.
  Telegram Integration**: You'll need a Telegram bot token (from BotFather) and the specific chat ID for the destination Telegram chat/channel.

  Additional Notes:

  This workflow efficiently automates logging of Partnerstack activities and provides immediate team awareness through Telegram notifications, streamlining event monitoring and response.

  👉 Need Help?
  Feel free to contact us at 1 Node.
  Get instant access to a library of free resources we created.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote"]

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


name: Automated Disqus Forum Reports with Gmail HTML Tables
author_name: Ghufran Ridhawi
author_username: ghufran-ridhawi
categories: []
created_at: 2025-05-31T10:21:59.478Z
updated_at: 2025-05-31T10:21:59.478Z
url: https://n8n.io/workflows/4531
scraped_at: 2025-12-24 13:02:46
description:
  Who is this for?
  This workflow is intended for forum organizers on disqus, forum automation learning to be able to read forum contents through clean data. In reality, we have to first see the contents of the forum and read them one by one, such as likes, comments, messages, this is very time consuming. With a workflow system like this, it will automate the process and shorten the time, meaning we only need to read clean data. This is also a form of devotion to the community at n8n and the n8n company, as well as devotion to forum organizers on disqus so that reality is no longer tiring and is able to answer existing reality problems.

  How does it work?
  Easy explanation:

  Manual Trigger will run the four existing disqus nodes, after that using account credentials, will take the conditions in the forum based on the data, after the data is obtained it will be selected and classified via the merge node, after that the merge node will all be neatly one, then the function node to tidy up and clean the data containing the code will make it work, and the table function node in html will work to send a message to the gmail node as a notification which contains a clean data report and is ready to be read comfortably And enjoy the workflow that suits you.

  Setup instructions
  Complete what is in the node as stated in the notes column.
  You need a "Credential Account" on each Disqus node, then write the name of the forum that you have created in each Disqus parameter node. If you already have an account, just connect it, and if not, create it first, you can register it by following the guide from n8n, it's very easy.
  Because here it has been arranged neatly and cleanly like in the merge and function nodes. Next, you need to connect the account credentials in the gmail node. After that, don't forget to add an email address to the Gmail node for notification of the success or failure of each customer from the running of this system.
  Save and run, test the workflow and activate the workflow. This workflow is ready to use.

  Requirements
  As a reminder:

  There must be (if not, make sure it is registered) in each "Credential Account" by following the guide on how to create it n8n the guide is very complete
  Don't forget to save, and make sure the workflow is active.

  How to customize this workflow to your needs
  You can directly set the merge or function variable data in these nodes, to suit your wishes, but here I have made everything completely.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.disqus","n8n-nodes-base.disqus","n8n-nodes-base.disqus","n8n-nodes-base.disqus","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE62X224bNxBAf0XY14gB7xe/FTEapEWaokmbhyIPQ3IoL6Jbtas4gWEgn5H+Xr6kQymxJXtlW071REnD4Znh3HjRtLk5aaa/nr388+1pfm5e5tcOfmnGzQx7aE4umnbe9TBP+KLKQRROcu94qatoNddYYuTC0MJJY4vIPGHJxevoshY5WAVB62KlUdqR3h5nyyn0+GyFuXuN/Xr5bEG/YI90QL9a4+W4mcMM6bTn2I/06LdFxtFp2/2z7kZv2/5s9HwG7XT0By4Xq74qhEnXnPz9jraRZF1ebI1ymcugBbKksmVa+8AAOWfcWw8lCat9aq4Oe3uG81Gatul9O5+Mvn7+8ga7fnS+WL0v08X518//1qM+Lavo3M/Z5iwWocOnM5ivYfpm1U4muCKp5aJr+3YxJxIp+VhoTmxLWNE5Pa4I8OJyq+ov+raRE5fjb8wmBR+iUsy7FJg20TAfwDAAm40OBZLjzZ6Dfl6s1rODbHnjt30oY/nY3880bmB6Dp+6V+t+ue5PoYZDgWmHV7DJFx8CKmYtcKYrdsxRsxicB8tzzsHtw/6+6Prukcj6GD86a0W0ERlFoWQaiQqSiSxYG4UPXvqs99HenK0Q8mPhmJBH0HmlJShbmJdSUGQmR45znmlJWWI56OLLPt0zypjJYtXiYwHlMd4T6DAFotJJElUydKcmRwaGZ5nRmyDlDt9OPlK29m1pE9Sju4OUk7plH1J4TbmyictzjGeLxftNxVFCuxggMWd4YtoRVFBCMJkkd05hwYTNPYbJp9emRRcUSAEMdIhMF5WYT4azxI3EQv/pkq9Ne91TPfhUjcKDtnQbmW8iuwbVsLjt9SYt5j3Oe1LUHL4BiobI0WpWgNfUQkFmO2Q5UYl1oUgL6hrzJa4meBXBT+4JkVmV3mf1no/tMQGcjVWyZpavAQyO8ArPTCkjQxIiags38XZC+Mm2EBxLKI9BjJhLtsEw9FQGtJWcRVE4s4EXcp+MxeWbiD9Np8cwCe6/h+wDoYpPWhbiSUmT36iNMvCgWKCaJEMwWOQOFDXG2M6p+dXae4gr0fIGltIPwpJXWHR/KJzyLFKnpmjjVMhregiVCo+FuPhOtaTomgEVTIjTw1kxgFXL0FFYRibFpQQWpKIGXgzlqneaSR6K0bl+1GCuiqOTVXNKVsUfma0xSKdE4KzORkxTElA9N4Y5rZJT4J3YFKnboPJoUC9/BJRr7QRIZCoBeVTqSBdNDVx49FyZEEJMg6Dq+PJHHedHXIoxax0c9Rypa5nJtBKeoUsQQHua7cwgqT6e1MlHVGqShtS3H/DbVDRuOux7mh03W/EjpnXV/2qVaSg8aT6IquPDdv+LbS3IaGwsdAN1PE005YVIK9DaZAeKGwgEShBzTNt2SoqvRz76Ql20GkADbzXz/kawkR/TSJ/x48aGd8R0XfqGNA7XoH1FfKtoT3RI13DhGNS1Jzqk6yFDx6Dmm2PoYTfe1bAGPXl7jPzhO9qBvjUC/h/kfDcGbjIdPmCvUd6hcQDkUUq/O/jwpe+o3Yje/5wbjKrbD6qb1o33hAcfNHdvOfDQuHvT4fl/wPuXl/8BwK9gCdcPAAA=


name: Real-time Chat Translation with DeepL
author_name: Ghufran Ridhawi
author_username: ghufran-ridhawi
categories: []
created_at: 2025-05-31T10:37:56.609Z
updated_at: 2025-05-31T10:37:56.609Z
url: https://n8n.io/workflows/4532
scraped_at: 2025-12-24 13:02:45
description:
  Who is this for?
  This workflow is intended for users, workers, creatives or students who want to translate languages ​​​​quickly and automatically via text chat. translating a sentence will take time and seem impractical, with this the results will be practical and save time. This is also a form of devotion to the community at n8n and the n8n company, as well as devotion to users and students so that reality is no longer tiring and is able to answer the problems of existing reality.

  How does it work?
  Easy explanation:

  Trigger Chat functions as a place or container for inputting text or sentences to be translated and the results come out directly here. Then the DeepL node will become the translation machine, here there are already parameters, the language can be adjusted, and the last node is useful for after the DeepL node no more operations appear And enjoy this workflow that suits you.

  Setup instructions
  Complete what is in the node as stated in the notes column.
  You need a "Credential Account" on the DeepL node, then select the language. If you already have an account, just connect it, and if not, create it first, you can register it by following the guide from n8n, it's very easy.
  Because here it is neatly and cleanly arranged. Then, save and run, test the workflow and activate the workflow. This workflow is ready to use.

  Requirements
  As a reminder:

  There must be (if not, make sure it is registered) in each "Credential Account" by following the guide on how to create it, n8n's guide is very complete
  Don't forget to save, and make sure the workflow is active.

  How to customize this workflow to your needs
  You can directly set the parameters in the language, so that the suitability is also high when working on tasks and answering them.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.deepL","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WUTW/UMBCG/0qU87r4Y2InewKVCwhRiRY4oB7G9ng3ajdZJW6hVPvfmWSrboEWUThEcpKZd5537PFt2cZyWX6wuP741t2cxVfVzfdTXS7KDWUsl7dl240Zu0Bvpjj0ymlZO5mmlbcggZL3UlW8cLqySUUZKMVUg3cRVGyswQYgWV0ZcKybabO9xEzHA8XxlPLV9rjnL5SJC+ThinaLssMNcbWzAbtxii1yX7zq+rymoXiH3eoKVzRJ4Wosl1/OOaGPNC1v93aQuD5iFD65KIDRBFaghEcbpHJI0vjyvsznNXVFWGMuNjSOLF0MFKi9ZiCucbOdYl52dfeCHzFXEpcMwRltdzTlnQ3takUDR2/7sc1t3zGKALnQktm+kl/3/cXcP7BRSXBOcKOUACISPkoQYCUieB+BmkkGB0bLNLCn290e4hO/zcrqSO0Wd0aVllpp40SUVc0VYxANkRHWa+2klVKHdDD6mmj77uDpYMfjSEfx7u8DD1rfefgz0D1O5ZWsTa1FCJ5NBYWiSS4InZQnpb1pHB5w3vfFyZYGnIotitgX0w633epJwq4/2f4MCPXzAGWwqVFzv9LcdSUQLIigtKsraJyV8QB4mttwcVO87zM9yTTOMXchD7eft2YhFPwGV4a+y9RlliqfBk0OSPFsCWOC5056JRoDIExSxgcdooLmUVD1bFJm/A/QGgldjJWogzQCal0JpIpEbUnymIEzKj0Kqp8NCvJfQDkaQ+ZpLpcJL0dalCPlzMdsTqVvFK4m/ZMh8gQvy2s1aVzv8+eZDclX0drAMwtWgFJG1GiSiFqiRHDeBGBQhugoTFKz8H7WeLHhW4Lh+WqaLP7VsZ9TFnzzRvpWLuXu/JyR/nBLPVbll1l/RHK3+wGu0lCJ/QUAAA==


name: Automate Lead Generation with Apollo, AI Scoring and Brevo Email Outreach
author_name: Luka Zivkovic
author_username: zivkovic58
categories: []
created_at: 2025-05-31T17:18:03.659Z
updated_at: 2025-05-31T17:18:03.659Z
url: https://n8n.io/workflows/4539
scraped_at: 2025-12-24 13:02:45
description:
  AI Scoring, Personalized Email Creation and Outreach

  Overview

  This comprehensive automation flow helps you scale your outreach to potential customers through intelligent personalized email campaigns. The system combines web scraping, AI-powered lead scoring, and automated email sequences to maximize your conversion rates.

  Key Features
  Intelligent Website Analysis** with automated scraping
  AI-Powered Lead Scoring** for prioritization
  Personalized Email Generation** using AI
  Automated Email Outreach** with tracking
  Real-time Event Monitoring** via Brevo webhooks
  Centralized Data Management** with NocoDB

  System Architecture
  The workflow integrates multiple platforms to create a seamless lead generation pipeline:
  NocoDB** - Central database and CRM
  Crawl4AI** - Website content analysis
  OpenAI** - Lead scoring and email personalization
  Brevo** - Email delivery and tracking

  Setup Requirements

  Prerequisites
  Before starting, ensure you have accounts for the following services:
  NocoDB (Database & CRM)
  Apify (Web scraping platform)
  OpenAI (AI processing)
  Brevo (Email delivery service)

  &gt; 💡 Pro Tip: For advanced users, consider self-hosting NocoDB and Crawl4AI to significantly reduce operational costs.

  Step-by-Step Setup

  1. NocoDB Database Configuration

  Create Your NocoDB Account
  Sign up at nocodb.com
  Create a new workspace
  Set up your first base (database)

  Database Schema Setup
  Create a new table with the following field structure:

  | Field Name | Field Type | Configuration |
  |------------|------------|---------------|
  | first_name | Single Line Text | - |
  | last_name | Single Line Text | - |
  | email | Email | - |
  | headline | Single Line Text | - |
  | linkedin_url | URL | - |
  | industry | Single Line Text | - |
  | organization_name | Single Line Text | - |
  | organization_website | URL | - |
  | organization_size | Number | - |
  | organization_linkedin_url | URL | - |
  | organization_facebook_url | URL | - |
  | market_cap | Single Line Text | - |
  | job_title | Single Line Text | - |
  | country | Single Line Text | - |
  | city | Single Line Text | - |
  | lead_status | Single Select | Options: entered(make it default!), processed, email_created, contacted, trash, failed_to_process, opened_email, warm | Default Value: entered
  | website_summary | Long Text | - |
  | score | Number | Default: 0 |
  | organization_description | Long Text | - |
  | primary_phone | Phone Number | - |
  | keywords | Single Line Text | - |
  | email_subject | Single Line Text | - |
  | email_body | Long Text | - |
  | email_opened_times | Number | Default: 0 |
  | personal_email | Single Line Text | - |

  2. External Service Setup

  Apify Configuration
  Create account at apify.com
  Navigate to Settings → API tokens
  Generate new API token
  Save token securely for automation setup

  OpenAI API Setup
  Visit platform.openai.com
  Go to API Keys section
  Create new secret key
  Store API key securely
  Ensure billing is configured for API usage

  Brevo Email Service
  Sign up at brevo.com
  Complete account verification
  Navigate to SMTP & API settings
  Generate API key for integration
  Configure sender authentication (SPF/DKIM)

  Workflow Process

  Phase 1: Lead Discovery & Data Collection
  Data Import - Populate NocoDB with lead information
  Status Update - Mark leads as entered

  Phase 2: Website Analysis & Lead Scoring
  Website Scraping - Analyze company websites using Crawl4AI
  Content Processing - Extract key business information
  AI Scoring - Evaluate lead quality using OpenAI
  Database Update - Store analysis results and scores

  Phase 3: Email Personalization & Outreach
  Content Generation - Create personalized email content
  Email Preparation - Format messages for delivery
  Automated Sending - Deploy via Brevo
  Status Tracking - Monitor delivery and engagement

  Phase 4: Performance Monitoring
  Webhook Processing - Capture Brevo email events
  Engagement Tracking - Update open/click metrics
  Lead Qualification - Adjust lead status based on engagement
  Pipeline Management - Maintain lead progression

  Lead Status Workflow

  entered → processed → email_created → contacted → opened_email → warm
      ↓
  failed_to_process / trash (for low-quality leads)

  Status Definitions
  entered**: Initial lead data captured
  processed**: Website analyzed and scored
  email_created**: Personalized email generated
  contacted**: Email successfully sent
  opened_email**: Recipient opened the email
  warm**: High engagement, ready for follow-up
  failed_to_process**: Technical issues during processing
  trash**: Low-quality lead, removed from active pipeline

  Best Practices

  Data Quality
  Regularly clean and deduplicate your lead database
  Monitor lead scores to refine your targeting criteria
  Archive or remove inactive leads to maintain performance

  Email Deliverability
  Warm up your sending domain before high-volume campaigns
  Monitor bounce rates and adjust list quality
  Implement proper SPF, DKIM, and DMARC records

  Compliance
  Ensure GDPR/CAN-SPAM compliance in all communications
  Provide clear unsubscribe mechanisms
  Respect recipient preferences and opt-outs

  Performance Optimization
  A/B test email subject lines and content
  Analyze open rates and adjust sending times
  Segment leads based on engagement levels for targeted follow-up

  Next Steps

  Once your setup is complete, you'll have a powerful, automated lead generation system that can:
  Process hundreds of leads simultaneously
  Provide intelligent lead prioritization
  Generate personalized outreach at scale
  Track and optimize campaign performance

  Ready to transform your lead generation process? Start with the NocoDB setup and work through each integration step by step.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.nocoDb","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.nocoDb","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.nocoDb","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.nocoDb","n8n-nodes-base.nocoDb","n8n-nodes-base.sendInBlue","n8n-nodes-base.sendInBlue","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.nocoDb","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.nocoDb","n8n-nodes-base.nocoDb","n8n-nodes-base.sendInBlue","n8n-nodes-base.sendInBlueTrigger","n8n-nodes-base.nocoDb","n8n-nodes-base.if","n8n-nodes-base.nocoDb","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.nocoDb","n8n-nodes-base.nocoDb","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.nocoDb","n8n-nodes-base.nocoDb","n8n-nodes-base.nocoDb","n8n-nodes-base.nocoDb","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitInBatches","n8n-nodes-base.nocoDb","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitInBatches","n8n-nodes-base.nocoDb","n8n-nodes-base.nocoDb","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.sendInBlueTrigger","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4864 characters]


name: Create PDF from Images for free via Google Slides and Google Drive
author_name: Nadia Privalikhina
author_username: nadiap
categories: []
created_at: 2025-05-31T17:46:34.570Z
updated_at: 2025-05-31T17:46:34.570Z
url: https://n8n.io/workflows/4540
scraped_at: 2025-12-24 13:02:43
description:
  This n8n template offers a free and automated way to convert images from a Google Drive folder into a single PDF document. It uses Google Slides as an intermediary, allowing you to control the final PDF's page size and orientation.

  If you're looking for a no-cost solution to batch convert images to PDF and need flexibility over the output dimensions (like A4, landscape, or portrait), this template is for you! It's especially handy for creating photo albums, visual reports, or simple portfolios directly from your Google Drive.

  How it works

  The workflow first copies a Google Slides template you specify. The page setup of this template (e.g., A4 Portrait) dictates your final PDF's dimensions.
  It then retrieves all images from a designated Google Drive folder, sorts them by creation date.
  Each image is added to a new slide in the copied presentation.
  Finally, the entire Google Slides presentation is converted into a PDF and saved back to your Google Drive.

  How to use

  Connect your Google Drive and Google Slides accounts in the relevant nodes.
  In the "Set Pdf File Name" node, define the name for your output PDF.
  In the "CopyPdfTemplate" node:
  	Select your Google Slides template file (this sets the PDF page size/orientation).
  	Choose the Google Drive folder containing your source images.
  Ensure your images are in the specified folder. For best results, images should have an aspect ratio similar to your chosen Slides template.
  Run the workflow to generate your PDF by clicking 'Test Workflow'

  Requirements

  Google Drive account.

  Google Slides account.

  Google Slides Template stored on your Google Drive

  Customising this workflow

  Adjust the "Filter: Only Images" node if you use image formats other than PNG (e.g., image/jpeg for JPGs).

  Modify the image sorting logic in the "Sort by Created Date" node if needed.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.sort","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.limit","n8n-nodes-base.filter","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSlides","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5596 characters]


name: Create Song Lyric Documents and Spotify Playlists for Singers with Google Docs
author_name: Eric Mooney
author_username: emooney
categories: []
created_at: 2025-05-31T18:28:22.632Z
updated_at: 2025-05-31T18:28:22.632Z
url: https://n8n.io/workflows/4541
scraped_at: 2025-12-24 13:02:45
description:
  Setlist Manager
  This workflow takes a Google spreadsheet called 'Setlist_Manager' with 'Artist' and 'SongTitle' entries and get's Lyrics for each song and creates a playlist for that set of songs.

  Create Spotify Playlist (naming it 'Setlist - [date of today]')
  Create the Google doc that will store the lyrics found. (naming it 'Setlist - [date of today]')
  Get the rows of songs from 'Setlist_Manager'.
  Use AI to verify the Artist name and song title.
  Get the lyrics to the song.
  Append the Google Doc with the lyrics.
  Search for the song in Spotify.
  Add that song to the Spotify Playlist.
  Go to band practice and be prepared! =)

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDocs","n8n-nodes-base.spotify","n8n-nodes-base.spotify","n8n-nodes-base.spotify","n8n-nodes-base.googleDocs"]

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


name: Smart Customer Support System with GPT-4o, Gmail, Slack & Drive Knowledge Base'
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-05-31T21:40:42.228Z
updated_at: 2025-05-31T21:40:42.228Z
url: https://n8n.io/workflows/4543
scraped_at: 2025-12-24 13:02:46
description:
  The  AI Support Agent combines Gmail, Slack, and Google Drive into a seamless support workflow powered by GPT-4o and Pinecone.

  🧠 Email Monitoring – New support emails are pulled from Gmail every minute.
  📤 Classification – AI categorizes emails (e.g., billing, support, spam, urgent).
  📚 Knowledge-Based Replies – GPT-4o drafts personalized replies using your support documents synced from Google Drive and stored in Pinecone.


  📩 Automatic Response – The agent replies to the customer in the same Gmail thread.
  🚨 Escalation Detection – If human support is needed, Slack is notified instantly.
  📊 Logging – Each interaction is logged in Google Sheets for tracking and analysis.
  🔁 Live Sync – Any document added to your Google Drive folder is auto-loaded into the knowledge base for future AI responses.
  🛠️ Quick Setup Steps
  🛠️ Quick Setup Checklist

  ⏱ Time to Deploy: ~10–15 minutes
  🔌 1. Connect Integrations
  ✅ Gmail (OAuth2)
  ✅ Google Drive (OAuth2)
  ✅ Google Sheets (OAuth2)
  ✅ OpenAI API Key
  ✅ Pinecone API Key
  ✅ Slack Webhook (for alerts)

  🗂️ 2. Update Workflow IDs
  Replace the sample IDs in your nodes:

  📁 Google Drive Folder ID → Where your KB lives
  📊 Google Sheet ID → Where interactions are logged
  🚨 Slack Webhook URL → Where urgent alerts go
  🔎 Pinecone Index → Your vector storage index

  🎨 3. Customize Prompt & Tone
  Go to 🔧 “Response Agent” Node
  Update the System Prompt to reflect your brand’s tone:
  e.g. “We’re always here to help, and we reply fast.”

  📂 4. Upload Your Docs
  Add .pdf, .txt, or .docx files to your synced Google Drive folder.
  The agent will auto-read and embed them into Pinecone for AI-powered replies.

  ▶️ 5. Run & Test
  Send a test email from another account
  ✅ Watch the reply come through Gmail
  ✅ Check Slack for urgent alert
  ✅ Confirm logging in Google Sheets
  ✅ Done!

nodes_used:
  ["n8n-nodes-base.gmailTrigger","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.gmailTool","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.vectorStorePinecone","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

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


name: Create Dynamic Workflows Programmatically via Webhooks & n8n API
author_name: Mauricio Perera
author_username: rckflr
categories: []
created_at: 2025-06-01T01:54:12.908Z
updated_at: 2025-06-01T01:54:12.908Z
url: https://n8n.io/workflows/4544
scraped_at: 2025-12-24 13:02:44
description:
  Overview

  This workflow exposes an HTTP endpoint (webhook) that accepts a JSON definition of an n8n workflow, validates it, and—if everything is correct—dynamically creates that workflow in the n8n instance via its internal API. If any validation fails or the API call encounters an error, an explanatory message with details is returned.

  Workflow Diagram

  Webhook
     │
     ▼
  Validate JSON ── fails validation ──► Validation Error
     │
     └─ passes ─► Validation Successful?
                             │
                             ├─ true ─► Create Workflow ──► API Successful? ──► Success Response
                             │                                 │
                             │                                 └─ false ─► API Error
                             └─ false ─► Validation Error

  Step-by-Step Details

  1. Webhook

  Type**: Webhook (POST)
  Path**: /webhook/create-workflow
  Purpose**: Expose a URL to receive a JSON definition of a workflow.
  Expected Input**: JSON containing the main workflow fields (name, nodes, connections, settings).

  2. Validate JSON

  Type**: Code Node (JavaScript)
  Validations Performed**:

    Ensure that payload exists and contains both name and nodes.
    Verify that nodes is an array with at least one item.
    Check that each node includes the required fields: id, name, type, position.
    If missing, initialize connections, settings, parameters, and typeVersion.
  Output if Error**:

      { "success": false, "message": "&lt;error description&gt;" }
    Output if Valid**:

      {
      "success": true,
      "apiWorkflow": {
        "name": payload.name,
        "nodes": payload.nodes,
        "connections": payload.connections,
        "settings": payload.settings
      }
    }
  3. Validation Successful?

  Type**: IF Node
  Condition**: $json.success === true
  Branches**:

    true: proceed to Create Workflow
    false: route to Validation Error

  4. Create Workflow

  Type**: HTTP Request (POST)
  URL**: http://127.0.0.1:5678/api/v1/workflows
  Authentication**: Header Auth with internal credentials
  Body**: The apiWorkflow object generated earlier
  Options**: continueOnFail: true (to handle failures in the next IF)

  5. API Successful?

  Type**: IF Node
  Condition**: $response.statusCode &lt;= 299
  Branches**:

    true: proceed to Success Response
    false: route to API Error

  6. Success Response

  Type**: SET Node
  Output**:

      {
      "success": "true",
      "message": "Workflow created successfully",
      "workflowId": "{{ $json.data[0].id }}",
      "workflowName": "{{ $json.data[0].name }}",
      "createdAt": "{{ $json.data[0].createdAt }}",
      "url": "http://localhost:5678/workflow/{{ $json.data[0].id }}"
    }
  7. API Error

  Type**: SET Node
  Output**:

      {
      "success": "false",
      "message": "Error creating workflow",
      "error": "{{ JSON.stringify($json) }}",
      "statusCode": "{{ $response.statusCode }}"
    }
  8. Validation Error

  Type**: SET Node
  Output**:

      { "success": false, "message": "{{ $json.message }}" }
  Example Webhook Request

  curl --location --request POST 'http://localhost:5678/webhook/create-workflow' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "name": "My Dynamic Workflow",
    "nodes": [
      {
        "id": "start-node",
        "name": "Start",
        "type": "n8n-nodes-base.manualTrigger",
        "typeVersion": 1,
        "position": [100, 100],
        "parameters": {}
      },
      {
        "id": "set-node",
        "name": "Set",
        "type": "n8n-nodes-base.set",
        "typeVersion": 1,
        "position": [300, 100],
        "parameters": {
          "values": {
            "string": [
              { "name": "message", "value": "Hello from a webhook-created workflow!" }
            ]
          }
        }
      }
    ],
    "connections": {
      "Start": {
        "main": [
          [ { "node": "Set", "type": "main", "index": 0 } ]
        ]
      }
    },
    "settings": {}
  }'

  Expected Success Response

  {
    "success": "true",
    "message": "Workflow created successfully",
    "workflowId": "abcdef1234567890",
    "workflowName": "My Dynamic Workflow",
    "createdAt": "2025-05-31T12:34:56.789Z",
    "url": "http://localhost:5678/workflow/abcdef1234567890"
  }

  Validation Error Response

  {
    "success": false,
    "message": "The 'name' field is required in the workflow"
  }

  API Error Response

  {
    "success": "false",
    "message": "Error creating workflow",
    "error": "{ ...full API response details... }",
    "statusCode": 401
  }

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set"]

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


name: AI-Powered Employee Database Management via Telegram using OpenAI and Airtable
author_name: Billy Christi
author_username: billy
categories: []
created_at: 2025-06-01T02:01:03.787Z
updated_at: 2025-06-01T02:01:03.787Z
url: https://n8n.io/workflows/4545
scraped_at: 2025-12-24 13:02:44
description:
  Who is this for?

  This workflow is perfect for:

  HR professionals** seeking to automate employee and department management
  Startups and SMBs** that want an AI-powered HR assistant on Telegram
  Internal operations teams** that want to simplify onboarding and employee data tracking

  What problem is this workflow solving?

  Managing employee databases manually is error-prone and inefficient—especially for growing teams. This workflow solves that by:

  Enabling natural language-based HR operations directly through Telegram
  Automating the creation, retrieval, and deletion of employee records in Airtable
  Dynamically managing related data such as departments and job titles
  Handling data consistency and linking across relational tables automatically
  Providing a conversational interface backed by OpenAI for smart decision-making

  What this workflow does

  Using Telegram as the interface and Airtable as the backend database, this intelligent HR workflow allows users to:

  Chat in natural language (e.g. “Show me all employees” or “Create employee: Sarah, Marketing…”)
  Interpret and route requests via an AI Agent that acts as the orchestrator
  Query employee, department, and job title data from Airtable
  Create or update records as needed:

     Add new departments and job titles automatically if they don’t exist
     Create new employees and link them to the correct department and job title
  Delete employees based on ID
  Respond directly in Telegram, providing user-friendly feedback

  Setup
  View & Copy the Airtable base here:
     👉 Employee Database Management – Airtable Base Template

  Telegram Bot: Set up a Telegram bot and connect it to the Telegram Trigger node

  Airtable: Prepare three Airtable tables:

     Employees with links to Departments and Job Titles
     Departments with Name & Description
     Job Titles with Title & Description

  Connect your Airtable API key and base/table IDs into the appropriate Airtable nodes

  Add your OpenAI API key to the AI Agent nodes

  Deploy both workflows: the main chatbot workflow and the employee creation sub-workflow

  Test with sample messages like:

     “Create employee: John Doe, john@company.com, Engineering, Software Engineer”
     “Remove employee ID rec123xyz”

  How to customize this workflow to your needs

  Switch databases**: Replace Airtable with Notion, PostgreSQL, or Google Sheets if desired
  Enhance security**: Add authentication and validation before allowing deletion
  Add approval flows**: Integrate Telegram button-based approvals for sensitive actions
  Multi-language support**: Expand system prompts to support multiple languages
  Add logging**: Store every user action in a log table for auditability
  Expand capabilities**: Integrate payroll, time tracking, or Slack notifications

  Extra Tips

  This is a two-workflow setup. Make sure the sub-workflow is deployed and accessible from the main agent.
  Use Simple Memory per chat ID to preserve context across user queries.
  You can expand the orchestration logic by adding more tools to the main agent—such as “Get active employees only” or “List employees by job title.”

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

nodes_used:
  ["n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.telegram","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","n8n-nodes-base.airtable","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7080 characters]


name: Auto-Generate & Publish SEO Blog Posts to WordPress with OpenRouter & Runware
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2025-06-01T03:24:24.440Z
updated_at: 2025-06-01T03:24:24.440Z
url: https://n8n.io/workflows/4546
scraped_at: 2025-12-24 13:02:45
description:
  Automate Blog Creation and Publishing with Ultra-Low Cost AI

  This n8n workflow — BlogBlizt: Runaware Edition — automates the creation, enrichment, and publishing of SEO-optimized blog posts for WordPress using entirely free OpenRouter AI models for text and metadata generation, plus ultra-low-cost Runware AI for realistic featured images (as low as $0.0016 per image).

  It’s triggered every 3 hours or manually via Telegram. Each run generates 1,500–3,500-word articles on trending topics in Technology, AI, Tech Facts, History, or Tips — all complete with catchy titles, slugs, meta descriptions, and visuals.

  💰 Why This Is So Cost-Efficient

  ✅ Free metadata + article generation (OpenRouter free-tier models)
  💸 Only cost is for image generation via Runware:
    Image generation: ~$0.0016/image (the cheapest model could be $0,00065)

  This is ideal for scale — generating dozens of high-quality blog posts with minimal expense.

  ⚡ Who Is This For?

  Bloggers who want high-quality content without writing
  SEO marketers seeking fresh, long-form articles
  WordPress site owners automating publishing workflows
  Growth hackers targeting high-volume content generation

  ❓ What Problem Does It Solve?

  Creating SEO-rich blog content is time-consuming, expensive, and requires expertise. BlogBlizt eliminates this friction by using free models (OpenRouter) to generate text and metadata — making this workflow nearly free to operate, with the only cost being the featured image (~$0.0016/image).

  🔧 What This Workflow Does

  ⏱ Triggers: Every 3 hours (or via Telegram command: generate)
  🧠 Generates Metadata: Title, slug, category, focus keyphrase, and meta description using OpenRouter
  ✍️ Writes SEO Article: 1,500–3,500 words with headings, H2/H3s, CTA, and outbound links
  🖼️ Creates Image: Generates realistic 1024×1024 blog image with Runware AI
  📤 Publishes to WordPress: Auto-publishes with category ID, featured image, and Yoast SEO fields
  📣 Notifies: Sends publish link to Discord and Telegram (optional)

  🔐 Setup Instructions

  Import .json into n8n
  Add credentials:
    OpenRouter API (free LLMs like LLaMA-3, Nemotron)
    Runware API key (get it here)
    (Optional) Telegram Bot + Discord Webhook
  Test by sending the word generate via Telegram

  🧩 Pre-Requirements

  Self-hosted or cloud-based n8n instance
  WordPress with category IDs configured:
    Technology → 3
    AI → 4
    Tech Fact → 7
    Tech History → 8
    Tech Tips → 9
  OpenRouter API Key (free)
  Runware API Key (for images)
  WordPress user ID (admin, default is 1)
  Telegram bot (optional)
  Discord webhook (optional)

  🛠️ Customize It Further

  Change writing tone or prompt in ✍️ Compose SEO Article Content node
  Cofigure the category
  Swap free LLMs (Claude, Gemini, GPT, etc.) in OpenRouter settings
  Adjust schedule (every 6h, daily, etc.)
  Extend alerts (email, Slack, Notion)

  🧠 Nodes Used

  Schedule Trigger
  Telegram Trigger
  @n8n/n8n-nodes-langchain (OpenRouter)
  WordPress Node
  HTTP Request (Runware API)
  Discord Webhook
  Sticky Notes (Documentation inside canvas)

  📞 Support

  Created by: Khaisa Studio  
  Tag: youtube, summarizer, telegram, openai  
  Category: AI Automation, Video Tools
  Need a custom? contact me on LinkedIn or Web

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.wordpress","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.discord","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Documentation Lookup AI Agent using Context7 and Gemini
author_name: Jez
author_username: jez
categories: []
created_at: 2025-06-01T03:32:24.786Z
updated_at: 2025-06-01T03:32:24.786Z
url: https://n8n.io/workflows/4547
scraped_at: 2025-12-24 13:02:44
description:
  This n8n workflow template uses community nodes and is only compatible with the self-hosted version of n8n. 

  This workflow demonstrates how to build and expose a sophisticated n8n AI Agent as a single, callable tool using the Multi-Agent Collaboration Protocol (MCP). It allows external clients or other AI systems to easily query software library documentation via Context7, without needing to manage the underlying tool orchestration or complex conversational logic.

  Core Idea:
  Instead of building complex agentic loops on the client-side (e.g., in Python, a VS Code extension, or another AI development environment), this workflow offloads the entire agent's reasoning and tool-use process to n8n. The client simply sends a natural language query (like "How do I use Flexbox in Tailwind CSS?") to an SSE endpoint, and the n8n agent handles the rest.

  Key Features & How It Works:

  Public MCP Endpoint:
      The main workflow uses the Context7 MCP Server Trigger node to create an SSE endpoint. This makes the agent accessible to any MCP-compatible client.
      The path for the endpoint is kept long and random for basic 'security by obscurity'.
  Tool Workflow as an Interface:
      A Tool Workflow node (named call_context7_ai_agent in this example) is connected to the MCP Server Trigger. This node defines the single "tool" that external clients will see and call.
  Dedicated AI Agent Sub-Workflow:
      The call_context7_ai_agent tool invokes a separate sub-workflow which contains the actual AI logic.
      This sub-workflow starts with a Context7 Workflow Start node to receive the user's query.
      A Context7 AI Agent node (using Google Gemini in this example) is the brain, equipped with:
          A system prompt to guide its behavior.
          Simple Memory to retain context for each execution (using {{ $execution.id }} as the session key).
          Two specialized Context7 MCP client tools:
              context7-resolve-library-id: To convert library names (e.g., 'Next.js') into Context7-specific IDs.
              context7-get-library-docs: To fetch documentation using the resolved ID, with options for specific topics and token limits.
  Seamless Tool Use: The AI Agent autonomously decides when and how to use the resolve-library-id and get-library-docs tools based on the user's query, handling the multi-step process internally.

  Benefits of This Approach:

  Simplified Client Integration:** Clients interact with a single, powerful tool, sending a simple query.
  Reduced Client-Side Token Consumption:** The detailed prompts, tool descriptions, and conversational turns are managed server-side by n8n, saving tokens on the client (especially useful if the client is another LLM).
  Centralized Agent Management:** Update your agent's capabilities, tools, or LLM model within n8n without any changes needed on the client side.
  Modularity for Agentic Systems:** Perfect for building complex, multi-agent systems where this n8n workflow can act as a specialized "expert" agent callable by others (e.g., from environments like Smithery).
  Cost-Effective:** By using a potentially less expensive model (like Gemini Flash) for the agent's orchestration and leveraging the free tier or efficient pricing of services like Context7, you can build powerful solutions economically.

  Use Cases:

  Providing an intelligent documentation lookup service for coding assistants or IDE extensions.
  Creating specialized AI "micro-agents" that can be consumed by larger AI applications.
  Building internal knowledge base query systems accessible via a simple API-like interface.

  Setup:

  Ensure you have the necessary n8n credentials for Google Gemini (or your chosen LLM) and the Context7 MCP client tools.
  The Path in the Context7 MCP Server Trigger node should be unique and secure.
  Clients connect to the "Production URL" (SSE endpoint) provided by the trigger node.

  This workflow is a great example of how n8n can serve as a powerful backend for building and deploying modular AI agents.

  I've made a video to try and explain this a bit too https://www.youtube.com/watch?v=dudvmyp7Pyg

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-mcp.mcpClientTool","n8n-nodes-mcp.mcpClientTool","@n8n/n8n-nodes-langchain.mcpTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolWorkflow","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, 8528 characters]


name: Manage User Authentication with Telegram, Redis Cache and Google Sheets
author_name: Archit Jain
author_username: architjn
categories: []
created_at: 2025-06-01T05:32:09.661Z
updated_at: 2025-06-01T05:32:09.661Z
url: https://n8n.io/workflows/4548
scraped_at: 2025-12-24 13:02:45
description:
  How It Works

  Telegram bot listens for messages and uses chat ID as the unique user identifier.
  Checks Google Sheets for existing users; registers new users if not found.
  Caches active sessions in Redis for fast lookup and login-state handling.
  Stores and retrieves user data (UserID, Name, Telegram Chat ID) in Google Sheets.
  Can be triggered by other n8n workflows to fetch or update user/session data.

  Setup Steps

  Obtain Telegram Bot token, Google Sheets “Users” sheet with API credentials, and a Redis instance.
  Import the n8n workflow and configure Redis, Telegram Bot, and Google Sheets credentials.
  Expect 30–45 minutes to complete workflow import, Redis setup, and API wiring.
  Refer to sticky notes inside the workflow for exact field mappings and node configurations.

nodes_used:
  ["n8n-nodes-base.telegramTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.merge","n8n-nodes-base.redis","n8n-nodes-base.switch","n8n-nodes-base.redis","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.merge","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.set"]

workflow_json_compressed:
  H4sIAAAAAAAAE51X227bRhD9FYHPWmPvF7+lbhIYaBK0bpOHwg97GUpEJNIVKSuGoX/PkFIlSqYsOW80vTx7ZubMmdFzVqTsOlv9eTv7rfi4/OsdTP9bfn3MxtkcGp9dP2dFWTe+jHDbnnNCpNyKaCVzOhkaQeR5oiFXSQDz0QsWjNA657mVwHIhLdeSUqdBeuEd4jYwf5j5Bm4WkOo7aJYPNxW+gQbwgmaxhPU4K/0c8LY/qklRju6eavym/dJP6uz633v8f5WgfXzesJcmeM4NJQ5kIjLkjHgRFYnaAgfLKNUq26F+hGb0CeraT6AFfXpoX5a2JB0qCb6GqwZmMFn4+d+LYjKBBZ57qOqiKaoSbyVM07GlFImsIEyr6nuXG6GDioYb4nVuicwBiKMKWTifqA5OeGFbII+4GO0CA3hebwh8xb86bHbF1+NtVNwHqyJzROUC8VwCErTXRDAdNWeGqlzvo/pQlGn0T91xHY5pUlWTGdxNAZr6MCCF8egunlfJySs9zvxs5Z/qL8vmYdn87luJbGq2JS1STDZQR2IwkkjhArHUe2JNNM5J0CqwPenbevQZVq/TrldFE6eHhM1lhEUvmw44zUEFEhVQ1IiTBKXJCWUpUc7znII51EjLCgt7ilfEx0NWjtOxsWdZ7TkxkzNnUajGM6yw1owE7hwR0UduLUWWbs8JGwbb5ldrzNhl7LDIO34eJI+YN5ISY0R6EFhMgQpMkkvkSJHhnt+ZfM1hMTlKGFOUjt0ldWQ7Tmg6XjLFiLUGe91gRYOHQJyyNgCX3HF31BU3Pk7hTHOgGRVHGUONMSrPkttTi07QAGAJek4kEjyy8gr7VwOwiAYgHRxof0PsTcrn9jJWfelL63S0OhDJW2MKqDXrsDFzKZSAXDjjY09mLak3J6uTlzovr322qJFaRa2JDoYTadG+A+WJMEyX4LlSzPfEddcU8fvT6HPVnDbtujuzPdL3a4HcJH/BLYtV2UDZIFJ2mqdhCozjnOCow6rSiI7mKSWcmsixB6zVPUf7NoVy9P4HxCXOs1F4Gr0rq2YKi9G3avE9n1Wrk+xh89H/505PnguMj/UaRiVwxhlDsES2lYAhLjhNqFEpOa05sJ4qP2279OIe7ihdpsgeJ9A2cpaIYjnW3qPxobEEojz6MJqCSSK+NONfcL2LB9veX7w0uKgwwiNai0w6ERzDODGiUJ5Jjgnr7RLvU9GMPhQwS/VpWULzgpS9xPTkjpSWPFCqOPatNUgF52twXBMlLAdhUoqUD5Lil7Nqm+SimSrXeMbHpnhE2NzPahhniNYU5aTrqo2Q8fCXRcKiXWePrG2vxw3C7cYpWQ4u4PTFydIOloALW1JEGHAaQ3XStUnG/iwhtlAd8Eab+DD3RcsY1782oFdtvjs6xiU2wY/smq7v75HKdlL1kLrXO50NXTGc1EH4/So2BDS48wzi7CfEyZjPoIz3x4+n8+FZvrmx5/1DV76OsWXdW52GMAa3mEGg/sm3s2EbkH6DDoEc+d0gRv8HwxlpnK/orvaDyRmYva8VdWhNHbz4QL1vzkNf1/0uOyHv47VmEOz8oBxCfzkKBsDX658EQdD11g4AAA==


name: AI-Powered RAG Document Processing & Chatbot with Google Drive, Supabase, OpenAI
author_name: Billy Christi
author_username: billy
categories: []
created_at: 2025-06-01T06:44:01.484Z
updated_at: 2025-06-01T06:44:01.484Z
url: https://n8n.io/workflows/4551
scraped_at: 2025-12-24 13:02:42
description:
  Who is this for?

  This workflow is perfect for:

  Businesses and teams who need an automated solution to organize, analyze, and retrieve insights from their internal documents.
  Researchers who want to quickly analyze and query large collections of research papers, reports, or datasets.
  Customer support teams looking to streamline access to product documentation and support resources.
  Legal and compliance professionals needing to reference and query legal documents with confidence.
  AI enthusiasts and developers wanting to implement Retrieval-Augmented Generation (RAG) systems without starting from scratch.

  What problem is this workflow solving?

  Manually organizing, processing, and searching through documents can be time-consuming, error-prone, and inefficient. This workflow solves that by:

  Automating document processing** from Google Drive, supporting multiple formats like PDFs, CSVs, and Google Docs.
  Extracting, chunking, and enhancing document text**, preserving context and improving AI comprehension.
  Storing vector embeddings** in a secure, scalable Supabase vector database, enabling semantic search and retrieval.
  Providing an interactive AI chat interface** that allows users to ask natural language questions and get precise, document-based answers.

  This means teams can quickly access relevant insights from their document repositories—boosting productivity and ensuring accurate information retrieval.

  Key Features

  🚀 End-to-End Document Processing: From Google Drive upload detection to vector embedding and storage.
  🔍 Semantic Search & Retrieval: Users can ask complex, natural-language questions and receive contextually relevant answers.
  🤖 AI-Powered Summaries & Metadata: Automatically generates document titles and summaries using Google Gemini AI.
  📝 Smart Chunking & Contextual Enhancement: Breaks documents into smart chunks with overlap, preserving context and table integrity.
  🔐 Secure & Scalable Vector Database: Stores and retrieves embeddings in a Supabase vector store for fast, reliable searches.
  💬 Conversational AI Interface: Uses OpenAI to power natural, accurate, and cost-effective AI chat interactions.

  How does this workflow work?

  Monitors Google Drive for new files
  Extracts text from PDFs and CSVs (or Google Docs auto-converted)
  Splits text into context-preserving chunks
  Enhances chunk quality and stores embeddings in Supabase
  Enables natural language search and AI-powered chat interactions with the stored documents

  Typical Use Cases

  📚 Corporate Knowledge Base
  🔬 Research Paper Analysis
  📞 Customer Support Document Query
  ⚖️ Legal Document Review and Analysis
  🔍 Internal Team Documentation Search

  Why You’ll Love It

  This workflow lets you build a scalable, searchable, and AI-powered document system—without needing to write complex code or manage multiple systems. With this, you can:

  Stay organized with automated document processing.
  Deliver faster, more accurate answers to user queries.
  Reduce manual work and improve productivity.
  Gain a competitive edge with cutting-edge AI search capabilities.

  Setup Requirements

  An n8n instance with Google Drive, Supabase, OpenAI, and Gemini credentials configured.
  Access to a Supabase vector store for storing document embeddings.
  Configurable chunk size, overlap, and processing limits (default: 1000 characters per chunk, 20 chunks max).

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

nodes_used:
  ["n8n-nodes-base.splitInBatches","n8n-nodes-base.extractFromFile","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","n8n-nodes-base.googleDriveTrigger","@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.limit","n8n-nodes-base.summarize","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","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, 10272 characters]


name: Index Documents from Google Drive to Pinecone with OpenAI Embeddings for RAG
author_name: Automate With Marc
author_username: marconi
categories: []
created_at: 2025-06-01T07:53:00.731Z
updated_at: 2025-06-01T07:53:00.731Z
url: https://n8n.io/workflows/4552
scraped_at: 2025-12-24 13:02:42
description:
  🧠 Google Drive Upload Trigger → Pinecone Vector Upsert for Document Indexing
  Category: AI & LLM / Document Indexing
  Level: Intermediate
  Tags: Google Drive, Pinecone, OpenAI, Embeddings, Vector Store, LangChain, RAG

  📄 What This Workflow Does
  This workflow watches a specific Google Drive folder and automatically uploads any newly added document to a Pinecone vector database — complete with OpenAI-generated embeddings.

  Perfect for setting up retrieval-augmented generation (RAG) pipelines, semantic search, or document Q&A systems. Once configured, your knowledge base stays up-to-date with zero manual effort.

  Watch Full Step By Stey Tutorial Video Here:
  https://www.youtube.com/@Automatewithmarc

  🔧 How It Works
  📁 Google Drive Trigger
  Watches a specific folder and triggers when new documents are uploaded.

  🔍 Google Drive File Search & Download
  Finds and fetches all files in the folder.

  🔄 Loop Over Each File
  Handles batch processing for multiple files.

  📃 Document Loader
  Parses each file as binary and applies custom metadata like document type.

  ✂️ Text Splitter
  Breaks content into manageable chunks for embedding (e.g., 600 characters, 60 overlap).

  🧠 OpenAI Embeddings
  Generates vector embeddings using OpenAI.

  📦 Pinecone Vector Store
  Inserts/upserts documents into a specific Pinecone namespace for search-ready indexing.

  🧠 Why This is Useful
  This is a production-grade setup for:

  Building vector search tools over internal docs

  Feeding up-to-date data into RAG agents or chatbots

  Auto-tagging and chunking files for scalable AI workflows

  Whether you’re indexing course outlines, SOPs, or technical docs — this automation keeps your vector store fresh and organized.

  🪜 Setup Instructions
  Connect your Google Drive, OpenAI, and Pinecone accounts.

  Specify the Google Drive folder to monitor.

  Customize metadata, chunk size, or vector namespace as needed.

  Activate the workflow and drop a file into the folder — magic happens behind the scenes.

  📌 Notes
  Works best with PDFs or text-based documents.

  You can swap out OpenAI with other embedding models if needed.

  Consider adding notifications or logging (e.g., via Slack or email) for better observability.

nodes_used:
  ["n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.vectorStorePinecone","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.googleDriveTrigger","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:
  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


name: Generate Guerrilla Marketing Campaign Plans with AI Swarm Intelligence
author_name: Sina
author_username: sina2266
categories: []
created_at: 2025-06-01T11:31:39.415Z
updated_at: 2025-06-01T11:31:39.415Z
url: https://n8n.io/workflows/4553
scraped_at: 2025-12-24 13:02:42
description:
  🧠 Who is this for?
  Startup founders designing creative growth strategies  
  Marketing teams seeking low-cost, high-impact campaigns  
  Consultants and agencies needing fast guerrilla plans  
  Creators exploring AI-powered content and campaigns  

  ❓ What problem does this workflow solve?
  Building a full guerrilla marketing strategy usually takes hours of brainstorming, validation, and formatting. This template does all of that in minutes using a swarm of AI agents, from idea generation to KPIs, and even kills bad ideas before you waste time on them.

  ⚙️ What this workflow does
  Starts with a chat input where you describe your business or idea  
  A “Swarm Intelligence” loop:  
    One AI agent generates guerrilla ideas  
    Another agent critically validates the idea and gives honest feedback  
    If the idea is weak, it asks for a new one  
  If accepted, the swarm continues with 16 AI specialists generating:  
    🎯 Objectives  
    🧍‍♂️ Personas  
    🎤 Messaging  
    🧨 Tactics  
    📢 Channels  
    🧮 Budget  
    📊 KPIs  
    📋 Risk plan and more  
  Merges all chapters into a final Markdown file  
  Lets you download the campaign in seconds  

  🛠️ Setup
  Import the workflow to your n8n instance  
  (Optional) Configure your LLM (OpenAI or Ollama) in the “OpenAI Chat Model” node   
  Type your business idea (e.g., “Luxury dog collar brand for Instagram dads”)  
  Wait for flow completion
  Download the final marketing plan file  

  🤖 LLM Flexibility (Choose Your Model)
  Supports any LLM via LangChain:  
    Ollama (LLaMA 3.1, Mistral, DeepSeek)  
    OpenAI (GPT-4, GPT-3.5)  
  To switch models, just replace the “Language Model” node, no other logic needs updating  



  📌 Notes
  Output is professional and ready-to-pitch  
  Built-in pessimistic validator filters out bad ideas before wasting time  

  📩 Need help?
  Email: sinamirshafiee@gmail.com  
  Happy to support setup or customization!

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.convertToFile"]

workflow_json_compressed:
  [encoded data, 13868 characters]


name: Monitor Google Shopping Prices with Bright Data & Email Alerts
author_name: Dvir Sharon
author_username: dvirsharon
categories: []
created_at: 2025-06-01T11:49:47.000Z
updated_at: 2025-06-01T11:49:47.000Z
url: https://n8n.io/workflows/4554
scraped_at: 2025-12-24 13:02:45
description:
  🛒 Monitor Google Shopping Prices with Bright Data & Email Alerts
  This template requires a self-hosted n8n instance to run.

  A comprehensive n8n automation that monitors product prices daily using Bright Data's Google Shopping dataset and sends smart email alerts when price conditions are met.

  📋 Overview
  This workflow provides an automated price monitoring solution that tracks product prices from Google Shopping daily and sends intelligent email notifications. Perfect for e-commerce monitoring, competitor analysis, deal hunting, and inventory management.

  ✨ Key Features
  🕘 Scheduled Monitoring: Daily automated price checks at 9 AM
  🛍️ Google Shopping Integration: Uses Bright Data's dataset for accurate pricing
  📊 Smart Price Comparison: Compares current prices with historical data
  📧 Intelligent Alerts: Sends emails only when prices meet criteria
  📈 Data Storage: Updates Google Sheets with latest pricing data
  🔄 Batch Processing: Handles multiple products with rate limiting
  ⚡ Fast & Reliable: Built-in error handling
  🎯 Customizable Filters: Advanced price comparison logic

  🎯 What This Workflow Does
  Schedule Trigger: Runs daily at 9 AM
  Data Retrieval: Fetches product list from Google Sheets
  Price Extraction: Scrapes current prices using Bright Data
  Data Update: Updates Google Sheets with new prices
  Price Comparison: Compares new vs. old prices
  Smart Filtering: Filters products that meet alert criteria
  Email Notifications: Sends alerts for qualifying changes
  Rate Limiting: Adds delay between emails

  Output Data Points

  | Field         | Description                | Example                          |
  | :------------ | :------------------------- | :------------------------------- |
  | Product URL   | Original Google Shopping URL | https://shopping.google.com/product/... |
  | Product Name  | Product title              | iPhone 15 Pro Max 256GB          |
  | Ratings       | Product rating score       | 4.5                              |
  | Reviews       | Number of reviews          | 1,247                            |
  | Old Price     | Previous price             | $1,199.00                        |
  | New Price     | Current scraped price      | $1,199.00                        |
  | Timestamp     | When the check occurred    | 2025-05-30T09:00:00Z             |

  🚀 Setup Instructions

  Prerequisites
  n8n instance (self-hosted or cloud)
  Google account with Sheets access
  Bright Data account with Google Shopping dataset access
  Gmail account for notifications

  Steps
  Import the workflow JSON into n8n
  Configure Bright Data credentials and dataset access
  Set up Google Sheets with required columns
  Configure Gmail OAuth2 credentials
  Update sheet IDs and schedule settings
  Test with sample products and activate

  📖 Usage Guide

  Google Sheet Structure
  Your Google Sheet should have the following columns to ensure the workflow functions correctly:

  Product URL** (Text): The direct URL to the Google Shopping product page. This is the primary identifier for the product.
  Product Name** (Text): The name of the product. This will be automatically populated or updated by the workflow.
  Old Price** (Number/Currency): The price of the product from the previous check. This column is crucial for price comparison.
  New Price** (Number/Currency): The most recently scraped price of the product.
  Ratings** (Number): The star rating of the product.
  Reviews** (Number): The total number of reviews for the product.
  Timestamp** (Datetime): The date and time when the price check was performed.

  Adding Products
  Add Google Shopping URLs to your Google Sheet.
  The workflow will fetch product details and track prices.
  Historical price data builds over time.

  Understanding Price Alerts
  The default setting for this workflow is to send an email alert when the new price equals the old price. This might seem counterintuitive, but it's useful for specific scenarios, such as:

  Monitoring stable pricing:** If you are tracking a product and want to be notified when its price has remained consistent over time, indicating a potential stable buying opportunity or a benchmark.
  Verifying data consistency:** To confirm that the scraping process is working correctly and consistently retrieving the same price when no changes are expected.

  You can easily customize the alert logic to trigger on different conditions as described below.

  Customizing Alert Logic
  Price drops:** new_price &lt; old_price
  Significant drops:** new_price &lt; (old_price * 0.9) (e.g., price dropped by more than 10%)
  Price increases:** new_price &gt; old_price
  Any change:** new_price != old_price

  Reading the Results
  Real-time pricing data
  Historical tracking
  Product metadata
  Timestamps for each check

  🔧 Customization Options
  Add More Data:** Descriptions, availability, seller info, shipping, images
  Modify Email Templates:** Customize subject and body
  Multiple Recipients:** Duplicate email node and change recipients
  Webhook Integration:** Add real-time triggers or Slack alerts

  🚨 Troubleshooting
  Bright Data connection failed:** Check API credentials and dataset access
  No price data extracted:** Verify URLs and test with different products
  Google Sheets permission denied:** Re-authenticate and check sharing
  Emails not sending:** Re-auth Gmail OAuth and verify recipients
  Filter not working:** Check price formats and logic
  Workflow failed:** Check logs, retry logic, and network status

  📊 Use Cases & Examples
  E-commerce Monitoring:** Track competitor pricing and trends
  Deal Hunting:** Get alerts for price drops on wishlist items
  Inventory Management:** Monitor supplier pricing for procurement
  Market Research:** Analyze pricing trends and generate reports

  ⚙️ Advanced Configuration
  Batch Processing:** Increase batch size, add delays, use parallel processing
  Price History:** Store historical data, calculate averages, forecast trends
  Tool Integration:** CRM, Slack, databases, BI tools (Tableau, Power BI)

  📈 Performance & Limits
  Single URL:** 2–5 seconds
  Concurrent Requests:** 3–5 (depends on Bright Data plan)
  Data Accuracy:** 95%+
  Success Rate:** 90%+
  Daily Capacity:** 100–500 products
  Memory:** ~100MB per execution
  API Calls:** 1 Bright Data + 2 Google Sheets per product

  🤝 Support & Community
  n8n Forum:** &lt;https://community.n8n.io&gt;
  Documentation:** &lt;https://docs.n8n.io&gt;
  Bright Data Support:** Via your Bright Data dashboard
  GitHub Issues:** Report bugs and request features

  🎯 Ready to Use!
  Your workflow provides a solid foundation for automated price monitoring. Customize it to fit your specific needs and use cases for maximum effectiveness in tracking Google Shopping prices with intelligent email notifications.

  Please note that this template uses Community Nodes. Ensure you understand the risks before using community nodes.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","@brightdata/n8n-nodes-brightdata.brightData","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.wait"]

workflow_json_compressed:
  [encoded data, 4140 characters]


name: Extract Google My Business Leads by Service or Location with Bright Data
author_name: Dvir Sharon
author_username: dvirsharon
categories: []
created_at: 2025-06-01T11:52:57.062Z
updated_at: 2025-06-01T11:52:57.062Z
url: https://n8n.io/workflows/4555
scraped_at: 2025-12-24 13:02:43
description:
  📍 Extract Google My Business Leads by Service & Location with Bright Data to Google Sheets
  This template requires a self-hosted n8n instance to run.

  A comprehensive n8n automation that extracts Google My Business listings by service type and geographic location using Bright Data's Google Maps dataset, with intelligent city expansion and automatic duplicate removal.

  👥 Who is this for?
  Lead generation professionals
  Sales teams
  Marketing agencies
  Business development representatives
  Entrepreneurs conducting outreach or market research

  ❓ What problem is this solving?
  Manual lead generation from Google Maps is time-consuming and inefficient. This workflow automates the process of finding businesses by service type and location, expanding searches across cities, removing duplicates, and organizing results in a structured format.

  ⚙️ What this workflow does

  Input Processing
  Accepts service type, state, and country via web form
  Uses Claude AI to generate city lists
  Auto-categorizes services
  Creates search queries per city

  Data Collection
  Uses Bright Data's Google Maps dataset
  Processes in batches with rate limits
  Monitors scraping with retry logic
  Formats and handles API responses

  Quality Control
  Removes duplicates by name and phone
  Maintains clean data in Google Sheets
  Ensures structured, usable datasets

  📄 Output Data Points

  | Field           | Description                 | Example                       |
  | :-------------- | :-------------------------- | :---------------------------- |
  | Business Name   | Company or business name    | TechFix Computer Repair       |
  | Category        | Business category type      | Electronics                   |
  | Country         | Country location            | US                            |
  | City            | Specific city searched      | Austin                        |
  | Phone Number    | Contact phone number        | +1 (555) 123-4567             |
  | Website URL     | Business website            | https://techfix.com           |
  | Google Maps URL | Direct Maps link            | https://maps.google.com/... |
  | Address         | Full business address       | 123 Main St, Austin, TX       |
  | Operating Hours | Business hours              | Mon-Fri 9AM-6PM               |
  | Google Rating   | Star rating                 | 4.5                           |
  | Total Reviews   | Number of reviews           | 127                           |
  | Reviews URL     | Link to reviews             | https://maps.google.com/reviews... |

  🚀 Setup Instructions

  Prerequisites
  n8n instance (self-hosted or cloud)
  Google account with Sheets access
  Bright Data account with Google Maps dataset access
  Anthropic API key for Claude AI

  Step-by-Step
  Import the workflow JSON into n8n
  Configure Bright Data credentials and dataset access
  Set up Google Sheets and OAuth2 credentials
  Configure Claude AI with your API key
  Replace all placeholder credential IDs and tokens. For improved security, use credentials instead of hardcoding the API token placeholder in the HTTP Request node.
  Test with sample data (e.g., "Coffee Shop" in California, US)
  Activate the workflow and use the form for submissions

  🛠 How to Customize

  Modify Geographic Scope
  Add countries to the form dropdown
  Customize Claude prompts for city generation
  Adjust search logic for international markets

  Enhance Data Collection
  Add more fields from Bright Data
  Include revenue, employee count, social profiles

  Improve Duplicate Detection
  Use fuzzy matching for similar names
  Include address-based checks

  Customize Output Format
  Transform data for CRM compatibility
  Export to CSV, database, or multiple destinations

  Implement Advanced Features
  Integrate email finder services
  Include lead scoring logic
  Discover social media profiles

  Batch Processing Optimization
  Adjust batch sizes per Bright Data limits
  Use parallel processing and retry logic

  Integration Options
  Connect to CRMs like HubSpot or Salesforce
  Trigger email automation
  Integrate with marketing platforms

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.stickyNote","@brightdata/n8n-nodes-brightdata.brightData","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6344 characters]


name: Auto-Publish Latest News on X with AI Content Generation using Keywords and Bright Data
author_name: Dvir Sharon
author_username: dvirsharon
categories: []
created_at: 2025-06-01T11:55:19.435Z
updated_at: 2025-06-01T11:55:19.435Z
url: https://n8n.io/workflows/4556
scraped_at: 2025-12-24 13:02:42
description:
  📰 Publish Latest News on X and Other Social Media Platforms Using Keyword

  A comprehensive n8n automation that fetches the latest news based on keywords, generates AI-powered social media content, and automatically publishes to X (Twitter) with complete tracking and notification systems.

  📋 Overview

  This workflow provides a professional news publishing solution that automatically discovers breaking news, creates engaging social media content using AI, and publishes to X (Twitter) with comprehensive tracking. Perfect for news organizations, content creators, social media managers, and businesses wanting to stay current with automated news sharing. The system uses BrightData's Google News dataset, OpenAI's GPT-4o for content generation, and multi-platform integration for complete automation.

  ⭐ Key Features

  📝 Form-Based Input**: Clean web form for keyword and country submission
  📰 Real-Time News Fetching**: BrightData Google News integration for latest articles
  🤖 AI Content Generation**: GPT-4o powered tweet creation with hashtags
  📱 Auto X Publishing**: Direct posting to X (Twitter) with URL tracking
  📊 Complete Tracking**: Google Sheets logging of all published content
  🔔 Email Notifications**: Success alerts with tweet links
  🌍 Multi-Country Support**: Localized news for US, India, UK, Australia
  ⚡ Status Monitoring**: Real-time progress tracking with retry logic
  🛡 Error Handling**: Robust error management and validation
  🔄 Loop Management**: Intelligent waiting for news processing completion

  🎯 What This Workflow Does

  Input:

  News Name**: Keyword or topic for news search (required)
  Country**: Target country for localized news (dropdown: US/IN/GB/AU)

  Processing:

  Form Submission: Captures news keyword and target country
  News Triggering: Initiates BrightData Google News scraping job
  Status Monitoring: Checks scraping progress with intelligent retry loop
  Data Retrieval: Fetches latest news articles when ready
  AI Content Creation: Generates engaging tweet content using GPT-4o
  Social Publishing: Posts content to X (Twitter) automatically
  URL Generation: Creates direct tweet links for tracking
  Data Logging: Saves content and URLs to Google Sheets
  Email Notification: Sends success confirmation with tweet link
  Completion: Workflow ends with full audit trail

  📋 Output Data Points

  | Field         | Description                         | Example                                                                                                |
  | :------------ | :---------------------------------- | :----------------------------------------------------------------------------------------------------- |
  | TweetMessage  | AI-generated social media content | "Breaking: AI revolution transforming healthcare with 40% efficiency gains. New study shows promising results in patient care automation. #AI #Healthcare #Innovation #TechNews #US" |
  | TweetURL      | Direct link to published tweet      | https://twitter.com/i/web/status/1234567890123456789                                                 |

  🛠️ Setup Instructions

  Prerequisites:

  n8n instance (self-hosted or cloud)
  X (Twitter) account with API v2 access
  OpenAI account with GPT-4o access
  Gmail account for notifications
  Google account with Sheets access
  BrightData account with Google News dataset access
  Basic understanding of social media automation

  Step 1: Import the Workflow

  Copy the JSON workflow code from the provided file.
  In n8n, click "+ Add workflow".
  Select "Import from JSON".
  Paste the workflow code and click "Import".
  The workflow will appear with all nodes properly connected.

  Step 2: Configure API Credentials

  X (Twitter) API Setup:

  Create X Developer Account at developer.twitter.com.
  Create new app and generate API keys.
  In n8n: Credentials → + Add credential → Twitter OAuth2 API.
  Add your Twitter API credentials:
      API Key
      API Secret Key
      Bearer Token
      Access Token
      Access Token Secret
  Test the connection with a sample tweet.

  OpenAI API Configuration:

  Get API key from platform.openai.com.
  Ensure GPT-4o model access is available.
  In n8n: Credentials → + Add credential → OpenAI API.
  Add your OpenAI API key.
  Verify model access in the "OpenAI Chat Model" node.

  Gmail Integration:

  Create "Gmail OAuth2" credential.
  Follow OAuth setup process.
  Grant email sending permissions.
  Test with sample email.

  BrightData News API:

  The workflow uses pre-configured token: 5662edde-6735-4c5d-a6c6-693043a5a9a5.
  Dataset ID: gd_lnsxoxzi1omrwnka5r (Google News).
  Verify access to Google News dataset.
  Test API connection.

  Google Sheets Integration:

  Create "Google Sheets OAuth2 API" credential.
  Complete OAuth authentication.
  Grant read/write permissions.
  Test connection.

  Step 3: Configure Google Sheets Integration

  Create Google Sheets Structure:
      Sheet Name: "Publish Latest News on Social Media Platforms Using Keyword"
      Tab: "Data" (default)
      Columns:
          Tweet Message: AI-generated content posted to X
          Tweet URL: Direct link to published tweet
  Sheet Configuration:
      Create new Google Sheet or use existing one.
      Add the required column headers.
      Copy Sheet ID from URL: https://docs.google.com/spreadsheets/d/SHEET_ID_HERE/edit.
      Current configured Sheet ID: 1koxNrwdeuaSBdREuKc7JQh3d9blEk0sQDJ8VgVLjPOo.
  Update Workflow Settings:
      Open "Google Sheets" node.
      Replace Document ID with your Sheet ID.
      Select your Google Sheets credential.
      Choose "Data" sheet/tab.
      Verify column mapping is correct.

  Step 4: Configure Form Interface

  Form Settings:

  Open "On form submission" node.
  Form configuration:
      Title: "News Publisher"
      Description: "publish latest news to direct social media"
      Fields:
          News Name (text, required)
          Country (dropdown: US, IN, GB, AU, required)
      Webhook URL: Copy webhook URL from form trigger node.
      Current webhook ID: 8d320705-688c-4150-a393-cf899d2bbb52.
      Test form accessibility and submission.

  Step 5: Configure Email Notifications

  Gmail Setup:

  Open "Gmail" node.
  Update recipient email: raushan@iwantonlinemarketing.com.
  Email template includes:
      Success confirmation
      Direct tweet link
      Professional formatting
  Test email delivery.

  Step 6: Test the Workflow

  Sample Test Data:

  Use these examples for testing:

  | News Name             | Country | Expected Results                                   |
  | :-------------------- | :------ | :------------------------------------------------- |
  | artificial intelligence | US      | Latest AI news with US-specific hashtags           |
  | cricket world cup     | IN      | Sports news with India-focused content            |
  | brexit update         | GB      | UK political news with British hashtags            |
  | bushfire news         | AU      | Australian environmental news                      |

  Testing Process:

  Activate the workflow (toggle switch).
  Navigate to the webhook form URL.
  Submit test data.
  Monitor execution progress:
      News fetching (30-60 seconds)
      AI content generation (10-15 seconds)
      X publishing (5-10 seconds)
      Sheet update and email (5 seconds)
  Verify results in all platforms.

  📖 Usage Guide

  Using the Form Interface

  Navigate to the webhook URL provided by the form trigger.
  Enter news keyword or topic (e.g., "climate change", "stock market", "technology").
  Select target country from dropdown.
  Click submit and wait for processing.
  Check email for success notification with tweet link.

  Example Inputs to Test

  | News Name                         | Country | Expected                                               |
  | :-------------------------------- | :------ | :----------------------------------------------------- |
  | "artificial intelligence breakthrough" | "US"    | Latest AI developments with tech hashtags              |
  | "football premier league"         | "GB"    | UK football news with sports hashtags                  |
  | "stock market updates"            | "IN"    | Indian market news with finance hashtags                |
  | "hollywood movies"                | "AU"    | Entertainment news with Australian perspective         |

  Country-Specific Considerations

  United States (US)**:
      Focus on national news and global impact.
      Hashtags: #USA, #American, #Breaking, #News.
      Time zone considerations for optimal posting.
  India (IN)**:
      Emphasis on regional relevance.
      Hashtags: #India, #Indian, #News, #Breaking.
      Cultural context in content generation.
  United Kingdom (GB)**:
      British perspective and terminology.
      Hashtags: #UK, #British, #News, #Breaking.
      Focus on European context.
  Australia (AU)**:
      Australian angle and regional focus.
      Hashtags: #Australia, #Australian, #News, #Breaking.
      Pacific region context.

  📊 Reading the Results

  Google Sheets Data

  The output sheet contains:

  Complete tweet content with hashtags and formatting.
  Direct tweet URLs for easy access and sharing.
  Chronological record of all published content.
  Audit trail for content management.

  Email Notifications

  Success emails include:

  Confirmation that content was published.
  Direct link to view the tweet.
  Professional formatting for easy reference.

  X (Twitter) Posts

  Published content features:

  AI-optimized messaging within 260 character limit.
  Relevant hashtags based on topic and country.
  Engaging format designed for social media.
  Professional tone suitable for news sharing.

  🔧 Customization Options

  Expanding Social Media Platforms

  Add more platforms to the publishing workflow:

  // Add LinkedIn publishing
  {
    "node": "LinkedIn",
    "type": "n8n-nodes-base.linkedin",
    "parameters": {
      "text": "={{ $json.output }}",
      "additionalFields": {}
    }
  }
  // Add Facebook posting
  {
    "node": "Facebook",
    "type": "n8n-nodes-base.facebook",
    "parameters": {
      "pageId": "YOUR_PAGE_ID",
      "message": "={{ $json.output }}"
    }
  }

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.formTrigger","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.twitter","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4744 characters]


name: Intelligent Email Organization with AI-Powered Content Classification for Gmail
author_name: Niranjan G
author_username: niranjan
categories: []
created_at: 2025-06-01T12:02:07.509Z
updated_at: 2025-06-01T12:02:07.509Z
url: https://n8n.io/workflows/4557
scraped_at: 2025-12-24 13:02:41
description:
  This workflow leverages AI to intelligently analyze incoming Gmail messages and automatically apply relevant labels based on the email content.

  The default configuration includes the following labels:

  Newsletter**: Subscription updates or promotional content.
  Inquiry**: Emails requesting information or responses.
  Invoice**: Billing and payment-related emails.
  Proposal**: Business offers or collaboration opportunities.
  Action Required**: Emails demanding immediate tasks or actions.
  Follow-up Reminder**: Emails prompting follow-up actions.
  Task**: Emails containing actionable tasks.
  Personal**: Non-work-related emails.
  Urgent**: Time-sensitive or critical communications.
  Bank**: Banking alerts and financial statements.
  Job Update**: Recruitment or job-related communications.
  Spam/Junk**: Unwanted or irrelevant bulk emails.
  Social/Networking**: Notifications from social platforms.
  Receipt**: Purchase confirmations and receipts.
  Event Invite**: Invitations or calendar-related messages.
  Subscription Renewal**: Reminders for subscription expirations.
  System Notification**: Technical alerts from services or systems.

  You can customize labels and definitions based on your specific use case.

  How it works:

  The workflow periodically retrieves new Gmail messages.
  Only emails without existing labels, regardless of read status, are sent to the AI for analysis.
  Email content (subject and body) is analyzed by an AI model to determine the appropriate label.
  Labels identified by the AI are applied to each email accordingly.

  Note: This workflow performs 100% better than the default Gmail trigger method, which is why the workflow was switched from Gmail trigger to a scheduled workflow. By selectively processing only unlabeled emails, it ensures comprehensive labeling while significantly reducing AI processing costs.

  Setup Steps:

  Configure credentials for Gmail and your chosen AI service (e.g., OpenAI).
  Ensure labels exist in your Gmail account matching the workflow definitions.
  Adjust the AI prompt to match your labeling needs.
  Optionally customize the polling interval (default: every 2 minutes).

  This workflow streamlines your email management, keeping your inbox organized effortlessly while optimizing resource usage.

nodes_used:
  ["n8n-nodes-base.splitInBatches","n8n-nodes-base.noOp","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.gmail","n8n-nodes-base.compareDatasets","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 5840 characters]


name: Generate Complete Business Plans with Customizable AI Models and Specialized Agents
author_name: Sina
author_username: sina2266
categories: []
created_at: 2025-06-01T12:06:15.823Z
updated_at: 2025-06-01T12:06:15.823Z
url: https://n8n.io/workflows/4558
scraped_at: 2025-12-24 13:02:43
description:
  👔 Who is this for?
  Entrepreneurs and startup founders preparing for investors  
  Business consultants drafting complete client plans  
  Strategy teams building long-term business models  
  Accelerators, incubators, or pitch trainers  

  ❓ What problem does this workflow solve?
  Writing a full business plan takes days of work, multiple tools, and often gets stuck in messy docs or slides. This template automates every major section, generating a clean, detailed, and professional business plan with AI in just minutes.

  ⚙️ What this workflow does
  Starts with a chat message asking for your business idea or startup concept  
  Passes the idea through 83 intelligent agents, each handling a full business plan chapter:
    Executive Summary  
    Problem & Solution  
    Product Description  
    Market Research  
    Competitor Analysis  
    Business Model  
    Marketing Strategy (includes guerrilla ideas)  
    Operational Plan  
    Financial Plan  
    Team & Advisors  
    Roadmap  
    Conclusion & Next Steps  
  Each section uses tailored prompts and business logic  
  Combines all outputs into a structured, professional Markdown file  
  Final result: a ready-to-export business plan in seconds  

  🛠️ Setup
  Import this template into your n8n instance  
  Replace the “LLM Chat Model” node with your preferred model (Ollama, GPT-4, etc.)  
  Start from the chat input node — describe your startup or idea  
  Wait for all agents to finish  
  Download the final Business plan file 

  🤖 LLM Flexibility (Choose Your Model)
  Supports:
    OpenAI (GPT-4 / GPT-3.5)
    Ollama (LLaMA 3.1, Mistral, DeepSeek, etc.)
    Any compatible N8N chat model  
  To change the model, just replace the “Language Model” node — no other updates required  


  📌 Notes
  All nodes are clearly named by function (e.g., “Market Research Generator”)  
  Sticky notes included for clarity  
  Generates high-quality plans suitable for VCs or accelerators  
  Modular: you can turn off or reorder any chapter  

  📩 Need help?
  Email: sinamirshafiee@gmail.com  
  Happy to support setup, LLM switching, or custom section development.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.convertToFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOllama","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 40344 characters]


