# templates

name: AI Newsletter Builder: Crawl Sites with Dumpling AI, Summarize with GPT-4o
author_name: Yang
author_username: yang
categories: []
created_at: 2025-05-14T01:17:44.194Z
updated_at: 2025-05-14T01:17:44.194Z
url: https://n8n.io/workflows/4030
scraped_at: 2025-12-24 13:02:43
description:
  Who is this for?

  This workflow is built for newsletter writers, marketers, content creators, or anyone who curates and summarizes web articles. It’s especially helpful for virtual assistants and founders who need to quickly turn web content into digestible, branded newsletters using AI.

  What problem is this workflow solving?

  Manually reading, summarizing, and formatting multiple articles into a newsletter takes time and focus. This workflow automates the process using Dumpling AI for crawling, GPT-4o for summarization, and Gmail for delivery—so you can go from raw URLs to a polished email in minutes.

  What this workflow does

  Starts manually (can also be scheduled)
  Reads a list of article URLs from Google Sheets
  Sends URLs to Dumpling AI to crawl and extract content
  Splits each article into a single item for processing
  Uses a Code node to clean and structure article data
  Uses an Edit Fields node to merge articles into one JSON block
  GPT-4o summarizes and generates HTML content for the newsletter
  Sends the formatted newsletter via Gmail

  Setup

  Google Sheets
     Create a sheet with a column (A) for article URLs
     Update the Read URLs from Google Sheet node to use your Sheet ID and tab name
     Connect your Google account in the credentials

  Dumpling AI
     Sign up at https://app.dumplingai.com
     Create an agent for web crawling under /crawl
     Add your Dumpling API key in the HTTP headers of the Crawl Content with Dumpling AI node

  Split Node
     Breaks apart the array of articles from Dumpling AI so each article is processed individually

  Code Node
     Structures each article as JSON with title, url, and cleaned text content

  Edit Fields Node
     Gathers all structured articles back into a single JSON array to prepare for AI summarization

  OpenAI (GPT-4o)
     Processes the article list and returns a formatted subject line and HTML newsletter content

  Gmail
     Connect your Gmail account to send the AI-generated newsletter to your inbox or team
     Update the recipient field in the Send HTML Email via Gmail node

  How to customize this workflow to your needs

  Replace the manual trigger with a Schedule node to send newsletters weekly
  Modify the GPT-4o prompt to change tone (e.g., more professional, funny, casual)
  Add filtering logic to skip low-value articles
  Connect Slack, Airtable, or Notion for internal team usage
  Change Gmail to SendGrid or Outlook if preferred

  Final Notes

  This workflow uses:
  Dumpling AI** /crawl endpoint to extract article content
  Split, **Code, and Edit Fields nodes to format multi-article input
  GPT-4o** for summarization and HTML formatting
  Gmail** for delivery

  This setup eliminates manual steps and delivers fast, consistent newsletters powered by AI.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Cold Outreach Automation: Scrape Local Leads with Dumpling AI & Call via Vapi
author_name: Yang
author_username: yang
categories: []
created_at: 2025-05-14T01:34:16.860Z
updated_at: 2025-05-14T01:34:16.860Z
url: https://n8n.io/workflows/4031
scraped_at: 2025-12-24 13:02:42
description:
  Who is this for?

  This template is for sales teams, agencies, or local service providers who want to quickly generate cold outreach lists and automatically call local businesses with a Vapi AI assistant. It’s perfect for automating cold calls from scraped local listings with no manual dialing or research.

  What problem is this workflow solving?

  Finding leads and initiating outreach calls can be time-consuming. This workflow automates the process: it scrapes business listings from Google Maps using Dumpling AI, extracts phone numbers, filters out incomplete data, formats the numbers, and uses Vapi to make outbound AI-powered calls. Every call is logged in Google Sheets for follow-up and tracking.

  What this workflow does

  Starts manually and pulls search queries (e.g., "plumbers in Austin") from Google Sheets.
  Sends each query to Dumpling AI’s Google Maps scraping endpoint.
  Splits the returned business data into individual leads.
  Extracts key info like business name, website, and phone number.
  Filters to only keep leads with valid phone numbers.
  Formats phone numbers for Vapi dialing (adds +1).
  Calls each business using Vapi AI.
  Logs each successful call in a Google Sheet.

  Setup

  Google Sheets Setup
     Create a sheet with business search queries in the first column (e.g., best+restaurants+in+Chicago)
     Make sure the tab name is set and authorized in your credentials.
     Connect your Google Sheets account in the Get Search Keywords from Google Sheets node.

  Dumpling AI Setup
     Go to dumplingai.com   
     Generate an API Key and connect it as a header token in the Scrape Google Map Businesses using Dumpling AI node

  Vapi Setup
     Sign into Vapi and create an assistant
     Get your assistantId and phoneNumberId
     Insert these into the JSON payload of the Initiate Vapi AI Call to Business node
     Add your Vapi API key to the credentials section

  Call Logging
     Create another tab in your sheet (e.g., “leads”) with these headers:
       company name
       phone number
       website
     This will be used in the Log Called Business Info to Sheet node

  How to customize this workflow to your needs

  Modify the business search terms in your Google Sheet to target specific industries or locations.
  Add filters to exclude certain businesses based on ratings, keywords, or location.
  Update your Vapi assistant script to match the type of outreach or pitch you’re using.
  Add additional integrations (e.g., CRM logging, Slack notifications, follow-up emails).
  Change the trigger to run on a schedule or webhook instead of manually.

  Nodes and Functions Breakdown

  Start Workflow Manually: Initiates the automation manually for testing or controlled runs.
  Get Search Keywords from Google Sheets: Reads search phrases from the spreadsheet.
  Scrape Google Map Businesses using Dumpling AI: Sends each search query to Dumpling AI and receives matching local business data.
  Split Each Business Result: Breaks the returned array of businesses into individual records for processing.
  Extract Business Name, Phone and website: Extracts title, phone, and website from each business record.
  Filter Valid Phone Numbers Only: Ensures only entries with a phone number move forward.
  Format Phone Number for Calling: Adds a +1 country code and strips non-numeric characters.
  Initiate Vapi AI Call to Business: Uses the business name and number to initiate a Vapi AI outbound call.
  Log Called Business Info to Sheet: Appends business details into a Google Sheet for tracking.

  Notes

  You must have valid API keys and authorized connections for Dumpling AI, Google Sheets, and Vapi.
  Make sure to handle API rate limits if you're running the workflow on large datasets.
  This workflow is optimized for US-based leads (+1 country code); adjust the formatting node if calling internationally.

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

workflow_json_compressed:
  H4sIAAAAAAAAE+1Z2XLbyBX9lS54KrLLBIV9YZUrZcn2jGdsySPJO1V2o7tBYgQCMBZKsoqfkKe8J7+YT8i93SAJSqREzUxSeciLRADdd1/O7b7SEq4NtFHzfWqOLy8vvr2xD94HmdbTJqKm2uBKS7KqphkTL3EdNalwWcCZxzxXeL4Th8wOHZ8bgU0jxnwnFLHlOh6P4zB24tgwuXC4R21PRLHwgG4tJkVKa7FfCl4di7op9nN4I2oBDOqyEbOeltGJAG77ecrJYVOXgrIxedrU+YTWSZ4NyDEraSHIq5zRlLwSlFfkPKnH5FkDpJJsRJ6+JH8h+zRNyTSh5B0tEmRNR5U2+HwKDHIu8OeVUl8w048cx9Y9HnHd8ZipB7Zt6n7oM+FZoREYprYQ67hO2NklOchrgUQvC3yZBZkuqeoRrUS/kmvaJUVeJSg3MNQDz+jpoWGAEAUtgWAtygrtfJ7weqwN4FNPG4tkNK61gW3BA8uzWmTwpD148ID8659//xv5UdSt7ntNlWSiqsgzWlMSl/mE/Jjno1SQ17S4aZRhNsxOxoKc5+VZnObnJBIjcDCZ0KwBY10SmnFSNGlaEUrSpKpJHq8QrAQtwRffGlEmoiIP0+RMkKEWCVhapM0kAm1IkpH9ccLoKB9qj1aEOh4LUVd9AjJUYkGFlgIIZzWp866wOxX5qvjpI7ldn9DiKxEZL/Ikq3vkHJiMSSVjoSJRawqB6tRsjERq0BUMPFEsSSmqIs+AcwKaAJsaRAWeScaTacLBAgsiwKVG2frkKYEgJehaIi7qkrK6kmQXKzEqlN3GeSZIJo1A4rwkMmyBZ5PWfbS8Tr4e17Ssyfu5+V+3dv86IHvoCVKUOQOici16+VjZ+xdxCS6DKL9pTNj6RjqsdY1UlzwU/VG/B56p84JwUAZ8KR1z8BF8okRRObT07iKYBBJ9i4bs5hMYiuVpKli91D3J4lwRk9Z8jgovQvJIao6qQQKfVR3ro9FhEfK9bnBJ7bky9JLUwdzGb9DGqHIpIH06Xr/FDZAnqMMw02YqXd9BkMp0NGe9tgK4tgP1zLX1wHEs3WGU6lHkC526oR/Zvh/yyOhWgLVe3FgNVHqdlMloJMrrBQFyXHeDGwVhs6yGb0WUxqEemDzQnTAI9dB2HaBkxYYVWXFoWUtZt4uijaKrzFss6kruGesl1/ICl7RKVLj1QMpypX35UqaqykODASbAD6sMEJ7StMFH+MkgigRX0fMW12vjui6qwe4uz1nVStRn+WS3Kkqs/VK4Xb5r/vrh05n3LBi/t8I4bCaQCB+nX34Snz4e/fL+8Lfq4pC++GTtfaob++Ou4En9YJTwJ8Y1lgetj5GqiSEDXJsJhCd2wP85Ff7aVMUTXiZTUfGz9ZqkyECbgSYMei7WAppKP3V9ewjtdWw9hT45aMPsR/rzt59/ao7dya8XtPC/dUKqGzmEMpY30J9m1yPW6bvLmDUgr/wo0EXAfd2JrUCPDFvoTuS4YWxRP7KiTn7dUpoI/hp1K9PG2EWbHwnoMtI93dC1gw2h26w4ixZFn7eMaCL9BUhid2rutn0JGlKlsNI4RzXfHB6fwPMyATSweFJCzbz2e4bW+q3Ks72cX8LGJ1fDjEC5xpZ4OdQGQ+3qivyAC/pvj15VZDYbalDO5ZqUZqOGjgQsgyeRDbVhNgOu0EK5IqeiE59/At9L1dpXhWBJfNkyRfKwj4LnMSoYVebRRiKDxsz2F9Fygubtzd9jpJwog6OhFAt8qSFywYc3KzbtWvjz1ex0TSReozMPQXd/b/r9w/6r387ff9//+ej5MkLA01+gjYhRqYReE3zWIvgsUwjuCa4zGjq6E0SmTk3P0U1qBI4pmO173eDb2Mo2oz3cAkD1WpSZ3jYFMk5Eyk/y4zmNgQb4GEDAbd1KxJHrUFM3osAAvArdKvBMrlsidu3Y8ELa7QBru2lPtVLZMc9FBELfAmbFNc220otWVTLKsHDKbyuPc+Dth4yFJvN0K0Dg7YNKAWBwPQphYPBCN3CsYKnIDTkrgAzZqFN6nyyypl0LiaMtzOZTw3HdCMhbtqs7wrB1GtpcN4Qd2WbkGDzumE3iiAMJI7bi2Fm/wpU6wIObsR45IXBlhqmHMC0Bf8f0KaOBEbMl1zqp0+00lCslp9Mb0W/3nQX/ECLccRxg6ERQcH0z0oPY4rowQyt2g8gIXL7k/yJJwZswMaVJi7bIQQvrD7NbIE4s962GibWpyq7ECcw3PFnUy07pnM61sXrQw+L6Xbe/VuJYZMhpKubFTVoA5Z7XMTQeVFvJYxIlGa3zEh2Sob5dtvNw5DQybdMQuud6HjjI9/XIpJ5ue5bt2ZElDMuV5V2UitbVDT+pb4q/uEDUjZVZYt1W/nbG7Wq0MYh6WomT4ELzNa62OoXO97npGszWDRhZwd/QYGkchTqzhEl9xxAwn3dcnZcwKK04WeLlfYWXty8H7lZAcJt6APnJHQal2TNjG8CBDdA2cpluuwDGQ9cP7LgTq7FUoBZcqnBH0uw8NnfIY2Xmz8Nudg+10z6ME1h0H+4Oh892Rz2ys/Noi9QyeSSs0IPG4lgwNVDhgYVgavAi7sMng7qiY++XGRiMQk3C4wicqOT5BIxC88K8JZDJs+dlKSMZjwaSrBHyGXpHcb0F+RuGixs4J+lP8Q9NdnFa+lMhDWuqOp8AX8Qrn/EdIVfqH37OWh8gllmkwapnJfjp7AA91HpEPvhuhv9Oe4ofBhYeWQFen69qv3R8fuPbYtchlJ0yAdPjglbOIURSmdCozeHuJ/x4sBAIFXi4c0cN3XnUh8406a9U8YWGUpfZBkT3n4VvW+My74MVOUev3h1F34OXzqdOi5YnbbeCsZj5hssDD5pgBDljmZji8MewXcNzYURw3A4Ye5WPZJoIvoQvL7M4x7SR88fvGFxDB5LCW3MEx/K0mbS9R1WOqwXmaIv0w51t0dSKlztoRDajgmaXpFXxj9BdYICetnLssSR7R5FfobaadQrEaBXMkxO6LNEr0t8suTwBMEwXEVuKST7Fk90YIko+f2ugYCxftOvbUfUacS5iCrj7NR7nLXYwmu2Jt5UAzNx+UB21lW/VDn+2gNep/x4JN8PYPybbku59pIIsgCm2AAFeq9MM2AwBuCfS/Bz7QHuUuj/PDTw+xyCZFPVJvp9nUC5rLCfVkpF6+QLnmgoGG6Wd+jrrrYKCLlwCKYSEZvc7MgLE5gam4Znmf/3oaMn61pOX+x8h3Uec/x833TxuErYhDN8A5O7bCMysWA/M2NK5awjPNhxA851Jr3OhY977RsfcdKED3QRBmt27x9XOP+Qtly6BYefIC8v/CXSHs/YgosLbhM53vObJm5pMJeLo1ih1uaKGM+ihsGjlRkNVfHWhMd+A3QGPVspMJiZNCQcP4lFbe6lAOa/IY1MufHv8SF2tzDHtAkchzQwIKcyL90lKLtaCXnk5Mj+977WnejcvVpJMvqxYmRQoe4zICt8gnZ4SXDZKJX5P2kryACnqRumf5qMRaA9c6cqxt1QhzlModXpTEHiAOSAvAVOP5hc2d2C5rwPyPKsavIlYaQ1q9FMUbu/AQOEpGpTlJQJpaWwCWRonF3L7nVMDEGhvFir0bwTZwXEd695+SlJ3gikgdSSYvCKoGoYXUXGTIlF1A4tSI0g5k7cpa+9TsDkwNZS33QCmRbSnTAlxIViDQXVYAqSEsJ/KA/Z20H+pRvAgEFQEuuHaeLTlO3pAY6qboccCTv3Y8WM1vWdgrflIsulCBj5NaIJpCvAlU6X2vhcikkBPSzIuLrSBMTs9BZFvOSRcx/P+R3Brud51OLOO9dZT/nqOd+xex/Eec+5annfvX8f1HpPCWq5bhsU61r/3umKtHFuHylpnb3t6tz6o76fHWlNscXi+hvds9m+xi9HiiSIAAA==


name: AI Competitor Review Analyzer with Dumpling AI + GPT-4o + Google Sheets
author_name: Yang
author_username: yang
categories: []
created_at: 2025-05-14T01:55:29.897Z
updated_at: 2025-05-14T01:55:29.897Z
url: https://n8n.io/workflows/4032
scraped_at: 2025-12-24 13:02:45
description:
  Who is this for?

  This workflow is perfect for marketers, SEO specialists, product teams, and competitive analysts who want to monitor and summarize public reviews of their competitors. It’s especially helpful for small teams who want fast insights from Google reviews without spending hours manually reading and sorting them.

  What problem is this workflow solving?

  Manually going through competitor reviews is time-consuming and repetitive. You risk missing patterns or insights, and it’s hard to share summaries with your team quickly. This workflow automatically scrapes reviews from Google and generates a structured summary of pain points and positive feedback. That way, you can focus on strategy instead of sorting through dozens of reviews.

  What this workflow does

  This automation watches for new competitor entries in a Google Sheet, then:

  Uses Dumpling AI to scrape the latest Google reviews (up to 20) for each business.
  Splits and cleans the reviews for analysis.
  Sends them to GPT-4o, which summarizes the most common complaints and praises.
  Saves the structured result back to the same Google Sheet.

  You’ll instantly get an overview of what people are saying about any competitor.

  Setup

  Google Sheet Setup
     Create a Google Sheet with at least one column: Business
     Add names or search queries for the competitors you want to analyze
     Optional: Add columns for Summary of Reviews and Pain Points

  Connect Dumpling AI
     Sign up at Dumpling AI
     Create an agent using the get-google-reviews endpoint
     Copy your agent key
     Use it in the HTTP Request node in this workflow

  OpenAI Setup
     Use your API key with GPT-4o access
     The prompt is already structured to generate grouped summaries from reviews

  Run the Workflow
     Trigger it manually or schedule it
     Make sure your Google Sheets, OpenAI, and Dumpling AI connections are active

  How to customize this workflow to your needs

  You can expand the number of reviews retrieved by changing the Dumpling AI agent config
  Replace Google Sheets with Airtable if you want more robust data views
  Add more fields like star ratings or review dates in your agent for richer analysis
  Change the GPT prompt to highlight emotional tone, urgency, or feature mentions

  🧠 Node Details

  Google Sheets Trigger**: Watches for new competitor names
  HTTP Request (Dumpling AI)**: Scrapes 20 recent reviews from Google
  SplitOut Node**: Breaks review array into individual items
  Code Node**: Extracts and combines review text
  Edit Fields Node**: Structures the review content before GPT
  GPT-4o Node**: Analyzes and summarizes top pain points and praise
  Google Sheets Output**: Saves the summary back to the same sheet

  Dependencies

  Dumpling AI account and review scraping agent setup
  OpenAI API key with GPT-4o access
  Google Sheets OAuth2 credentials

nodes_used:
  ["n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: AI-Powered Blog Post Promoter for Instagram, Facebook & X with GPT
author_name: LukaszB
author_username: lukaszb
categories: []
created_at: 2025-05-14T03:30:08.605Z
updated_at: 2025-05-14T03:30:08.605Z
url: https://n8n.io/workflows/4033
scraped_at: 2025-12-24 13:02:44
description:
  AI Social Media Promoter – Automated Blog Sharing Workflow
  This workflow is built for bloggers, creators, and marketing teams who want to automatically promote new blog content across Instagram, Facebook, and X (Twitter). Its core purpose is to detect new blog posts from your RSS feed and instantly create platform-specific social media posts — complete with AI-generated captions and visuals — to drive traffic from social media back to your blog. Everything runs on autopilot: from detecting a new article to posting eye-catching content on each platform, while logging actions to Google Sheets and sending post previews by email. The result is a consistent and professional online presence with zero manual effort.

  How it works
  Once a new blog post appears in your RSS feed, the workflow kicks in. It checks Google Sheets to ensure the post hasn’t already been published. Then it calls GPT-4 to generate unique captions for Instagram, Facebook, and X, based on the post content and your brand’s tone. Simultaneously, OpenAI's GPT-Image generates a custom visual in the right format (square, portrait, or landscape). The workflow then publishes the complete posts using the Meta Graph API (for IG/FB) and X API (Twitter). All actions are logged in a Google Sheet, and a formatted email summary with images is sent to your inbox for review.

  How to set up
  To get started, connect the required APIs: OpenAI (for text and images), ImgBB or Cloudinary (for image hosting), Meta (Instagram/Facebook), X (Twitter), Google Sheets, and Gmail. Replace placeholder values in HTTP request nodes — such as your RSS URL, API keys, or spreadsheet ID. You can personalize the prompt content with your blog name, tone of voice, and call-to-action. Once connected, the system is fully automated. You can run it manually, or schedule it to check your blog daily with a Schedule Trigger node.

nodes_used:
  ["@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.rssFeedReadTrigger","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.twitter","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote"]

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


name: Automated Daily Backup of n8n Workflows to GitLab Repositories
author_name: Akhil Varma Gadiraju
author_username: akhilv7
categories: []
created_at: 2025-05-14T06:06:07.562Z
updated_at: 2025-05-14T06:06:07.562Z
url: https://n8n.io/workflows/4035
scraped_at: 2025-12-24 13:02:44
description:
  n8n Workflow: Sync Workflows with GitLab

  How It Works

  This workflow ensures that your self-hosted n8n workflows are version-controlled in a GitLab repository. It compares each current workflow from n8n with its stored counterpart in GitLab. If any differences are detected, the GitLab file is updated with the latest version.

  Core Logic:
  Retrieve Workflows – Fetch all workflows from the n8n REST API.

  Compare with GitLab – For each workflow, fetch the corresponding file from GitLab and compare the JSON.

  Update if Changed – If differences exist, commit the updated workflow to GitLab using its API.

  Setup

  Before using the workflow, ensure the following:

  Prerequisites:
  n8n**: Self-hosted instance with access to the /rest/workflows API.

  GitLab**: A repository where workflows will be stored, and a Personal Access Token (PAT) with api and write_repository permissions.

  n8n Nodes Required**:
    HTTP Request (to call n8n and GitLab APIs)
    Code or Function nodes (for diffing and formatting)
    Looping (SplitInBatches or similar)

  Configuration:
  Set environment variables or workflow credentials for:
    GITLAB_TOKEN
    GITLAB_REPO
    GITLAB_BRANCH (e.g., main)
    GITLAB_FILE_PATH_PREFIX (e.g., n8n-workflows/)

  How to Use

  Import the Workflow into your n8n instance.

  Configure GitLab API Credentials:
     Set the GitLab PAT as a header in the HTTP

  Request node:  
       Private-Token: {{ $env.GITLAB_TOKEN }}

  Map Workflows to GitLab Paths:
     Use the workflow name or ID to create the file path. Example:  
       n8n-workflows/workflow-name.json

  Trigger the Workflow:
     Can be manually triggered, or scheduled to run at intervals (e.g., daily).
     
  Review Commits in GitLab:
     Each updated workflow will be committed with a message like:  
       "Update workflow: Sample Workflow"

  Disclaimer

  This workflow does not handle merge conflicts or manual edits made directly in GitLab. Always ensure proper coordination if multiple sources are modifying workflows.
  Only structural changes are tracked. Non-functional metadata (like timestamps or IDs) may trigger false positives unless filtered.
  Use at your own risk. Test in a safe environment before applying to production workflows.

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.splitInBatches","n8n-nodes-base.gitlab","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.noOp","n8n-nodes-base.gitlab","n8n-nodes-base.extractFromFile","n8n-nodes-base.switch","n8n-nodes-base.gitlab","n8n-nodes-base.noOp","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.n8n","n8n-nodes-base.set","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.gitlab"]

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


name: Claude 3.7 Sonnet AI Chatbot Agent with Anthropic Web Search and Think Functions
author_name: Davide
author_username: n3witalia
categories: []
created_at: 2025-05-14T09:17:36.639Z
updated_at: 2025-05-14T09:17:36.639Z
url: https://n8n.io/workflows/4036
scraped_at: 2025-12-24 13:02:43
description:
  This workflow builds a conversational AI chatbot agent using Claude 3.7 Sonnet model with the new . It enhances standard LLM capabilities with Anthropic’s features: Web Search and Think:

  Real-time web search**, to answer up-to-date factual queries.
  A “Think” function, to support internal reasoning and memory-like behavior by Anthropic.
  A memory buffer, allowing the agent to maintain conversation history.
  A system prompt defining clear ethical, functional, and formatting rules for interaction.

  When a user sends a message (trigger), the chatbot evaluates the query, optionally performs a web search if needed, processes the result using Claude, and responds accordingly.

  ✅ Advantages

  🧠 Enhanced Reasoning Abilities**
    The Think tool allows the agent to simulate deep thought processes or contextual memory storage, improving conversational intelligence.

  🌐 Real-Time Knowledge via Web Search**
    The integrated web_search tool enables the agent to fetch the latest information from the internet, making it ideal for dynamic or news-driven use cases.

  🧾 Contextual Responses with Memory Buffer**
    The inclusion of a memory buffer allows the agent to maintain state across messages, improving dialogue flow and continuity.

  🛡️ Built-in Ethical Guidelines**
    The system prompt enforces privacy, factual integrity, neutrality, and ethical response generation, making the agent safe for public or enterprise use.

  How It Works

  Chat Trigger: The workflow begins when a chat message is received via a webhook. This triggers the AI Agent to process the user's query.  
  AI Agent Processing: The AI Agent analyzes the query to determine if it requires information from the website or external sources. It follows a structured approach:  
     For website-related queries, it uses the provided context.  
     For external information, it employs the web_search tool to fetch up-to-date data from the internet.  
     The Think tool is used for internal reasoning or caching thoughts without altering data.  
  Language Model: The Anthropic Chat Model (Claude 3.7 Sonnet) generates responses based on the analyzed query, incorporating website context or web search results.  
  Memory: A simple memory buffer retains context from previous interactions to maintain continuity in conversations.  
  Output: The final response is delivered to the user, excluding internal processes like web searches or reasoning steps.  

  Set Up Steps

  Configure Nodes:  
     Chat Trigger: Set up the webhook to receive user messages.  
     AI Agent: Define the system message and rules for handling queries.  
     Anthropic Chat Model: Select the Claude 3.7 Sonnet model and configure parameters like maxTokensToSample.  
     Memory: Initialize the memory buffer to store conversation context.  
     Tools:  
       web_search: Configure the HTTP request to the Anthropic API for web searches, including headers and authentication.  
       Think: Set up the tool for internal reasoning.  

  Connect Nodes:  
     Link the Chat Trigger to the AI Agent.  
     Connect the Anthropic Chat Model, Memory, and Tools (web_search and Think) to the AI Agent.  

  Credentials:  
     Ensure the Anthropic API credentials are correctly configured for both the chat model and the web_search tool.  

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

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.stickyNote"]

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


name: Manage WhatsApp Chats Centrally on Slack
author_name: Usman Liaqat
author_username: usmanliaqat
categories: []
created_at: 2025-05-14T10:27:11.807Z
updated_at: 2025-05-14T10:27:11.807Z
url: https://n8n.io/workflows/4037
scraped_at: 2025-12-24 13:02:44
description:
  This workflow enables seamless, bidirectional communication between WhatsApp and Slack using n8n. It automates the reception, processing, and forwarding of messages (text, media, and documents) between users on WhatsApp and private Slack channels.

  Key Features & Flow:

  1. WhatsApp to Slack Flow
  Trigger: The workflow starts with a WhatsApp Trigger node that listens for new incoming messages via a webhook.
  Channel Handling: It checks if a Slack channel with the WhatsApp sender’s number exists
  If not, it creates a private Slack channel with the sender's number as the name.
  Message Type Routing: A Switch Node (Message Type) inspects the message type (text, image, audio, document).
  Based on type: Text: Sends the message directly to Slack.
  Image/Audio/Document: Retrieves media URL via WhatsApp API → downloads the media → uploads it to the appropriate Slack channel.

  2. Slack to WhatsApp Flow
  Trigger: A Slack Trigger listens for new messages or file uploads in Slack.
  Message Type Routing: A second Switch Node (Checking Message Type) checks if the message is text or media.
  Routing Logic: Text Message: Extracts and forwards it to the WhatsApp contact (identified by the Slack channel name).
  Media/File Message: Retrieves media file URL from Slack → downloads it → sends it as a document via WhatsApp API.

  Key Integrations: 
  WhatsApp Cloud API: For receiving messages, downloading media, and sending messages.
  Slack API: For creating/getting channels, posting messages, and uploading files.
  HTTP Request Node: Used to securely download media from Slack and WhatsApp servers with proper authentication.

  Automation Use Case:
  This workflow is ideal for businesses that handle customer support or conversations over WhatsApp and wish to log, respond, and collaborate using Slack as their internal communication tool.

nodes_used:
  ["n8n-nodes-base.whatsAppTrigger","n8n-nodes-base.slack","n8n-nodes-base.slackTrigger","n8n-nodes-base.switch","n8n-nodes-base.whatsApp","n8n-nodes-base.whatsApp","n8n-nodes-base.whatsApp","n8n-nodes-base.slack","n8n-nodes-base.slack","n8n-nodes-base.filter","n8n-nodes-base.slack","n8n-nodes-base.httpRequest","n8n-nodes-base.slack","n8n-nodes-base.switch","n8n-nodes-base.whatsApp","n8n-nodes-base.slack","n8n-nodes-base.httpRequest","n8n-nodes-base.whatsApp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4340 characters]


name: Automate Sprint Planning with OpenAI, Google Calendar, and Gmail for Agile Teams
author_name: Willemijn
author_username: willemijn
categories: []
created_at: 2025-05-14T10:36:56.830Z
updated_at: 2025-05-14T10:36:56.830Z
url: https://n8n.io/workflows/4038
scraped_at: 2025-12-24 13:02:44
description:
  👤 Who is this for?
  This workflow is designed for Scrum Masters and Agile Coaches who prepare and coordinate Sprint Planning sessions, using Google Calendar, Google Sheets, and OpenAI.

  🧩 What problem is this workflow solving?
  It solves the manual and time-consuming task of collecting, validating, and preparing backlog items for sprint planning—especially when coordinating with distributed teams or large product backlogs.

  ⚙️ What this workflow does
  Every week, the workflow:

  Detects if a Sprint Planning event is coming up.  
  Retrieves relevant backlog items marked as “Ready for Sprint Planning” or “Active in Sprint.”  
  Checks each user story against the Definition of Ready (DoR) using AI.  
  Adds AI-generated feedback per story in the backlog.  
  Drafts a personalized preparation email for the team and sends it after Scrum Master approval.  
  Optionally, generates Sprint Goal suggestions for the Product Owner.

  🚀 Setup
  Connect your Google Calendar, Sheets, and Gmail accounts.  
  Then configure variables like event names, sheet names, and email addresses in the “Start Here” node.

  🛠️ How to customize this workflow to your needs
  Swap Google Sheets with Jira or another tool.  
  Adjust status filters and column mappings.  
  Tweak AI prompts for tone, language, or preferred practices.  
  Change email logic for different approval flows.

  🔥 Unique Selling Points (USPs)
  Validated** by a Scrum Master with 10+ years of experience
  AI-driven** backlog validation and email drafting.  
  Weekly automation** with human approval loops.  
  Clear, structured output** aligned with agile best practices.  
  Fully customizable** for any Scrum environment.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.noOp","n8n-nodes-base.googleCalendar","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.noOp","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.aggregate","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.errorTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.gmail","n8n-nodes-base.filter","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.aggregate","n8n-nodes-base.code","n8n-nodes-base.gmail","n8n-nodes-base.splitOut","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.filter","n8n-nodes-base.merge","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wait"]

workflow_json_compressed:
  [encoded data, 4748 characters]


name: Download Media Files from Slack Messages
author_name: Usman Liaqat
author_username: usmanliaqat
categories: []
created_at: 2025-05-14T10:37:51.142Z
updated_at: 2025-05-14T10:37:51.142Z
url: https://n8n.io/workflows/4039
scraped_at: 2025-12-24 13:02:44
description:
  Description:
  This n8n workflow helps you capture Slack messages via a webhook and download attached media files (like images, documents, or videos) directly from those messages.

  How it works:
  Slack Trigger (Webhook) – Listens for new messages in a Slack channel where the app is added.
  HTTP Request – Uses the file's private download URL to retrieve the media securely.

  Use cases:
  Download files shared by team members in a Slack channel.
  Capture and process media from specific project or support channels.
  Prepare media for later processing, archiving, or review.

  Requirements:
  Slack app with appropriate permissions (files:read, channels:history, etc.).
  Slack webhook set up to listen to channel messages.
  - Authenticated HTTP request to handle private Slack file URLs.

  This template is ideal for users who want full control over file handling triggered by real-time Slack messages.

nodes_used:
  ["n8n-nodes-base.slackTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE61VYYvcNhD9K8YU0sJqkWXZlhb6IVwpKbShJJuGcixhLI3X6u7arqXNJT32v3fk9e0ld8kRSr8skjyaN++9Ge1tesAA6eo2dZ0P0Bn8xaarVKIQuhICSyNzkDqTVtiyzCpVS5XnBdim0oWtcmhqxKLmCNwUQucKG2kVpos04GHYQ8CrEa1/jeE4XPV0ggEJIIxHPC3Srrfo09U1oUdUDlqVYBXLKwNMqlIzzauMCZGXBhtrrdSUuYMDUvR6dNstjsnrPZhd8rPbY/Ibeg/bCf3jEGM61bEJhNXgcelj6HyPgobeu+D6jipgQpZ8wQTnm0V6g3Xb97tJCaV4noOyzBQgmRSiZFBJQYVp5Lyo66LOYyoYqaqAo49a9kNMG5dEMsx4q2vS+lxfxIBg2rf9uPMDGLwoYkgt7IKD/ZRoKvj54CaDYjnF7/D+jRqD3r14qYe38l4OopocPeGcTmf6f1AxE7nstJhv13XJdVEVrM54yWSlSqYapJ+i0QhoZWH4fcaf+ptu34MlWa2DpBn7w1nsr+rbhjC8wr+P6MNDeTN+kfdzrY7jnhL9eHubfPf9s697+uyHpaOWWv7l+27Z0Ad/zTdLuvxuGN176rN39q7c04nA7y1IR/QDLfHB+hSFgmNoo94GzpWmW+xwdObq4sM6Ml3cnT+n+PWZeyT7AsHiGA/Tx+Y9CLizcL0e5LHa22z8p/mzzv294GfWpOljD+VSXFwshFRGg2Vg65rJTNMq0zkzja6wMZksZPZJUiK3+5i87MMTczHFzCGf2VZMU1E+tu3G2cgpF3yRtui2bUhXIm5M3wUSIRJtnU8iSrJ3ns580vRj0uFNMs+BT1w3Wx1aCLQz+yOFR3sTCAFMe6BUfpk+0dJ5maMqM2IvBJM1agZFTpNKT5ZWmeYW+BfFyP6DGpn6P9S4a1RPrGey02zF3VmNWR+aZ9dtp/O5yS93kzevfl0mX9BlM2F2aC7t/8Q7SV8P4CI3eoJjbd829dOdBf1jWPyQrvhps6FZ+heXyMU5SgYAAA==


name: Build a Pipedrive MCP Server with Google Gemini AI
author_name: Aitor | 1Node
author_username: aitoralonso
categories: []
created_at: 2025-05-14T12:09:40.318Z
updated_at: 2025-05-14T12:09:40.318Z
url: https://n8n.io/workflows/4040
scraped_at: 2025-12-24 13:02:44
description:
  This n8n workflow leverages the power of AI and automation to streamline Pipedrive's CRM operations using natural language commands. It allows you to interact with your Deals, Leads, Persons, and Organizations simply by sending a message.

  How it Works
  The workflow initiates the process by sending the incoming message to an AI Agent. The AI Agent is powered by Google Gemini Chat Model and utilizing n8n's Simple Memory to maintain context, interprets the natural language command. Based on the interpreted command, the AI Agent instructs the MCP Client node to perform specific actions. The MCP Client then interacts with various nodes from Pipedrive designed to manage Deals, Leads, Persons, and Organizations within your CRM. These nodes can perform actions like creating, getting, updating, or searching for data in each category. Finally, a Gmail node sends a summary  compiling the actions executed.

  Set Up Steps
  Set up your MCP Client:** Paste the MCP URL from your MCP Trigger node into the MCP Client node.
  Configure the AI Agent:** Connect your Google Gemini Chat Model credentials or your desired LLM.
  Configure Pipedrive:** The individual nodes for Deals, Leads, Persons, and Organizations will need to be connected to your specific CRM. Add your Oath credentials for Pipedrive by creating a private app.
  Configuring each specific node** (Create Deal, Get Lead, Update Person, Search Organization, etc.) to perform the desired action.
  Configure Send Summary:** Set up the Gmail node to send the summary email.

  Benefits
  Significant Time Saving:** Automates data entry, retrieval, and updates in your CRM, freeing up valuable time for sales teams and managers.
  Increased Efficiency:** Perform multiple CRM actions with a single natural language command.
  Simplified CRM Interaction:** Interact with your CRM using natural language instead of navigating complex interfaces.
  Reduced Errors:** Automation minimizes manual data entry errors.

  Suggested Enhancements
  Integrate More CRM Operations:** Add nodes for additional CRM functionalities like logging activities, managing tasks, or working with other modules and tools.
  Connect to Other Tools:** Integrate with other sales or marketing tools to create a more comprehensive workflow.
  Advanced AI Capabilities:** Explore fine-tuning the AI model for better understanding of specific industry jargon or complex requests. Should you add more nodes and tools, you might want to insert a specific prompt to the AI agent to give more context about the tools and actions to perform.
  User Management and Permissions:** Customize the private app's permissions on your Pipedrive account to limit access.
  Error Handling and Notifications:** Add more robust error handling and notification systems to be alerted if a workflow run fails.

  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.telegramTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail"]

workflow_json_compressed:
  [encoded data, 4564 characters]


name: Adaptive RAG with Google Gemini & Qdrant: Context-Aware Query Answering
author_name: Nisa
author_username: nisacayir
categories: []
created_at: 2025-05-14T15:10:47.350Z
updated_at: 2025-05-14T15:10:47.350Z
url: https://n8n.io/workflows/4043
scraped_at: 2025-12-24 13:02:42
description:
  Description
  This workflow automatically classifies user queries and retrieves the most relevant information based on the query type. 🌟 It uses adaptive strategies like;
     Factual, Analytical, Opinion, and Contextual to deliver more precise and meaningful responses by leveraging n8n's flexibility. Integrated with Qdrant vector store and Google Gemini, it processes each query faster and more effectively. 🚀

  How It Works?
  Query Reception: A user query is triggered (e.g., through a chatbot interface). 💬

  Classification: The query is classified into one of four categories:

  Factual: Queries seeking verifiable information.

  Analytical: Queries that require in-depth analysis or explanation.

  Opinion: Queries looking for different perspectives or subjective viewpoints.

  Contextual: Queries specific to the user or certain contextual conditions.

  Adaptive Strategy Application: Based on classification, the query is restructured using the relevant strategy for better results.

  Response Generation**: The most relevant documents and context are used to generate a tailored response. 🎯

  Set Up Steps

  Estimated Time: ⏳ 10-15 minutes
  Prerequisites: You need an n8n account and a Qdrant vector store connection.
  Steps:

  Import the n8n workflow: Load the workflow into your n8n instance.

  Connect Google Gemini and Qdrant: Link these tools for query processing and data retrieval.

  Connect the Trigger Interface: Integrate with a chatbot or API to trigger the workflow.

  Customize: Adjust settings based on the query types you want to handle and the output format. 🔧

  For more detailed instructions, please check the sticky notes inside the workflow. 📌

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.summarize","@n8n/n8n-nodes-langchain.vectorStoreQdrant","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9884 characters]


name: AI Chatbot Call Center: Telegram Call In (Production-Ready, Part 1a)
author_name: ChatPayLabs
author_username: chatpaylabs
categories: []
created_at: 2025-05-14T15:22:25.899Z
updated_at: 2025-05-14T15:22:25.899Z
url: https://n8n.io/workflows/4044
scraped_at: 2025-12-24 13:02:45
description:
  Workflow Name: 🤙 Telegram Call In

  Template was created in n8n v1.90.2

  Skill Level: High

  Categories: n8n, Chatbot

  Stacks

  Chat Trigger node
  Telegram Trigger node
  Redis node
  Postgres node
  Execute Sub-workflow
  If node, Code node, Edit Fields (Set), Extract From File

  Prerequisite

  Community nodes: n8n-nodes-google-speech
  Sub-workflow: Demo Call Back
  Sub-workflow: Demo Call Center

  Production Features

  Scaling Design* for n8n *Queue mode** in production environment
  Optional Member Data from external Database with Caching Mechanism.
  Optional Voice Message to Text Message via Google STT API with Multi-Languages support.
  Testing Flow** with or without dependance on other workflow.
  Error Management**

  What this workflow does?

  This is a n8n Telegram Call In Workflow. It will wait for message from Telegram bot and sent to the Call Center to process.

  How it works

  The Telegram Trigger node will wait for the message from the Telegram bot.
  When message is received, it will first check for the matching Member from the PostgreSQL database.
  Then determine if it is a Text message or Voice message.
  For voice message, use the Google Speech to Text API to transcript it into text.
  Finally, pass the text to the next flow, i.e. the Call Center.

  Set up instructions

  n8n-nodes-google-speech

  Pull and Set up the required SQL from our Github repository.
  Go User &gt; Settings &gt; Community nodes, install n8n-nodes-google-speech node
      Follow https://www.npmjs.com/package/n8n-nodes-google-speech
      Setup the Google STT node
  Create you Telegram credentials, refer to n8n integration documentation for more information.
  Select your Credentials in Telegram Trigger
  Create you Redis credentials, refer to n8n integration documentation for more information.
  Select your Credentials in Member Cache and Save Member Cache.
  Create you Postgres credentials, refer to n8n integration documentation for more information.
  Select your Credentials in Load Member Data.
  FOR TEST ONLY. Enable the Telegram Test Output for testing from the Test Input.
  Remember to activate this workflow for incoming message.

  How to adjust it to your needs

  By default, this template will use the sys_member table for member information, you could change it for your own design.
  The demo implementation does not include failed member loading situation, you should implement based on your needs, e.g. if is_active is not true, do…
  You can replace the sub-workflow Demo Call Back and Demo Call Center to another flow as needs.

nodes_used:
  ["n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.telegram","n8n-nodes-base.extractFromFile","n8n-nodes-google-speech.googleSpeech","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.redis","n8n-nodes-base.if","n8n-nodes-base.postgres","n8n-nodes-base.redis","n8n-nodes-base.set","n8n-nodes-base.switch","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.set","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflow","n8n-nodes-base.telegram"]

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


name: AI Chatbot Call Center: Demo Call Center (Production-Ready, Part 2)
author_name: ChatPayLabs
author_username: chatpaylabs
categories: []
created_at: 2025-05-14T15:24:57.362Z
updated_at: 2025-05-14T15:24:57.362Z
url: https://n8n.io/workflows/4045
scraped_at: 2025-12-24 13:02:44
description:
  Workflow Name: ☎️ Demo Call Center

  Template was created in n8n v1.90.2

  Skill Level: High

  Categories: n8n, Chatbot

  Stacks

  Execute Sub-workflow Trigger node
  Chat Trigger node
  Redis node
  Postgres node
  AI Agent node
  If node, Switch node, Code node, Edit Fields (Set)

  Prerequisite

  Execute Sub-workflow Trigger: Telegram Call In Workflow (or your own node)
  Sub-workflow: Taxi Service (or your own node)
  Sub-workflow: Taxi Booking Worker (or your own node)
  Sub-workflow: Demo Call Back (or your own node)

  Production Features

  Scaling Design* for n8n *Queue mode** in production environment
  Optional Rate Limit design to prevent overused
  Optional Long Terms Memory design
  Multi-Service** design
  Testing Flow** with or without dependance on other workflow.
  Error Management**

  What this workflow does?

  This is a n8n Demo Call Center Workflow demo. It is the main entry node for a Multiple Services Chatbot. It will receive message from the Call In Workflow, and decide which service should be use, or which service provider should be process the selected result.

  How it works

  The Flow Trigger node will wait for the message from the Call In Workflow or other Sub-workflow.
  When message is received, it will first check for the Rate Limit.
  If ok, load the Session Data from Cache.
  Next, check the current Session for the channel_no (default is chat).
  if channel_no is chat, continue to the AI Agent for chit-chat.
  if channel_no is taxi or others, pass to the Service Input (i.e. Taxi Service) or Service Worker (i.e. Taxi Booking Worker) to handle it directly.
  The AI Agent should decide which service (i.e. taxi) will be used at some point and update the channel_no in Session, and pass to the Service Node (i.e. Taxi Service) at once.
  In case of any error, reply the error in Call Back.

  Set up instructions

  Pull and Set up the required SQL from our Github repository.
  Create you Redis credentials, refer to n8n integration documentation for more information.
  Select your Credentials in Rate Limit, Session, Provider and New Session.
  Create you Postgres credentials, refer to n8n integration documentation for more information.
  Select your Credentials in Postgres Chat Memory, Load User Memory and Save User Memory.
  Modify the AI Agent prompt to fit your need

  How to adjust it to your needs

  In Session, we have a timestamp fields which is created at the Input node. The usage of this is combined to use with the session id to create a unique session, since some media, such as Telegram, do not have a unique session along with the chat.
  You can use any AI Model for the AI Agent node
  Learn we use the prompt for the Load/Save User Memory on demand.
  Include is our prompt for the taxi service. You can add more service similar to this.

nodes_used:
  ["n8n-nodes-base.redis","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.set","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.redis","n8n-nodes-base.if","n8n-nodes-base.set","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.switch","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatXAiGrok","@n8n/n8n-nodes-langchain.memoryPostgresChat","n8n-nodes-base.postgresTool","n8n-nodes-base.postgresTool","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.redis","n8n-nodes-base.redis","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflow"]

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


name: AI Chatbot Call Center: Taxi Service (Production-Ready, Part 3)
author_name: ChatPayLabs
author_username: chatpaylabs
categories: []
created_at: 2025-05-14T15:27:06.322Z
updated_at: 2025-05-14T15:27:06.322Z
url: https://n8n.io/workflows/4046
scraped_at: 2025-12-24 13:02:45
description:
  Workflow Name: 🛎️ Taxi Service

  Template was created in n8n v1.90.2

  Skill Level: High

  Categories: n8n, Chatbot

  Stacks

  Execute Sub-workflow Trigger node
  Chat Trigger node
  Redis node
  Postgres node
  AI Agent node
  If node, Switch node, Code node, Edit Fields (Set)

  Prerequisite

  Execute Sub-workflow Trigger: Taxi Service Workflow (or your own node)
  Sub-workflow: Taxi Service Provider (or your own node)
  Sub-workflow: Demo Call Back (or your own node)

  Production Features

  Scaling Design* for n8n *Queue mode** in production environment
  Service Data* from *external Database* with *Caching Mechanism**
  Optional Long Terms Memory design
  Find Route Distance* using *Google Map API**
  Optional Multi-Language Wait Output example
  Error Management**

  What this workflow does?

  This is a n8n Taxi Service Workflow demo. It is the core node for Taxi Service. It will receive message from the Call Center Workflow, handling the QA from the caller, and pass to each of the Taxi Service Provider Workflow to process the estimation.

  How it works

  The Flow Trigger node will wait for the message from Call Center or other Sub-workflow.
  When message is received, it will first check for the matching Service from the PostgreSQL database.
  If no service or service is inactive, output Error.
  Next, always reset the Session Data in Cache, with channel_no set to taxi
  Next, delete the previous Route Data in Cache
  Trigger a AI Agent to process the fare estimation question to create the Route Data
  Use the Google Map Route API to calculate the distance.
  Repeat until created the route data, then pass to all the Taxi Service Provider for an estimation.

  Set up instructions

  Pull and Set up the required SQL from our Github repository.
  Create you Redis credentials, refer to n8n integration documentation for more information.
  Select your Credentials in Service Cache, Save Service Cache, Reset Session, Delete Route Data, Route Data, Update User Session and Create Route Data.
  Create you Postgres credentials, refer to n8n integration documentation for more information.
  Select your Credentials in Load Service Data, Postgres Chat Memory, Load User Memory and Save User Memory.
  Modify the AI Agent prompt to fit your need
  Set you Google Map API key in Find Route Distance

  How to adjust it to your needs

  By default, this template will use the sys_service table provider information, you could change it for your own design.
  You can use any AI Model for the AI Agent node
  Learn we use the prompt for the Load/Save User Memory on demand.
  Include is our prompt for the taxi service. It is a flexible design which use the data from the Service node to customize the prompt, so you could duplicate this workflow as another service.
  Create difference Taxi Providers to process the and feedback the estimate.

nodes_used:
  ["n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryPostgresChat","n8n-nodes-base.set","n8n-nodes-base.redisTool","@n8n/n8n-nodes-langchain.lmChatXAiGrok","n8n-nodes-base.postgresTool","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.redis","n8n-nodes-base.postgres","n8n-nodes-base.redis","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.postgresTool","n8n-nodes-base.redisTool","n8n-nodes-base.redis","n8n-nodes-base.redis","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequestTool","n8n-nodes-base.redis","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflow"]

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


name: Taxi Service Provider (Production-Ready, Part 4)
author_name: ChatPayLabs
author_username: chatpaylabs
categories: []
created_at: 2025-05-14T15:28:48.092Z
updated_at: 2025-05-14T15:28:48.092Z
url: https://n8n.io/workflows/4047
scraped_at: 2025-12-24 13:02:46
description:
  Workflow Name: 🤖 Taxi Service Provider

  Template was created in n8n v1.90.2

  Skill Level: High

  Categories: n8n, Chatbot

  Stacks

  Execute Sub-workflow Trigger node
  Chat Trigger node
  Redis node
  Postgres node
  AI Agent node
  Calculator node
  If node, Switch node, Code node, Edit Fields (Set)

  Prerequisite

  Execute Sub-workflow Trigger: Taxi Service Workflow (or your own node)
  Sub-workflow: Demo Call Back (or your own node)

  Production Features

  Scaling Design* for n8n *Queue mode** in production environment
  Provider Data* from *external Database* with *Caching Mechanism**
  Optional Score design output
  Optimize Taxi Provider Prompt from database
  Error Management**

  What this workflow does?

  This is a n8n Taxi Provider Workflow demo. It will receive message from the Taxi Service Workflow, process the estimation and return to the caller.

  How it works

  The Flow Trigger node will wait for the message from other Sub-workflow.
  When message is received, it will first check for the matching Provider from the PostgreSQL database.
  Then it will increase a Provider Number in Redis for selection later
  Trigger a AI Agent to process the fare estimation and create a NEW booking
  Finally, send the AI response to the Call Output
  Note: if the Provider is set to inactive, it will do nothing

  Set up instructions

  Pull and Set up the required SQL from our Github repository.
  Create you Redis credentials, refer to n8n integration documentation for more information.
  Select your Credentials in Provider Cache, Save Provider Cache and Provider Number.
  Create you Postgres credentials, refer to n8n integration documentation for more information.
  Select your Credentials in Load Provider Data and Create Booking Data.
  Modify the AI Agent prompt to fit your need

  How to adjust it to your needs

  By default, this template will use the sys_provider table provider information, you could change it for your own design.
  You can use any AI Model for the AI Agent node
  Include is our prompt for the taxi service provider. It is a flexible design which use the data from the Provider Cache to customize the prompt, so you could create more Taxi Service Providers by duplicate this workflow in the Taxi Service node.

nodes_used:
  ["n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatXAiGrok","n8n-nodes-base.postgresTool","n8n-nodes-base.stickyNote","n8n-nodes-base.redis","@n8n/n8n-nodes-langchain.toolCalculator","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.redis","n8n-nodes-base.postgres","n8n-nodes-base.redis","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflow","n8n-nodes-base.switch"]

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


name: AI Chatbot Call Center: Taxi Booking Worker (Production-Ready, Part 5)
author_name: ChatPayLabs
author_username: chatpaylabs
categories: []
created_at: 2025-05-14T15:30:14.972Z
updated_at: 2025-05-14T15:30:14.972Z
url: https://n8n.io/workflows/4048
scraped_at: 2025-12-24 13:02:45
description:
  Workflow Name: 👷‍♂️ Taxi Booking Worker

  Template was created in n8n v1.90.2

  Skill Level: High

  Categories: n8n, Chatbot

  Stacks

  Execute Sub-workflow Trigger node
  Chat Trigger node
  Redis node
  Postgres node
  Google Calendar node
  Execute Sub-workflow
  If node, Switch node, Code node, Edit Fields (Set)

  Prerequisite

  Execute Sub-workflow Trigger: Call In Center (or your own node)
  Sub-workflow: Demo Call Back (or your own node)

  Production Features

  Scaling Design* for n8n *Queue mode** in production environment
  Customize Open Booking Action
  Integrate  with Long Term Memory backup.
  Error Management**

  What this workflow does?

  This is a n8n Taxi Booking Worker, the worker node to process the job. It will wait for message from the Call Center node and handle the real process here. In this particular case, it will check the input number for the selected provider, then update the booking from NEW to OPEN, then clean up the orphan data.

  How it works

  The Form Trigger node will wait for the message from any node with the input in number.
  First check for NEW booking under the same chat session
  For input 0, which is cancel
      Reset the user session in Redis memory
  For input 1 or above, which is the provider selection number
      Set the booking status to OPEN in database
      OPTIONAL Save the summary to User Memory database
      OPTIONAL Create a new Event in Google Calendar and sync to the database
      Reset the user session in Redis memory
  Afterward, process data clean up
      Delete the provider selection number queue in Redis
      Delete the route data in Redis
      OPTIONAL Delete the chat memory with current session
  Finally, output the response to the Call Back node

  Set up instructions

  Pull and Set up the required SQL from our Github repository.
  Create you Postgres credentials, refer to n8n integration documentation for more information.
  Select your Credentials in Booking, Set Open Booking, Sync Booking Google Cal, and Save User Memory.
  Create you Redis credentials, refer to n8n integration documentation for more information.
  Select your Credentials in Reset Session, Reset Session 2, Delete Provider Number and Delete Route Data.
  Create your Google Calendar credentials, refer to n8n integration documentation for more information.
  Create a Google Calendar, e.g. DEMO
  Select your Credentials in Create Event, and select the above Calendar
  FOR TEST ONLY. Enable the Telegram Test Output for testing from the Test Input.

  How to adjust it to your needs

  You can specific a number to trigger the specific action based on your needs.
  The current action only create a event in Google Calendar, you can do more based on your needs.
  You can replace the sub-workflow trigger Flow Trigger and Call Back to another flow as needs.

nodes_used:
  ["n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.set","n8n-nodes-base.redis","n8n-nodes-base.set","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.redis","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.redis","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.redis","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.postgres","n8n-nodes-base.executeWorkflow","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.googleCalendar","n8n-nodes-base.executeWorkflow","n8n-nodes-base.postgres","n8n-nodes-base.postgres"]

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


name: AI Chatbot Call Center: Demo Call Back (Production-Ready, Part 6)
author_name: ChatPayLabs
author_username: chatpaylabs
categories: []
created_at: 2025-05-14T15:32:58.059Z
updated_at: 2025-05-14T15:32:58.059Z
url: https://n8n.io/workflows/4050
scraped_at: 2025-12-24 13:02:45
description:
  Workflow Name: 💬 Demo Call Back

  Template was created in n8n v1.90.2

  Skill Level: High

  Categories: n8n, Chatbot

  Stacks

  Execute Sub-workflow Trigger node
  Chat Trigger node
  Redis node
  Postgres node
  Telegram node
  HTTP Request node
  If node, Code node, Edit Fields (Set)

  Prerequisite

  Execute Sub-workflow Trigger: your own node
  MiniMax Account (https://www.minimax.io/)

  Production Features

  Scaling Design* for n8n *Queue mode** in production environment
  Optional Provider Data from external Database with Caching Mechanism.
  Optional AI Clone Voice Message response via MiniMax API with Multi-Languages support.
  Optional Backup Chat Log to Database, so you can use in APP/API building.
  Testing Flow** with or without dependance on other workflow.
  Multi Chatbot** (This is a demo for Telegram, you can add WhatsApp, Line, etc)
  Error Management**

  What this workflow does?

  This is a n8n Telegram Output Workflow. It will receive message from other Sub-workflow then output to Telegram for Message, or Replay Message and extra Voice Message.

  How it works

  The Flow Trigger node will wait for the message from other Sub-workflow.
  When message is received, it will first check for the matching Provider from the PostgreSQL database.
  Then determine if it is a Voice message to Text message.
  OPTIONAL. For voice message, use the MiniMax API to generate a voice message, then send it to Telegram.
  Finally, send the text to Telegram.

  Set up instructions

  Pull and Set up the required SQL from our Github repository.
  Create you Redis credentials, refer to n8n integration documentation for more information.
  Select your Credentials in Provider Cache and Save Provider Cache.
  Create you Postgres credentials, refer to n8n integration documentation for more information.
  Select your Credentials in Load Member Data, Create Chat Log Input, and Create Chat Log Output.
  Create you Telegram credentials, refer to n8n integration documentation for more information.
  Select your Credentials in Telegram Voice Output, Telegram Reply Output, and Telegram Output.

  AI Clone Voice setup instructions (Optional)

  You can clone any voice with MiniMax

  Go to https://www.minimax.io/ and create a MiniMax account
  Setup the Database with the required variables found in the MiniMax TTS node
  That’s it

  How to adjust it to your needs

  By default, this template will use the sys_provider table provider information, you could change it for your own design.
  The demo use MiniMax API for AI voice cloning, you could implement any other AI your choice.
  The Backup Chat Log will backup all chat conversion line by line. You can use it for you own APP/API development.

nodes_used:
  ["n8n-nodes-base.switch","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.redis","n8n-nodes-base.redis","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.postgres","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.code"]

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


name: AI Chatbot Call Center: Taxi Booking Support (Production-Ready, Part 7)
author_name: ChatPayLabs
author_username: chatpaylabs
categories: []
created_at: 2025-05-14T15:34:22.600Z
updated_at: 2025-05-14T15:34:22.600Z
url: https://n8n.io/workflows/4051
scraped_at: 2025-12-24 13:02:45
description:
  Workflow Name: 🫶 Taxi Booking Support

  Template was created in n8n v1.90.2

  Skill Level: Mid

  Categories: n8n, Chatbot

  Stacks

  Schedule Trigger node
  Postgres node
  AI Agent node
  Google Calendar node
  Execute Sub-workflow
  If node, Switch node, Code node, Edit Fields (Set)

  Prerequisite

  Sub-workflow: Demo Call Back (or your own node)

  Production Features

  Scaling Design* for n8n *Queue mode** in production environment
  Customize Expired Booking Actions example
  Multi-Language** Design

  What this workflow does?

  This is a n8n Taxi Booking Support, the background node to process the job at scheduled. It is scheduled to check the database for outstanding booking and handle the after sales process. In this particular case, it will check for OPEN booking over 10 minutes, then update the booking status from OPEN to CANCELLED, delete the Calendar event and send a reply to the user.

  How it works

  The Schedule Trigger node is scheduled to run every 5 minutes.
  It will check the database for OPEN or HOLD booking.
  For OPEN booking
      update the booking status to CANCELLED
      delete the Calendar event
      send a reply to the user
  Optional: The AI Agent is used to create the reply message to the user in Multi-language based on the language set in the booking.

  Set up instructions

  Pull and Set up the required SQL from our Github repository.
  Create you Postgres credentials, refer to n8n integration documentation for more information.
  Select your Credentials in Open Hold Booking and Set Cancel Booking.
  Create your Google Calendar credentials, refer to n8n integration documentation for more information.
  Create a Google Calendar, e.g. DEMO
  Select your Credentials in Delete Event, and select the above Calendar
  Remember to activate this workflow for schedule to run.

  How to adjust it to your needs

  There should be more status for the booking.
  The current action only check for OPEN and HOLD booking, you can do more based on your needs.
  You can replace the sub-workflow trigger Call Back to another flow as needs.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatXAiGrok","n8n-nodes-base.switch","n8n-nodes-base.postgres","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.executeWorkflow","n8n-nodes-base.postgres","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.googleCalendar"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WX227bRhCGX0XgtVfZM3d1UcRx0tZBUxuxGhctgmIPswpriVQpyocEfpY+QO/7XH2EDuWDaIlKHAeQAIkcznz77+zM8FNWxGyUHZbw12LcFB/Pr8b+4/I028tm0Lhs9CkrykXjygCHrV10DnLvLQ1GK+WpAeq1iWCc4p6x3CRuGE/acSEheeqpopbnNnqfUy8A/TYwm09dAwc1xMUJNMv5QYVXoAEM0NRLuN7LSjcDjPbf3//8Oxi7y2LwoqrOinIyOFnO51XdtG7cZJGNfv90w19W5o2nuZmdv51c5Mcn2b2Pl6/eHOG/UAPGjPsNXuKUK0IlEXRM1UjIEaNDIehvaLacxy+bXe/dRt1/O5+F8wv/+lSdwOsXy3XUNed24PYzZnTE2YjqoWamP3CP2X3gN3x5fPHDuz9PZ+78xfHZ1TowH9JdQdmY6ZEwI2mGisudQTfNrt+j8ypCR22qtdDCBpIS9UTSlIjzXpFAQ3JRBQjWr5H2Dwf7EyhXm3Y1b688L035DL9k5ZdMXTkJH1xRDt2t3bxaFE1RlRgyl3SPcE2RYu5q9NhAjSifrm+8vcN/K0M2tPfyuKhBByFJaiGl1oYYpwWhjvLATJ7rKNZ8lwj4fFJXZ4QTxhl/BOd0dvDBNb/uFz/gYxu8HHnNl3HvYbWRYD3XJFpMNgmQiGUMCEtcp2hVYrwDe9K4ZrkYnFwUTfiwJl1DereA4eLudgeMsUcqKYb8Hk6ByLXCzLDgOZFOa+KC4yTKRFHXnAF0dhpP8+CgrRXTuwO7kxDBmkmNSfWQUbeMkvYxwiWEZQNH6P6mTmxg86G+xzbGChosJQqUJtJIR6zVCjUNVDNUGzOhgx0+QFxOYTCui8kE6t2y3hqu7cqqaQ9G9uoc6quBmj1czk69V48dlt9Pq4vetbDOFmhgqDQTRCdBiYzcE2+jwaXlIoCI2jq2XsuXdF/AxvmS5rFZIdfyOsMgqEhCzhyRnGpivAXCk+A5lVj7U75GOnBTzAcXznZC3W7taVWfpVaSta4vYVYNug62koXzbxWYJ648kmPpE5YguiJORUdCApGsw9YVOgIfzaEc/FhN49ek+N1yvttKEVT+qUnSTfjccCUC5cThBhCZJyBOeIbqcJ+YY8JRvV7DYbpZwavLeYFdeOcKitRhH49/2qJnuPd7WFeeRL/eASq415jZhIHDEqiSJzZRRmwMynjplZHsAf1qE76antE+fCK+nV+xpME7ojkgvxCOGMUZ0c6onJkAuJpuCS/C2dXgZwyw+5iubG5NusSmHzgLVdm0vXOUZbtbjRCBWwBLEkuuLSWceB1YW9wlRAEsyX5O9vWgok1stX04H0cqgwJreCDYcXIkxb5jmIzEmMgh2ahstL2k/OtJaaupfCqpkTYFEwUq6U3bapDUKUsCV9jPfQyxWws7pOJpmj6dM3eaBY19A9o2ApHYEAMeOWohjwFPHnSmZmgH8gG2te7ctsE5qarJFLA6QxldvZmo5smdnA1FO3S60BTnaJHcdIEm2LkaLLerFTfFDD5WZcv0qgnPfhkftEMvtgmoj6tpEa7wxsVtN1l8X1ezEwQ4uihXPRvquqrve80oO18uqvzUNJLyF8dh3GbQDSHCHNURn0Eb1r06xvDVEgUnqG92fsO9ej8SWK2szRmhQWIvccES6xUQLAG5CZJqF9uqhDtWQmhdrZZz10nw5wzHS5QPJ+1W6N7peWWyh+9lES6zEb1+/x4h7s36fOwYGnsdPbTt87az/m7523vwUH/L6YXYtO5g3N1/gNC76M8Mo58j7RlX+oXanBr7ID4zLfQ63XoXQaeu+KN981jiy9Eb9Dr9QnpsmW/G2GbqI38cb4/Ifc76y0mPx+vr/wHVKwfbkRAAAA==


name: AI Chatbot Call Center: General Exception Flow (Production-Ready, Part 8)
author_name: ChatPayLabs
author_username: chatpaylabs
nodes_used: ["n8n-nodes-base.errorTrigger","n8n-nodes-base.slack"]
categories: []
created_at: 2025-05-14T15:36:39.923Z
updated_at: 2025-05-14T15:36:39.923Z
url: https://n8n.io/workflows/4052
scraped_at: 2025-12-24 13:02:44
description:
  Workflow Name: 👻 Exception Flow

  Template was created in n8n v1.90.2

  Skill Level: Low

  Categories: n8n, Chatbot

  Stacks

  Error Trigger
  Slack node

  What this workflow does?

  This is a n8n Error Workflow. It will trigger when there is an error in another workflow. When this happens, it then tries to send an error notification to the preset Slack channel.

  How it works

  The Error Trigger node will trigger when there is an error in another workflow, as long as that workflow is set up to do so.
  A error notification will be sent to the Slack Channel.

  Set up instructions

  Create you Slack credentials, refer to n8n integration documentation for more information.
  Set up the Channel in 👻 Exception Alert node.
  For any n8n workflows to trigger this, switch to that workflow, select menu &gt; settings, and set the Error Workflow to 👻 Exception Flow.

  How to adjust it to your needs

  Although this workflow template is part of the AI Chatbot Call Center Series, it could be used with any n8n workflows.

  Update the Channel in 👻 Exception Alert to your own channel

  https://chatpaylabs.com/blog/part-8-build-your-own-ai-chatbot-call-center-general-exception-flow-production-ready-n8n-workflow-free-download-

workflow_json_compressed:
  H4sIAAAAAAAAE4VUbW7jNhC9isH2p+lS1BdloMC6boIu0IWD2tsA7QYLkho5aiRSpSg7qaFD9AQ9SC/VI3QoZ7PJYrf9Jw6HM2/ee6MTqUuyJIeht/m18Anj313pHSdz0oKXZHkitem9NBpeh7xSSsiVKpgWWZoqJoCpTJQgZMpVFOWi4iLiVSZ5nEClmGIpK3helErlTMWAdT20XSM9rB2U/Rb80K0tRsADNvBugHFOjGwBu/3z159/zy7uNXS+tmZ22dhjKCD3PVn+ejojN1a8USwX7eGn/TG/2pKn199fvNngSTvAbuXKY4gznlKW0JjtWLqMk2XEFnHMfsG0oSv/P228weq2hGf9M6VTBVVEeZxmNEmTnCqhMprnZaKiQsRxln7EdOGcdbOdq/d7cGGWhy6EjTB0qkuV7GEBIetjUmf7OhCATdmcIYROOiznwSGO03iu8jOeppxonD9CS3jFgeuCJqzKacJZREWmUyoKrnjERRaXMfkS2asGnP8iwr6R+i68tT6QQb4qobU0JE3YX4Lm7Az7COrW2rvJSBpyiBgvqcxYTBOBsGQhSqqrPNcRlwlPK/LJpGid+yDPt59AfRWUfmeurbur0CLL2ek0+/q33prF8TG0CDPOxvGdeeuaZ/dwD3oINRaDa6b7z1xNEy1a6Hu5D0UQVg8N6ABF30pjoAk2O3+F4U7k/XvXnM2Me4SsBQIDy3NykM0AnyEMVbT+FtxmGqk/L55uhhJ+rM3dzn4Yjiwr2fQwjpOxSzC+xnNInyRZdfX0NFC8ebD71Q+r3y91WzTV9TMXbkPq7NX6VvpOPszWWxLqTVq+NtOWPWJ/YSy+iIP/pfb1AR5xBCq8r83+rE/dwh/WTEb3+pu3u3UgRjZopSvb1PoBLz5I0l86224Rz+ZoJpc/Eb5xJQbwnxQ9j+6wth2Qc4oGJ4czqMlKafBzKSRlUkZopSijkuMaVoJBUlQKf1Phf6Yt6qOf2H25iRhoZR3Minttzor990JM6XMUqYR7smTjzc04jv8CXS32sE4FAAA=


name: Sort Gmail Emails with GPT-4o into Action Required and No Action Labels
author_name: Khaled
author_username: khaled
categories: []
created_at: 2025-05-14T16:10:55.017Z
updated_at: 2025-05-14T16:10:55.017Z
url: https://n8n.io/workflows/4053
scraped_at: 2025-12-24 13:02:44
description:
  🧾 Description:

  This automation uses GPT-4o to scan unread Gmail emails and intelligently classify them as:

      Action → Requires your attention (reply, review, schedule, or respond)

      No Action → Informational or promotional; no action needed

  The result? You eliminate inbox noise and gain a clear daily routine: only check what's in Action Required.
  ⚙️ How It Works:

      Trigger: Runs on a customizable schedule

      Fetch Emails: Pulls unread messages from Gmail

      Classify via GPT-4o: Determines if each email needs action or not

      Sort Emails:

          Labels actionable emails as Action Required

          Labels non-actionable ones as No Action

          Removes the Inbox label to clean your primary inbox view

          ✅ Emails stay in your account—just better organized

  🚀 How to Use:

      Import the workflow into your n8n instance

      Set up Gmail and OpenAI credentials

      Create Gmail labels:

          Action Required

          No Action

      Activate the workflow

      Start your day by checking only the Action Required label

  📦 Requirements:

      n8n (self-hosted or cloud)

      Gmail OAuth2 account

      OpenAI API key (GPT-4o or GPT-4o-mini)

      Gmail labels: Action Required, No Action

  💡 Why It Matters:

  Stop manually filtering emails.
  This workflow helps you focus only on what matters while keeping everything else out of your way—without deleting or archiving anything.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.gmail","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.textClassifier","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote"]

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


name: Automated Replies to X Threads with Airtop Browser Automation
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-05-14T18:29:50.112Z
updated_at: 2025-05-14T18:29:50.112Z
url: https://n8n.io/workflows/4054
scraped_at: 2025-12-24 13:02:45
description:
  Use Case
  Automatically responding to X (formerly Twitter) posts can help you engage with potential customers at scale, saving time while maintaining a personal touch.

  What This Automation Does
  This automation replies to specified X posts using the following input parameters:

  airtop_profile: The name of your Airtop Profile connected to X.
  thread_url: The URL of the X post to reply to. Example
  reply_text: The message you want to post as a reply.

  How It Works
  Creates a browser session using Airtop.
  Navigates to the specified X post.
  Types and submits the reply text.

  Setup Requirements
  Airtop API Key — free to generate.
  An Airtop Profile connected to X (requires one-time login).

  Next Steps
  Combine with X Monitoring**: Use this with the X monitoring automation to create a fully automated engagement pipeline.
  Extend to Other Platforms**: Adapt the automation for use on LinkedIn, Reddit, or any web community.

  Read more about this Airtop Automation.

nodes_used:
  ["n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.wait","n8n-nodes-base.formTrigger","n8n-nodes-base.set","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.stickyNote"]

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


name: AI Talent Screener – CV Parser, Job Fit Evaluator & Email Notifier
author_name: Aayushman Sharma
author_username: ajstyle0411
categories: []
created_at: 2025-05-14T19:24:37.751Z
updated_at: 2025-05-14T19:24:37.751Z
url: https://n8n.io/workflows/4055
scraped_at: 2025-12-24 13:02:44
description:
  AI Talent Screener – CV Parser, Job Fit Evaluator & Email Notifier

  Who is this for?
  This template is ideal for HR teams, recruiters, staffing agencies, and tech-enabled hiring managers looking to automate the intake, analysis, and shortlisting of job applicants directly from CV submissions.

  What problem is this workflow solving?
  Manually evaluating resumes for job openings is time-consuming and prone to bias or oversight. This workflow uses AI to extract candidate data, analyze fit based on job descriptions, and make data-backed shortlisting decisions — automatically updating Google Sheets and notifying both Talent Acquisition and candidates.

  What this workflow does
  This workflow automates your recruitment pipeline by:

  1. Accepting CV submissions via an embedded form.

  2. Saving resumes to Google Drive.

  3. Extracting and parsing resume content using AI.

  4. Fetching the relevant job description from Google Sheets.

  5. Summarizing both job and applicant profiles.

  6. Conducting an AI-powered fit evaluation (semantic match, red flags, soft skills, etc.).

  7. Updating detailed analysis in a centralized Google Sheet.

  8. Notifying the TA team for approval.

  9. Automatically sending shortlisting or rejection emails to candidates based on approval.

  Setup
  1. Connect credentials for:

  Google Sheets

  Google Drive

  OpenAI API

  SMTP email (for notification)

  2. Update the Google Sheets document IDs and folder IDs in the relevant nodes.

  3. Adjust the form fields in the "Form Trigger" node if needed.

  4. Customize email sender/receiver addresses in the email nodes.

  5. Enable the workflow and embed the form on your career page.

  For convenience, the sticky notes guide you through what each block does.

  How to customize this workflow to your needs
  Change job roles by editing the dropdown options in the form.

  Modify evaluation criteria in the “Semantic Fit & Evaluation by HR Expert” prompt.

  Add more fields (e.g., GitHub, portfolio links) to the form and extend parsing.

  Connect to ATS or Slack if you'd like to integrate further.

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainSummarization","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainSummarization","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.emailSend","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Generate Images and Convert to Video Using Flux, Kraken & Runway
author_name: Joseph
author_username: mjomba
categories: []
created_at: 2025-05-14T19:48:15.928Z
updated_at: 2025-05-14T19:48:15.928Z
url: https://n8n.io/workflows/4056
scraped_at: 2025-12-24 13:02:42
description:
  (Image Generation → Hosting → Video Generation)

  This workflow is designed for creators, automation enthusiasts, and indie hackers who want to generate image-based videos automatically using AI tools — at a low cost.

  ⚙️ Workflow Overview

  This automation performs the following steps:

  Trigger (Schedule or manual)
  Generate an image using Flux (choose between two APIs)
  Upload the image to Kraken.io to get a public URL
  Send the image to Runway ML (choose between two APIs) to generate a video
  Receive the video as a URL — ready for posting, download, or further automation

  🛠️ Step-by-Step Setup

  🖼️ Flux (Image Generation)

  You can use either of the following providers:

  Option 1: Flux by BlackForest Labs (Direct API)

  🔑 Get your API key here: https://docs.bfl.ml/

  Paste your API key in the HTTP Request node named Flux (Blackforest)
  You can customize prompts or styles inside the JSON body

  Option 2: Flux via RapidAPI

  🔑 Subscribe and get your key here:
  https://rapidapi.com/poorav925/api/ai-text-to-image-generator-flux-free-api/playground/apiendpoint\_e38039ee-1912-4ef9-b4d4-270d72fca851

  Enter your RapidAPI key in the X-RapidAPI-Key header
  Optional: tweak prompts, style, or resolution inside the JSON body

  🐙 Kraken.io (Hosting the Image Publicly)

  Runway ML requires the image to be publicly accessible. We use Kraken.io to host the generated image and return a public URL.

  🔑 Get your API credentials: https://kraken.io/account/api-credentials

  Setup:

  Copy your API Key and API Secret
  Open the Kraken Upload node in n8n
  Replace placeholders with your credentials
  The node uploads your image and gives back a public image URL for Runway to use

  🎬 RunwayML (Video Generation)

  You also have two options here:

  Option 1: Runway Official API

  🔑 Get your credentials at: https://dev.runwayml.com/

  Use the public image URL from Kraken in the JSON body
  Paste your Bearer token in the Authorization header
  Customize other settings like video length, style, FPS, etc.

  Option 2: Runway via RapidAPI

  🔑 Subscribe and get your key here:
  https://rapidapi.com/fortunehoppers/api/runwayml/playground/apiendpoint\_93c8554d-8097-40cd-8252-3d4dec9c0e68

  Paste your RapidAPI key in the request header
  Customize prompt and generation options in the body
  Use the Kraken-generated image URL as the input source

  📤 What to Do with the Video

  Once the video is generated, you’ll get a direct video URL. You can:

  Save it to Google Sheets or Notion
  Send it via email
  Trigger a YouTube upload automation
  Or download manually for editing and reposting

  💡 Optional Tips & Notes

  You can schedule this workflow to generate AI videos daily or weekly
  Combine it with a Google Sheet of prompts for bulk automation
  Try using a consistent visual style or theme for better branding
  This workflow is lightweight and affordable — perfect for indie projects or experimental content generation
  Great for shorts, quote visuals, music loops, AI art promos, etc.

  🔗 Resources

  Flux (Blackforest) Docs
  Flux on RapidAPI
  RunwayML Official Docs
  Runway on RapidAPI
  Kraken.io API Dashboard

  🙋 Need Help?

  Feel free to reach out:

  🐦 Twitter: @juppfy
  📧 Email: joseph@uppfy.com

  If you’d like to hire me for custom n8n workflows or product automations, don’t hesitate to get in touch.

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

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


name: Auto-Respond to Gmail Enquiries using GPT-4o, Dumpling AI & LangChain Agent
author_name: Yang
author_username: yang
categories: []
created_at: 2025-05-14T21:06:14.263Z
updated_at: 2025-05-14T21:06:14.263Z
url: https://n8n.io/workflows/4057
scraped_at: 2025-12-24 13:02:41
description:
  Who is this for?

  This workflow is perfect for customer support teams, sales departments, or solopreneurs who receive frequent email enquiries and want to automate the initial response process using AI. If you spend too much time answering similar questions, this system helps respond faster and more intelligently—without writing a single line of code.

  What problem is this workflow solving?

  Manually responding to repeated customer enquiries slows productivity and increases delay. This workflow classifies if an incoming email is a real enquiry, analyzes the content with a LangChain-powered agent, fetches helpful context using Dumpling AI, and sends a personalized reply using Gmail—all within minutes.

  What this workflow does

  Listens for new incoming Gmail messages using the Gmail Trigger node.  
  Classifies whether the email is an enquiry using a GPT-4o classification prompt.  
  Uses a Filter node to continue only if the email was classified as an enquiry.  
  Passes the email content to a LangChain Agent, enhanced with memory, AI tools, and Dumpling AI to search for relevant information.  
  The agent constructs a smart, relevant response, then sends it to the original sender via Gmail.

  Setup

  Connect Gmail  
     Use the Gmail Trigger node to connect to the Gmail account that receives enquiries.  
     Make sure Gmail OAuth2 credentials are authenticated.

  Configure Dumpling AI Agent  
     Sign up at Dumpling AI.  
     Create an agent trained to search your help docs, site content, or FAQs.  
     Copy your Dumpling agent ID and API key.  
     Paste it in the Dumpling AI Agent – Search for Relevant Info HTTP Request node.

  Set Up LangChain Agent  
     No extra setup needed beyond connecting OpenAI credentials.  
     GPT-4o is used for classification and reply generation.

  Enable Gmail Reply Node  
     The final Send Email Response via Gmail node will send the AI-generated reply back to the same thread.

  How to customize this workflow to your needs

  Change the classification prompt to include other email types like “support”, “complaint”, or “sales”.  
  Add additional logic if you want to CC someone or forward certain types of enquiries.  
  Add a Notion or Google Sheets node to log the conversation for analytics.  
  Replace Gmail with Outlook or another email provider by switching the nodes.  
  Improve context by adding more AI tools like database queries or preloaded FAQs.

nodes_used:
  ["n8n-nodes-base.gmailTrigger","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolHttpRequest","n8n-nodes-base.gmailTool","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Homey Pro - Smarthouse integration with LLM
author_name: Ole Andre Torjussen
author_username: oleandre
categories: []
created_at: 2025-05-14T21:30:37.315Z
updated_at: 2025-05-14T21:30:37.315Z
url: https://n8n.io/workflows/4058
scraped_at: 2025-12-24 13:02:44
description:
  This n8n workflow sets up a smart home assistant using OpenAI and Homey integration. It uses LangChain agent tools to allow natural language queries (in Norwegian) to trigger workflows for controlling lights, curtains, temperature, TVs, and other devices across different rooms (e.g., living room, bedroom, cinema). The system uses tool-based workflows connected to specific smart home actions and responds in Norwegian. It’s designed to be modular and easily extended with new devices or capabilities.

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

workflow_json_compressed:
  [encoded data, 11812 characters]


name: Extract and Save Invoice Data from Google Drive to Sheets with Dumpling AI
author_name: Yang
author_username: yang
categories: []
created_at: 2025-05-14T21:31:31.196Z
updated_at: 2025-05-14T21:31:31.196Z
url: https://n8n.io/workflows/4059
scraped_at: 2025-12-24 13:02:43
description:
  Who is this for?

  This workflow is perfect for operations teams, accountants, e-commerce businesses, or finance managers who regularly process digital invoices and need to automate data extraction and record-keeping.

  What problem is this workflow solving?

  Manually reading invoice PDFs, extracting relevant data, and entering it into spreadsheets is time-consuming and error-prone. This workflow automates that process—watching a Google Drive folder, extracting structured invoice data using Dumpling AI, and saving the results into Google Sheets.

  What this workflow does

  Watches a specific Google Drive folder for new invoices.
  Downloads the uploaded invoice file.
  Converts the file into a Base64 format.
  Sends the file to Dumpling AI’s extract-document endpoint with a detailed parsing prompt.
  Parses Dumpling AI’s JSON response using a Code node.
  Splits the items array into individual rows using the Split Out node.
  Appends each invoice item to a preformatted Google Sheet along with the full header metadata (order number, PO, addresses, etc.).

  Setup

  Google Drive Setup
     Create or select a folder in Google Drive and place the folder ID in the trigger node.
     Make sure your n8n Google Drive credentials are authorized for access.

  Google Sheets
     Create a Google Sheet with the following headers:
       Order number, Document Date, Po_number, Sold to name, Sold to address, Ship to name, Ship to address, Model, Description, Quantity, Unity price, Total price
     Paste the Sheet ID and sheet name (Sheet1) into the Google Sheets node.

  Dumpling AI
     Sign up at Dumpling AI
     Go to your account settings and generate your API key.
     Paste this key into the HTTP header of the Dumpling AI request node.
     The endpoint used is: https://app.dumplingai.com/api/v1/extract-document

  Prompt (already included)
     This prompt extracts: order number, document date, PO number, shipping/billing details, and detailed line items (model, quantity, unit price, total).

  How to customize this workflow to your needs

  Adjust the Google Sheet fields to fit your invoice structure.
  Modify the Dumpling AI prompt if your invoices have additional or different data points.
  Add filtering logic if you want to handle different invoice types differently.
  Replace Google Sheets with Airtable or a database if preferred.
  Use a different trigger like an email attachment if invoices come via email.

nodes_used:
  ["n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.extractFromFile","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.splitOut","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote"]

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


name: Automated daily workflow backup to GitHub
author_name: Hugo
author_username: hugop
categories: []
created_at: 2025-05-15T02:33:44.721Z
updated_at: 2025-05-15T02:33:44.721Z
url: https://n8n.io/workflows/4064
scraped_at: 2025-12-24 13:02:42
description:
  This workflow provides a robust solution for automatically backing up all your n8n workflows to a designated GitHub repository on a daily basis. By leveraging the n8n API and GitHub API, it ensures your workflows are version-controlled and securely stored, safeguarding against data loss and facilitating disaster recovery.

  How it works

  The automation follows these key steps:

  Scheduled trigger: The workflow is initiated automatically every day at a pre-configured time.
  List existing backups: It first connects to your GitHub repository to retrieve a list of already backed-up workflow files. This helps in determining whether a workflow's backup file needs to be created or updated.
  Retrieve n8n workflows: The workflow then fetches all current workflows directly from your n8n instance using the n8n REST API.
  Process and prepare: Each retrieved workflow is individually processed. Its data is converted into JSON format. This JSON content is then encoded to base64, a format suitable for GitHub API file operations.
  Commit to GitHub: For each n8n workflow:
      A standardized filename is generated (e.g., workflow-name-tag.json).
      The workflow checks if a file with this name already exists in the GitHub repository (based on the list fetched in step 2).
      If the file exists: It updates the existing file with the latest version of the workflow.
      If it's a new workflow (file doesn't exist): A new file is created in the repository.
      Each commit is timestamped for clarity.

  This process ensures that you always have an up-to-date version of all your n8n workflows stored securely in your GitHub version control system, providing peace of mind and a reliable backup history.

  Pre-requisites

  Before you can use this template, please ensure you have the following:

  An active n8n instance (self-hosted or cloud).
  A GitHub account.
  A GitHub repository created where you want to store the workflow backups.
  A GitHub Personal Access Token with repo scope (or fine-grained token with read/write access to the specific backup repository). This token will be used for GitHub API authentication.
  n8n API credentials (API key) for your n8n instance.

  Set up steps

  Setting up this workflow should take approximately 10-15 minutes if you have your credentials ready.

  Import the template: Import this workflow into your n8n instance.
  Configure n8n API credentials:
      Locate the "Retrieve workflows" node.
      In the "Credentials" section for "n8n API", create new credentials (or select existing ones).
      Enter your n8n instance URL and your n8n API Key (you can create your n8n api key in the settings of your n8n instance)
  Configure GitHub credentials:
      Locate the "List files from repo" node (and subsequently "Update file" / "Upload file" nodes which will use the same credential).
      In the "Credentials" section for "GitHub API", create new credentials.
      Select OAuth2/Personal Access Token authentication method.
      Enter the GitHub Personal Access Token you generated as per the pre-requisites.
  Specify repository details:
      In the "List files from repo", "Update file", and "Upload file" GitHub nodes:
          Set the Owner: Your GitHub username or organization name.
          Set the Repository: The name of your GitHub repository dedicated to backups.
          Set the Branch (e.g., main or master) where backups should be stored.
          (Optional) Specify a Path within the repository if you want backups in a specific folder (e.g., n8n_backups/). Leave blank to store in the root.
  Adjust schedule (Optional):
      Select the "Schedule Trigger" node.
      Modify the trigger interval (e.g., change the time of day or frequency) as needed. By default, it's set for a daily run.
  Activate the workflow: Save and activate the workflow.

  Explanation of nodes

  Here's a detailed breakdown of each node used in this workflow:

  Schedule trigger**
      Type: n8n-nodes-base.scheduleTrigger
      Purpose: This node automatically starts the workflow based on a defined schedule (e.g., daily at midnight).
  List files from repo**
      Type: n8n-nodes-base.github
      Purpose: Connects to your specified GitHub repository and lists all files, primarily to check for existing workflow backups.
  Aggregate**
      Type: n8n-nodes-base.aggregate
      Purpose: Consolidates the list of file names obtained from the "List files from repo" node into a single item for easier lookup later in the "Check if file exists" node.
  Retrieve workflows**
      Type: n8n-nodes-base.n8n
      Purpose: Uses the n8n API to fetch a list of all workflows currently present in your n8n instance.
  Json file**
      Type: n8n-nodes-base.convertToFile
      Purpose: Takes the data of each workflow (retrieved by the "Retrieve workflows" node) and converts it into a structured JSON file format.
  To base64**
      Type: n8n-nodes-base.extractFromFile
      Purpose: Converts the binary content of the JSON file (from the "Json file" node) into a base64 encoded string. This encoding is required by the GitHub API for file content.
  Commit date & file name**
      Type: n8n-nodes-base.set
      Purpose: Prepares metadata for the GitHub commit. It generates:
          commitDate: The current date and time for the commit message.
          fileName: A standardized file name for the workflow backup (e.g., my-workflow-vps-backups.json), typically using the workflow's name and its first tag.
  Check if file exists**
      Type: n8n-nodes-base.if
      Purpose: A conditional node. It checks if the fileName (generated by "Commit date & file name") is present in the list of files aggregated by the "Aggregate" node. This determines if the workflow backup already exists in GitHub.
  Update file**
      Type: n8n-nodes-base.github
      Purpose: If the "Check if file exists" node determines the file does exist, this node updates that existing file in your GitHub repository with the latest workflow content (base64 encoded) and a commit message.
  Upload file**
      Type: n8n-nodes-base.github
      Purpose: If the "Check if file exists" node determines the file does not exist, this node creates and uploads a new file to your GitHub repository with the workflow content and a commit message.

  Customization

  Here are a few ways you can customize this template to better fit your needs:

  Backup path**: In the GitHub nodes ("List files from repo", "Update file", "Upload file"), you can specify a Path parameter to store backups in a specific folder within your repository (e.g., workflows/ or daily_backups/).
  Filename convention**: Modify the "Commit date & file name" node (specifically the expression for fileName) to change how backup files are named. For example, you might want to include the workflow ID or a different date format.
  Commit messages**: Customize the commit messages in the "Update file" and "Upload file" GitHub nodes to include more specific information if needed.
  Error handling**: Consider adding error handling branches (e.g., using the "Error Trigger" node or checking for node execution failures) to notify you if a backup fails for any reason.
  Filtering workflows**: If you only want to back up specific workflows (e.g., those with a particular tag or name pattern), you can add a "Filter" node after "Retrieve workflows" to include only the desired workflows in the backup process.
  Backup frequency**: Adjust the "Schedule Trigger" node to change how often the backup runs (e.g., hourly, weekly, or on specific days).


  Template was created in n8n v1.92.2

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.n8n","n8n-nodes-base.aggregate","n8n-nodes-base.github","n8n-nodes-base.github","n8n-nodes-base.github","n8n-nodes-base.if","n8n-nodes-base.convertToFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Serve Inspirational Quotes On-Demand via Webhook using ZenQuotes API
author_name: ist00dent
author_username: ist00dent
categories: []
created_at: 2025-05-15T04:21:51.123Z
updated_at: 2025-05-15T04:21:51.123Z
url: https://n8n.io/workflows/4065
scraped_at: 2025-12-24 13:02:45
description:
  This n8n template lets you instantly serve batches of inspirational quotes via a webhook using the free ZenQuotes API. It’s perfect for developers, content creators, community managers, or educators who want to add dynamic, uplifting content to websites, chatbots, or internal tools—without writing custom backend code.

  🔧 How it works
  A Webhook node listens for incoming HTTP requests on your chosen path.
  Get Random Quote from ZenQuotes sends an HTTP Request to https://zenquotes.io/api/random?count=5 and retrieves five random quotes.
  Format data uses a Set node to combine each quote (q) and author (a) into a single string:
  "“quote” – author".
  Send response returns a JSON array of objects { quote, author } back to the caller.

  👤 Who is it for?
  This workflow is ideal for:

  Developers building motivational Slack or Discord bots.
  Website owners adding on-demand quote widgets.
  Educators or trainers sharing daily inspiration via webhooks.
  Anyone learning webhook handling and API integration in n8n.

  🗂️ Response Structure
  Your webhook response will be a JSON array, for example:

  [
  {
  "quote": "Life is what happens when you're busy making other plans.",
  "author": "John Lennon"
  },
  {
  "quote": "Be yourself; everyone else is already taken.",
  "author": "Oscar Wilde"
  }
  ]

  ⚙️ Setup Instructions
  Import the workflow JSON into your n8n instance.
  In the Webhook node, set your desired path (e.g., /inspire).
  (Optional) Change the count parameter in the HTTP Request node to fetch more or fewer quotes.
  Activate the workflow.
  Test by sending an HTTP GET or POST to https://&lt;your-n8n-domain&gt;/webhook/&lt;path&gt;.

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

workflow_json_compressed:
  H4sIAAAAAAAAE5VW227bOBD9FULdR9OheJNkYB9aLLrotmjapmiBbvrAyyhWY0uORNlNAwP9h33Z/b1+yY5kx3YSJW2eJJHUcM6ZM4e8igofTaIPb1+ujp8dv9IqW2ViFaJRNIdgoslVVJRNMKWDF906kYPnwoPOEqeZYEkurMyVM2ByC3lurMkTa73mLracGUiYV7nJlclSpq2M1qOoNHPAUCdQL4G8KJtFUZtQVKWZkbdtFaAhxyX9A+am9GRZGPIR7LSqzknbFOUZ+QTldtXTNy8wzWDOmmjy99UGx/P45Zevr8TJl3z54eLTRRXttgu1KUoMQMu0xFFXgwngnwac4owryiTl2fuYTSSbxGIsBP+Ey9qF//my9WfcpfJwkEeaghTWeMoS76hMJKdWOE1zJISpzHOW5fvcTkLhzi/Ja4TVIbpcdIOYJ+2jUmsaGDf9mu2SRdUUHWW4IeUpG1EuGSaxMDUGDFA3XeFcNavqaCJH0arwYRpNupXRFIqzKcLhDD9cVQYoO3BPnpBncFaUJdQkrwso/eySrKr6PJ9VK1KVZIqPUPVDZFWEaUc/6UqUV/XcBBKmQJArQ4oSl11WbU0w96IGUrVh0Yau8h2yD5hdn3m8Hm3J0sonFlVFbRZnVHonqI01UK+ZwjnlvFF7sv6EQN7hxtV8IxdMF193sriXwGkIi3dw0UITbjIoOBuld+lr6xkG6f5qJkdH36C86OOPi+rILIqjuk8BI1WLLk73CyJskLi3LdSX0STULYyii+7jzY3Ah9ugXrawXNWWXWJLM2u7b4WyWt/mTI75jjWnjBcK1aW51VSmaU6NYjH1qZCgROptnu1Z2zbRveysdvMHzGx52c71BuBEokEoS1OWCypZqqmx4KjnmI/E/XMrottULkwnv1/994DQ2/j36IVR3kidUZQMNlgcA6KHjJpMGR4nqWWxOWgwLAupoVlg3PtbbLPAv68+DpGRyUGZ3Cj/NsLHosf7pak6q7ne91nlURbR1WlJyGnUq+k0muDr1RX5rVs73iiMrNen0Wm5vtsx433POCcylkpFM0iQy0THNOPGUGWtzfOMaUiSQYOJH+8waBsD9nJtKvrAVOL0lqk8Ie/AQbFEVEXpqnnn4PWmCZsHHEFmmbagOOU6wepmjNE0cTEVXmslIWeZSAfR8Uej43wQ3dY8+c48BTs0T34H53MIboowN75ANqV8AGImleAuSalXCqjUCZ4QWSqpSNHvODBplRuEKB4NUemHIIrRYCnvnA8IsXf6ZuPwP77/22PEl3+IacO0qn98/480ocYaPwQ8FYZlKcJNvElRueBpatH8IY2t4j5RTLE98M2e/clyP2645ej6F1rVNE1xVs4RXT934/P6FNdWS21jhyYjLZUiAdwQq6UMWlUOeM+BA4u9uHX+bKg4sPTfD1u973JCyW7E4MiQ54ux3IsmSTlPwOIdRGPXe28oun3cXSuU42iviulB0chHiyYdFs0vSqUz3IZY487JXyfHr4mpa3M5IAqMb1xAf4gmuZk10J2gIfQKws3gK7i2y+e49oBSjZZxF2O5+b8/j5KMqdjHMY0zQEYE19TmeHdgxrE8jfPcya5hMLsS3HX5d6chvs7xWohwu4MYSXnM/aL/c4T3Yw9fowlbf/6MuR3qdSj6PSfRYKyfZTIUf7BfBqKv1/8DsEiK7PoLAAA=


name: Track Hourly Weather Conditions with OpenWeatherMap and Google Sheets
author_name: ist00dent
author_username: ist00dent
categories: []
created_at: 2025-05-15T04:33:05.417Z
updated_at: 2025-05-15T04:33:05.417Z
url: https://n8n.io/workflows/4066
scraped_at: 2025-12-24 13:02:45
description:
  This n8n template allows you to monitor hourly weather conditions in a specific city using OpenWeatherMap and log the results to a Google Sheet. It’s perfect for anyone needing periodic weather tracking—whether you're managing logistics, travel planning, or environmental monitoring.

  🔧 How it works
  A Schedule Trigger activates the workflow every hour.

  The Get Weather Data from OpenWeatherMap node fetches real-time weather details using the city name you specify.

  An IF node checks if the weather description contains "rain" or the temperature is below a set threshold.

  If the condition is true, the data is formatted with city, temperature, humidity, and conditions.

  The Google Sheets node appends this formatted information to your designated sheet.

  👤 Who is it for?
  This workflow is ideal for:

  Operations teams monitoring weather-sensitive logistics

  Researchers collecting climate data

  Developers and hobbyists learning how to connect APIs with Google Sheets

  🗂️ Google Sheet Structure
  Your Google Sheet should have the following columns:

  city (string)

  temperature (K) (number)

  humidity (number)

  conditions (string)

  status (string)

  ⚙️ Setup Instructions
  Create a Google Sheet with the above columns.

  Set up your Google Service Account credentials in n8n.

  Replace the API key in the HTTP Request node with your own OpenWeatherMap credential.

  Specify your target city and ensure your OpenWeatherMap account is active.

  Adjust the frequency in the Schedule Trigger as needed (default: every hour).

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE5VW647buBV+FUEpihYwPRRJ3QYIikEWsx2k2Q0y2bTdIFgckoe2JrbkSNQkswP/7QP0EfdJ9lC+aWJ7m/6TyMPznct3Lo9xZePLOHm4SpcGO//m34u75fWreBIv0UN8+RhXdeehNngT5KRDK6TFrMxNxiXPndTKpQYQnEbnQIPLtbaZMIkWHDDnNnXgUigLnmlFej0uVwvw+KJF292i71cvGjpBjwTg2x7Xk7iGJRLa2xbMx+jvTd8uHqJ/Ivg5ttGLpraVr5q6iz5Xfh79uMJ6e/cKVtFv//lv9H3TzBYY3c4RfRcgYdbFl+8fN75eJy/vvvxD3t65+3effv7UxHs830JVV/WM1UVNp6YltWivPF0JLlLGFRPl24RfKn6ZyKmU4mcS61f2f4utPxBKY3Fkh8qFVqXkDEwmmAJrGLgspS+JKsOkMGAOtt2aOdqevHrbVrMZtsGth1W4IWPZoJpp6HDabQUPcqumGwJG0HzCyZAVtKTUY9uFBLckvEk0ndzDYrDQVbgIRs4p+B1Zv15v8N7Ro0FVMhXrydYT4A6TUmiW6EIxVVjJiqLMmBGJoyuRFWl68OQoOyfdmA1Se6GRDyXnE5aoY0eaFbawEYphRbSw9LALGn4YkB/jX35pFxuSEb8JiwQXVedJjPzuw29IO4QIvsGuX/ifgvzXhxttcUwhsY3pl1j7UBwn1Vd2rJxeQE9MrX1ldpZ2FPTK4JUxTV/7IEK8s0EEFoNbm0hcraohSSHev+Kvd694wm8W//pYfLn+6Ti2G53RVmm0I3Z8lEY1TfdpzA0lDECyrNSGKW4LphEEA0SpjchLwUeE/B79via/Aw+Ra5vlV9V4Nrtz71dv8FOPQ/BHyRXiFEX7IQ3Pw6vu8uICVtWUkl1/3gAtYTVt2tkFlSFciGl6sT3/26fnr6GDh8lq/uer169vvnv++Bj9aRTdQcnB2inpfYkP0XpNNjWroccQ+omYHagvc6kzV+TMGF4ylQjLSlFKZqh8qQaMchwOMbtxUdVFu2ScC07lnsZE8VMxGRlIlNk3xadX8f3OaDGJF+j8uzHPO7zFOsDc4462g6OwqOyenr6tzIaWzVJXNfimpeMmNJYx6q6rmbSUMlea5VA6pkxhGUBmmLQOaCgkWhszhDfUalD1uI9Cv9RDvxrX8WKAHls+JPGua+rpkuI4DeNkkzHqd/OdlORynyKhDM8gK5iRUjKVGsm040htOs1VaFZW4GmLgu9DnsYWkdOegLvzdm3p955/mFJOTVsN6Tg2Mg5E2PbWuvHY3dTXi+bzk1Ts0zfiHE9cIktlWGlTcghSYKBAsyxRmU6KXECZHDh33VCBUAuYYxQK5PzcwK9KMVNn++yIedB11awOPXC4e/K74wRkwnKBOeO0HjAlSmBau5RhykXBBbe5kAeDTeUfDlbuc3B/FOcgH6J6CEyZJq6QmqV5QTiSc1bmzjKVKTAcZJIKPZr2xJyQ1r7F6C8v//pNkE8od2BY7oQtXMmgUAlxXlLjNEQ4DQntRgXkSYYH3Hm/rOy3+jgA7l48AdU8Jb3UeWgJA3JWIC0SNmNFZrI8cSVdjYbuqFS/BfY8hff4ZeGSJHW0tJQJTQupLNOpzclpLUsAU2BZHPBph/T9H2HPqTBokvg51BFQ14IZRqMMnVpB5FQd+rA0WtHOyWzCw+xKOKPlyjAKkspKNIK7EcVuaf5+fIh+oKI7Xw+DzFZkVBZJRmVRHFfF58r6ORlV8Ek8x1DmVLUkOzQMqgdCePbsWTQem1XthuIMoYXaRh1iVNGI8OMpcbR4hVUSzKZpO5pi1Cqodj3JDnbgFzR9UPljazG06vsk6NgOgmGLB1UkkIBiNLto81RWMbC0uJbKojaFlqk0m/Zeo9mPkqd7Gx0EblJA3n/4QPqfjrbR7eOw9/5RIxokJ7R/WvwSX3Lyb6Py6wenlJ5ZJo9UBn1HK/RJhf/XWnMS55tUnMI+sx6cAFmvfwcc5BRUuQ0AAA==


name: Automated Email Assistant for Suppliers using OpenAI and Google Sheets
author_name: Omar Hdez
author_username: omarhdez
categories: []
created_at: 2025-05-15T06:22:30.568Z
updated_at: 2025-05-15T06:22:30.568Z
url: https://n8n.io/workflows/4067
scraped_at: 2025-12-24 13:02:44
description:
  Automated Email Assistant for Busy Professionals

  This assistant is designed for people who don't have time to write and send emails to suppliers. With just one request, it drafts and sends clear, professional messages automatically.

  How It Works
  The user makes a request (e.g., “Send an email to my fruit supplier asking for a quote on 1 crate of mangoes.”).

  Workflow:

  The AI agent searches for the supplier in a Google Sheets database.

  It automatically drafts the email using OpenAI (with the tone and style you define).
   
  It sends the email using your Gmail account connected through n8n.
  This assistant uses:

  Google Sheets to manage your suppliers (name and email).

  OpenAI to generate clear, natural messages.
    
  MCP (client-server logic) to handle request processing.
    
  Gmail as the sending channel for automated emails.
  Setup Instructions

  Create a Google Sheets document with the supplier name and email, like this:

  |Supplier name|Email|
  |-|-|
  |Proveedor de frutas Alvarez|fruteriaalvarez@alvarez.com|
   
  Connect your Google Sheets and Gmail accounts within n8n.
   
  Add your OpenAI API key.

  Test the automation by chatting with the integrated assistant.
  It will generate and send the email automatically to the indicated supplier.

  Requirements
  OpenAI API key to generate email content.
  Gmail account connected via OAuth2.
  Google Sheets document with your supplier database.
  n8n instance (cloud or self-hosted).

  Customization

  Adjust the OpenAI prompt to make the email tone more formal, casual, or technical.

  Add custom fields to your supplier sheet (location, notes, special conditions).

  Replace Google Sheets with a real database like Supabase or PostgreSQL for greater scalability.

nodes_used:
  ["@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.gmailTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.googleSheetsTool"]

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


name: Find Reddit Prospects & Generate Personalized Responses with Llama3 AI and Google Sheets
author_name: Dhrumil Barot
author_username: barotdhrumil21
categories: []
created_at: 2025-05-15T10:00:08.976Z
updated_at: 2025-05-15T10:00:08.976Z
url: https://n8n.io/workflows/4068
scraped_at: 2025-12-24 13:02:45
description:
  Turn Reddit into Your Most Powerful Lead Generation Channel

  Discover hot prospects on Reddit who are actively discussing problems your product can solve - without spending hours manually searching and responding. This intelligent workflow automatically finds relevant conversations, analyzes intent with Llama3 AI, and crafts personalized responses that drive conversions.

  🔍 Automated Prospect Discovery
  Stop wasting time manually searching Reddit. Let AI find people who genuinely need your solution - while you focus on higher-value tasks. The workflow monitors target subreddits 24/7, ensuring you never miss a potential lead.

  🧠 Intelligent Relevance Filtering
  Not all mentions are quality leads. Our sophisticated Llama3 AI engine analyzes post content, sentiment, and intent to identify true business opportunities. Say goodbye to false positives and low-quality interactions.

  💬 Personalized Response Generation
  Generic outreach gets ignored. This workflow crafts individualized responses that reference specific pain points from each post, positioning your solution as the perfect answer to their problem - dramatically increasing engagement rates.

  📊 Complete Activity Tracking
  Every interaction is automatically logged in Google Sheets, creating a comprehensive database of your Reddit prospecting activities. Track which posts received responses, measure engagement, and refine your targeting over time.

  🔄 Set It and Forget It
  Once configured, the entire process runs autonomously. No more daily Reddit searches or manual outreach - just check your dashboard to see new prospects and conversations.

  Perfect For:
  SaaS businesses targeting specific use cases
  Consultants and agencies looking for clients with specific problems
  Product companies monitoring customer pain points
  Support teams finding users who need help

  Technical Requirements:
  Reddit API credentials
  Ollama with Llama3 model
  Google account for tracking

  Get started today and transform Reddit from a time-sink into your most efficient lead generation channel!

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.reddit","n8n-nodes-base.if","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatOllama","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.reddit","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE62XS27jRhCGr0JwrVa62W9v8jAygYFkHMRGsgiMoB/VMjEUKYh0bMPQZpBjZDXr3CLL3GJOkqJkSLJEyXbijWDR1VUfq/6qaj3kU+hcfvKQl3XbuTrAWcxPcp485UkbWSQBRdIOADQwiD5oz1gUhYiOB6VTCtoammQUEhwFSj1LzuajvIPprHIdnM4hthfQ3cxOG3wCHWCAbn4Di1FeNxHa/ORXjN5HVaCih2SIpMoQAdQQL4MlXCqPTgvvQkTPtZsCWv9yDXUWqjJ8KOtJ9venzx//+ufPS2i77LaZf0hVc7t89vmPTz3N/aw/U5uaLIMS71oYT11946rLeTmZwBytZk1bdmVTIxJhTNFRoSW9wudujjE7mCPsw2Ll7Wf8tjRli9Ejvw6SGx01CVYlIiKLxHOZCKaNK6Odccpu+L+DLvv2rmy7Hv/Hpu1adhB00jSTCi6uAbp2h1MXiKkGMeEOwk0H51jVVcp3yMVYrtl9SM5L6kjwQhEh8cNwyYhNTCaTYgzoZM3+fTPJzuZzqOB3V3dL+v/ArqUaFZI+m+FtzugEB+ElsTQE1AizxGnLCUuJQozUc22fcv70FpTmeR1sU7okjVdGEW9UJEIYQaz1vZw1doq2CfhWNnswxIyx7DJskinUhznnS7OnhFYjoX2NUhlX3kqIBIvLiFAxEAMchcuMEqiAUFC14Ttrs0fEVSa/PEhXpqdkkr+swsW4WLNxymS0whLpwRFhYsIuigX2E7cQTCoKGrZy5+YtZF+fIVw7a+oWDrIF/PMpHWcvpFuzSaeBB8eI8uCJ4CYRB9qTIJinQUilpdmwnVeVm7rs9Np12Q8YvdqwfYVwX2wAK1dPwrUr63E17c1XJ3c6XfTzSLymymC9FkKTKLFhBJVYZSlwKEmggXujddyap8scLgscMKG1q+7bsn0BsZus9LqN2o9O8Xxi2disYQOXzllXkKgLjY0tHDZ2UoQZVmDrBMxs2ir7vAnQttl5DSttYopddllOD9e/nVVld1Z/47pwDbtTtDAvG/Z8M+wlK4ooAsHJjlJQxhNroiJKhWBoDM4wseF9V1boMXsPt6tR/wqV4jZ8GdtGpg47Oha4iIwRnAhrLfFJB1KAwc62yYEw+7lc5vFdCVU8jNfCbqmX+2d4PD7ZP8lV7e4C4mOxZlaBa2VxAXmVcGRSG4i3AlvLU6mY1SHQLeZ+eT5OzOP5HJqXxIrXrvaEorRBepJUX20rUp9R3799UAozzOMW3UWHt5L77H3THZHj0ubRZAuOFX3zsP0+z0NTd32rneT5Piha4/9rCL2bpfme5PDZFBsWY+CFqyd5YR8tD43wghjhLj+hi6srDL9XgGPeB5W163a0Pnb0ZjRIs7+hhnCO3Ab2vI6eHjt42RnE2Q80mJ1ja3/Q7/5CQb+u/K0fxjc4hx+fbcV4Zqjvnd2NuL9eh97kyAXhoHh2Czzk9/DUPJj23UK9qeiHKva2AQYa5g0SM6yCQfLD16mjwANvOuT+8Ng+1oDPiHgQ7BW/Dv8n6NVisfgX072D0UcPAAA=


name: Complete Shopify to Odoo Integration: Sync Orders, Products & Customers
author_name: Evozard
author_username: evozardconsulting
categories: []
created_at: 2025-05-15T10:58:11.724Z
updated_at: 2025-05-15T10:58:11.724Z
url: https://n8n.io/workflows/4069
scraped_at: 2025-12-24 13:02:46
description:
  This workflow functions like the integration of Shopify products with Odoo products, Shopify customers with Odoo customers, and paid Shopify orders with Odoo sales orders containing multiple products.
   
  Trigger (Shopify – Order Created & Paid): The workflow starts when a new order is created in Shopify and its status is marked as paid.
   
  Loop Through Each Line Item in the Order:
      For each product in the order:
          Check if Product Exists in Odoo (via Internal Reference/Default Code)
  	    If the product exists, proceed.
  	    If the product does not exist, create it in Odoo with the following details:
  	        Product Name
  		Description
  		Price
  		Internal Reference (Default Code)
   
  Check if Customer Contact Exists in Odoo (via Email):
      If the contact exists, proceed.
      If the contact does not exist, create a new contact in Odoo with:
          Full Name
          Email Address
          Phone Number
          Shipping or Billing Address (as available)
   
  Create a Sale Order in Odoo:
      Create a new Sale Order in Odoo using:
          The matched or newly created Customer Contact
          The matched or newly created All the Products in the Shopify order (with correct quantities and pricing)
      Each Shopify product in the order is matched to the corresponding Odoo product using the Internal Reference field
      
  Integration Setup References:
   
      Shopify Integration Setup:
      https://docs.n8n.io/integrations/builtin/credentials/shopify/
   
      Odoo Integration Setup:
      https://docs.n8n.io/integrations/builtin/credentials/odoo/

nodes_used:
  ["n8n-nodes-base.shopifyTrigger","n8n-nodes-base.odoo","n8n-nodes-base.code","n8n-nodes-base.splitOut","n8n-nodes-base.odoo","n8n-nodes-base.odoo","n8n-nodes-base.code","n8n-nodes-base.odoo","n8n-nodes-base.filter","n8n-nodes-base.odoo","n8n-nodes-base.odoo","n8n-nodes-base.filter","n8n-nodes-base.code","n8n-nodes-base.splitOut","n8n-nodes-base.code","n8n-nodes-base.odoo","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.odoo"]

workflow_json_compressed:
  H4sIAAAAAAAAE6VYS28bNxD+K8IeehILvh8+NkGLIkVSIEVzCHIYkkN7EVsypLUdw/B/71Byo0eWsqRc7BWWHH785vXNPnV97i464z8+vP3j67tP948379/99tBNuxscoLt46vrZcoBZwj/rOhsV+mST4imXWLiVXoEqYBwXNiiZbNSYggk+2GSS0RaL8daUYoMrRXTP024GN0imPl7Nb/vyOPlnPvmQ5/PJp364mryZzwZIw/TvxTzfpWHyy+TDIuOC4AxwuewuPn+h/fOM9fFpDZ1bboSLkmmFimnnDPO6GCYLWssjoZWi+/HURX95uTb8eFtfzPyMrSyzCEv8dblet1l2O1/2Qz+f0cFMSM2ngnMC84Dxaj7/uiJH0WmBOGFodGJaW8ECCqQ/xRUpBXIfqyVYEJYBF3SJp+c1gH/p18q4eJ6+3Etql7QTwDgkYBpBs1DoSRCVyisvspBb94JrXHMlmneaE817N7GeT5WvFzkSVTAxcOE1s6He0ZhMqERh2ipvZdDZS7NB9YYOV008iR738Ojj8MjveJzQoOlMVox2tD0nBlJo5mQqkoIwYoQtlm6v+2Hy4W5og1rWJbRiD5jiJxJlyONZesm80p6ISpn5KBNT2XMvQUZwuAFWM0Cf4jghj8Mz7eD6AR6XdKPbu+Et1JweFnf4HafQWQqnAkOtOeEMlgVtHTOSwtlBdk6qsTCb/NXP8JRYU/pEBpXWxCAUpmoWaEpnFqxyLHuIANFnj7gbam0GR0LNWT6tNB4fawYgmZAtJaOgWKt+jSVF5m3BHL1NOoldl57i0WDP92iB6+XGpTFLi4lzhlFTRQy8MKrHnAFoolJBzGnLpb/318OBQlj+f72N1fjjuNs4kwsMDmuV5jEQJgoz7zKntC3B2BzRot/lzpxCnuZHAnqdPas9wQvAChokV1MVB2EoP5xDcCYlXewuUnsK0krdunX8ZOIabTxmLViyNRp1TCw4R4nLUXjlrPNG7ntZnuZmKY/DuukOLpM/s2DUiom7Ej3znCumgIuEGiL1i92UbXM3krI1RY7AI7d6qKLqJjyzPFMRLqWQNoiOccGVkE5q6dxId2jXkUZ3cMcB26ptUYcSjWcmFAImqkrIJFoytYWCoChd/S5R7XQYa6P8RKIoknyWsTDhE5WMArXWGsMMFZKsEItQe+npTkvPs2N+NzkLKAe+UFeVPDItDWeRoDEpgvCZewfAtxw69Onr4+T9fMC2R1drXpbsdFgua02xP8DuEolUnA1kqztQ8HIGRQWXcQnEqCDlBpIDs7lkdNxSO7SjSNs9tQnVkrv1mTi9iAG0DcwqJBnnjWbRFcckOh+CjjFkHMXZriVtSqsEOBsoNV0QWdcKSnLAkuYDi5phtjoIUgo5qFGgB7Re2/f8J5A6lCpEKjgyKaK0xieJA8VCxCxIXFFijSM9UHdaSHVVMfLH3DoOqbGGKysiK8FTkHJL6tnQk48qIDU8oVwcRdquRgeCdHounzRgFkWuDqJ6PlKcxhJcZTZImoaI5TyKst1cWihrx1PnsimRZk7nLOPFaipOpFo9GhKs3FthMNFLPYqzXUubbDr9E0A5gCLl6lg0nMSYS56BJ9xZAcnDUArw7QBFWKSr9ZD+Mp+fqmvPlmYrxUM76cz+Hte/p90Sh6GfXa4ujN8w3dWz1h8KLrr71UeG+7XZ1VwufUouykhQSAVrihYacUjbUZ0TPDkvkkgEmqibYaqmVoZX+p3+30Bf7/H5afXhoTVqr1ZNu36W8Vt3wZ+/fCEQ6/F31MbIINo0oUdN7Ov25nZzYLs8Yr89fAP9ion1aHuYyP1hsmloHMuePhrd/ULX2Pa9aePAdtnc717Zv+XwlonXiNxivGXCvmZiK3RbRL4Wkftf0FpY2mammwg4VFra2/YGh3GYI6ZbVz7M/PPzf2drqnklFQAA


name: Linking NocoDB Records via API 🔗
author_name: Max aka Mosheh
author_username: aiwithapex
categories: []
created_at: 2025-05-15T13:39:15.959Z
updated_at: 2025-05-15T13:39:15.959Z
url: https://n8n.io/workflows/4070
scraped_at: 2025-12-24 13:02:45
description:
  How it works:
  The n8n flow grabs the needed IDs, fetches the current links, adds your new one, and sends a single HTTP request to NocoDB to update the record’s linked entries.

  Set up steps:

  Plan for 10 minutes setup if you’re already running n8n and NocoDB.
  You’ll need to copy/paste table IDs, set up your HTTP node, and test once.
  No coding, just copy IDs.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.nocoDb","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.nocoDb","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: AI-Powered RAG Q&A Chatbot with OpenAI, Google Sheets, Glide & Supabase
author_name: Sam Yassine
author_username: samyassine
categories: []
created_at: 2025-05-15T14:00:56.738Z
updated_at: 2025-05-15T14:00:56.738Z
url: https://n8n.io/workflows/4071
scraped_at: 2025-12-24 13:02:44
description:
  Automate AI-Powered RAG System with Contextual Q&A, Google Sheets Integration, and Glide Frontend—Powered by n8n, OpenAI, Supabase, and Google Apps Script.

  Tools & Services Used
  Glide (Frontend for user interactions)

  Google Sheets (Stores questions and answers)

  Google Apps Script (Forms + media upload handling)

  OpenAI (Embeddings + GPT-4 to rank and generate answers)

  Supabase (Optional for image hosting)

  n8n (Automation logic and backend glue)

  Workflow Overview
  This automation performs the following steps:

  Trigger: Webhook receives a user question from a Glide frontend.

  Fetch Data: Retrieves Q&A entries (and optionally, image URLs) from a connected Google Sheet.

  Rank Relevance:

  OpenAI Embeddings rank the relevance of stored questions to the new input.

  Top matches are passed to a GPT-4 prompt for answer generation.

  Generate Answer:

  GPT-4 creates a contextual answer using the best match.

  Optional: Includes media URL if attached to the matched answer.

  Response: Sends the formatted answer back to Glide frontend (text + optional image).

  Prerequisites
  Active accounts and API keys for:

  OpenAI (API key with GPT-4 and embedding access)

  Google Sheets (linked via Service Account or OAuth2 credentials)

  Glide App (with a form to submit questions)

  Supabase (optional, if hosting user-uploaded media)

  n8n Self-hosted (for community nodes and webhook access)

  How to Use This Template
  Step 1: Import the Template
  Upload the provided JSON into your self-hosted n8n instance.

  Requires installation of the Community Node: @n8n/n8n-nodes-openai-embeddings

  Step 2: Configure Credentials
  Webhook Trigger: Replace the Glide webhook URL with your actual endpoint from your app.

  Google Sheets Node: Set the spreadsheet ID and worksheet name to fetch your Q&A dataset.

  OpenAI Nodes:

  Insert your OpenAI API key.

  Confirm that both text-embedding-ada-002 (or similar) and gpt-4 are available.

  Supabase or Apps Script (Optional): Ensure image links are correctly formed in the Sheet.

  Step 3: Customize Prompts and Thresholds
  Update the OpenAI ranking prompt or similarity threshold in the Function or Code node.

  Tailor GPT-4 prompts to return concise or detailed answers based on your use case.

  Initial Test Run
  Simulate a Question:
  Trigger the Glide form with a sample question.

  Check n8n logs for:

  Matching score/ranking success

  Correct retrieval from Sheets

  GPT-4 answer generation

  Image URL handling (if enabled)

  Production Prep
  Add error-handling nodes for cases when Sheets are empty or GPT-4 fails.

  Set up logging via Google Sheets, Supabase, or external database.

  Rate-limit or debounce requests from Glide if needed.

  Use Cases
  Customer Support Portals: Offer instant Q&A with your business data.

  Internal Knowledgebase: Employees can query training manuals and SOPs.

  AI Concierge: Combine structured answers with friendly tone for guest interactions.

  Disclaimer

  Validate Glide form inputs before full deployment.

  Ensure your OpenAI and Google Sheets usage stays within quota limits.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.googleCalendar","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.toolVectorStore","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.httpRequest","n8n-nodes-base.respondToWebhook","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.vectorStoreQdrant","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterTokenSplitter","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: Enrich Seller Data with Email & Domain Lookup using Bright Data & Google Search
author_name: Cyril Nicko Gaspar
author_username: cngaspar
categories: []
created_at: 2025-05-15T14:35:17.827Z
updated_at: 2025-05-15T14:35:17.827Z
url: https://n8n.io/workflows/4072
scraped_at: 2025-12-24 13:02:45
description:
  🔍 Email Lookup with Google Search from Postgres Database

  This N8N workflow is designed to enrich seller data stored in a Postgres database by performing automated Google search lookups. It uses Bright Data's Web Unlocker to bypass search result restrictions and the HTML Extract node to parse and extract relevant information from webpages.

  The main purpose of this workflow is to discover missing contact details, company domains, and secondary emails for businesses or sellers based on existing database entries.

  🎯 Problem This Workflow Solves

  Manually searching for missing seller or business details—like secondary emails, websites, or domain names—can be time-consuming and inefficient, especially for large datasets.
  This workflow automates the search and data enrichment process, significantly reducing manual effort while improving the quality and completeness of your seller database.

  ✅ Prerequisites

  Before using this template, make sure the following requirements are met:

  ✔️ A Bright Data account with access to the Web Unlocker or Amazon Scraper API
  ✔️ A valid Bright Data API key
  ✔️ An active PostgreSQL database with seller data
  ✔️ N8N self-hosted instance (recommended for using community nodes like n8n-nodes-brightdata)
  ✔️ Installed n8n-nodes-brightdata package (custom node for Bright Data integration)

  ⚙️ Setup Instructions

  Step 1: Prepare Your Postgres Table

  Create a table in Postgres with the following structure (you can adjust field names if needed):

  CREATE TABLE sellers (
    seller_id SERIAL PRIMARY KEY,
    seller_name TEXT,
    primary_email TEXT,
    company_info TEXT,
    trade_name TEXT,
    business_address TEXT,
    coc_number TEXT,
    vat_number TEXT,
    commercial_register TEXT,
    secondary_email TEXT,
    domain TEXT,
    seller_slug TEXT,
    source TEXT
  );

  Step 2: Setup Web Unlocker on Bright Data

  Go to your Bright Data dashboard.
  Navigate to Proxies & Scraping → Web Unlocker.
  Create a new zone, selecting Web Unlocker API under Scraping Solutions.
  Whitelist your server IP if required.

  Step 3: Generate API Key

  In the Bright Data dashboard, go to the API section.
  Generate a new API key.
  In N8N, create HTTP Request Credentials using Bearer Authentication with the API key.

  Step 4: Install the Bright Data Node in N8N

  In your N8N self-hosted instance, go to Settings → Community Nodes.
  Search and install n8n-nodes-brightdata.

  🔄 Workflow Functionality

  🔁 Trigger: Can be set to run on a schedule (e.g., daily) or manually.
  📥 Read: Fetches seller records from the Postgres table.
  🌐 Search: Uses Bright Data to perform a Google search based on seller_name, company_info, or trade_name.
  🧾 Extract: Parses the HTML content using the HTML Extract node to identify potential websites and email addresses.
  📝 Update: Writes enriched data (like domain or secondary_email) back to the Postgres table.

  💡 Use Cases

  Lead enrichment for e-commerce sellers
  Domain and contact info discovery for B2B databases
  Email and web domain verification for CRM systems
  Market research automation

  🛠️ Customization Tips

  You can enhance the parsing logic in the HTML Extract node to look for phone numbers, LinkedIn profiles, or social media links.
  Modify the search query logic to include additional parameters like location or industry for more refined results.
  Integrate additional APIs (e.g., Hunter.io, Clearbit) for email validation or social profile enrichment.
  Add filtering to skip entries that already have domain or secondary_email.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.postgres","n8n-nodes-base.wait","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.postgres","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.postgres","n8n-nodes-base.switch","n8n-nodes-base.postgres","n8n-nodes-base.wait","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-brightdata.brightData","n8n-nodes-brightdata.brightData","n8n-nodes-base.html","n8n-nodes-base.html","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.aggregate","n8n-nodes-base.code","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.if","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.postgres","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6812 characters]


name: Automate GitHub PR Linting with Google Gemini AI and Auto-Fix PRs
author_name: Adam Bertram
author_username: adbertram
categories: []
created_at: 2025-05-15T15:00:58.877Z
updated_at: 2025-05-15T15:00:58.877Z
url: https://n8n.io/workflows/4073
scraped_at: 2025-12-24 13:02:46
description:
  LintGuardian: Automated PR Linting with n8n & AI

  What It Does

  LintGuardian is an n8n workflow template that automates code quality enforcement for GitHub repositories. When a pull request is created, the workflow automatically analyzes the changed files, identifies linting issues, fixes them, and submits a new PR with corrections. This eliminates manual code style reviews, reduces back-and-forth comments, and lets your team focus on functionality rather than formatting.

  How It Works

  The workflow is triggered by a GitHub webhook when a PR is created. It fetches all changed files from the PR using the GitHub API, processes them through an AI-powered linting service (Google Gemini), and automatically generates fixes. The AI agent then creates a new branch with the corrected files and submits a "linting fixes" PR against the original branch. Developers can review and merge these fixes with a single click, keeping code consistently formatted with minimal effort.

  Prerequisites

  To use this template, you'll need:

  n8n instance: Either self-hosted or using n8n.cloud
  GitHub repository: Where you want to enforce linting standards
  GitHub Personal Access Token: With permissions for repo access (repo, workflow, admin:repo_hook)
  Google AI API Key: For the Gemini language model that powers the linting analysis
  GitHub webhook: Configured to send PR creation events to your n8n instance

  Setup Instructions

  Import the template into your n8n instance
  Configure credentials:
     Add your GitHub Personal Access Token under Credentials → GitHub API
     Add your Google AI API key under Credentials → Google Gemini API
  Update repository information:
     Locate the "Set Common Fields" code node at the beginning of the workflow
     Change the gitHubRepoName and gitHubOrgName values to match your repository
        const commonFields = {
       'gitHubRepoName': 'your-repo-name',
       'gitHubOrgName': 'your-org-name'
     }
     Configure the webhook:
   Create a file named .github/workflows/lint-guardian.yml in your repository replacing the Trigger n8n Workflow step with your webhook:
            name: Lint Guardian
       
       on:
         pull_request:
           types: [opened, synchronize]
       
       jobs:
         trigger-linting:
           runs-on: ubuntu-latest
           steps:
             name: Trigger n8n Workflow
               uses: fjogeleit/http-request-action@v1
               with:
                 url: 'https://your-n8n-instance.com/webhook/1da5a6e1-9453-4a65-bbac-a1fed633f6ad'
                 method: 'POST'
                 contentType: 'application/json'
                 data: |
                   {
                     "pull_request_number": ${{ github.event.pull_request.number }},
                     "repository": "${{ github.repository }}",
                     "branch": "${{ github.event.pull_request.head.ref }}",
                     "base_branch": "${{ github.event.pull_request.base.ref }}"
                   }
                 preventFailureOnNoResponse: true
       Customize linting rules (optional):
     Modify the AI Agent's system message to specify your team's linting preferences
     Adjust file handling if you have specific file types to focus on or ignore

  Security Considerations

  When creating your GitHub Personal Access Token, remember to:
  Choose the minimal permissions needed (repo, workflow, admin:repo_hook)
  Set an appropriate expiration date
  Treat your token like a password and store it securely
  Consider using GitHub's fine-grained personal access tokens for more limited scope

  As GitHub documentation notes: "Personal access tokens are like passwords, and they share the same inherent security risks."

  Extending the Template

  You can enhance this workflow by:
  Adding Slack notifications when linting fixes are submitted
  Creating custom linting rules specific to your team's needs
  Expanding it to handle different types of code quality checks
  Adding approval steps for more controlled environments

  This template provides an excellent starting point that you can customize to fit your team's exact workflow and code style requirements.

nodes_used:
  ["n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.respondToWebhook","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.convertToFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 4112 characters]


name: Financial News Digest with Google Gemini AI to Outlook Email
author_name: Louis
author_username: louisdl
categories: []
created_at: 2025-05-15T17:15:58.107Z
updated_at: 2025-05-15T17:15:58.107Z
url: https://n8n.io/workflows/4074
scraped_at: 2025-12-24 13:02:44
description:
  🧠 Key Features

  Looping source scraping: Collects content from news sites you have selected (it might not work for all of them however)
  HTML extraction & cleaning: Parses, cleans, and filters messy website data to isolate only the most relevant content.
  AI-powered synthesis: Uses Google Gemini (via LangChain agent) to summarize and structure financial news into a clear, bullet-pointed format.
  Email-ready output: Generates styled HTML summaries with coral-colored headings, ideal for daily email reports.
  Fully automated delivery: Sends out beautifully formatted updates via Outlook — no manual work required.

  🔧 Technologies Used

  n8n workflow orchestration
  LangChain agents for prompt logic and formatting
  Google Gemini API for advanced NLP
  Custom JS logic to manage dynamic inputs and cleanup
  Microsoft Outlook API for final distribution

  &gt; Feel free to reach out if needed ! 

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.microsoftOutlook","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserItemList","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE62X227bRhCGX4XQtdbe8y591dRoAgPpAU3aXhRBsYdZmQhFqiJV1wgM5DHa18uTdCgbFmWRotT2xoLJ4ey3M//Mzn6aLaF1s6tPs6JqWlcFuImzq5m2zvMUhHU8hNx4piLzzloavOHRcC4sOFBecma91V6B90YGoUF7w3iazWctLFela+F6DbF5B+1mdV3jE2gBF2jXG3iYz6o6QjO7+hVX71YVBhJziREmlCdSJEW81IyAc46CErmNAj1Xbglo/QbaLBUVMheuzCq4a7K6KosKusXvV51JZSuyXYN418DFbduufoTfN9C0nZu67Raf/bQus6use9dcXV7e3d1dpPYi1MtLtFnVTdEWdYWMltI54/QDPnRrJGhhjV9/enhydFO9Luu7x509rv8zGmw/lRf8Yf60RW5BaEYDodbiFiVzxFljidOcR2lZsk7ttvgu3ELclJC9XxeLBaxHd9Y8Ge7seuTE0jkfJN/DZD1MamSuUsiJDFwQ6VJEQiZI0CEP+K+3IHuZqOsFQr6BZVEV2fWta7Nvka3c4X6FvJc75tJVi3DriuqiXHbmjw4ev99nZ5IjvJ2Gf0ZXVBmjXCDeBk6kCZ54xYHQqFG6kIIB20N37S2sM/yTQQlLqNpmPMjQvoCjfEwTe3DiQj7jxRA1jV6SSC0j0kfMffSR5F4lliCPLrgd3qub7NUCoU6IpHuy2wuePomPXegdH6owUWmI6pIuBbfEg8TMS+BGaGOF6AsUqrgNXrNZLt36PvP3GZClK8rRKC6LsK6bOrXfb9qyrj++RMYyI0x3zHfgb9Fg25CU0F5wqbEhiEQkVgtxwIBwlzpQ8JR3reHoNnfy9lbk+CEleQRJJEjUSOKO5JgTzUNi2vQazS+3UGWhLMLHolpkXz7/9R4bSHZXrz8mLPkvn/8e36urNq4cL8ozZE1Tbr3jhjDHMQBYhcSilggzXiQmBUjVk/U3sWiz1wWU8Rw5c3m2nHOBx4JxkVBhUS46cuKj50Qrybxn2krRw7rBQyF7W2D0MPmrTZv94NZNv62Nqrve2j+ad146Jy/oNbVzIc8IqTNKA2OaaNqpQASBSaE5sQZ7H4ueJpkOS5H9u1rkVOk5l2q6FvNnQAxiBKsw3cYZbMUI6Dn2M+fwVDQ85T7E6S58CvBUG+ZMyrnU0/TP7EFwSgGAxLw7RrwMxMlkiPAqUgk4JAQ5qFd2hmDP16vIE84YgpEUlMIyioiVuCcoYRetoDjq8F7OF4s1LHCIGWVyPYs+GbPPbezEgAEzkWlQBJLFgEGek1wITULEXsWckZL31HiNCKNQ4fFlj0ecdhDsOqRKMWquDPHBYW3wGDvpJaIUY84D88n1jqm3db3Kvv8DD9KuNo+0nFVZtDfV167FeaXZR1T2tGTuEK10AouAMNZNiwqHKo+nFGotOE0V5CCHFcbPUJgV+lyJpWC54CoSsAZnJ+YYcYZRIpjXLohoNOsl8l2L58p99l19RGTN1ubJZG8kRY0dzkazUFdt14CuZrNxvcXArAPBcdjONY54KDoMqCRKMIuFpQJPcRDzSIGOcOZ66Kw7jonW+L6C0PnYmm8lj784XXRO8dJQbZ+Mq29rOcebTYQ/Z1f04cMHXOd5pBpyNaySo37Y/8H03EWGfJ0yZA267U8BQ44Pp8spN8Ob3W9GUz74URY24ehlYAd9HbbtA1/znfkJF8lBlIPb2YSiprY2dBeZcDnhcWzeQq+u+K0/U03o4qX1AfrYDfBxpW7Q2OBQ9PRsaql984O1RtM1FKyjF7zhNIzOUaduhp2xm+nLxX9S1cPDP+R+z9LiEQAA


name: Automated Tweet Generator & Publisher with GPT-4, Discord, and Google Sheets
author_name: LukaszB
author_username: lukaszb
categories: []
created_at: 2025-05-15T17:47:41.088Z
updated_at: 2025-05-15T17:47:41.088Z
url: https://n8n.io/workflows/4075
scraped_at: 2025-12-24 13:02:43
description:
  AI Twitter Content Machine – Write, Refine & Publish Tweets on Autopilot

  This workflow is perfect for creators, solopreneurs, and personal brands who want to consistently publish bold, high-performing content on X (Twitter) — without writing a single line themselves. After a one-time setup, it automatically generates tweet ideas, writes in your voice, evaluates post quality, avoids duplicates, and publishes directly to Twitter. All approvals and rewrites are handled in a conversational loop powered by OpenAI, Discord, and Google Sheets.

  Whether you’re building a personal brand or growing your startup audience, this tool will help you stay active, edgy, and relevant — with zero friction.

  How it works
  Distill what your flow does in a few high-level steps.
  Loads your brand brief from a sub-workflow.
  Generates a tweet idea aligned with your tone.
  Checks Google Sheets to ensure the idea hasn’t been used.
  Writes the post.
  Evaluates it using a feedback sub-workflow — if the quality score is below 0.7, it rewrites the post.
  Refines tone and voice using a Rewriter Agent that mimics your past content (from a Google Sheet).
  Sends the final post to a Discord channel for manual approval.
  On approval, posts directly to Twitter (X) and logs it to Google Sheets (History and Examples tabs).

  Set up steps
  Give users an idea of how long setup will take. Don’t describe every detail.
  Keep detailed descriptions in sticky notes inside your workflow.

  Key benefits
  No burnout, no block – Stop spending energy thinking what to tweet. AI handles everything.
  Style-matching – Posts sound like you, not a generic robot. Based on your real writing.
  Fast & scalable – Publish once or five times a day — it’s up to you.
  Avoid duplicates – Each idea is checked against your post history.
  Human-in-the-loop – You approve final posts via Discord. No rogue tweets.

  Integrations required
  n8n
  OpenAI API
  Google Sheets
  Twitter (OAuth2)
  Discord (for approval)
  Notion (optional for brand brief storage)

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.discord","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.executeWorkflow","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTool","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.twitter","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.notion","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflow","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9400 characters]


name: Query-to-Action Automation with Bright Data MCP & OpenAI GPT
author_name: Cyril Nicko Gaspar
author_username: cngaspar
categories: []
created_at: 2025-05-15T18:00:56.880Z
updated_at: 2025-05-15T18:00:56.880Z
url: https://n8n.io/workflows/4077
scraped_at: 2025-12-24 13:02:45
description:
  📌 AI Agent Template with Bright Data MCP Tool Integration

  This template obtains all the possible tools from Bright Data MCP, process this through chatbot, then run any tool based on the user's query

  ❓ Problem It Solves

  The problem that the MCP solves is the complexity and difficulty of traditional automation, where users need to have specific knowledge of APIs or interfaces to trigger backend processes. By allowing interaction through natural language, automatically classifying and routing queries, and managing context and memory effectively, MCP simplifies complex data operations, customer support, and workflow orchestration scenarios where inputs and responses change dynamically.

  🧰 Pre-requisites

  Before deploying this template, ensure you have:

  An active n8n instance (self-hosted or cloud).
  A valid OpenAI API key (or any AI models)
  Access to Bright Data MCP API with credentials.
  Basic familiarity with n8n workflows and nodes.

  ⚙️ Setup Instructions

  **Install the MCP Community Node in N8N

     In your N8N self-hosted instance, go to Settings → Community Nodes.
     Search and install n8n-nodes-mcp.

  Configure Credentials:

     Add your OpenAI API key or any AI mdeols to the relevant nodes. If you want other AI model, please replace all associated nodes of OpenAI in the workflow
     Set up Bright Data MCP client credentials in the installed community node (STDIO)
     Obtain your API in Bright Data and put it in Environment field in the credentials window. It should be written as API_Key=&lt;your api key from Bright Data&gt;

  🔄 Workflow Functionality (Summary)

  User message** triggers the workflow.
  AI Classifier** (OpenAI) interprets the intent and maps it to a tool from Bright Data MCP.
  If no match is found, the user is notified.
  If more information is needed, the AI requests it.
  Memory** preserves context for follow-up actions.
  The tool is executed, and results are returned contextually to the user.

  &gt; 🧠 Optional memory buffer and chat memory manager nodes keep conversations context-aware across multiple messages.

  🧩 Use Cases

  Data Scraping Automation**: Trigger scraping tasks via chat.
  Lead Generation Bots**: Use MCP tools to fetch, enrich, or validate data.
  Customer Support Agents**: Automatically classify and respond to queries with tool-backed answers.
  Internal Workflow Agents**: Let team members trigger backend jobs (e.g., reports, lookups) by chatting naturally.

  🛠️ Customization

  Tool Matching Logic**: Modify the AI classifier prompt and schema to suit different APIs or services.
  Memory Size and Retention**: Adjust memory buffer size and filtering to fit your app’s complexity.
  Tool Execution**: Extend the "Execute the tool" sub-workflow to handle additional actions, fallback strategies, or logging.
  Frontend Integration**: Connect this with various platforms (e.g., WhatsApp, Slack, web chatbots) using the webhook.

  ✅ Summary

  This template delivers a powerful no-code/low-code agent that turns chat into automation, combining AI intelligence with real-world tool execution. With minimal setup, you can build contextual, dynamic assistants that drive backend operations using natural language.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.if","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.memoryManager","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-mcp.mcpClient","n8n-nodes-mcp.mcpClient"]

workflow_json_compressed:
  [encoded data, 4396 characters]


name: Convert Markdown Content to Contentful Rich Text with AI Formatting
author_name: Varritech
author_username: varritech
categories: []
created_at: 2025-05-15T18:02:32.245Z
updated_at: 2025-05-15T18:02:32.245Z
url: https://n8n.io/workflows/4078
scraped_at: 2025-12-24 13:02:46
description:
  Workflow: Publish to Contentful with Rich Text Formatting

  ⚡ About the Creators
  This workflow was created by Varritech Technologies, an innovative agency that leverages AI to engineer, design, and deliver software development projects 500% faster than traditional agencies. Based in New York City, we specialize in custom software development, web applications, and digital transformation solutions. If you need assistance implementing this workflow or have questions about content management solutions, please reach out to our team.

  🏗️ Architecture Overview  
  This workflow takes a JSON article payload, splits its markdown content into logical chunks, converts each chunk into Contentful Rich Text JSON via an AI agent, merges the resulting rich text nodes back into a single document, formats the entire entry according to Contentful's field schema, and finally publishes it to Contentful.

  Trigger → Executes when called by another workflow  
  Split by Headings → Breaks markdown into ##-delimited chunks  
  Markdown → Rich Text → AI agent converts each chunk to Contentful Rich Text JSON  
  Combine Rich Text Objects → Aggregates all chunk outputs into one document  
  Format Entry → Wraps metadata and rich-text content into Contentful schema  
  Publish Entry → HTTP POST to Contentful API  

  📦 Node-by-Node Breakdown

  flowchart LR
    A[When Executed by Another Workflow] --&gt; B[Split by Headings]
    B --&gt; C[Markdown to Contentful format]
    C --&gt; D[Combine Rich Text Objects]
    D --&gt; E[Merge1]
    E --&gt; F[Format1]
    F --&gt; G[Create newly formatted Contentful Entry]

  1. When Executed by Another Workflow
  Type: Execute Workflow Trigger

  Input Example:
  title, slug, category.id, description, keywords, content, metaTitle, metaDescription, readingTime, difficulty

  Purpose: Receives the JSON payload from the upstream workflow.

  2. Split by Headings
  Type: Code

  Logic:
  Splits input.content into an array of markdown chunks at each second-level heading (##).
  Emits one item per chunk with index, slug, title, and contentChunk.

  3. Markdown to Contentful format
  Type: LangChain Agent (+ OpenAI Chat model)

  System Prompt:
  Defines rules for generating valid Contentful Rich Text JSON (must include nodeType, data:{}, content:[], etc.).
  Provides examples for paragraphs, headings, lists, links, and images.

  User Prompt:

  Here is the markdown content to convert:

  Purpose: Converts each markdown chunk into an array of rich-text nodes.

  4. Combine Rich Text Objects
  Type: Code

  Logic:
  Parses and merges all content arrays returned by the AI agent into one combined content array under a document root.

  5. Merge1
  Type: Merge

  Purpose: Joins the original item (with metadata) and the combined rich-text document into a single data stream.

  6. Format1
  Type: Code

  Logic:
  Maps workflow data into the Contentful entry schema by setting each field (title, slug, category link, description, keywords, rich-text content, metaTitle, metaDescription, readingTime, difficulty) under the appropriate locale and structure required by Contentful.

  7. Create newly formatted Contentful Entry
  Type: HTTP Request

  Method: POST

  URL:
  https://api.contentful.com/spaces

  Headers:
  Authorization: Bearer token for Contentful Management API
  Content-Type: application/vnd.contentful.management.v1+json
  X-Contentful-Version: entry version number
  X-Contentful-Content-Type: content type ID

  Body: The formatted fields object produced by the previous node

  Purpose: Publishes the new entry with rich-text content to Contentful.

  🔍 Design Rationale & Best Practices
  Chunked Conversion
  Splitting by headings prevents AI context limits and keeps conversions modular.

  Strict Rich Text Schema
  Enforcing nodeType, data, and content structure avoids validation errors on Contentful.

  Two-Phase Merge
  Separating "combine AI outputs" and "format entry" keeps transformations clear and testable.

  Idempotent Publish
  Uses explicit versioning and content type headers to ensure correct entry creation.

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

workflow_json_compressed:
  H4sIAAAAAAAAE52WbW8aORDHv8pqX2POz2vz6tpcokbqNac010qtqpMfYa+wyy0mCYr47je7JIGSpZC+QAIz9vzmP+MZP+Slz0f58vL6PN18UjfXyws2bZb5IJ+FZPLRQ15Wi2QqFy5bO2ldjCJEZbAMCiupMRVUGiwcNdwVNgpvFMEkKh2EogyT4AuFNZdYRo7z9SCvzCzAUWd1dRualP1pmu++vqsyWEihSlmqn77G5TS7Lt0kuwn3Kbsr0yR7c5ld1M3MpFRW4yFgJjNe5KOvD5s4Ppz/cZ/OVlfTxfuPnz68vcyf3T3uCg0suSaYFPybBOsUAkBYIFLcEDziZESLISb0C5gt5/642Xrw6PqtvHg3ef/27y/X5vYsTFb5bqRdYGet27KujhFwPKSFPErwZLb+Bp5qH3ZkiAJbGhVBXluOOMUSGaIcMnBGwUwMKhQ7fB1MVoW76SqLjzr53SScV6lpA0qrebuhUhXqPCJrFmE4SWl+Hf5bhkUCm3m9KLsoR1+JVHhAOQbAuWnAGcgPlA/rzUmf4FdnyIf0WUZPvQrROsQ0AXSnLdIqBiSkdERxFoXyW/TPk1Bl5/fBLVtiu8reVHWahCb7XDff47S+OwgdNpue7G6acjzuimOHH7GW/yg+GZJnfFFoiZ2WSHMXEGeeIMWsQl5yUthCM5B/i/9naMaBHGSctX/vSYrpSZKyZ6LIMLcuOESJwIgXskBaGA2xORK0CtQJun9NDiM5+LpHxORJRNsUKxG8sYYix6mFFBuFTFQcYQXlKbzXzLMdjZ76w499YVOnW87fAfS3LezUVGM3MWU1NGPY8SMy43gAqT2eV/XMzCzHWguOQESJuPQGqQAqBk+dZsoqHt2W+eN8Wqa2HN8F46FRLV6hJ4h5vOR27ou2HltgKhgGMYNkyLDI4acslMXaGLN71euZLauw01Wv7L/BpdcAFvQk9baIWEXhCsgyo7itQBsRzAqNBGNMC+l95HqLeDUPFXT5s4mB2QDOp/SEJE9nrX23tdzLNcYDecod3vIGYi18DGI2MMRbVBMZR4EWTkjKpeBiJ9epdN9X2Yc6hYMiLjqbR5MdONBj8FLJ3G3KHM7JX3BuK1JSKSOGiqQuIm6IRspL0FfoAspAGyttL+Xhy30IkxDog4i9vOOnkUYcoP8oBffdFJB/GpEtiEXwMIiikEzAUi8pfTUpUqAoEi/zfRpp4DZKEwvkvDCIR7jvWhCKRNDEKxkl/N1Lyn5N057C/DkoWBuXyltwFM10EQb5InRPoc1WM52G5q96WroV7L97nG2Li6aefQQXV3dVN+I2sw+OvGo8LIzyW7K7elPOQr0EAokxINxu3HfvP4e5dtrAOMYMUgmZRZZrjaSwghEhqLatFBBDBV0FdnVcj2MOvs3gskLw8E5pJeqbN53FAF6dPtznI7z+9g0Qnqz6Tnj166XXw8uO3efrxFnU66Gnr4ELU/7TdrElTKlu8VfcvThj3/Xhrt8b5N6j5MdoyObIn6P15un46OnV7fgTr8/bTybwvpfBiZF3POv1/2/jzT4yDQAA


name: Automate AI News Videos with GPT-4o, Heygen Avatars, and Blotato
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-05-15T18:43:13.778Z
updated_at: 2025-05-15T18:43:13.778Z
url: https://n8n.io/workflows/4080
scraped_at: 2025-12-24 13:02:46
description:
  Turn your ideas into engaging videos, talking avatars, and scheduled posts — all on autopilot.

  🚀 How It Works: 3 Steps to AI-Generated Video Posts

  🤖 AI Researches & Creates Your Video Script

  Automatically fetches trending AI/LLM stories from Hacker News
  Generates a 30-second viral video script with:
  Attention-grabbing hook
  Balanced analysis with statistics
  Call-to-action ("Hit follow to stay ahead in AI!")
  Writes two caption versions:
  Long (50 words + hashtags)
  Short (2 sentences for platforms like Twitter/Threads)
  🎥 Heygen Generates the AI Avatar Video

  Uses your preferred Heygen avatar/voice (configure in "Setup Heygen")
  Applies a professional background video (included)
  Processes the video in ~8 minutes (wait time adjustable)
  📣 Auto-Publishes to 10+ Platforms via Blotato

  Uploads video to Blotato’s CDN
  Publishes natively to:
  ✅ Instagram | ✅ YouTube | ✅ TikTok | ✅ LinkedIn
  ✅ Twitter/X | ✅ Facebook | ✅ Threads (coming soon)
  Platform-specific optimizations:
  Instagram/YouTube: Long captions + hashtags
  Twitter/Threads: Short captions
  TikTok: Vertical video formatting
  ⏱️ Full Automation Timeline

  AI Research → Scriptwriting → Video Generation → Multi-Platform Publishing
  (Runs daily at 10 AM or your custom schedule)

  🛠️ Key Features

  No Manual Work: Fully hands-off after setup

  Customizable: Adjust AI prompts, avatars, or add platforms

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.hackerNewsTool","n8n-nodes-base.hackerNewsTool","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Automate SEO Blog Creation + Social Media with GPT-4, Perplexity and WordPress
author_name: LukaszB
author_username: lukaszb
categories: []
created_at: 2025-05-15T18:59:00.587Z
updated_at: 2025-05-15T18:59:00.587Z
url: https://n8n.io/workflows/4082
scraped_at: 2025-12-24 13:02:42
description:
  🚀 AI Blog & Social Media Publisher – Fully Automated Workflow

  This workflow is ideal for individuals, marketers, agencies, and brands who want to effortlessly automate the entire blogging and social media process—from idea generation to promotion. Its primary goal is to consistently deliver engaging, SEO-optimized blog posts directly to WordPress, accompanied by professionally crafted social media content ready for Instagram, Facebook, and X (Twitter).

  No writers, editors, designers, or social media managers required. Save countless hours and resources while boosting your brand's online presence.

  🔧 Workflow Capabilities:

  -Automated Blog Topic Generation: Instantly generates unique, high-value blog ideas tailored to your brand.
  -SEO Content Creation: Produces comprehensive, 2000–2500 word articles optimized for search engines.
  -Real-Time Research: Integrates Perplexity AI to ensure factually accurate, authoritative content.
  -Visual Content Generation: Creates custom, AI-generated featured images via GPT-4, with automatic fallback to Pexels.
  -WordPress Publishing: Automatically publishes articles directly to WordPress with complete formatting (HTML), meta descriptions, featured images, and proper categorization.
  -Social Media Automation: Generates and schedules engaging, platform-specific posts for Instagram, Facebook, and X, complete with relevant hashtags, calls-to-action, and links.
  -Detailed Logging & Reporting: Logs every step transparently into Google Sheets and optionally sends publication reports to Gmail.

  ⚙️ How It Works:
  When activated, the workflow checks your content calendar in Google Sheets to avoid duplicate topics. It generates fresh, brand-aligned blog ideas, conducts live research, and creates complete, ready-to-publish articles. It then automatically designs and sources appropriate visuals, publishes content seamlessly to WordPress, and prepares engaging social media posts optimized for each platform.

  🛠️ Easy Setup Steps:
  -Connect your APIs: OpenAI, WordPress, Google Sheets, Gmail, and optionally Pexels.
  -Replace placeholders (WordPress URLs, Google Sheets ID/tab, workflow IDs).
  -Customize AI prompts with your brand’s tone, keywords, and CTAs for personalized content.
  -Configure scheduling to automate daily, weekly, or custom publishing intervals.

  📌 Additional Features:
  -Modular workflow design for easy customization and scalability.
  -Comprehensive Markdown and PDF setup guides included.
  -Bonus: Reference placeholders and quick-edit Sticky Notes for effortless adjustments.

  Launch today. Automate permanently. Amplify your reach effortlessly.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.notion","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.wordpress","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.googleSheetsTool","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.markdown","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.twitter","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","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.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","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, 5904 characters]


name: AI Sales Agent: WhatsApp, FB, IG, OpenAI, Airtable, Supabase Auto-Booking
author_name: Sam Yassine
author_username: samyassine
categories: []
created_at: 2025-05-15T19:39:14.260Z
updated_at: 2025-05-15T19:39:14.260Z
url: https://n8n.io/workflows/4083
scraped_at: 2025-12-24 13:02:42
description:
  This workflow automates multi-channel AI-driven sales engagement for lead qualification, service information delivery, and consultation booking. It integrates WhatsApp, Facebook Messenger, Instagram DM, and an n8n chat interface with a backend CRM (Airtable), a knowledge base (Supabase), and conversational AI (OpenAI), all orchestrated by n8n.

  Tools & Services Used

  Messaging Platforms: WhatsApp, Facebook Messenger, Instagram DM, n8n Built-in Chat

  AI Core & Processing: OpenAI (GPT-4o for main agent logic, Whisper for audio transcription)

  CRM & Data Management: Airtable (for initial WhatsApp lead lookup, lead form submissions, and as the backend for the crmAgent sub-workflow operations)

  Knowledge Base: Supabase (Vector Store for technical_and_sales_knowledge tool)

  Chat Memory: PostgreSQL (for the main AI Agent's conversation history)

  Orchestration & Automation: n8n (Self-hosted, utilizing Langchain community nodes)

  Calendar Service: Integrated via the calendarAgent sub-workflow

  CRM Service: Integrated via the crmAgent sub-workflow (interacting with Airtable)

  Workflow Overview

  This automation performs the following steps:

  Trigger: A new interaction is initiated through one of the following channels:

  A new message is received via the WhatsApp Trigger.

  A new message is received via the Facebook Trigger (Webhook).

  A new message is received via the Instagram Trigger (Webhook).

  A new message is received via the n8n Chat Trigger.

  Alternatively, a new lead is submitted via the Airtable Form Submitted Webhook.

  Channel-Specific Ingestion & Pre-processing:

  For WhatsApp:

  The system attempts to find an existing lead in Airtable using the sender's phone number.

  Incoming messages are routed by the Handle Message Types switch:

  Text messages are passed to the Edit Fields - chat1 node to prepare input for the AI Agent, including any found lead information.

  Audio messages are processed: the WhatsApp Business Cloud node gets the media URL, the HTTP Request node downloads the audio, OpenAI transcribes it to text, and Edit Fields - chat2 prepares this transcribed text and lead information for the AI Agent.

  Unsupported message types trigger the Reply To User1 node to send a notification that the message type cannot be processed.

  For Facebook Messenger:

  The system responds to webhook verification (Respond to Webhook - facebook get) and acknowledges new messages (Respond to Webhook - facebook post).

  The If is not echo - facebook node filters out messages sent by the page.

  The Sales Agent Demo - typing_on node sends a typing indicator.

  The Edit Fields - facebook node prepares the message text, sender ID, and Facebook-specific context for the AI Agent.

  For Instagram DM:

  The system responds to webhook verification (Respond to Webhook - instagram get) and acknowledges new messages (Respond to Webhook - instagram post).

  The If is not echo - instagram node filters out messages sent by the business account.

  The Edit Fields - instagram node prepares the message text, sender ID, and Instagram-specific context for the AI Agent.

  For n8n Chat:

  The Edit Fields - chat node prepares the user's input and session information for the AI Agent.

  Input Aggregation for AI Agent:

  Processed data from all active messaging channels (WhatsApp text/audio, Facebook, Instagram, n8n Chat) is funneled through the No Operation, do nothing node to the main AI Agent.

  AI Sales Conversation & Tool Utilization:

  The AI Agent (using OpenAI Chat Model - GPT-4o, and Postgres Chat Memory) engages the user according to its system prompt, aiming to qualify them for Paint Protection Film (PPF), Ceramic Coating, or Window Tint.

  The AI Agent uses the technical_and_sales_knowledge tool (which queries the Demo Supabase vector store via Embeddings OpenAI and OpenAI Chat Model1) to provide service details and answer questions.

  The AI Agent uses the crmAgent tool (a sub-workflow) to log contact details (Name, Email, service interest) and update opportunity statuses in Airtable.

  The AI Agent uses the calendarAgent tool (a sub-workflow) to book consultation appointments once preferred dates/times are provided. This occurs after contact details are logged in the CRM.

  Response Delivery:

  The AI Agent's final textual response is passed to the Switch node.

  The Switch node routes the response to the appropriate node for delivery on the original channel:

  Reply To User for WhatsApp.

  Facebook Graph API - Sales Agent Demo for Facebook Messenger.

  Instagram Graph API - smb.sales.agent.demo for Instagram DM.

  Output - chat for the n8n Chat interface.

  Airtable Form Submission Processing (Separate Branch):

  When the Airtable Form Submitted webhook receives data, the Airtable node fetches the full record.

  The Create Contact node creates a new contact in the Airtable 'Contacts' table.

  The Edit Fields - form node prepares data for a notification.

  The WhatsApp Business Cloud2 node sends a templated WhatsApp message to the lead, confirming their form submission.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.noOp","n8n-nodes-base.switch","n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.memoryPostgresChat","@n8n/n8n-nodes-langchain.toolVectorStore","n8n-nodes-base.switch","n8n-nodes-base.whatsApp","n8n-nodes-base.set","n8n-nodes-base.whatsApp","n8n-nodes-base.whatsAppTrigger","n8n-nodes-base.whatsApp","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.airtable","n8n-nodes-base.set","n8n-nodes-base.webhook","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.memoryPostgresChat","@n8n/n8n-nodes-langchain.toolVectorStore","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.whatsApp","n8n-nodes-base.airtable","n8n-nodes-base.airtable","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, 4844 characters]


name: Automatically Store Shopify Orders in Google Sheets with Telegram Notifications
author_name: RedOne
author_username: redone
categories: []
created_at: 2025-05-15T20:17:14.891Z
updated_at: 2025-05-15T20:17:14.891Z
url: https://n8n.io/workflows/4084
scraped_at: 2025-12-24 13:02:45
description:
  This workflow is designed for e-commerce store owners, operations managers, and developers who use Shopify as their e-commerce platform and want an automated way to track and analyze their order data.

  It is particularly useful for businesses that:

  Need a centralized view of all Shopify orders
  Want to analyze order trends without logging into Shopify
  Need to share order data with team members who don't have Shopify access
  Want to build custom reports based on order information

  What Problem Is This Workflow Solving?

  While Shopify provides excellent order management within its platform, many businesses need their order data available in other systems for various purposes:

  Data accessibility**: Not everyone in your organization may have access to Shopify's admin interface
  Custom reporting**: Google Sheets allows for flexible analysis and report creation
  Data integration**: Having orders in Google Sheets makes it easier to combine with other business data
  Backup**: Creates an additional backup of your critical order information

  What This Workflow Does

  This n8n workflow creates an automated bridge between your Shopify store and Google Sheets:

  Listens for new order notifications from your Shopify store via webhooks
  Processes the incoming order data and transforms it into a structured format
  Stores each new order in a dedicated Google Sheets spreadsheet
  Sends real-time notifications to Telegram when new orders are received or errors occur

  Setup

  Create a Google Sheet

  Create a new Google Sheet to store your orders
  Add a sheet named "orders" with the following columns:

    orderId
    orderNumber
    created_at
    processed
    processed_at
    json
    customer
    shippingAddress
    lineItems
    totalPrice
    currency

  Set Up Telegram Bot

  Create a Telegram bot using BotFather (send /newbot to @BotFather)
  Save your bot token for use in n8n credentials
  Start a chat with your bot and get your chat ID (you can use @userinfobot)

  Configure the Workflow

  Set your Google Sheet ID in the "Edit Variables" node
  Enter your Telegram chat ID in the "Edit Variables" node
  Set up your Telegram API credentials in n8n

  Configure Shopify Webhook

  In your Shopify admin, go to:
    Settings > Notifications > Webhooks
  Create a new webhook for "Order creation"
  Set the URL to your n8n webhook URL (from the "Receive New Shopify Order" node)
  Set the format to JSON

  How to Customize This Workflow to Your Needs

  Additional data**: Modify the "Transform Order Data to Standard Format" function to extract more Shopify data
  Multiple sheets**: Duplicate the Google Sheets node to store different aspects of orders in separate sheets
  Telegram messages**: Customize the text in Telegram nodes to include more details or rich formatting
  Data processing**: Add nodes to perform calculations or transformations on order data
  Additional notifications**: Add more channels like Slack, Discord, or SMS
  Integrations**: Extend the workflow to send order data to other systems like CRMs, ERPs, or accounting software

  Final Notes

  This workflow serves as a foundation that you can build upon to create a comprehensive order management system tailored to your specific business needs.

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

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


name: AI Agent To Chat With Files In Supabase Storage and Google Drive
author_name: Mark Shcherbakov
author_username: lowcodingdev
categories: []
created_at: 2025-05-15T20:44:33.064Z
updated_at: 2025-05-15T20:44:33.064Z
url: https://n8n.io/workflows/4086
scraped_at: 2025-12-24 13:02:41
description:
  Video Guide

  I prepared a detailed guide that illustrates the entire process of building an AI agent using Supabase and Google Drive within N8N workflows.



  Youtube Link

  Who is this for?
  This workflow is designed for developers, data scientists, and business users who wish to automate document management and enable AI-powered interactions over their stored files. It's especially beneficial for scenarios where users need to process, analyze, and retrieve information from uploaded documents rapidly.

  What problem does this workflow solve?
  Managing files across multiple platforms often involves tedious manual processes. This workflow facilitates automated file handling, making it easier for users to upload, parse, and interact with documents through an AI agent. It reduces redundancy and enhances the efficiency of data retrieval and management tasks.

  What this workflow does
  This workflow integrates Supabase storage with Google Drive and employs an AI agent to manage files effectively. The agent can:
  Upload files to Supabase storage and activate processes based on file changes in Google Drive.
  Retrieve and parse documents, converting them into a structured format for easy querying.
  Utilize an AI agent to answer user queries based on saved document data.

  Data Collection: The workflow initially gathers files from Supabase storage, ensuring no duplicates are processed in the 'files' table.
  File Handling: It processes files to be parsed based on their type, leveraging LlamaParse for effective data transformation.
  Google Drive Integration: The workflow monitors a designated Google Drive folder to upload files automatically and refresh document records in the database with new data.
  AI Interaction: A webhook is established to enable the AI agent to converse with users, facilitating queries and leveraging stored document knowledge.

  Setup

  Supabase Storage Setup:
     Create a private bucket in Supabase storage, modifying the default name in the URL.
     Upload your files using the provided upload options.

  Database Configuration:
     Establish the 'file' and 'document' tables in Supabase with the necessary fields.
     Execute any required SQL queries for enabling vector matching features.

  N8N Workflow Logic:
     Start with a manual trigger for the initial workflow segment or consider alternative triggers like webhooks.
     Replace all relevant credentials across nodes with your own to ensure seamless operation.

  File Processing and Google Drive Monitoring:
     Set up file processing to take care of downloading and parsing files based on their types.
     Create triggers to monitor the designated Google Drive folder for file uploads and updates.

  Integrate AI Agent:
     Configure the webhook for the AI agent to accept chat inputs while maintaining session context for enhanced user interactions.
     Utilize PostgreSQL to store user interactions and manage conversation states effectively.  

  Testing and Adjustments:
     Once everything is set up, run tests with the AI agent to validate its responses based on the documents in your database.
     Fine-tune the workflow and AI model as needed to achieve desired performance.

nodes_used:
  ["n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.supabase","n8n-nodes-base.if","n8n-nodes-base.supabase","n8n-nodes-base.httpRequest","n8n-nodes-base.splitInBatches","n8n-nodes-base.manualTrigger","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.vectorStoreSupabase","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/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.vectorStoreSupabase","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.supabase","n8n-nodes-base.set","n8n-nodes-base.supabase","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.vectorStoreSupabase","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.switch","n8n-nodes-base.stopAndError","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.switch","n8n-nodes-base.stopAndError","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9376 characters]


name: AI Content Creation and Publishing Engine with Mistral, Creatomate, and YouTube
author_name: NanaB
author_username: nanabrown
categories: []
created_at: 2025-05-15T22:06:26.894Z
updated_at: 2025-05-15T22:06:26.894Z
url: https://n8n.io/workflows/4087
scraped_at: 2025-12-24 13:02:44
description:
  Description

  This n8n workflow automates the entire process of creating and publishing AI-generated videos, triggered by a simple message from a Telegram bot (YTAdmin). It transforms a text prompt into a structured video with scenes, visuals, and voiceover, stores assets in MongoDB, renders the final output using Creatomate, and uploads the video to YouTube. Throughout the process, YTAdmin receives real-time updates on the workflow’s progress. This is ideal for content creators, marketers, or businesses looking to scale video production using automation and AI.

  You can see a video demonstrating this template in action here: https://www.youtube.com/watch?v=EjI-ChpJ4xA&t=200s 

  How it Works

  Trigger: Message from YTAdmin (Telegram Bot)

  The flow starts when YTAdmin sends a content prompt.

  Generate Structured Content

  A Mistral language model processes the input and outputs structured content, typically broken into scenes.

  Split & Process Content into Scenes

  The content is split into categorized parts for scene generation.

  Generate Media Assets

  For each scene:

  Images: Generated using OpenAI’s image model.
  Voiceovers: Created using OpenAI’s text-to-speech.
  Audio files are encoded and stored in MongoDB.

  Scene Composition

  Assets are grouped into coherent scenes.

  Render with Creatomate

  A complete payload is generated and sent to the Creatomate rendering API to produce the video.
  Progress messages are sent to YTAdmin.
  The flow pauses briefly to avoid rate limits.

  Render Callback

  Once Creatomate completes rendering, it sends a callback to the flow.
  If the render fails, an error message is sent to YTAdmin.
  If the render succeeds, the flow proceeds to post-processing.

  Generate Title & Description

  A second Mistral prompt generates a compelling title and description for YouTube.

  Upload to YouTube

  The rendered video is retrieved from Creatomate.
  It’s uploaded to YouTube with the AI-generated metadata.

  Final Update

  A success message is sent to YTAdmin, confirming upload completion.

  Set Up Steps (Approx. 10–15 Minutes)Step 1: Set Up YTAdmin Bot

  Create a Telegram bot via BotFather and get your API token.
  Add this token in n8n's Telegram credentials and link to the "Receive Message from YTAdmin" trigger.

  Step 2: Connect Your AI Providers

  Mistral: Add your API key under HTTP Request or AI Model nodes.
  OpenAI: Create an account at platform.openai.com and obtain an API key. Use it for both image generation and voiceover synthesis.

  Step 3: Configure Audio File Storage with MongoDB via Custom API

  Receives the Base64 encoded audio data sent in the request body.
  Connects to the configured MongoDB instance (connection details are managed securely within the API- code below).
  Uses the MongoDB driver and GridFS to store the audio data.
  Returns the unique _id (ObjectId) of the stored file in GridFS as a response.
  This _id is crucial as it will be used in subsequent steps to generate the download URL for the audio file.
  My API code can be found here for reference: https://github.com/nanabrownsnr/YTAutomation.git

  Step 4: Set Up Creatomate

  Create a Creatomate account, define your video templates, and retrieve your API key.
  Configure the HTTP request node to match your Creatomate payload requirements.

  Step 5: Connect YouTube

  In n8n, add OAuth2 credentials for your YouTube account.
  Make sure your Google Cloud project has YouTube Data API enabled.

  Step 6: Deploy and Test

  Send a message to YTAdmin and monitor the flow in n8n.
  Verify that content is generated, media is created, and the final video is rendered and uploaded.

  Customization Options

  Change the AI Prompts

  Modify the generation prompts to adjust tone, voice, or content type (e.g., news recaps, product videos, educational summaries).

  Switch Messaging Platform

  Replace Telegram (YTAdmin) with Slack, Discord, or WhatsApp by swapping out the trigger and response nodes.

  Add Subtitles or Effects

  Integrate Whisper or another speech-to-text tool to generate subtitles.
  Add overlay or transition effects in the Creatomate video payload.

  Use Local File Storage Instead of MongoDB

  Swap out MongoDB upload http nodes with filesystem or S3-compatible storage.

  Repurpose for Other Platforms

  Swap YouTube upload with TikTok, Instagram, or Vimeo endpoints for broader publishing.

  **Need Help or Want to Customize This Workflow?
  If you'd like assistance setting this up or adapting it for a different use case, feel free to reach out to me at nanabrownsnr@gmail.com. I'm happy to help!**

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-base.httpRequest","n8n-nodes-base.youTube","@n8n/n8n-nodes-langchain.lmChatMistralCloud","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.set","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.wait","n8n-nodes-base.extractFromFile","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.chainLlm","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/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.webhook"]

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


name: Extract and Merge Twitter (X) Threads using TwitterAPI.io
author_name: enes cingoz
author_username: ecingoz
categories: []
created_at: 2025-05-15T22:37:55.997Z
updated_at: 2025-05-15T22:37:55.997Z
url: https://n8n.io/workflows/4088
scraped_at: 2025-12-24 13:02:43
description:
  Twitter (X) Thread Fetcher: Extract and Merge Tweets from Threads
  What it does

  Thread Detection:** Automatically detects whether the provided Twitter link is a single tweet or a thread.
  Tweet Extraction:** Fetches and returns the content of a single tweet, or gathers all tweets in a thread by retrieving the first tweet and all connected replies.
  Thread Merging:** Merges all tweets in the correct order to reconstruct the complete thread, filtering out any empty results.
  Seamless Integration:** Easily trigger this workflow from other n8n workflows to automate Twitter thread extraction from various sources.

  How it works
  Accepts a Twitter link as input-either a single tweet or a thread.
  If the link is for a single tweet, fetches and returns the tweet content.
  If the link is for a thread, fetches the first tweet, then iteratively retrieves all connected replies that form the thread, ensuring only relevant tweets are included.
  Merges the first tweet and all subsequent thread tweets in order, filters out any empty results, and returns the complete thread.
  Uses twitterapi.io for all Twitter API requests.

  Set up steps
  Setup typically takes just a few minutes. You’ll need to configure your Twitter API credentials for twitterapi.io.
  You can trigger this workflow manually for testing or call it from another workflow to automate thread fetching from sources like Notion, spreadsheets, or other platforms.
  For best results, create a separate workflow to gather Twitter links from your preferred source, then trigger this workflow to fetch and return the full thread.

  &gt; Detailed configuration instructions and node explanations are included as sticky notes within the workflow canvas.

  Benefits

  Light speed:* Fetches a 15-tweet thread in just *3 seconds** for rapid results.
  Cost effective:* Processes a *15-tweet thread* for only *$0.0027*, making it highly affordable. *(Cost may vary depending on the density of replies in the thread.)

nodes_used:
  ["n8n-nodes-base.merge","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.function","n8n-nodes-base.httpRequest","n8n-nodes-base.function","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.filter"]

workflow_json_compressed:
  H4sIAAAAAAAAE62XzXLbNhDHX4Wjs5DBJwH4lkmTTg6N29RNZtrJYQEsZE5kUqUoO56MZ/IY7evlSbqklFiWKVtyeiMlcPeHxf53F58nVZqcTKRa/vnuVVP/uuS/qdnlxWQ6ucAOJiefJ1W97KCO+Lpf5x3m5DJXWgkVS5OciZl7acvShpC9kkZKoQOg5b4El5KKIgkXeKBXLsluhxeLOXT4osW0/B271eJFQ79gh+Sga1d4M53UcIHk7eyq6jpsi7PzFiEVr7CL59ieFC8/dS3EroA6Fb9gO8Pi7AqxWxa5bS42q5e9K5gtJyd/fSCDTcL+8fNmu4QsSvRM8VwyzZNg3kHJfKmkRulS0HbyHWPtIlftsiu63tHguOmIZfByvehX1a5mgxsWYInPLvqP6N9Fs6y6qqnJuVAlnzIhOQEtoCXjXW/h5PPN2sg7ehtWqmfiZrpBVVp6iDwxkaRmOinOACAy4IAlJEAK+i3q+3Osiziv4seqnhVfv/xzhgR91bQf87y5+vrl3/28UK9gftZWsxm2d7mZlnx6APYttEmZi+wES2AJGoRlzpmSlU5mF1I2juMt9O8d8V4Xb5oO9+IthzWbJdtsxDVl0t2Dm8Sm7rDuyNRkP2hGEcB4xxwlM9OlQxaScSy4YEXSDnkWo6DyaFKlfwTUm2wh6pIlV1JEnYosRFT0RHKTGVXp7SioOhqUIvojpBI8QgiSWQNEysExr6xn3HkjuYraR7+TsC8/YVyR/otwXTyvB2EV7zc5uxcf1x99W7c/cw9RnNhSHKLj3ntk2jvOtPWaQSw980lGrcCCT+Z2A2+a4nSBLfQep0Vqip6fxLeXu25OFzsBd4dSfmd0EGPMFF8TAjGaEhgEG5hFxEz5HLMbF5h4osK0fmI6OIk5ACUBV4lKbeKGOUHgKAMGlGXWXI2S6qcp7MmgxioNGh0Da0RvhkoBNQlmSF0uSGO11qOg5okKezKpKgNkbjMdOZLCyiyYQ6pcRmmNSLazkaOk5fGHT5X6B0ghJE7NlPislnT4RrJgBGeBciGVThsVttL0W1sfmnnx+qehzf6xxHb4fx96XtVxoL0L3rdac7igwIl+rjEsWZoDdPSWBc8Dk9Gij9ZRuLcawc/EtzUP7GU777rFW/x7RU14JwN6PPm44vUzeVtYFfDESTpJCE9NVZKSrBXMBg0RVM5owv1gvmjqS7I21KchoM9X3XnTUniPjKhyxxapSG3K6xAZ+jJRkTKZeeoOlLE0XzmDCmDr9NdTFsznmxmrqnNz1HhV8kOOfHu2EqVTQVjLIje8FxJQRIVm0UK2zkhvI9w99HVqvsXFvML9cHePvalftm3T9gEhzVT1Ct/ibDWH9nTVLVY7idG3gqOyIjtqAdl5Fj32oc00y2QDTGjKCRU5Upbd7mEYodcBXhZX5xW9QIsFgdUY+w7cNQcldqTHnYzm+gDyW26eE2iaX1nESMlhaa6lucEzkZUzQHNZ5FtF7FU17y8CdHXoroumfiD2eVi5w2YOzF1JgaU1pJvqkmxnmC9xOlliR8c2G8reeuqgxadtwv5ML0Vf/y7XFoY7kuMm8xANlSBBQ0QKVErAWWZjijpj5mWKxLeJOX01GN4tKfTTBVQ9PV1a+v0dqenh4ynd3hJ+mpzwPu4bK4ddZ3a///CBtnn/GMYwHx+JRo3f19eY8Sdn8KjP8aIz5vcB9T9geU+URze2P8VHHTzcLfdt4aDQ7ObK3qJ890OxBnt8pH8otx9p/qOhePzW+397PECJYy6PCuc3zR2Z8Pv9Hif54TRvbv4DtF1SwCESAAA=


name: Track SEO Keyword Rankings in Google Search with ScrapingBee API
author_name: Gegenfeld
author_username: gegenfeld
categories: []
created_at: 2025-05-15T23:42:27.189Z
updated_at: 2025-05-15T23:42:27.189Z
url: https://n8n.io/workflows/4089
scraped_at: 2025-12-24 13:02:45
description:
  Who is this template for?

  This SEO Reporting workflow template is ideal for digital marketers, SEO consultants, content strategists, and founders who need to quickly gather, format, and store Google search result data. If you regularly audit SERPs, track keyword performance, or monitor competitors, this automation lets you generate polished SEO reports in seconds—ready to share or analyze further.

  What problem does this workflow solve?

  Scraping and formatting Google search results for SEO insights is often manual, repetitive, and error-prone or requires expensive software. Professionals frequently face challenges like:

  Collecting live, structured data from Google for multiple keywords
  Converting raw search results into readable reports for clients or stakeholders
  Logging changes in rankings or URLs across time for historical tracking
  Exporting SEO data into spreadsheets for deeper analysis
  High monthly software fees

  What this workflow does

  This n8n workflow scrapes the top organic Google search results for a given keyword and automatically creates a downloadable report while also logging the results in a table format for long-term storage or further processing.

  Here’s what it includes:

  A trigger form that accepts a search keyword from the user
  An automated API call to fetch Google’s SERP data
  Two output formats: a formatted HTML table for emails and a Markdown table for download (e.g., for Excel, Airtable or Google Sheets)
  Automatic CSV file generation for download
  Optional email delivery of the report

  Setup

  Getting started is simple:

  Enter your API key

     Add your API key to the “Scrape Google SERPs” HTTP Request node (Step-by-step guide inside the template)
     Replace the default query with your own custom Google search parameters if needed

  Set up delivery options

     Update your email in the “Mail SEO Report” node for report delivery
     Use the downloadable file output from the “Convert to File” node
     Optional: Add a Google Sheets (or similar) node which imports the file

  Test the workflow

     Use the built-in form to input a keyword
     Confirm that results appear in both your email and downloadable file

  Activate the workflow

     Turn on the trigger so your team or clients can submit keywords at any time

  How to customize this workflow

  This template is easy to extend for a variety of SEO automation needs:

  Add a loop to handle multiple keywords at once
  Connect to Airtable, Notion or Google Sheets
  Integrate with Slack or Discord for notifications
  Apply additional filtering to track only new or changed search results
  Schedule it to run daily or weekly with a cron trigger

  By combining live SERP scraping, report formatting, and spreadsheet integration, this workflow gives you a fast and flexible SEO reporting system you can use right away or scale up as needed.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.formTrigger","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.convertToFile","n8n-nodes-base.mailjet","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WWyW7jRhCGX0XgWWX0vviWzGSPM45t+DLwoZdqDWOZVCR6G8Pvnmp5MDJkylt0aBBi1d9f19a8a9rc7Ddf1c3h7+Xqxlz+cXHY5r+baXOBQ2j275q2Ww2hS/hbtRPClGJY5pEzjkwG5ZMQLAXMjjsZi1dSJRklWs6y4MHxpIL3qvCIgZnmftp04QJJ6uB2ct0vz8u8v6bdhjBbNfufz+h1n7E+3j2QoU2ocnEgTVGgXOQQggpgneJCKvQs2+a76PHQpvPbyV/9gLyq3i7qv53rYC0LMaxwb7U2qjZksuhX7dD2He0IXAs2FYwRxSIsSXHA5arGIPXdgN1AUvUAVfWU3qy9+P30G6kvQhCtAEERAWWlgoAWIaG2QmWdWPajpO8AZWwK5p2cglvDpdWgi4+gdOEQk7TAvKJXOkeMesP542U7z5NfTw7+nHwMQ5ichDin/OxCTvS4BasVwaonsNuA4jugTZFLzyygUY5S7j04KgFg0WmbVFTZpA3gD6tVO+smp2He5rpevo2Oc8r501DupnMxR8tCgJRkITpanLQCUonWcgxYAnuU5rQMC5z80vezOU6Ofzo63E33ZRgWR/gvHWDYgvTsNYxqb0PJdZYlBwXSFUmUPAO1YQBuuIm05BT442IMy2EnV+mXFyfLdjbD5XbwpPoGdo3xS9+fr4eEMpZJRanLWVD+jAvg0BqIWmenVCzWxOaleD86i9XRSMULeFIFxZUBl7wGRT/MwsqCcrtgPxyf/p965W+pCIMiiBAtcBp4oIqz4NF5KAm58Two1Ga08eX7On8E7nWdX0w2uQ6n6Gr4mOfg6kC1BTVXtvji4gb0Y3/dzfuQqWo/TY5w0T9TIrT9FS6Hk/7ndr6NLMWr4sn3NqBWUC8lKSGy2mOZWwgJGWgtJNM096N7FNGD0M5fA3lBdv/gdm9VvFeMpw1clMVxFgrwqOqcNx68FRk0o/AV5j0yPZpu8Z501xvJvTHfZB3S0F7RTiXMVzhtVjgMbTdbu+INpsu6wadlpo7eb6541bh68F93cMpWuER9ZmS9dBERfKIR4i0maYxKStQJTBAdpiq1Fn6YIvRAga70dIXXM740o9fWU/rOyHjT7LP7szOiGfMYU352vo4qj3mMKb908W2LT7c8d06gUapxnzGuZ9vyGe0nJxkT39lKI8L39/8BI8osgz0KAAA=


name: Auto Workflow Backup to Google Drive – Automated Export of All Your Workflows
author_name: LukaszB
author_username: lukaszb
categories: []
created_at: 2025-05-16T01:52:32.526Z
updated_at: 2025-05-16T01:52:32.526Z
url: https://n8n.io/workflows/4090
scraped_at: 2025-12-24 13:02:44
description:
  n8n Workflow Backup to Google Drive – Automated Export of All Your Workflows

  This workflow is designed to automatically create backups of all your workflows in n8n and store them as individual .json files in Google Drive. It's a fully automated system that helps developers, agencies, or automation teams ensure their automation logic is always safe, versioned, and ready to restore or share.

  What is this for?
  If you’re building and managing multiple automations inside n8n, losing a workflow due to accidental deletion or misconfiguration can cost you hours of work. This template solves that by exporting all your workflows into separate files and storing them in a dated Google Drive folder. It helps with disaster recovery, version tracking, and team collaboration — without any manual exporting.

  How this works:
  -Once triggered (manually or via a schedule), the workflow performs the following steps:
  -Creates a new folder in your Google Drive, named with today’s date (e.g. “Workflow Backups Monday 16-05-2025”).
  -Connects to your n8n instance using the internal API and retrieves a list of all existing workflows.
  -Iterates over each workflow, converts it into a .json file using the built-in file conversion node.
  -Uploads each individual .json file to the newly created folder in Google Drive.
  -Optionally, the workflow finds and deletes old backup folders to keep your Google Drive clean and avoid clutter.

  You get a clean, timestamped folder with all your flows — ready to restore, send, or store securely.
  You can trigger it manually or schedule it (e.g., to run weekly on Monday mornings).

  How to set it up:
  Import the provided workflow JSON into your n8n instance.
  Set up your credentials:
  -Replace the placeholder “Google demo” with your actual Google Drive OAuth2 credentials in all Google Drive nodes.
  -Replace the placeholder “n8n demo” with your n8n API credentials so the workflow can fetch your flows.
  -Go to the node “Create new folder” and replace the folder ID with your own destination folder in Google Drive where backups should be stored.
  -(Optional) Enable the “Schedule Trigger” to run the backup automatically once a week or on your preferred interval.

  You’re ready to go — test it with the Manual Trigger first and check your Google Drive for results.

nodes_used:
  ["n8n-nodes-base.convertToFile","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.filter","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.manualTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleDrive","n8n-nodes-base.limit","n8n-nodes-base.n8n","n8n-nodes-base.stickyNote"]

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


name: Tesla Quant Trading AI Agent using Telegram + GPT-4.1 (Main InterFace)
author_name: Don Jayamaha Jr
author_username: don-the-gem-dealer
categories: []
created_at: 2025-05-16T08:44:07.297Z
updated_at: 2025-05-16T08:44:07.297Z
url: https://n8n.io/workflows/4092
scraped_at: 2025-12-24 13:02:42
description:
  📈 Get daily and on-demand Tesla (TSLA) trading signals via Telegram—powered by GPT-4.1 and real-time market data.
  This is the central AI supervisor that orchestrates seven sub-agents for technical analysis, price pattern recognition, and news sentiment. Reports are delivered in structured Telegram-ready HTML, optimized for traders seeking fast, intelligent decision-making signals.

  ⚠️ This master agent requires 7 connected sub-workflows to function. One of them, the News & Sentiment Agent, also requires a DeepSeek Chat API key for language processing.

  🔌 Required Sub-Workflows

  You must download and publish the following workflows:

  Tesla Financial Market Data Analyst Tool
  Tesla News and Sentiment Analyst Tool (Requires DeepSeek Chat API Key)
  Tesla 15min Indicators Tool
  Tesla 1hour Indicators Tool
  Tesla 1day Indicators Tool
  Tesla 1hour & 1day Klines Tool
  Tesla Quant Technical Indicators Webhooks Tool (Requires Alpha Vantage Premium API Key)

  📍 See all tools at:
  🔗 https://n8n.io/creators/don-the-gem-dealer/

  🔍 What This Agent Does

  Listens to your trading query via Telegram
  Calls the Financial Analyst and News & Sentiment Analyst
  These agents aggregate:

     RSI, MACD, BBANDS, SMA, EMA, ADX
     Candlestick pattern + volume divergence analysis
     News summaries and sentiment scoring via DeepSeek Chat
  GPT-4.1 composes the final structured TSLA trade report with:

     Spot and leverage setups
     Signal rationale
     Confidence score
     Sentiment tag
     News summary

  🧠 Output Example

  TSLA Trading Report (Daily Summary)
  Spot Trade
  • Action: Buy
  • Entry: 172.45
  • TP: 182.00
  • SL: 169.80
  • Signal: RSI bounce + Bullish Engulfing
  • Sentiment: Neutral

  Leveraged Position
  • Position: Long
  • Leverage: 3x
  • TP: 186
  • SL: 170
  • Confidence: High (83/100)

  📰 Top News
  • Tesla Model Y delivery surge – Electrek
  • Options market pricing in upside – Bloomberg
  • FSD delayed in Canada – TeslaNorth

  🛠️ Setup Instructions

  1. Import All 8 Workflows

  Ensure all sub-agents above are published in your n8n instance.

  2. Create Your Telegram Bot

  Use @BotFather to generate the token and connect to the trigger/send nodes.

  3. Connect OpenAI GPT-4.1

  Add your OpenAI credentials for GPT-4.1 in the designated node.

  4. Add DeepSeek Chat API Key

  Sign up at https://deepseek.com and insert your DeepSeek Chat credentials in the News Agent.

  5. Add Alpha Vantage Premium API Key

  Sign up at https://www.alphavantage.co/premium/
  Use HTTP Header Auth for webhook-based indicator fetchers.

  6. Replace Telegram ID

  Update the placeholder &lt;&lt;replace your ID here&gt;&gt; with your actual Telegram numeric ID in the auth node.

  📌 Included Sticky Notes

  ✅ Telegram Bot Setup
  ✅ Agent Routing & Memory
  ✅ Financial vs. Sentiment Trigger Flow
  ✅ Report Formatting (HTML)
  ✅ API Requirements (GPT-4.1, DeepSeek, Alpha Vantage)
  ✅ Troubleshooting & Licensing

  🧾 Licensing & Attribution

  © 2025 Treasurium Capital Limited Company
  Architecture, prompts, and trade report structure are IP-protected. No unauthorized rebranding permitted.

  🔗 For support: LinkedIn – Don Jayamaha

  🚀 Deploy the Tesla Quant Trading AI system with GPT-4.1, DeepSeek Chat, and Alpha Vantage Premium—right into Telegram.
  All 8 workflows are required.

  🎥 Tesla Quant AI Agent – Live Demo

  Experience the power of the Tesla Quant Trading AI Agent in action.
    

nodes_used:
  ["n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.telegram","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.dateTime","@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","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, 8140 characters]


name: Tesla News and Sentiment Analyst Tool (Powered by DeepSeek Chat)
author_name: Don Jayamaha Jr
author_username: don-the-gem-dealer
categories: []
created_at: 2025-05-16T08:49:30.606Z
updated_at: 2025-05-16T08:49:30.606Z
url: https://n8n.io/workflows/4093
scraped_at: 2025-12-24 13:02:44
description:
  📰 This AI-powered agent performs real-time sentiment analysis on Tesla (TSLA) news to support trading decisions.
  It aggregates headlines from 5 trusted sources and uses DeepSeek Chat to classify sentiment and generate structured summaries. This tool is a critical sub-agent in the broader Tesla Quant Trading AI Agent system.

   ⚠️ Not standalone — this agent is designed to be executed by the Tesla Quant Trading AI Agent.
   ⚙️ Requires: DeepSeek Chat API Key

  🔌 Workflow Role

  This tool processes Tesla-related news and produces output like:

  {
    "sentiment": "bullish",
    "summary": "Tesla stock rallied today after strong delivery numbers and Cybertruck updates. Analysts remain optimistic.",
    "topHeadlines": [
      "Tesla beats Q2 delivery forecast – Yahoo Finance",
      "Cybertruck ramps up in Texas – Electrek",
      "Berlin Gigafactory expands battery production – CleanTechnica"
    ]
  }

  Its output feeds directly into the master trading agent’s final trade report.

  📰 News Sources Used

  This agent collects real-time headlines from:

  Google News (filtered by “Tesla” or “TSLA”)
  Yahoo Finance (TSLA-specific feed)
  Electrek (Tesla archive)
  CleanTechnica (Tesla sustainability news)
  TeslaNorth (app/product release updates)

  These five tools are always queried together to ensure market-wide signal coverage.

  🤖 What the Agent Does

  Pulls headlines from all 5 Tesla-specific RSS feeds
  Uses DeepSeek Chat to:

     Analyze narrative tone (bullish / bearish / neutral)
     Identify macro/financial drivers
     Generate a 2–3 sentence summary
     Return top 3–5 headlines
  Outputs structured JSON for downstream use

  🛠️ Setup Instructions

  1. Install & Name

  Import this file and name it: Tesla_News_and_Sentiment_Analyst_Tool

  2. Add DeepSeek API Credentials

  Go to: Credentials → Add New → DeepSeek API
  Save as: DeepSeek account

  3. Internet Access Required

  Ensure RSS feeds can fetch live headlines
  Works best with a cloud-hosted n8n instance or tunnel-enabled local install

  4. Must Be Triggered by Parent

  Triggered via Execute Workflow by the Tesla Quant Trading AI Agent
  Requires these inputs:

    message: optional query context
    sessionId: passed to maintain short-term memory across executions

  🧠 Agent Architecture

  | Node Name                          | Function                                         |
  | ---------------------------------- | ------------------------------------------------ |
  | DeepSeek Chat Model              | Performs AI-based sentiment analysis             |
  | Tesla News and Sentiment Analyst | Combines results, formats output in strict JSON  |
  | Simple Memory                    | Stores session-level context (short-term memory) |
  | 5x RSS nodes                     | Aggregate Tesla news from trusted media outlets  |

  📌 Sticky Notes Included

  🟢 Trigger from Parent Workflow – Executed only by main TSLA agent
  🟠 News Feeds Overview – Lists and explains each of the 5 feeds
  🧠 DeepSeek Chat Notes – Describes LLM behavior and parsing role
  🔵 Short-Term Memory – Buffers sentiment context during user session
  📘 Sentiment Analyst Agent – Summarizes key responsibilities

  📎 Licensing & Attribution

  © 2025 Treasurium Capital Limited Company
  This architecture, workflow structure, and prompt design are licensed for educational and operational use only. Commercial resale or rebranding prohibited without authorization.

  🔗 Creator: Don Jayamaha
  🔗 Templates: https://n8n.io/creators/don-the-gem-dealer/

  🚀 Power your TSLA trading with AI-driven sentiment—built with DeepSeek Chat and 5 trusted news sources.
  This tool is required by the Tesla Quant Trading AI Agent.

nodes_used:
  ["n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.rssFeedReadTool","n8n-nodes-base.rssFeedReadTool","n8n-nodes-base.rssFeedReadTool","n8n-nodes-base.rssFeedReadTool","n8n-nodes-base.rssFeedReadTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatDeepSeek","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, 7284 characters]


name: Tesla Financial Market Data Analyst Tool (Multi-Timeframe Technical AI Agent)
author_name: Don Jayamaha Jr
author_username: don-the-gem-dealer
categories: []
created_at: 2025-05-16T08:54:17.737Z
updated_at: 2025-05-16T08:54:17.737Z
url: https://n8n.io/workflows/4094
scraped_at: 2025-12-24 13:02:44
description:
  📊 This AI sub-agent aggregates Tesla (TSLA) trading signals across multiple timeframes using real-time technical indicators and candlestick behavior.
  It is a core component of the Tesla Quant Trading AI system. Powered by GPT-4.1, it consolidates 15-minute, 1-hour, and 1-day indicators, adds candlestick pattern data, and produces a unified JSON signal for downstream use by the master agent.

   ⚠️ This agent is not standalone. It is triggered by the Tesla Quant Trading AI Agent via Execute Workflow.
   🧠 Requires: 4 connected sub-agents and Alpha Vantage Premium API Key

  🔌 Required Sub-Workflows

  To use this workflow, you must install:

  Tesla 15min Indicators Tool
  Tesla 1hour Indicators Tool
  Tesla 1day Indicators Tool
  Tesla 1hour and 1day Klines Tool
  Tesla Quant Technical Indicators Webhooks Tool (provides Alpha Vantage data)

  🧠 What This Agent Does

  Fetches pre-cleaned 20-point JSON outputs from the 4 sub-agents listed above
  Analyzes each timeframe individually:

     15m: momentum and short-term setups
     1h: confirmation of emerging trends
     1d: macro positioning and trend alignment
     Klines: candlestick reversal patterns and volume divergence
  Generates a structured final signal in JSON with:

     Trading stance: Buy, Sell, Hold, or Cautious
     Confidence score (0.0–1.0)
     Multi-timeframe indicator breakdown
     Candlestick and volume divergence annotations

  📋 Sample Output

  {
    "summary": "TSLA momentum is weakening short-term. 1h MACD shows bearish crossover, RSI declining. 1d candles confirm potential reversal setup.",
    "signal": "Cautious Sell",
    "confidence": 0.81,
    "multiTimeframeInsights": {
      "15m": { "RSI": 68.3, "MACD": { "macd": 0.53, "signal": 0.61 }, ... },
      "1h": { "RSI": 65.0, "MACD": { "macd": -0.32, "signal": 0.11 }, ... },
      "1d": { "BBANDS": { ... }, ... },
      "candlestickPatterns": { "1h": "Doji", "1d": "Bearish Engulfing" },
      "volumeDivergence": { "1h": "Bearish", "1d": "Neutral" }
    }
  }

  🛠️ Setup Instructions

  Import this workflow into n8n

     Name it: Tesla_Financial_Market_Data_Analyst_Tool

  Add Required API Credentials

     Alpha Vantage Premium (via HTTP Query Auth)
     OpenAI GPT-4.1 for reasoning and synthesis

  Link Required Sub-Agents

     Connect the 4 tool workflows listed above to their respective Tool Workflow nodes
     Connect the webhook provider for data fetches

  Set Up as Sub-Agent

     This workflow must be triggered using Execute Workflow from the parent agent
     Pass in:

       message (optional context)
       sessionId (used for memory continuity)

  🧾 Sticky Notes Provided

  📘 Tesla Financial Market Data Analyst — Core logic overview
  📈 15m / 1h / 1d Tool Notes — Indicator lists + use cases
  🕯️ Klines Tool Note — Candlestick and volume divergence patterns
  🧠 GPT Reasoning Note — GPT-4.1 handles final synthesis
  🧩 Sub-Workflow Trigger — Proper integration with parent agent
  🧠 Memory Buffer — Maintains session context across evaluations

  🔒 Licensing & Support

  © 2025 Treasurium Capital Limited Company
  The logic, prompt design, and multi-agent architecture are proprietary and IP-protected.

  For support or collaboration inquiries:
  🔗 Don Jayamaha – LinkedIn
  🔗 n8n Creator Profile

  🚀 Unify your Tesla trading logic across timeframes—automated, AI-powered, and built for scalers and swing traders.

nodes_used:
  ["n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.lmChatOpenAi","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, 7508 characters]


