# templates

name: Auto-Generate and Post Social Media Content to Bluesky using Groq LLM
author_name: Mehdi
author_username: mlstudio
categories: []
created_at: 2025-04-07T09:14:47.000Z
updated_at: 2025-04-07T09:14:47.000Z
url: https://n8n.io/workflows/3455
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Automatically Generate Content and Post to Bluesky with LLM Workflow

  Unlock the power of automation with the Automatically Generate Content and Post to Bluesky with LLM Workflow, an n8n-powered solution that uses Large Language Model (LLM) APIs to create engaging content and seamlessly posts it to Bluesky. Say goodbye to manual content creation and posting—streamline your social media presence in minutes!

  How It Works
  This workflow harnesses an LLM API (like Openai or your preferred model) to generate tailored content based on your input prompts. Once the content is created, it’s formatted to fit Bluesky’s requirements (e.g., under 300 characters), authenticated via the Bluesky API, and posted automatically. Built-in checks ensure error-free execution, making your content strategy seamless and efficient.

  Set Up Steps (10-15 Minutes)
  Authenticate Bluesky: Add your Bluesky API credentials (username and app password in your Bluesky settings).
  Configure LLM API: Connect your chosen LLM API (e.g., Groq) with your API key.
  Set Prompt: Define a system prompt in the LLM node (e.g., “Write a witty Bluesky post about AI automation”).
  Test Workflow: Run it manually to verify content generation and posting.
  Schedule (Optional): Set a cron node to automate posts (e.g., daily at 9 AM).

  Total setup time: 10-15 minutes, depending on familiarity with n8n.

  Features
  LLM-Powered Content**: Generate unique, high-quality posts using any LLM API.
  Bluesky Automation**: Posts directly to Bluesky with proper formatting and authentication.
  Character Limit Safety**: Ensures posts stay under 300 characters with built-in validation.
  Error Handling**: Stops execution on errors to prevent unwanted posts.
  Customizable Scheduling**: Post instantly or schedule content at your preferred intervals.
  Scalable Design**: Easily adapt for multiple platforms or content types.

  Perfect for Creators Who Want To
  Save time by automating content creation and posting.
  Maintain a consistent Bluesky presence without manual effort.
  Experiment with AI-generated content tailored to their brand.
  Focus on strategy and engagement rather than repetitive tasks.

  Suggested Enhancements
  Multi-Platform Support**: Extend the workflow to post to Twitter, Mastodon, or LinkedIn simultaneously.
  Content Variety**: Add nodes to generate images (e.g., via DALL-E) alongside text for richer posts.
  Analytics Integration**: Track post performance with a Bluesky API feedback loop.
  Dynamic Prompts**: Incorporate trending topics or keywords from the web for timely content.
  Approval Step**: Add a manual review node before posting for extra control.

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

workflow_json_compressed:
  H4sIAAAAAAAAE62XbW/jNhLHv4qg15qUD8MH+dW1adq7It0tbhft4RZBMCSHiRBHSi15t0GQ736Qs1krsZx4t/fGsC1y+OPMX38O78omlYvy5z/++/3lD6cnpz6evHuj/1NW5TUPVC7uyqbtB2oj/2scpxNT0lZSxOhU9mRTJCktyhSjTqRdEKgROQTM6IhsSE4aIQTqLERd3ldlS9dcLsrQX92e911saHm+XF6ft749/9StrvKy+1RW5UAXfbn4cFaVbZd4/Hr3gBpkIlnLDIJqBRh0AgrJgJbK2IyJbW3LL6scr5gGLn5Yrrm/ui3ecd83XTvGv70Zn7e+hc0CEKjno8thuPk3/7nmfiirsmtPVqtuVS7K2LVD06558/vterhZj89vur4ZxnCLDyCdF5VGcVaVN7Siax541ZeLu/uqXPGwun3b/kTNslwMqzU/rP47rzYsCzxS99Xj7uos2VkE0rkG1MZAresAMensUhSs7WR3v3X9UAzd4/b+/9tCFJXyf3dTVlryrC2QIQ9oDQGZZCDVpJwWmpxL2039yLlpuTheceJ2aGjZ791XzztlqPeW4QmePsIveCLbIKI0oAkNoI8RaoEZhHbGoMZR0lu8d/GS03rJxftVc3HBq/1wnwdux01BlbYHgcpJHrVhzJk9mOg1oECEOqAHljYm551yJLagP6+6P4vjSxqKX7vEyy3nP1rffreFXVJ7ES+paY+W1+Pwcd7zrI6waF+H/YKqjBRSuQgOvQNU1gNlnwBTiMJwEoonOf3n+/e/FbwR5WESnsJpJSo9y/Y1Go1YhyBRAVONgHWtgLzSoIw3aI1Ap8IW+A9qhr2onx4eThmtf8zfJw6XXXe1cVNL3rqkDHiKElAwQq1tDUo5TcJoGfSYpFf0sU26sMEr1g4y5wRIpCBIEhBErGtiQVH5iZCH7qagNhUnLya+H7qb79v0OOjJrvYlfo8oshIhS0GgsreAKDKEYB0kpxVTnTEYN+Vr4tVt8aYb+AW4ccznITs+YMQO3MbyuB3KRVnuBzVka3QkICPWgEpFoFHMKD06aXxwimdB5TeQGiGqetcIDiMlxzZIHcBldoAmCwgxMDhJ3miWSiSzJT09/XV0hKY9wAw2n6fL6+e4aL/1SJBH5gu3NJEdkQGZjQd0o1R9kFBLmUON3nHALffJXxzXI0Fx3K3boTju0n5NxIeHU+haiEq9rtStGxBFVlFLcKgjYHYKPHkCk01OWiiXjH4B75Lj1V6+Js+YwyF0E7cSPkgW0kNwWQNmnYF0TKBJZE5Z+Cdv0oanaHLxy7u3b4qmL36nZZMOBxzTd4D7TwGdUDJEjBATWcAcPYTkNQjKCbX0NoeJFY31LMa6jc1MpJvipuuHvqCh0EIU8ZJWFDeLfkXNx37s9eN1SyzZaSM5gKptHDsvAXU0GlDqKCRqzqF+WZGF+lpNul2D2g9opAtjkwvC1AZQJwaPOoH2nE3I6Lzzr2jyBcJdVdrD+CZFTzqG6FkAUmRAdhJqrWuglFLKSMqinLXN/Vj7bXP0IbPrQy/b5llVUhyaj1wuMi17rsqeh6FpLzZT+TFnb1eJx/74oxxjfHyYvzmyfe1r6XWGXFsEzMECoYjAlqWJWjiHsaxGiJbjGGoTeNMuLO7K69F6Fx8+3G0uNQfI6PrBq5s28V/lQtyfnd1XExefC/n179LsIpOWbG6Vfc3DbKznnejirqTmfDxq1nTBn/+bBJ85pnbGP1/j+VVoAn1WbUPPdZqzzDtt/lwWXrqqzEadmTBbw1durbOxZw/Jg0T39Lg6LPhmzlz0gzI8qcjeO+wsx56j7NB36zCkp939PMd8heY4ZtT80uIHK3SPdxxc8Vd9Zt+sv+MH1Tfr5JA0bipzqP/NvnivdEozK97f/w9mfB1hRBMAAA==

metadata_json:
  {"categories":["automation","integration","content generation","social media management"],"complexity":"medium","use_cases":["Automatically generate and post short-form content to Bluesky","Schedule recurring social posts","Maintain consistent social presence with AI-generated copy","Enforce platform-specific formatting (e.g., <300 characters)","Prototype multi-platform posting workflows"],"estimated_setup_minutes":15,"required_services":["n8n instance","Bluesky API (username + app password)","LLM API (e.g., Groq, OpenAI) / API key"],"key_features":["LLM-powered content generation","Direct posting to Bluesky with authentication","Character-limit validation (<300 chars)","Error handling to prevent unwanted posts","Optional scheduling (cron) for automated posting cycles"],"target_audience":["social media managers","content creators","marketers / growth teams"]}


name: Automated Discord Chatbot for chat Interaction in channel using Gemini 2.0 Flash
author_name: JPres
author_username: stardawnai
categories: []
created_at: 2025-04-07T09:39:02.177Z
updated_at: 2025-04-07T09:39:02.177Z
url: https://n8n.io/workflows/3456
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  A Discord bot that responds to mentions by sending messages to n8n workflows and returning the responses. Connects Discord conversations with custom automations, APIs, and AI services through n8n.

  Full guide on: https://github.com/JimPresting/AI-Discord-Bot/blob/main/README.md 

  Discord Bot Summary

  Overview
  The Discord bot listens for mentions, forwards questions to an n8n workflow, processes responses, and replies in Discord.
  This workflow is intended for all Discord users who want to offer AI interactions with their respective channels.

  What do you need?
  You need a Discord account as well as a Google Cloud Project

  Key Features

  1. Listens for Mentions
  The bot monitors Discord channels for messages that mention it.
  Optional Configuration**: Can be set to respond only in a specific channel.

  2. Forwards Questions to n8n
  When a user mentions the bot and asks a question:
    The bot extracts the question.
    Sends the question, along with channel and user information, to an n8n webhook URL.

  3. Processes Data in n8n
  The n8n workflow receives the question and can:
    Interact with AI services (e.g., generating responses).
    Access databases or external APIs.
    Perform custom logic.
  n8n formats the response and sends it back to the bot.

  4. Replies to Discord with n8n's Response
  The bot receives the response from n8n.
  It replies to the user's message in the Discord channel with the answer.
  Long Responses**: Handles responses exceeding Discord's 2000-character limit by chunking them into multiple messages.

  5. Error Handling
  Includes error handling for:
    Issues with n8n communication.
    Response formatting problems.
  Manages cases where:
    No question is asked.
    An invalid response is received from n8n.

  6. Typing Indicator
  While waiting for n8n's response, the bot sends a "typing..." indicator to the Discord channel.

  7. Status Update
  For lengthy n8n processes, the bot sends a message to the Discord channel to inform the user that it is still processing their request.

  Step-by-Step Setup Guide as per Github Instructions


  Key Takeaways

  You’ll configure an n8n webhook to receive Discord messages, process them with your workflow, and respond.  
  You’ll set up a Discord application and bot, grant the right permissions/intents, and invite it to your server.  
  You’ll prepare your server environment (Node.js), scaffold the project, and wire up environment variables.  
  You’ll implement message‐chunking, “typing…” indicators, and robust error handling in your bot code.  
  You’ll deploy with PM2 for persistence and know how to test and troubleshoot common issues.

  1. n8n: Create & Expose Your Webhook

  New Workflow  
     Log into your n8n instance.  
     Click Create Workflow (➕), name it e.g. Discord Bot Handler.  

  Webhook Trigger  
     Add a node (➕) → search Webhook.  
     Set:  
       Authentication: None (or your choice)  
       HTTP Method: POST  
       Path: e.g. /discord-bot  
     Click Execute Node to activate.

  Copy Webhook URL  
     After execution, copy the Production Webhook URL.  
     You’ll paste this into your bot’s .env.  

  Build Your Logic  
     Chain additional nodes (AI, database lookups, etc.) as required.

  Format the JSON Response  
     Insert a Function node before the end:  
            return {
         json: { answer: "Your processed reply" }
       };
       
  Respond to Webhook  
     Add Respond to Webhook as the final node.  
     Point it at your Function node’s output (with the answer field).

  Activate  
     Toggle Active in the top‐right and Save.

  2. Discord Developer Portal: App & Bot

  New Application  
     Visit the Discord Developer Portal.  
     Click New Application, name it.  
     Go to Bot → Add Bot.

  Enable Intents & Permissions  
     Under Privileged Gateway Intents, toggle Message Content Intent.  
     Under Bot Permissions, check:  
       Read Messages/View Channels  
       Send Messages  
       Read Message History  

  Grab Your Token  
     In Bot → click Copy (or Reset Token).  
     Store it securely.

  Invite Link (OAuth2 URL)  
     Go to OAuth2 → URL Generator.  
     Select scopes: bot, applications.commands.  
     Under Bot Permissions, select the same permissions as above.  
     Copy the generated URL, open it in your browser, and invite your bot.

  3. Server Prep: Node.js & Project Setup

  Install Node.js v20.x  
        sudo apt purge nodejs npm
     sudo apt autoremove
     curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
     sudo apt install -y nodejs
     node -v    # Expect v20.x.x
     npm -v     # Expect 10.x.x
     
  Project Folder  
        mkdir discord-bot
     cd discord-bot
     
  Initialize & Dependencies  
        npm init -y
     npm install discord.js axios dotenv
  4. Bot Code & Configuration

  Environment Variables  
     Create .env:  
            nano .env
          Populate:  
            DISCORD_BOT_TOKEN=your_bot_token
       N8N_WEBHOOK_URL=https://your-n8n-instance.com/webhook/discord-bot
  Optional: restrict to one channel
  TARGET_CHANNEL_ID=123456789012345678
       
  Bot Script  
     Create index.js:  
            nano index.js
          Implement:  
       Import dotenv, discord.js, axios.  
       Set up client with MessageContent intent.  
       On messageCreate:  
         Ignore bots or non‐mentions.  
         (Optional) Filter by channel ID.  
         Extract and validate the user’s question.  
         Send “typing…” every 5 s; after 20 s send a status update if still processing.  
         POST to your n8n webhook with question, channelId, userId, userName.  
         Parse various response shapes to find answer.  
         If answer.length ≤ 2000, message.reply(answer).  
         Else, split into ~1900‑char chunks at sentence/paragraph breaks and send sequentially.  
         On errors, clear intervals, log details, and reply with an error message.

  Login  
        client.login(process.env.DISCORD_BOT_TOKEN);
  5. Deployment: Keep It Alive with PM2

  Install PM2  
        npm install -g pm2
     
  Start & Monitor  
        pm2 start index.js --name discord-bot
     pm2 status
     pm2 logs discord-bot
     
  Auto‐Start on Boot  
        pm2 startup
  Follow the printed command (e.g. sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u your_user --hp /home/your_user)
     pm2 save
  6. Test & Troubleshoot

  Functional Test  
     In your Discord server:  
            @YourBot What’s the weather like?
          Expect a reply from your n8n workflow.

  Common Pitfalls  
     No reply → check pm2 logs discord-bot.  
     Intent Errors → verify Message Content Intent in Portal.  
     Webhook failures → ensure workflow is active and URL is correct.  
     Formatting issues → confirm your Function node returns json.answer.

  Inspect Raw Data  
     Search your logs for Complete response from n8n: to debug payload shapes.

  `

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

workflow_json_compressed:
  H4sIAAAAAAAAE5VW23LcNhL9FRQ2D0nVYMT7ZVKuiuzdteVEshLLdsWWaqsJNEnYJEADoMYq1fzZvu2PbYGc0Vg3x3kjiD6nu0+j0bimUtAVffW5/v2EN2ef3/yav7l8/5wuaI8O6OqaSmUdKI5H3i7lmEZlUQZlUmEZVBhXcSVEiaLkiKHIOYY1Rw6QlgXUgDyBNMiSTMQRRmVIF9RhP3Tg8JlBYV+jG4dnuh86dCjoypkRNwuqoEe6on/q0Y0Vkn9Ky7UR5Kl2ngAaS1cfrufIU3xfxZievrSDfvnx7Qm9QW9RdEG5QXAoDh1d0SiIUhZELIrOgnIVh6u0WJZ59J4u6DiIvzbbXCyo0gK/CiEuizgqwpJBmFQsSVLOqjrlLKhEGWdhXIUc9mG9w6rV+pNP5GrwP1Sh2MTIKrC4XN/sD9pKJ7Wiqw9FsEiS4GJBt7tTMaogi8MKOSs55yzBqmBVmMRM5HEWlFUUxjz3NGCgR4fG+nIO4Nrvx+rBB+CBmwVtnRuO0bXaOz999fqMLqhBO2hl8VgLn8tueeKXmznFt2jslEW0WdwULQ+qLClZmuUFS/KwYGUBOYuDCBKeF0mYpnvFXkt/Psgx9tpc7XX7RRXqYC9eB6rhLUi17CfDp2Ndo3knldDr22ImWbDICq/mbWksWh/or3hFV/TJ9TX54aPVallpcbUcLZojQTYbutjZHYmzORA+Wqd7D1tQrpXDL252+xuqxqudBnelCJfxjRg550VS8pjFKAqW1BgxiPOCQRTGeZxBCVjvxXiuddMheY69VJI8a8ERr333Hbp0vTefCWb8bV3CIljkwX1dbh2C3js7mWOZvu1BM3GxaBmwugPb+sJzgwKVk9BNFM3k9BS6/nCQ063iM+dd/7R4/+fL4xfwold2/KrkDoyAtfpHSDf3tLtRLqmyLKmjkGV1yFlSlAkrwzJjFSKvRJGlIsY95x/T2RTEafJXPTgfY3Gm3z3YjDfd+A2dthTv5NRu0HVHiutequbIYW/v9Ua43KfFc57npYgZxlHCEohrBimELI3CAnkWiiLN9mlxbQxydwKe/NGMuG/IW1lkj2Tx0T6be/nggLzQHRLoOiRT1OeKa2UdkX5BnpAfpBpGt4Su+/Gnn8/VuTo4ICfY9kgEWILGuhlIfqyh6yzpsTVokFxq04ISqIiVSvz0NS15MrN/CC52jP/64gy00gM9RI9uGN0OA8qttXFb2HJq2NliB/+3Nj24GS6RHG4BsidG8tbJBtXWhtT/+6+ZfGxHB3uq3bky6EajyPW5IsTzr+ZPQkDZNZrVLgb/c3OuNj9/4+Ir6zoHkeesKDiyJMuRlWEVsqTmkQjjLM5qcW+CkcMj8sf2YiWHDSr3Hc0OW7uvKh4HD1fcX1j+xntj0XjPK3L/7vMdTzYbr+nvI1rPeHBqdD+4u9aft9vzXbnvCWqvrMP+GK2FZjvdCRgkQFrshnrsCFgr/WPDLcm0OelLpCKuReJTG6FBcqVHYpCjvMRp48ahVEtypBwa4JNT0sumdaSajjDRl2gm+6EDjktyVPuVQSItAXV1Q2OJwQaMkKqZzHePkLdSoLZETzDCW1AKuxU5NR6mGnKqBQfr7GIKsIVtdM6AstzIwe2gw2xILmdCsASEmGoEHfmk9LpD0eDyXB12a7iypMJGKk9qdoqspWsJkF+ksmjcuC2bv9h6MJ8mJ814RdatJmA/obgl05IQf0CHqXjbCSawlur+wA6XhX/ueDkvcX6c+ennfL5TSfEL8tGTvjICDV3Ry9CTXM4E0yMliUqMOBcshbRgSVTkrARRsDhMsK4q5FVRz3NTIb85K7t7d3VNe5D+8H64np5d39cVE2ZBpRL4ha6CzcXFZnHnGbG6piD/028Xf49+D7zr4/Zl/FD035pCD4b96MCfM9i1xfbf307kNv6u88c5HsrtkVH0QFqbzf8BIHLX13kMAAA=

metadata_json:
  {"categories":["integration","automation","chatbot","AI integration"],"complexity":"medium","use_cases":["AI-powered Q&A in Discord channels","Connecting Discord messages to custom automations/APIs","Providing contextual assistant or knowledge-base responses","Enriching community workflows with AI-driven replies","Prototyping conversational integrations with Gemini 2.0"],"estimated_setup_minutes":90,"required_services":["Discord (Developer Portal & Bot)","n8n instance (webhook endpoints)","Google Cloud Project (Gemini 2.0 API)"],"key_features":["Listens for mentions and optional channel-restricted responses","Forwards questions to an n8n webhook with user/channel metadata","Integrates with AI (Gemini 2.0) and other n8n nodes/APIs","Typing indicator and periodic status updates while processing","Chunks long replies to respect Discord 2000-character limit and sends sequential messages if needed"],"target_audience":["Developers/engineers building chat integrations","Community managers and server admins","AI hobbyists and makers experimenting with Gemini models"]}


name: Classify Emails & Extract Structured Data from Job Applications with GPT-4o
author_name: Sleak
author_username: sleak
categories: []
created_at: 2025-04-07T10:57:05.716Z
updated_at: 2025-04-07T10:57:05.716Z
url: https://n8n.io/workflows/3457
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who is this template for?
  This workflow template is designed for business owners and HR professionals to automatically detect and structure unstructured job applications received through email. Additionally, other email categories can be added, each with it's own workflow.

  How it works
  Every time a new email is received, an OpenAI model classifies it into a predefined category by analyzing the plain text of the email and the extracted content from the attachment.
  If the email is classified as a job application, an OpenAI model uses the email’s plain text and extracted attachment content to populate predefined fields such as age and study.
  A relevant additional step would be to directly push the applicant and their structured job application into a CRM or ATS like Hubspot or Recruitee.

  Set up steps
  Configure your IMAP credentials to connect your email account. Use this n8n documentation page for quickstart guides for common email providers.
  Connect your OpenAI account in the 'Classify email' node.
  	And add or remove any category for classification in this node. Make sure the description is clear and concise.

  	
  Connect your OpenAI account in the 'Extract variables - email & attachment' node.
  	And add or remove any predefined fields that should be populated for job applications in this node. Make sure the description is clear and concise.

  	

nodes_used:
  ["n8n-nodes-base.emailReadImap","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.noOp"]

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

metadata_json:
  {"categories":["automation","integration","email processing","data extraction","HR"],"complexity":"medium","use_cases":["Automatically classify incoming emails into predefined categories","Extract structured applicant information (age, education, etc.) from email body and attachments","Populate CRM/ATS with applicant data","Automate routing or follow-up workflows for different email categories","Preprocess unstructured job applications for downstream processing or analytics"],"estimated_setup_minutes":20,"required_services":["IMAP-compatible email provider (Gmail, Outlook, etc.)","OpenAI (GPT-4o) account","n8n instance","Optional: CRM/ATS (HubSpot, Recruitee, etc.)"],"key_features":["Triggered on new incoming email via IMAP","OpenAI-powered email classification into configurable categories","Extraction of structured variables from email body and attachments","Attachment text extraction (OCR/parse) prior to classification/extraction","Configurable predefined fields for job applications (age, study, etc.) to populate downstream systems or databases"],"target_audience":["Business owners","HR professionals and recruiters","Operations/automation teams implementing email workflows」「Developers/IT who set up integrations and connect CRMs"]}


name: Adaptive RAG Strategy with Query Classification & Retrieval (Gemini & Qdrant)
author_name: dmr
author_username: dmr
categories: []
created_at: 2025-04-07T15:43:47.541Z
updated_at: 2025-04-07T15:43:47.541Z
url: https://n8n.io/workflows/3459
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n workflow implements a version of the Adaptive Retrieval-Augmented Generation (RAG) framework. It recognizes that the best way to retrieve information often depends on the type of question asked. Instead of a one-size-fits-all approach, this workflow adapts its strategy based on the user's query intent.

  🌟 How it Works

  Receive Query: Takes a user query as input (along with context like a chat session ID and Vector Store collection ID if used as sub-workflow).
  Classify Query: First, the workflow classifies the query into a predefined category. This template uses four examples:
      Factual: For specific facts.
      Analytical: For deeper explanations or comparisons.
      Opinion: For subjective viewpoints.
      Contextual: For questions relying on specific background.
  Select & Adapt Strategy: Based on the classification, it selects a corresponding strategy to prepare for information retrieval. The example strategies aim to:
      Factual: Refine the query for precision.
      Analytical: Break the query into sub-questions for broad coverage.
      Opinion: Identify different viewpoints to look for.
      Contextual: Incorporate implied or user-specific context.
  Retrieve Info: Uses the output of the selected strategy to search the specified knowledge base (Qdrant vector store - change as needed) for relevant documents.
  Generate Response: Constructs a response using the retrieved documents, guided by a prompt tailored to the original query type.

  By adapting the retrieval strategy, this workflow aims to provide more relevant results tailored to the user's intent.

  ⚙️ Usage & Flexibility

  Sub-Workflow:** Designed to be called from other n8n workflows, passing user_query, chat_memory_key, and vector_store_id as inputs.
  Chat Testing:** Can also be triggered directly via the n8n Chat interface for easy testing and interaction.
  Customizable Framework:** The query categories (Factual, Analytical, etc.) and the associated retrieval strategies are examples. You can modify or replace them entirely to fit your specific domain or requirements.

  🛠️ Requirements

  Credentials:** You will need API credentials configured in your n8n instance for:
      Google Gemini (AI Models)
      Qdrant (Vector Store)

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"]

workflow_json_compressed:
  [encoded data, 8404 characters]

metadata_json:
  {"categories":["automation","integration","retrieval-augmented-generation","conversational AI","knowledge management"],"complexity":"complex","use_cases":["Intent-aware document retrieval","Adaptive chatbot responses based on query type","Customer support knowledge base search","Contextual QA over internal docs","Research assistant that breaks down analytical queries into sub-questions for broader coverage"],"estimated_setup_minutes":60,"required_services":["Google Gemini (LLM + embeddings)","Qdrant (vector store)","n8n instance with configured credentials","Optional: external document storage or ingestion pipeline (e.g., S3, Google Drive)"],"key_features":["Query classification into Factual / Analytical / Opinion / Contextual","Adaptive retrieval strategies chosen per query intent","Qdrant vector search for document retrieval","Google Gemini used for classification, embeddings, and response generation","Sub-workflow interface (accepts user_query, chat_memory_key, vector_store_id) for reuse/integration into other workflows"],"target_audience":["Developers","ML/AI Engineers","Data Engineers building knowledge workflows"]}


name: 🎨 AI Design Team - Generate and Review AI Images with Ideogram and OpenAI
author_name: RealSimple Solutions
author_username: joeperes
categories: []
created_at: 2025-04-07T17:05:15.082Z
updated_at: 2025-04-07T17:05:15.082Z
url: https://n8n.io/workflows/3460
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  🎨 AI Graphic Design Team - Generate and Review AI Images with Ideogram and OpenAI

  Description

  Who is this for?
  This workflow is perfect for graphic designers, creative agencies, marketing teams, or freelancers who regularly use AI-generated images in their projects. It's specifically beneficial for teams that want to automate the generation, review, and management of AI-created graphics efficiently.

  What problem does this workflow solve?
  Design teams often face time-consuming manual reviews and inconsistent quality checks for AI-generated images. This workflow addresses these challenges by automating image generation and introducing a systematic, AI-driven vetting process. This ensures only high-quality, relevant images reach your team's assets, saving valuable time and enhancing workflow efficiency.

  What this workflow does
  AI Image Generation:** Integrates Ideogram via HTTP Request to automatically create AI-generated images based on creative briefs.
  Automated Image Review:** Uses OpenAI to automatically evaluate and approve images, ensuring they meet your predefined quality standards.
  Efficient Asset Management:** Automatically creates structured Google Drive folders and compiles key metadata (including creation dates, prompts, and image links) into a CSV file and Google Sheet.
  Immediate Email Notifications:** Delivers a setup confirmation and provides easy access to Google Drive folders and assets via automated email notifications.
  Final Approved Images:** Outputs vetted, ready-to-use images for your creative projects, removing the burden of manual reviews.

  Setup
  Initial Email Configuration
     Update your email details in both the "Setup Gmail" node and the "Gmail" notification node.
     Run the initial setup workflow to automatically create the Google Drive folders "Graphic_Design_Team" and "Image_Generations," and upload your CSV file (n8n-Graphic_Design_Team.csv).

  Review Email & Set Up Google Sheets
     Check your inbox for an automated email containing folder IDs and direct links.
     Create and set up a Google Sheet by importing the provided CSV data from your email.

  Update Workflow Nodes
     Select your newly created Google Sheet in both Google Sheets nodes.
     Update your Creative Brief node with the Google Drive folder IDs provided in the email.

  Run Workflow for AI Image Generation & Review
     Execute the workflow. Your generated images will be automatically vetted, organized, and ready for creative use.

  How to Customize This Workflow
  Tailor Image Generation Prompts:** Adjust prompts and settings in the Ideogram HTTP Request node to better fit your project's creative requirements.
  Set Quality Standards:** Modify the criteria used by the OpenAI node to reflect your specific standards and preferences for image approval.
  Customize Asset Organization:** Adapt Google Drive folder structures, CSV headers, or Google Sheets integrations to match your team's organizational preferences.

  Dependencies & Requirements
  Nodes Used:**
    HTTP Request (Ideogram API integration)
    OpenAI (Image review and quality assessment)
    Gmail (Automated notifications)
    Google Drive (File and asset management)
    Google Sheets (Metadata organization)

  Credentials:**
    Ensure Gmail, Google Drive, Google Sheets, and OpenAI credentials are properly configured in your n8n account. No custom or community nodes are needed.

  Final Outcome
  Upon completion, your workflow efficiently provides vetted, high-quality AI-generated images, organized in Google Drive and accessible via easy-to-use metadata in Google Sheets, drastically reducing manual intervention and accelerating your creative processes.

nodes_used:
  ["n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.gmail","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.manualTrigger","n8n-nodes-base.convertToFile","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","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, 11048 characters]

metadata_json:
  {"categories":["automation","AI/ML","digital asset management","creative workflows","integration"],"complexity":"medium","use_cases":["Automated AI image generation from creative briefs","AI-driven image quality review and approval","Organizing and storing approved assets in Google Drive","Maintaining searchable metadata in CSV/Google Sheets","Notifying teams about new assets via email"],"estimated_setup_minutes":30,"required_services":["Ideogram API (via HTTP Request)","OpenAI API","Gmail account","Google Drive","Google Sheets","n8n platform"],"key_features":["Generate images using Ideogram","Automated image review and approval using OpenAI","Create structured Google Drive folders and upload assets","Compile metadata to CSV and Google Sheets","Automated email notifications with folder links and IDs','Customizable prompts and approval criteria"],"target_audience":["Graphic designers","Creative agencies","Marketing teams and content teams/freelancers"]}


name: RSS Feed Reader that saves the feeds of the last 3 days in Google Sheets
author_name: Holger
author_username: capa
categories: []
created_at: 2025-04-07T21:16:17.406Z
updated_at: 2025-04-07T21:16:17.406Z
url: https://n8n.io/workflows/3463
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  ++How it Works:++
  This RSS reader retrieves links from a Google Sheets file and goes through each link to retrieve the messages that are younger than 3 days, then saves them in a second Google Sheets file and then deletes all older entries in the second Google Sheets file!

  The retrieval can take a while due to the Google API block prevention, depending on the number of news feeds that were retrieved!==*

  Detailed Description is in the sticky Notes from the Workflow!*

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.markdown","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.splitInBatches","n8n-nodes-base.rssFeedRead","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.wait","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.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets"]

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

metadata_json:
  {"categories":["automation","integration","data processing","content aggregation"],"complexity":"medium","use_cases":["Aggregate recent news / blog posts from multiple RSS feeds","Maintain a rolling 3-day feed archive in Google Sheets","Monitor new content / mentions for marketing or PR","Content curation and research (collect recent items for review)","Automated feed cleanup to remove older entries"],"estimated_setup_minutes":30,"required_services":["n8n instance","Google Sheets (Google account with Sheets API access)","RSS feed URLs (feed sources)","AI provider (optional — if AI/ML nodes are used)"],"key_features":["Reads feed URLs from a source Google Sheet","Fetches RSS items and filters those younger than 3 days","Writes recent items to a destination Google Sheet","Deletes older entries from destination sheet to keep only last 3 days","Batch processing and scheduling to mitigate Google API rate limits / throttling risks"],"target_audience":["marketers","content curators","researchers/analysts monitoring feeds"]}


name: Organize Email Attachments into Google Drive Folders by Company with Gmail & Sheets
author_name: Ventsislav Minev
author_username: vminev
categories: []
created_at: 2025-04-07T21:57:04.743Z
updated_at: 2025-04-07T21:57:04.743Z
url: https://n8n.io/workflows/3464
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Automated Email Attachment Organizer
  Automatically process labeled emails with attachments into organized Google Drive folders

  Who Is This For?
  Teams or Individuals** needing to:
    Automatically sort invoices, receipts, and files.
    Organize client documents by date.
    Verify sender emails against a whitelist.
    Timestamp files to avoid duplicate names.

  What Does This Workflow Solve?
  🕒 Manual Email Sorting: Saves time by automating the organization of email attachments.
  📂 Disorganized Cloud Storage: Ensures attachments are neatly stored in Google Drive folders.
  📧 Unverified Sender Issues: Filters and validates emails using a whitelist.
  🔄 Duplicate Filenames: Uses timestamps to ensure every file name is unique.

  Setup Guide

  1. Pre-Requisites
  Whitelist Sheet**: Make a copy of the Example Whitelist Sheet
  Gmail Filter**: Create a filter in Gmail to label emails with attachments.
    
  To Create a Gmail Filter:
  Open your Gmail Inbox.
  Click the search bar and select "Show search options".
  Enter your criteria (e.g., type has:attachment).
  Click "Create filter".
  Choose "Apply the label: Custom_Label" and save.

  2. Credentials Setup
  Make sure your n8n instance is connected with:
  Gmail Account**: (via OAuth2)
  Google Drive Account**: (via OAuth2)
  Google Sheets** (via OAuth2)

  3. Configure Your n8n Workflow Nodes

  1. Trigger and Email Retrieval
  Gmail Trigger**: Setup check interval and filters for emails (i.e. emails labeled with Custom_Label)

  2. Whitelist settings
  Lookup in Sheets**: Searches for a row with the sender email. Configure this node to point to your whitelist spreadsheet containing two columnds:
  |email|company|

  3. File storage location
  Confirue parent folder to create sub-folders and store files into in the Create Company Folder node Parent Folder dropdown

  Final Steps
  Test Your Workflow: Run the workflow to verify emails are processed and files are uploaded correctly.

  Happy Automating!

nodes_used:
  ["n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.if","n8n-nodes-base.gmailTrigger","n8n-nodes-base.gmail","n8n-nodes-base.function","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive"]

workflow_json_compressed:
  [encoded data, 4596 characters]

metadata_json:
  {"categories":["automation","integration","file management","email processing","productivity"],"complexity":"medium","use_cases":["Automatically store email attachments (invoices, receipts, documents) in Google Drive","Organize client documents into company/date folders","Filter and validate senders against a whitelist before saving attachments","Prevent filename collisions by adding timestamps","Batch-process labeled emails for periodic automation"],"estimated_setup_minutes":20,"required_services":["n8n","Gmail (OAuth2)","Google Drive (OAuth2)","Google Sheets (OAuth2)"],"key_features":["Gmail trigger for labeled emails with attachments","Lookup whitelist in Google Sheets to map sender -> company","Create company subfolders in Google Drive and save attachments","Timestamp filenames to avoid duplicates","Conditional checks (if) to handle untrusted senders or missing data and skip/notify accordingly"],"target_audience":["Operations teams","Finance / accounting (invoices, receipts)","Small business owners and freelancers managing client files"]}


name: Capture Website Screenshots with Bright Data Web Unlocker and Save to Disk
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-04-08T00:03:05.827Z
updated_at: 2025-04-08T00:03:05.827Z
url: https://n8n.io/workflows/3465
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?
  The Capture Website Screenshots with Bright Data Web Unlocker and Save to Disk workflow is built for automation professionals and developers who need reliable, high-quality screenshots from any website even those protected by anti-bot technologies. 

  It is ideal for:

  Compliance Teams - Capturing visual records of web content for legal or audit purposes.

  Product Managers - Tracking visual changes across competitor landing pages.

  Digital Marketers - Archiving campaign pages and offer variations.

  Developers and QA Teams - Validating UI deployments or rendering issues.

  Growth Hackers and Scrapers - Who need to bypass bot protection and capture visual snapshots of restricted content.

  What problem is this workflow solving?
  Websites today are highly protected with anti-bot tools like Cloudflare, bot detection scripts, and geo-restrictions. These protections often break traditional screenshot tools or prevent headless browsers from accessing content.

  This workflow solves the following problems:

  Bypasses anti-bot defenses using Bright Data Web Unlocker.

  Automatically captures screenshots without manual browser steps.

  Stores images locally for easy access or reporting.

  Operates headlessly and at scale, perfect for automations or scheduled jobs.

  What this workflow does
  Sets the target URL, file name, and Bright Data zone name using the Set URL, Filename and Bright Data Zone node.
  Sends an HTTP POST request to Bright Data Web Unlocker API to capture a screenshot.
  Saves the screenshot image (.png) to a specified disk location using the Write a file to disk node.

  Pre-conditions

  You need to have a Bright Data account and do the necessary setup as mentioned in the "Setup" section below.

  Setup
  Sign up at Bright Data.
  Navigate to Proxies & Scraping and create a new Web Unlocker zone by selecting Web Unlocker API under Scraping Solutions.
  In n8n, configure the Header Auth account under Credentials (Generic Auth Type: Header Authentication).

  The Value field should be set with the
  Bearer XXXXXXXXXXXXXX. The XXXXXXXXXXXXXX should be replaced by the Web Unlocker Token.
  Ensure the URL, file name, and Bright Data zone name are correctly set in the Set URL, Filename and Bright Data Zone node.
  Set the desired local path in the Write a file to disk node to save the screenshot.

  How to customize this workflow to your needs
  Change the target URL: Modify the value in the **Set URL, Filename and Bright Data Zone node to capture different websites.
  Set dynamic filenames**: Use expressions in n8n to generate filenames based on date/time or URL.
  Specify custom save paths: Adjust the path in the **Write a file to disk node to store screenshots in your preferred directory.
  Enhance with notifications**: Add additional nodes to send alerts or log activity after each screenshot is taken.
  Integrate with external systems**: Send screenshots to cloud storage (e.g: AWS S3, Google Drive) or link into monitoring/reporting tools.

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

workflow_json_compressed:
  H4sIAAAAAAAAE5VW7XLbNhZ9FQy6sz9cQgFB8HNmf6RpM023m7ix07SNPZ1L4FJiTAEKCFp2PJrpY2xfr0/SASXZki0nqX6JwMH9Oude4Ia2mlY0fpP+0MiX//vpu2X5o7/6lUZ0jh5odUNb03swCl8EXFGktWxqCRmUSqg6zUQsRQl5XeZCN1zztK5zIZXgoHINKo/zuM5EE6scG8npKqIG5kgr+gwWfnBI3mLdtx7JiXKIpp9Z35Nl62fkG9dOZ558Cx4CiLwxnVUX6AgYTU7gEom35Nu2v6AR9TDtafXuZp3Nf4f3jRfPX72fv/r5p6fzH+it0+/MtDWIrjVTGlHlEDzqp55WVHCRMi4ZL095XCVxxfkkTYvfaESHhf48bHUeUWM17oShs1jVPMtYrNOGyVynDKTWTKaJbBKdqEwXd6G9naEhqmvVRWum5K8//n+KvSdL6y6azi7/+uPPkOb1IkBNYdjoi9XQ42QOZoDu1LXTKToa0YXtW99aQ6t3LBU8YnHGzyO6AAdz9Oh6Wt2s1sZ+RtePyHgVbaLGuiwTntaMJ3nKpNKaFVkhWJbkWhRxWhbA76I+8a26uCYvrcdH4+tHzAayF5zkEUv5g+DostV+Rqsk4xGdYZABrUT4UNZ4NIGIr74anZ6ZM3M6Q3JGj45O0JM3r3+MyPO2wxDfqJRdGf1mDR4dnVESoiPzofekRrLhd606P0MCi4WzC9eCRzK4LiJN2yG5tXh0tGvz2NmrFnvyb/LCNA567wYVhH10RD5ag5PdCN+6oHRY2/OW6La/uItnBv3ovrMKQolGhF2azoIeN5abVulvW2VCjjuEHskcLpD0oZ+8JT36Eb8AP6OPMy142mQSS5bWScykyjNWxgJYwnNUSmOclniQ6fifUx1nPGJCPqRa2c46WsloS7rYI724T/rDcfGJDDHPeVrKmAnAgkmVFKxMVM2EqossTWJZ5GKnAw+w82imDkGPB4LY9pON5eGeo3YREJv2C15erh3/5+aGnFFVnYUf/Zr8631vzaTZqni1ohG1C3SwdkCXwS+NqAYPxy7s+OsdUw+PP16hOMubRqQp05DWTCYqZiBEw5BzJZWKs70ZtZ3ZsCPBRys0837xGj8M2Pt7Yigeqc/gOlrRcK6vnjyBRTupx0YLeU6UnT9xt+bm6Gc2JHD86uR0LM+2tNRhv7Cmx8f+P7duDkFNzZo5O/jF4L+sjquIQtfZ5RsDg59Z135E/Qyd72nl3YCriPZo9DdWX68X1t/fI+gxxfVSOIrGt2rL5xQNulY9c6jDOnSnoaARra2+Pt6r0G693t1saQlzhkb0ErphP/awseb/FhtqfAg6uO4eslnX6Q7sYLm7H1j5/QFoRxir81W0ze3p4Gena5kEftcVCYs0NHv4+FSiq/NQeXVbnxFyz061UfSFrj/8Mly9eF18eHH1PL++U+8aTAKagFJ2MH5kdK815ETcNYdKVaJzwRrBNZOaZwyyRjCZxZrLREng8c6A/KLr5/HRiffbJOFfMkeg79upmaPx497e5/YlokqNXCXIMl4Ck1jkrM6gZrVMYlEjFxmUd4msJbKJsvebx9KW4G17arycePuE3lZL8gJ1lgLjOsuYbMqC1QJrxnWKPMswEenOw2HbVp/wpPHS28nCTO98IMa8UTVnkMWcybLIWQESmW6g5nkOiHznyvq4V+8H9pdY/z5sHpUxXWtsTwvJRIZnHSjfXiKtGuj6saO9b810rDZeoRoCGa+cRkcrehmHYXu5tjA+mXUCmCWNYNio8AosagagG1ZA0oAS0HABdLzkDKrbIXZw0lY3dA5t0Ebofas/f2mN8Ii2RuMVrfjqPLTk51+ahxz9U3kfdP2FRg75//Tdc8DbavU303s/rN0MAAA=

metadata_json:
  {"categories":["automation","web scraping","data capture","monitoring"],"complexity":"medium","use_cases":["Capture screenshots of pages protected by anti-bot defenses","Visual archiving for compliance or audits","UI/visual regression checks for QA","Competitor landing page monitoring","Scheduled/site-change monitoring and reporting"],"estimated_setup_minutes":20,"required_services":["Bright Data Web Unlocker (Web Unlocker API)","n8n instance with Header Auth credential configured","Server or machine filesystem to write image files"],"key_features":["Bypasses anti-bot protections using Bright Data Web Unlocker","Captures high-quality webpage screenshots (.png) via HTTP POST","Saves screenshots to local disk (configurable path)","Headless and automatable for scheduled or bulk jobs","Supports dynamic filenames and integration with notifications or cloud storage"],"target_audience":["Automation professionals","Developers and QA teams","Compliance teams and auditors」「Product managers」「Digital marketers」「Growth hackers and scrapers"]}


name: Gumroad Clientbell: Auto-Log Sales, Ping Telegram, & Thank via Email
author_name: Velebit from Innovatio
author_username: innovatio
categories: []
created_at: 2025-04-08T06:37:56.846Z
updated_at: 2025-04-08T06:37:56.846Z
url: https://n8n.io/workflows/3469
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?  
  This template is perfect for Gumroad creators, solopreneurs, digital product sellers, and freelancers who want to track and thank customers automatically — without spending time on manual work.

  What problem does this solve?  
  Every sale is a moment to build trust. But manually checking your inbox for new orders, logging clients, and remembering to send a thank-you note? It’s time-consuming and inconsistent.

  This workflow handles it all:  
  From sale → to sheet → to ping → to personalized “thank you” — all fully automated.

  What this workflow does:  
  ✅ Triggers on each new sale on Gumroad  
  📋 Extracts buyer details, amount paid, and product purchased  
  📈 Logs the sale to a Google Sheet for tracking  
  📲 Sends a Telegram approval message to notify you  
  💌 (Optional) Sends a Gmail thank-you email to the buyer  
  🔁 Keeps your workflow organized with color-coded notes and sample data

  ⚙️ Setup Instructions:

  Create Gumroad API and connect the trigger node  
  Authenticate with Google Sheets to store each client  
  Connect your Telegram bot for real-time alerts  
  (Optional) Setup Gmail API for sending thank-you emails  
  Customize the email copy & sheet headers (e.g. % cut, timestamps)

  🗒 Color-coded workflow notes:

  To make customization smooth, the workflow includes a color-coded sticky note system:

  🟩 Green Notes – Main building blocks (trigger, logging, ping, email)  
  🟦 Blue Notes – Setup guidance and editable fields (e.g. your email or brand name)  
  🟨 Yellow Notes – Optional upgrades (e.g. swap Gmail, use AI email generator, change to WhatsApp)

  Each step has comments or hints to make your setup easy — whether you're new to n8n or a seasoned automator.

  🔧 How to customize this workflow?

  🎯 Swap Gmail with Outlook, SMTP, or Mailgun  
  🤖 Use AI (e.g. OpenAI or Claude) to draft personalized emails dynamically  
  📞 Replace Telegram with WhatsApp, Discord, or Slack  
  🗃️ Log to Airtable or Notion instead of Google Sheets  
  🧠 Add approval logic or advanced tagging in Gmail

  🧾 Licensing & Support

  This template is built by Velebit from Innovatio. External links (Gumroad store or support email) are included in the notes for optional help and upgrades.

  A separate license applies to the paid version on Gumroad, which includes additional modules and commercial use rights.

  📩 Support & customization: velebit@innovatio.design

nodes_used:
  ["n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.gumroadTrigger","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","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.airtable","n8n-nodes-base.hubspot","n8n-nodes-base.notion","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.twilio","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.emailSend","n8n-nodes-base.microsoftOutlook","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent"]

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

metadata_json:
  {"categories":["automation","e-commerce integration","notifications"],"complexity":"medium","use_cases":["Automatically log Gumroad sales to a spreadsheet","Real-time team/customer notifications via Telegram","Send personalized thank‑you emails to buyers","Maintain sales tracking and reporting","Quick onboarding for new customers or CRM logging"],"estimated_setup_minutes":20,"required_services":["Gumroad API","Google Sheets (Google Drive)","Telegram Bot API","Gmail API (optional)","AI provider e.g. OpenAI/Claude (optional)","HubSpot (optional)"],"key_features":["Triggers on each Gumroad sale and extracts buyer/product/amount","Logs each sale to Google Sheets with customizable headers","Sends Telegram approval/notification messages","Optional Gmail thank‑you email to buyer (customizable copy)","Color‑coded sticky notes and sample data for easy setup and customization','Supports swapping integrations (Outlook/SMTP/Mailgun, WhatsApp/Slack/Discord, Airtable/Notion)"],"target_audience":["Gumroad creators","Solopreneurs and freelancers","Digital product sellers and small e‑commerce owners\",\"marketers and customer success teams\",\"no‑code/low‑code automators"]}


name: Automate WordPress Contact Form (CF7) Responses and Classification with Gemini
author_name: Davide
author_username: n3witalia
categories: []
created_at: 2025-04-08T09:34:12.687Z
updated_at: 2025-04-08T09:34:12.687Z
url: https://n8n.io/workflows/3472
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  This workflow optimizes the management of inquiries received through a contact form (Contact Form 7 - CF7 Plugin) on a WordPress site, automating the process of classification, response drafting, and data storage.

  This workflow is particularly useful for businesses that receive multiple daily inquiries and want to improve their efficiency in managing customer communications. 

  Benefits:  
  ✅ Automation & Speed – Reduces the time needed to handle inquiries manually.  
  ✅ Better Email Management – Ensures every message receives a timely and accurate response.  
  ✅ Customization – The generated draft can be edited before sending, maintaining a personal touch.  
  ✅ Inquiry History – Storing data in Google Sheets allows for easy tracking of customer interactions.  
  ✅ Easy Integration – Works seamlessly with Contact Form 7 without complex configurations. 

  How It Works  
  Form Submission Handling: The workflow starts with a WordPress form submission captured via a webhook. The form data (first name, last name, email, phone, and message) is extracted and structured using the "Set Fields" node.  
  Message Classification: The submitted message is classified into predefined categories (e.g., "Product Info," "Order Info," or "Other") using the "Message Classifier" node, powered by Google Gemini.  
  Automated Email Drafting: Based on the classification, the workflow generates a professional email draft using one of three "Email Writer" nodes (for Product, Order, or Other requests). Each node uses Google Gemini to craft a personalized response with a structured format (subject and body).  
  Email Draft Creation: The drafted email is sent as a Gmail draft to the appropriate department, including the original form data for context.  
  Data Logging: All submissions, along with their classifications and email drafts, are logged in a Google Sheets spreadsheet for record-keeping and further action.  

  Set Up Steps  
  Install WordPress Plugin: Install the "CF7 to Webhook" plugin on WordPress and configure it to send form submissions to the n8n webhook URL.  
  Configure Webhook in n8n: Set up the "From Wordpress" webhook node in n8n to receive POST requests from the WordPress form.  
  Google Gemini Integration: Ensure the Google Gemini nodes are properly authenticated with the correct API credentials.  
  Gmail and Google Sheets Setup: Authenticate the Gmail and Google Sheets nodes with the appropriate OAuth2 credentials and specify the target spreadsheet and sheet name.  
  Customize Classification Categories: Adjust the categories in the "Message Classifier" node to match your business needs.  
  Test the Workflow: Trigger a test form submission to verify the workflow processes data correctly, classifies the message, generates an email draft, and logs the data.  

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

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6680 characters]

metadata_json:
  {"categories":["automation","integration","customer support","AI/ML"],"complexity":"medium","use_cases":["Automatically classify incoming contact form messages","Draft personalized email responses using AI","Create Gmail drafts for review and sending","Log inquiries and response drafts to Google Sheets for tracking","Route or tag inquiries by department/category"],"estimated_setup_minutes":45,"required_services":["WordPress (Contact Form 7 + CF7 to Webhook plugin)","n8n","Google Gemini (API access)","Gmail (OAuth)","Google Sheets (OAuth)","Publicly reachable webhook endpoint"],"key_features":["Webhook capture of CF7 submissions","AI-powered message classification (Google Gemini)","Category-specific AI email drafting (subject + body)","Create editable Gmail drafts for human review","Append submissions, classifications, and drafts to Google Sheets for history and reporting"],"target_audience":["Small-to-medium businesses handling frequent inquiries","Customer support teams","Marketing and sales teams managing leads from site forms\",\"Website owners and administrators\",\"Developers and automation specialists setting up inbox workflows"]}


name: Scalable Multi-Agent Chat Using @mentions
author_name: Jon Doran
author_username: jondoran
categories: []
created_at: 2025-04-08T12:49:14.252Z
updated_at: 2025-04-08T12:49:14.252Z
url: https://n8n.io/workflows/3473
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Summary

  Engage multiple, uniquely configured AI agents (using different models via OpenRouter) in a single conversation. Trigger specific agents with @mentions or let them all respond. Easily scalable by editing simple JSON settings.

  Overview

  This workflow is for users who want to experiment with or utilize multiple AI agents with distinct personalities, instructions, and underlying models within a single chat interface, without complex setup. It solves the problem of managing and interacting with diverse AI assistants simultaneously for tasks like brainstorming, comparative analysis, or role-playing scenarios.

  It enables dynamic conversations with multiple AI assistants simultaneously within a single chat interface. You can:

  Define multiple unique AI agents.
  Configure each agent with its own name, system instructions, and LLM model (via OpenRouter).
  Interact with specific agents using @AgentName mentions.
  Have all agents respond (in random order) if no specific agents are mentioned.
  Maintain conversation history across multiple turns.

  It's designed for flexibility and scalability, allowing you to easily add or modify agents without complex workflow restructuring.

  Key Features

  Multi-Agent Interaction:** Chat with several distinct AI personalities at once.
  Individual Agent Configuration:** Customize name, system prompt, and LLM for each agent.
  OpenRouter Integration:** Access a wide variety of LLMs compatible with OpenRouter.
  Mention-Based Triggering:** Direct messages to specific agents using @AgentName.
  All-Agent Fallback:** Engages all defined agents randomly if no mentions are used.
  Scalable Setup:** Agent configuration is centralized in a single Code node (as JSON).
  Conversation Memory:** Remembers previous interactions within the session.

  How to Set Up

  Configure Settings (Code Nodes):
      Open the Define Global Settings Code node: Edit the JSON to set user details (name, location, notes) and add any system message instructions that all agents should follow.
      Open the Define Agent Settings Code node: Edit the JSON to define your agents. Add or remove agent objects as needed. For each agent, specify:
          "name": The unique name for the agent (used for @mentions).
          "model": The OpenRouter model identifier (e.g., "openai/gpt-4o", "anthropic/claude-3.7-sonnet").
          "systemMessage": Specific instructions or persona for this agent.
  Add OpenRouter Credentials:
      Locate the AI Agent node.
      Click the OpenRouter Chat Model node connected below it via the Language Model input.
      In the 'Credential for OpenRouter API' field, select or create your OpenRouter API credentials.

  How to Use

  Start a conversation using the Chat Trigger input.
  To address specific agents, include @AgentName in your message. Agents will respond sequentially in the order they are mentioned.
      Example: "@Gemma @Claude, please continue the count: 1" will trigger Gemma first, followed by Claude.
  If your message contains no @mentions, all agents defined in Define Agent Settings will respond in a randomized order.
      Example: "What are your thoughts on the future of AI?" will trigger Chad, Claude, and Gemma (based on your default settings) in a random sequence.
  The workflow will collect responses from all triggered agents and return them as a single, formatted message.

  How It Works (Technical Details)

  Settings Nodes: Define Global Settings and Define Agent Settings load your configurations.
  Mention Extraction: The Extract mentions Code node parses the user's input (chatInput) from the When chat message received trigger. It looks for @AgentName patterns matching the names defined in Define Agent Settings.
  Agent Selection:
      If mentions are found, it creates a list of the corresponding agent configurations in the order they were mentioned.
      If no mentions are found, it creates a list of all defined agent configurations and shuffles them randomly.
  Looping: The Loop Over Items node iterates through the selected agent list.
  Dynamic Agent Execution: Inside the loop:
      An If node (First loop?) checks if it's the first agent responding. If yes (true path -&gt; Set user message as input), it passes the original user message to the Agent. If no (false path -&gt; Set last Assistant message as input), it passes the previous agent's formatted output (lastAssistantMessage) to the next agent, creating a sequential chain.
      The AI Agent node receives the input message. Its System Message and the Model in the connected OpenRouter Chat Model node are dynamically populated using expressions referencing the current agent's data from the loop ({{ $('Loop Over Items').item.json.* }}).
      The Simple Memory node provides conversation history to the AI Agent.
      The agent's response is formatted (e.g., AgentName:\n\nResponse) in the Set lastAssistantMessage node.
  Response Aggregation: After the loop finishes, the Combine and format responses Code node gathers all the lastAssistantMessage outputs and joins them into a single text block, separated by horizontal rules (---), ready to be sent back to the user.

  Benefits

  Scalability & Flexibility:** Instead of complex branching logic, adding, removing, or modifying agents only requires editing simple JSON in the Define Agent Settings node, making setup and maintenance significantly easier, especially for those managing multiple assistants.
  Model Choice:** Use the best model for each agent's specific task or persona via OpenRouter.
  Centralized Configuration:** Keeps agent setup tidy and manageable.

  Limitations

  Sequential Responses:** Agents respond one after another based on mention order (or randomly), not in parallel.
  No Direct Agent-to-Agent Interaction (within a turn):* Agents cannot directly call or reply to each other *during the processing of a single user message. Agent B sees Agent A's response only because the workflow passes it as input in the next loop iteration.
  Delayed Output:* The user receives the combined response only *after all triggered agents have completed their generation.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenRouter"]

workflow_json_compressed:
  [encoded data, 7032 characters]

metadata_json:
  {"categories":["integration","automation","AI/LLM","chatbot"],"complexity":"medium","use_cases":["Brainstorming with multiple AI personas","Comparative analysis of model outputs","Role-playing or simulation with distinct agents","Testing and tuning agent personas/instructions","Collecting diverse perspectives in a single chat"],"estimated_setup_minutes":20,"required_services":["OpenRouter API (to access chosen LLMs)"],"key_features":["Multiple independently configured AI agents","Per-agent system prompt and model selection","@mention-based agent triggering","All-agent fallback with randomized order","Centralized agent configuration via JSON in a Code node (scalable)"],"target_audience":["Developers building conversational workflows","AI/LLM experimenters and researchers","Product teams prototyping multi-agent interactions','Chatbot designers and content creators"]}


name: Track Daily PG&E Energy Costs with Airtop and Email Notifications
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-04-08T16:20:15.016Z
updated_at: 2025-04-08T16:20:15.016Z
url: https://n8n.io/workflows/3474
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-30 08:33:37
description:
  About The Airtop Automation

  Are you tired of being shocked by unexpectedly high energy bills? With this automation using Airtop and n8n, you can take control of your daily energy costs and ensure you’re always informed.

  How to monitor your daily energy consumption

  With this automation, we’ll walk you through setting up an automation that retrieves your PG&E (Pacific Gas and Electric) energy usage data, calculates costs, and emails you the details—all without manual effort.

  What You’ll Need
  To get started, make sure you have the following:

  A free Airtop API Key
  PG&E Account Credentials - with minor adaptations, this will also work with other providers
  An Email Address - To receive the energy cost updates

  Estimated setup time: 5 minutes

  Understanding the Process

  This automation works by:
   
  Logging into your PG&E account using your credentials
  Navigating to your energy usage data
  Extracting relevant details about energy consumption and costs
  Emailing the daily summary directly to your inbox

  The automation is straightforward and ensures you have real-time insights into your energy usage, empowering you to adjust your habits and save money.

  Setting Up Your Automation
  We’ve created a step-by-step guide to help you set up this workflow. Here’s how:

  Insert Your Credentials:

  In the tools section, add your PG&E login details as variables
  In Airtop, add your Airtop API Key
  Configure your email address to receive the updates

  Run the Automation:

  Start the scenario, and watch as the automation retrieves your energy data and sends you a detailed email summary.

  Customization Options

  While the default setup works seamlessly, you can tweak it to suit your needs:

  Data Storage: Store energy usage data in a database for long-term tracking and analysis
  Visualization: Plot graphs of your energy usage trends over time for better insights
  Notifications: Change the automation to only send alerts on high usage instead of a daily email

  Real-World Applications

  This automation isn’t just about monitoring energy usage and taking control. Here are some practical applications:

  Daily Energy Management: Receive updates every morning and adjust your energy consumption based on costs
  Smart Home Integration: Use the data to automate appliances during off-peak hours
  Budgeting: Track energy expenses over weeks or months to plan your budget more effectively

  Happy automating!

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.airtop","n8n-nodes-base.set","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.wait","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.gmail","n8n-nodes-base.airtop","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","energy monitoring","notifications","reporting"],"complexity":"medium","use_cases":["Daily tracking of residential/commercial energy costs","Automated cost calculation and reporting","Email alerts for high usage or unusual bills","Budgeting and expense monitoring for energy consumption","Integrating PG&E usage data into workflows or dashboards"],"estimated_setup_minutes":20,"required_services":["n8n instance","PG&E account / PG&E API access","Airtop account","Email provider (SMTP/Gmail/SendGrid or similar)","(Optional) AI/ML service for advanced analysis"],"key_features":["Scheduled daily retrieval of PG&E usage data","Automated cost calculation from usage","Email notifications with daily cost summary","Integration with Airtop for data handling or enrichment","Optional AI/ML-driven insights or summaries from usage data"],"target_audience":["Homeowners","Property managers","Small business owners monitoring energy costs','Energy analysts and consultants','Developers/automation builders using n8n"]}


name: LinkedIn Company ICP Scoring Automation with Airtop & Google Sheets
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-04-08T16:51:03.186Z
updated_at: 2025-04-08T16:51:03.186Z
url: https://n8n.io/workflows/3475
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  About The ICP Company Scoring Automation

  Sorting through lists of potential leads manually to determine who's truly worth your sales team's time isn't just tedious, it's incredibly inefficient. Without proper qualification, your team might spend hours pursuing prospects who aren't the right fit for your product, while ideal customers slip through the cracks.

  How to Automate Identifying Your Ideal Customers

  With this automation, you'll learn how to automatically score and prioritize leads using data extracted directly from LinkedIn profiles via Airtop's integration with n8n. By the end, you'll have a fully automated workflow that analyzes prospects and calculates an Ideal Customer Profile (ICP) score, helping your sales team focus on high-potential opportunities.

  What You'll Need

  A free Airtop API key
  A copy of this Google Sheets

  Understanding the Process

  This automation transforms how you qualify and prioritize leads by extracting real-time, accurate information directly from LinkedIn profiles. Unlike static databases that quickly become outdated, this workflow taps into the most current professional information available.

  The workflow in this template:

  Uses Airtop to extract comprehensive LinkedIn profile data
  Analyzes the data to calculate an ICP score based on AI interest, technical depth, and seniority
  Updates your Google Sheet with the enriched data and the ICP Company score

  Company ICP Scoring Workflow

  Our company-focused workflow analyzes company LinkedIn profiles with a comprehensive set of criteria:

   Company Identity Extraction
   Company Scale Assessment
   Business Classification
   Technical Sophistication Assessment
   Investment Profile

  To then calculate the ICP Scoring, it will focus on:

  AI Implementation Level: Low-5 pts, Medium-10 pts, High-25 pts
  Technical Sophistication: Basic-5 pts, Intermediate-15 pts, Advanced-25 pts, Expert-35 pts
  Employee Count: 0-9 employees-5 pts, 10-150 employees-25 pts, 150+ employees-30 pts
  Automation Agency Status: True-20 pts, False-0 pts
  Geography: US/Europe Based-10 pts, Other-0 pts

  Setting Up Your Automation

  We've created ready-to-use templates for both person and company ICP scoring. Here's how to get started:

  Configure your connections

  Connect your Google Sheets account
  Add your Airtop API key (obtain from the Airtop dashboard)

  Set up your Google Sheet

  Ensure your Google Sheet has the necessary columns for input data and result fields
  Ensure that columns Linkedin_URL_Company and ICP_Score_Company exist at least

  Configure the Airtop module

  Set up the Airtop module to use the appropriate LinkedIn extraction prompt
  Use our provided prompt that extracts company profile data

  Customization Options

  While our templates work out of the box, you might want to customize them for your specific needs:

  Modify the ICP scoring criteria: Adjust the point values or add additional criteria specific to your business
  Add notification triggers: Set up Slack or email notifications for high-value leads that exceed a certain ICP threshold
  Implement batch processing: Modify the workflow to process leads in batches to optimize performance
  Add conditional logic: Create different scoring models for different industries or product lines
  Integrate with your CRM: Integrate this automation with your preferred CRM to get the details added automatically for you

  Real-World Applications

  Here's how businesses are using this automation:

  AI Sales Platform: A B2B AI company could implement this workflow to process their trade show lead list of contacts. Within hours, they can identify the top 50 prospects based on ICP score.

  SaaS Analytics Tool: A SaaS company could implement LinkedIn enrichment to identify which companies fit best. The automation processes weekly leads and categorizes them into high, medium, and low priority tiers, allowing their sales team to focus on the most promising opportunities first.

  Best Practices

  To get the most out of this automation:

  Review and refine your ICP criteria quarterly: What constitutes an ideal customer may evolve as your product and market develop
  Create tiered follow-up processes: Develop different outreach strategies based on ICP score ranges
  Perform regular data validation: Periodically check the accuracy of the automated scoring against your actual sales results

  What's Next?

  Now that you've automated your ICP scoring with LinkedIn data, you might be interested in:

  Setting up automated outreach sequences based on ICP score thresholds
  Creating custom reporting dashboards to track conversion rates by ICP segment
  Expanding your scoring model to include additional data sources
  Implementing lead assignment automation based on ICP scores


  Happy automating!

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.airtop","n8n-nodes-base.code","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  [encoded data, 4696 characters]

metadata_json:
  {"categories":["automation","integration","data enrichment","lead scoring"],"complexity":"medium","use_cases":["Automated ICP (Ideal Customer Profile) scoring","Lead qualification and prioritization","LinkedIn profile enrichment","Populating and updating Google Sheets with enriched data","Triggering follow-up workflows for high-value leads"],"estimated_setup_minutes":20,"required_services":["Airtop (API key for LinkedIn extraction)","Google Sheets (Google account)","LinkedIn (profile data source)","Optional: Slack or email for notifications","Optional: CRM for downstream integration"],"key_features":["Extracts company LinkedIn profile data via Airtop","AI-driven enrichment and attribute extraction","Weighted ICP scoring based on configurable criteria (AI implementation, technical sophistication, employee count, geography, agency status)","Writes enrichment results and ICP score back to Google Sheets","Customizable scoring logic, batch processing, and notification/CRM integration options"],"target_audience":["Sales teams / SDRs","Revenue operations / sales ops","Marketing and demand gen teams"]}


name: LinkedIn Person ICP Scoring Automation with Airtop & Google Sheets
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-04-08T17:21:04.457Z
updated_at: 2025-04-08T17:21:04.457Z
url: https://n8n.io/workflows/3476
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  About The ICP Person Scoring Automation

  Sorting through lists of potential leads manually to determine who's truly worth your sales team's time isn't just tedious, it's incredibly inefficient. Without proper qualification, your team might spend hours pursuing prospects who aren't the right fit for your product, while ideal customers slip through the cracks.

  How to Automate Identifying Your Ideal Customers

  With this automation, you'll learn how to automatically score and prioritize leads using data extracted directly from LinkedIn profiles via Airtop's built-in integration with n8n. By the end, you'll have a fully automated workflow that analyzes prospects and calculates an Ideal Customer Profile (ICP) score, helping your sales team focus on high-potential opportunities.

  What You'll Need

  A free Airtop API key
  A copy of this Google Sheets

  Understanding the Process

  This automation transforms how you qualify and prioritize leads by extracting real-time, accurate information directly from LinkedIn profiles. Unlike static databases that quickly become outdated, this workflow taps into the most current professional information available.

  The workflow in this template:

  Uses Airtop to extract comprehensive LinkedIn profile data
  Analyzes the data to calculate an ICP score based on AI interest, technical depth, and seniority
  Updates your Google Sheet with the enriched data and the ICP score

  Person ICP Scoring Workflow

  Our person-focused workflow evaluates individual LinkedIn profiles to determine how well they match your ideal customer profile by:

  Extracting data for each individual
  Analyzing  their profile to determine seniority and technical depth

  The system then automatically calculates an ICP score based on the following criteria:

  AI Interest: beginner-5 pts, intermediate-10 pts, advanced-25 pts, expert-35 pts
  Technical Depth: basic-5 pts, intermediate-15 pts, advanced-25 pts, expert-35 pts
  Seniority Level: junior-5 pts, mid-level-15 pts, senior-25 pts, executive-30 pts

  Setting Up Your Automation

  Here's how to get started:

  Configure your connections

  Connect your Google Sheets account
  Add your Airtop API key (obtain from the Airtop dashboard)

  Set up your Google Sheet

  Ensure your Google Sheet has the necessary columns for input data and result fields
  Ensure that columns Linkedin_URL_Person and ICP_Score_Person exist at least

  Configure the Airtop module

  Set up the Airtop module to use the appropriate LinkedIn extraction prompt
  Use our provided prompt that extracts individual profile data

  Customization Options

  While our templates work out of the box, you might want to customize them for your specific needs:

  Modify the ICP scoring criteria: Adjust the point values or add additional criteria specific to your business
  Add notification triggers: Set up Slack or email notifications for high-value leads that exceed a certain ICP threshold
  Implement batch processing: Modify the workflow to process leads in batches to optimize performance
  Add conditional logic: Create different scoring models for different industries or product lines
  Integrate with your CRM: Integrate this automation with your preferred CRM to get the details added automatically for you

  Real-World Applications

  Here's how businesses are using this automation:

  AI Sales Platform: A B2B AI company could implement this workflow to process their trade show lead list of contacts. Within hours, they can identify the top 50 prospects based on ICP score.

  SaaS Analytics Tool: A SaaS company could implement LinkedIn enrichment to identify which companies fit best. The automation processes weekly leads and categorizes them into high, medium, and low priority tiers, allowing their sales team to focus on the most promising opportunities first.

  Best Practices

  To get the most out of this automation:

  Review and refine your ICP criteria quarterly: What constitutes an ideal customer may evolve as your product and market develop
  Create tiered follow-up processes: Develop different outreach strategies based on ICP score ranges
  Perform regular data validation: Periodically check the accuracy of the automated scoring against your actual sales results

  What's Next?

  Now that you've automated your ICP scoring with LinkedIn data, you might be interested in:

  Setting up automated outreach sequences based on ICP score thresholds
  Creating custom reporting dashboards to track conversion rates by ICP segment
  Expanding your scoring model to include additional data sources
  Implementing lead assignment automation based on ICP scores


  Happy automating!

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.airtop","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets"]

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

metadata_json:
  {"categories":["automation","integration","lead-generation","data-enrichment","sales-ops"],"complexity":"medium","use_cases":["Automated lead qualification and prioritization","ICP scoring for inbound or event leads","LinkedIn profile enrichment","Prioritizing outreach for SDRs and account executives","Feeding scored leads into CRM or reporting sheets"],"estimated_setup_minutes":20,"required_services":["Airtop API key (for LinkedIn profile extraction)","Google Sheets account","n8n (workflow runner)"],"key_features":["Extract LinkedIn profile data via Airtop integration","Automated ICP scoring using AI interest, technical depth, and seniority rules","Writes enriched data and ICP_Score_Person back to Google Sheets","Configurable scoring criteria and prompts","Options to add notifications, batch processing, and CRM integration"],"target_audience":["Sales teams (SDRs, AEs)","Growth/marketing teams","Revenue operations / sales ops managers`,`SaaS and B2B companies looking to prioritize leads"]}


name: Automated LinkedIn Profile Discovery with Airtop and Google Search
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-04-08T17:36:04.378Z
updated_at: 2025-04-08T17:36:04.378Z
url: https://n8n.io/workflows/3477
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  About The LinkedIn Profile Discovery Automation

  Are you tired of manually searching for LinkedIn profiles or paying expensive data providers for often outdated information? If you spend countless hours trying to find accurate LinkedIn URLs for your prospects or candidates, this automation will change your workflow forever. Just give this workflow the information you have about a contact, and it will automatically augment it with a LinkedIn profile.

  How to find a LinkedIn Profile Link

  In this guide, you'll learn how to automate LinkedIn profile link discovery using Airtop's built-in node in n8n. Using this automation, you'll have a fully automated workflow that saves you hours of manual searching while providing accurate, validated LinkedIn URLs.

  What You'll Need

  A free Airtop API key
  A Google Workspace account. If you have a Gmail account, you’re all set
  Estimated setup time: 10 minutes

  Understanding the Process

  This automation leverages the power of intelligent search algorithms combined with LinkedIn validation to ensure accuracy. Here's how it works:

  Takes your input data (name, company, etc.) and constructs intelligent search queries
  Utilizes Google search to identify potential LinkedIn profile URLs
  Validates the discovered URLs directly against LinkedIn to ensure accuracy
  Returns confirmed, accurate LinkedIn profile URLs

  Setting Up Your Automation

  Getting started with this automation is straightforward:

  Prepare Your Google Sheet

  Create a new Google Sheet with columns for input data (name, company, domain, etc.)
  Add columns for the output LinkedIn URL and validation status (see this example)

  Configure the Automation

  Connect your Google Workspace account to n8n if you haven't already
  Add your Airtop API credentials
  (Optionally) Configure your Airtop Profile and sign-in to LinkedIn in order to validate profile URL's

  Run Your First Test

  Add a few test entries to your Google Sheet
  Run the workflow
  Check the results in your output columns

  Customization Options

  While the default setup uses Google Sheets, this automation is highly flexible:

  Webhook Integration**: Perfect for integrating with tools like Clay, Instantly, or your custom applications
  Alternatives**: Replace Google Sheets with Airtable, Notion, or any other tools you already use for more robust database capabilities
  Custom Output Formatting**: Modify the output structure to match your existing systems
  Batch Processing**: Configure for bulk processing of multiple profiles

  Real-World Applications

  This automation has the potential to transform how we organizations handle profile enrichment.

  Recruiting Firm Success Story

  With this automation, a recruiting firm could save hundreds of dollars a month in data enrichment fees, achieve better accuracy, and eliminate subscription costs. They would also be able to process thousands of profiles weekly with near-perfect accuracy.

  Sales Team Integration

  A B2B sales team could integrate this automation with their CRM, automatically enriching new leads with validated LinkedIn profiles and saving their SDRs hours per week on manual research.

  Best Practices

  To maximize the accuracy of your results:

  Always include company information (domain or company name) with your search queries
  Use full names rather than nicknames or initials when possible
  Consider including location data for more accurate results with common names
  Implement rate limiting to respect LinkedIn's usage guidelines
  Keep your input data clean and standardized for best results
  Use the integrated proxy to navigate more effectively through Google and LinkedIn

  What's Next?

  Now that you've automated LinkedIn profile discovery, consider exploring related automations:

  Automated lead scoring based on LinkedIn profile data
  Email finder automation using validated LinkedIn profiles
  Integration with your CRM for automated contact enrichment

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.airtop","n8n-nodes-base.code","n8n-nodes-base.googleSheets"]

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

metadata_json:
  {"categories":["automation","integration","data enrichment","prospecting"],"complexity":"medium","use_cases":["Automatically discover and validate LinkedIn profile URLs for contacts","Enrich CRM or candidate records with verified LinkedIn links","Bulk profile enrichment from Google Sheets or other databases","Webhook-based enrichment for tools like Clay, Instantly, or custom apps","Preprocessing for email-finding and lead-scoring workflows"],"estimated_setup_minutes":10,"required_services":["Airtop API key","Google Workspace (Google Sheets / Google account)","LinkedIn account (for profile validation)","Google Search (or Google search access / proxy for queries)"],"key_features":["Builds intelligent search queries from contact fields (name, company, domain)","Uses Google search results to find candidate LinkedIn URLs","Validates discovered URLs against LinkedIn to ensure accuracy","Reads input and writes output to Google Sheets (configurable)","Supports webhook input and alternative data sources (Airtable, Notion, etc.) for flexibility downstream integration(supports batch processing)"],"target_audience":["recruiters","sales teams / SDRs","growth marketers and demand gen teams"]}


name: Automate Instagram Posts with Google Drive, AI Captions & Facebook API
author_name: Sagar
author_username: sagarmasand9
categories: []
created_at: 2025-04-08T17:43:28.144Z
updated_at: 2025-04-08T17:43:28.144Z
url: https://n8n.io/workflows/3478
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  This template streamlines your Instagram content posting workflow by connecting Google Drive for image storage, using OpenAI for AI-generated captions, and leveraging Facebook Graph API for automated publishing.

  Pre-requisites
  Before setting up this workflow, ensure you have:

  A Google account with access to Google Drive

  An OpenAI API key for AI caption generation

  A Facebook Developer account with Instagram Graph API access

  An Instagram Business or Creator account connected to a Facebook Page

  n8n.io account with workflow access

  Setup Instructions
  Configure Data Source
  Create a Google Sheet with the following columns:

   Name: Filename of your image in Google Drive

  Caption: Optional custom caption (leave empty for AI-generated captions)

  URL: your Video Reel or Image in Google Drive

  Connect Google Drive
  Add your Google Drive credentials in the "Google Drive" node

  Specify the folder path where your Instagram image/Video are stored

  Configure the node to retrieve image files based on filenames from your Google Sheet

  Set Up OpenAI Integration
  Add your OpenAI API key to the credentials

  Configure the OpenAI node to generate engaging captions based on image content

  Adjust temperature and model parameters for desired creativity level

  Configure Facebook Graph API
  Connect your Facebook account with Instagram access

  Set up the Facebook Graph API node to post to your Instagram Business/Creator account

  Ensure proper image formatting (1:1, 4:5, or 16:9 aspect ratios supported by Instagram)

  Workflow Automation Setup
  Configure the scheduler node to run at your preferred frequency

  Set up error handling to notify you of any posting failures

  Add conditional nodes to use either custom or AI-generated captions

  Execution Instructions
  After completing all connections, test the workflow with a single image

  Monitor the execution in the n8n dashboard to ensure proper functioning

  View the "Executions" tab to track successful posts and troubleshoot any errors

  Adjust posting frequency and scheduling as needed

  This template saves hours of manual Instagram posting work while maintaining an authentic presence. Perfect for social media managers, content creators, and businesses looking to maintain consistent Instagram activity without the daily manual effort.

  The workflow handles image retrieval, caption generation or customization, proper Instagram API formatting, scheduled posting, and execution tracking - all in one automated solution.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.facebookGraphApi"]

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

metadata_json:
  {"categories":["automation","social media","content management","AI integration","integration"],"complexity":"medium","use_cases":["Automate scheduled Instagram posting from cloud-stored media","Generate AI-powered captions when none are provided","Maintain consistent social presence for brands or creators","Centralize media management using Google Drive + Google Sheets","Track and log post executions and failures"],"estimated_setup_minutes":45,"required_services":["Google Drive","Google Sheets","OpenAI (API key)","Facebook Graph API / Instagram Graph API (Facebook Developer account)","n8n account"],"key_features":["Automatic retrieval of images/videos from Google Drive","AI-generated captions via OpenAI with configurable creativity","Option to use custom captions from Google Sheet or AI fallback","Automated publishing to Instagram Business/Creator via Facebook Graph API","Scheduler for recurring posts and conditional nodes for caption logic"],"target_audience":["Social media managers","Content creators and influencers","Small businesses and marketing teams"]}


name: Build Lists of Profiles from Any Platform using Airtop and Google Sheets
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-04-08T17:50:38.487Z
updated_at: 2025-04-08T17:50:38.487Z
url: https://n8n.io/workflows/3479
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  About The List Building Automation

  This automation will guide you on how to automate list building using Airtop. You’ll have a streamlined workflow that can reduce your research time by up to 90% while improving the accuracy of your target lists.

  How to automate list building

  It can be challenging to spend too much time on tasks like compiling lists of potential investors, customers, job candidates, industry influencers, or key decision-makers. Verifying contact details often requires significant effort, whether building an outreach list, tracking thought leaders, or researching potential customers. Not anymore. With Airtop's List Building Automation, turn hours of tedious research into clean, reliable and accurate lists, built in just minutes. 

  Check this out:

  What You'll Need

  A free Airtop API Key
  Target audience parameters (persona and which network. i.e. "AI Influencers on LinkedIn)
  Make a copy of this template to start

  Understanding the Process

  This automation leverages Airtop's advanced data processing capabilities powered by AI to scan multiple unstructured sources and compile accurate, targeted lists based on your specific requirements. The magic lies in its ability to understand context and verify information across different platforms.

  This workflow:
   Handles multi-source data collection and consolidation
   Manages automatic verification of social profiles and domains
   Automates the filtering and ranking of results based on relevance

  Setting Up Your Automation

  Enter your search criteria in the "Parameters" node:
      Who: Your target audience (e.g., "Angel investors in Europe," "Top AI influencers")
      Where: The platform or domain to focus on (e.g., "LinkedIn," "TikTok") 
  Configure your Airtop API Key
      Create one for free at the Airtop Portal
   In the last node, select the spreadsheet that you copied earlier
   Run the workflow

  Customization Options

  While our template works out of the box, you might want to customize it for your specific needs:

  Add custom filtering criteria for more targeted results
  Implement automatic data enrichment from additional sources
  Set up automatic exports to your preferred CRM or database

  Real-World Applications

  Here's how businesses can use this automation:

  A VC firm could use this automation to build a comprehensive EU angel investors database. What previously required their analysts to work 15 hours per week now runs automatically in the background, providing fresh leads daily.

  A PR agency could automate its influencer discovery process across multiple platforms, reducing its research time from 10 hours to 30 minutes per client while increasing the relevance of its outreach lists.

  Best Practices

  To get the most out of this automation:

  Start with specific, well-defined parameters to ensure relevant results
  Regularly update your parameters to keep your lists fresh and relevant
  Combine multiple runs with different parameters for comprehensive coverage

  What's Next?

  Now that you've automated your list building, you might be interested in:

  Setting up automated outreach sequences
  Creating dynamic lead scoring systems
  Implementing automatic list updating and maintenance

  Happy automating!

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.code","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.set"]

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

metadata_json:
  {"categories":["automation","integration","data processing","lead generation"],"complexity":"medium","use_cases":["Build prospect lists (investors, customers, job candidates, influencers)","Automated profile verification and contact enrichment","Influencer discovery and PR outreach lists","Regularly updated lead lists for sales/VC scouting","Exporting consolidated data to Google Sheets for downstream use"],"estimated_setup_minutes":15,"required_services":["Airtop API (free key)","Google Sheets"],"key_features":["Multi-source data collection and consolidation","AI-powered profile parsing and verification","Automatic filtering and relevance ranking","Parameter-driven searches (Who / Where)","Export to Google Sheets for storage/sharing (select copied spreadsheet)"],"target_audience":["Growth / Sales teams","Recruiters / Talent sourcers","PR & Marketing agencies / Influencer managers','VCs and investor relations teams'"]}


name: Get notified when your competitors change their pricing with Airtop and Slack
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-04-08T18:06:13.231Z
updated_at: 2025-04-08T18:06:13.231Z
url: https://n8n.io/workflows/3480
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  About the Automation

  Staying on top of competitor pricing changes can be a full-time job. Manual price tracking is time-consuming and prone to errors, especially when dealing with complex pricing structures and multiple subscription tiers. Paid competitor price monitoring tools like Competera, Visualping and Fluxguard can be expensive. What if you could automate this process and get instant alerts when competitors adjust their pricing?

  How to easily monitor competitor pricing

  With this automation, you'll learn how to set up automated price monitoring system using Airtop's built-in node in n8n. By the end, your system will automatically track competitor pricing changes and notify you of any modifications.

  What You'll Need

  A free Airtop API Key
  Google Sheets account with a copy of this sheet
  URLs of competitors' pricing pages

  Understanding the Process

  This automation continuously monitors competitor pricing pages and compares them against your baseline data. The workflow:

  Tracks all different pricing plans (monthly, yearly, etc.).
  Monitors feature changes across different tiers.
  Detects and logs pricing structure modifications.
  Alerts you via Slack when changes are detected

  Setting Up Your Automation

  We've created a ready-to-use blueprint for seamless price monitoring. Here's how to get started:

  Connect your Google Sheets
  Set up your Airtop API connection
  Define update frequency

  Customization Options

  Enhance the basic template with these popular modifications:

  Add other notification channels (Email, Telegram, etc.).
  Include feature comparison tracking.
  Set up threshold-based alerts for significant price changes
  Track historical pricing trends

  Real-World Applications

  Case Study 1: A B2B SaaS company can use this automation to track competitors' pricing changes. When they identify a market-wide pricing shift, they can adjust their strategy proactively within minutes.

  Case Study 2: An online Ecommerce retailer automates monitoring of 100+ competitor products, maintaining optimal pricing positions and increasing profit margins.

  Best Practices

  To ensure accurate tracking:

  Include detailed baseline data for each pricing tier
  Specify both monthly and annual pricing clearly
  List all features included in each plan
  Update your baseline data whenever you verify changes
  Include any promotional pricing or special offers
  Document currency and regional variations if applicable

  Example Structure in Google Sheets:

  Competitor: Acme Tools
  Basic Plan:
  Monthly: $29
  Annual: $290 ($24.17/mo)
  Features: 5 users, 10GB storage, basic support
  Pro Plan:
  Monthly: $79
  Annual: $790 ($65.83/mo)
  Features: 20 users, 50GB storage, priority support

  What's Next?

  After setting up your price monitoring automation, consider the following:

  Creating automated competitive analysis reports
  Setting up market trend analysis
  Implementing automatic pricing recommendations
  Expanding monitoring to feature changes

  Happy monitoring!

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.airtop","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.googleSheets","n8n-nodes-base.slack","n8n-nodes-base.filter"]

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

metadata_json:
  {"categories":["automation","monitoring","integration","competitive intelligence","e-commerce"],"complexity":"medium","use_cases":["Automated competitor price monitoring","SaaS pricing change alerts","E‑commerce competitor tracking","Feature/plan comparison monitoring","Triggering price-change workflows or reports"],"estimated_setup_minutes":30,"required_services":["Airtop API (Airtop node)","Google Sheets (Google account)","Slack (or other notification channel)"],"key_features":["Continuous scraping/monitoring of competitor pricing pages","Comparison against baseline data in Google Sheets","Tracks multiple plans (monthly, yearly) and feature lists","Detects and logs pricing structure and feature changes","Sends instant alerts to Slack (or other configured channels)"],"target_audience":["Product managers","Pricing analysts","E‑commerce managers/merchants small–medium businesses) (SMBs)"]}


name: Automate Product Hunt Discovery with Airtop and Slack
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-04-08T18:16:07.546Z
updated_at: 2025-04-08T18:16:07.546Z
url: https://n8n.io/workflows/3481
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  About The Product Hunt Automation

  Staying up-to-date with specific topics and launches on Product Hunt can be time-consuming. Manually checking the site multiple times a day interrupts your workflow and risks missing important launches. What if you could automatically get relevant launches delivered to your Slack workspace?

  How to Monitor Product Hunt

  In this guide, you'll learn how to create a Product Hunt monitoring system using Airtop's built-in node in n8n. This automation will scan Product Hunt for your chosen topics and deliver the most relevant launches directly to Slack.

  What You'll Need

  A free Airtop API key
  A Slack workspace with permissions to add incoming webhooks
  Estimated setup time: 5 minutes

  Understanding the Process

  The Monitor Product Hunt automation uses Airtop's cloud browser capabilities to access Product Hunt and extract launch information. Here's what happens:

  Airtop visits Product Hunt and navigates the page
  It searches for and extracts up to 5 launches related to your chosen topic
  The information is formatted and sent to your specified Slack channel

  This process can run on your preferred schedule, ensuring you never miss relevant launches.

  Setting Up Your Automation

  We've created a ready-to-use template that handles all the complex parts. Here's how to get started:

  Connect your Airtop account by adding the API key you created
  Connect your Slack account
  Set your prompt in the Airtop node. For this example, we’ve set it to be “Extract up to 5 launches related to AI products”
  Choose your preferred monitoring schedule.

  Customization Options

  While our template works immediately, you might want to customize it for your specific needs:

  Adjust the prompt and the maximum number of launches to monitor
  Customize the Slack message format
  Change the monitoring frequency
  Add filters for particular keywords or companies

  Real-World Applications

  Here's how teams can use this automation:

  A startup's engineering team could track trends in other product’s tech stack, helping them stay informed about potential issues and improvements.

  A product manager can track launches of competitor products, enabling them to gather valuable market insights and user feedback directly from the tech community on that launch.

  Best Practices

  To get the most out of this automation:

  Choose Specific Search Terms**: For more relevant results, instead of broad terms like "AI," use specific phrases like "machine learning for healthcare"
  Optimize Scheduling**: When setting the monitoring frequency, consider your team's workflow. Running the scenario every 4 hours during working hours often provides a good balance between staying updated and avoiding notification fatigue.
  Set Up Error Handling**: Enable n8n's error output to alert you if the automation encounters any issues with accessing Product Hunt or sending messages to Slack.
  Regular Topic Review**: Schedule a monthly review of your monitored topics to ensure they're still relevant to your needs and adjust as necessary.

  What's Next?

  Now that you've set up your Product Hunt monitor automation, you might be interested in:

  Creating a similar monitor for other tech websites
  Setting up automated content curation for your team's newsletter
  Building a competitive intelligence dashboard using web monitoring

  Happy Automating!

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.airtop","n8n-nodes-base.slack","n8n-nodes-base.scheduleTrigger"]

workflow_json_compressed:
  H4sIAAAAAAAAE41Wa2/bNhT9KwIxYCsguiRFvQwMQ5aua7c+3Qe2JcZAkZe2GolURcpJYPi/D5RiJ0Gctd8k6urcc++5D25RrdAc6c3fK/l76Wj39V0q32coRi14geZbVBvnhZHwMthlGZGaSVZCRUstOEtoKbSQSaWY4CLnMktSXuWSkIyTRGeyEklRlFlRZYlOFYqRh7ZrhIfTHpT7AH7oTm3bNeBBobnvB9jFyIgW0By9tqb2to/e9VYN0r8YjA8AYuXQ/Gw7MRfFr+Xm6xeyefPqL/nn5/fo8PfeEYqR7EF4UCcezREjLMWEY8I/0nSeFPMkn+VF+g+K0dCpb5vtljEyVsEdDonUpMqBYJClxpzmCa5kkWJacSVAp0IwdsvrGejaQNRDAxthfNRN0bkQ2nUXLExh8OgCV8LBzEEIu7Ou9rU1aH7GGIkxJWQZo070ogUPvQta2S5YhMddjIRz9cq0YPz47d7rbfYSmmZAMM0LhrkiAguaSky1LopS65KOmt0wX+wpv3tA2fm+NisUo41ohnBw8jI6WY3OdsvdbrL7DL0bI0hmfBfvKSQ006QgmGhVYJ6zBIsslbiSwCQTNJG6uKXw3A5GHVL2y6M5q/X9lGXZ96RMWqPq/fudT2izZ85i1ID2n2+iDLUlHHwAEzxtYKrgm2hFUysx+R/zIz0afbRVbYS3fQjehPTedbtXJk2ZzKhkmIIkmJMqxRXPE8w4S6qMZ5wWFYqR7aCfsLYPpJi+Tf6N9afWeFEbF0jcjeHn7Tb64YuzZqaEF7PWKmgW4DprHES7HYpRX6/WB/OzNyfLY5qyGTtoqnVFWFECLhNOcSCLKy0V5rRiqSYVTfLyVtNX1l5EQ/ftRhB17213X1jOHxF26Bs0R2vvOzd/+vTy8nJ2g78ejJ9J2z4NQL1tu9DuP/925XshfeDhbZTuyUSNGIxcg4v8WvhI9BDt03V2/rAhztEy2u0ibfsIhFwfUOAG3a8h8rVvIBJGRZ8Wr6Kfah3BVe28ezI7N+dmAX7oTUBohZ+fm49WiesfXXT2bbfLyJr9UQjy3NBZ9HH0RqOfgjP65Nyw/RmbztiTcxPIOBtZExi81NG1HSIpjLE+0rVRkTDXD+dVHPUT17EiYtSDs0Mvg2434QaF7pfh1wH6axQjBy5UzWurRpnhEsVIqKkJRPO8hkaNLbkbZ7cC42vRTGNsrIGTrh53Uyi26npthz+eF4tXL9JnF+3ft4V19m7x9tkyOpnK5kHF0kO9ckU1ybICq1SlmHNOcJGRAidSQ6Iyqogkt7AfIKSrEfIiasE5sYLHR3ewul+wRXEo2Euo1tZejJu1LIqc53mFy6wgmOeEYsEExWmRKJ5rqqtxEt+vcQ9X/rs62EEDMpjKtTAGmjB0pqfgfIv+/Td0yzS72kmUpnb+zjw/JUX+/M/kD/L6dBx6cg1qAW5o/JspK624AKygGlZhwFi/hv7t7Wx9KOSYmrs6vll9OWnfrj6UV4sVXTSf7iR8zLWQ0oYbwJHJkxyULBlVrEgAZyrLMRdCYJFwjrMiryqWVEVO7yj5sa9XK+gjJerm+nERQ6xDAzfW9+V8ZPr0QwPT7clDvxHNONj9BHDiX9ihR/PsyBSlMxYuGKF5wjbRonEQ5PO+NqsRGa5ADsH5215B2CEbGhJ+s6HGWoKUAqsUwTzRBPMs1BIRCus0TTSnpShYPq0dA/Kw4+4nY75FrahDhGfb8b7zXTeX8ZcY1UbBFZqT3XK5ix/s7GPQ/9dTR0EfLI1jqI/eFo5CPhreMejHl9YR7N3uP6G6ktBoCwAA

metadata_json:
  {"categories":["automation","integration","web monitoring","notifications"],"complexity":"simple","use_cases":["Monitor Product Hunt launches for specific topics","Competitor product launch tracking","Market & trend discovery for product teams","Deliver product launch alerts to Slack channels","Automated content curation for newsletters or reports"],"estimated_setup_minutes":5,"required_services":["Airtop (API / cloud browser)","Slack (incoming webhook or workspace with bot permissions)","Product Hunt (public website to monitor)"],"key_features":["Scheduled scanning of Product Hunt for chosen topics","Extract up to N launches using Airtop's browser scraping","Format and send launch summaries to Slack","Configurable prompt, result limit, and monitoring frequency","Support for keyword/company filters and basic error handling"],"target_audience":["product managers","engineers/technical teams","marketers and growth teams"]}


name: Post on X using Airtop and automate content pipelines
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-04-08T18:21:21.478Z
updated_at: 2025-04-08T18:21:21.478Z
url: https://n8n.io/workflows/3482
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  About The Post to X Automation

  Seamlessly automate posting to X using Airtop and Make.

  How to Automate Posting to X with Airtop

  Consistently engaging your audience on X (formerly Twitter) can be a challenge, particularly when done manually. Developers and automation engineers often struggle with repetitive tasks like scheduling tweets, maintaining consistent posting cycles, and integrating content from various sources or AI-generated feeds. Manually managing content updates increases fatigue, human error, and decreases scalability.

  This n8n automation, powered by Airtop, simplifies automated content publishing onto X. Whether you're sharing daily updates, integrating dynamically generated AI content, or streamlining your marketing content pipeline, Airtop’s automation helps eliminate manual labor and reduces potential execution errors.

  Who is this Automation for?

  Social Media Managers scheduling recurring or automated posts on X
  Content Marketers integrating AI-generated content into their publishing process
  Developers implementing automated social media pipelines
  Automation Engineers minimizing errors and manual posting efforts

  Key Benefits

  Real-time, authenticated API postings via X
  Reliable structured workflows minimize manual errors
  Seamless integration with AI content pipelines

  Use Cases

  Automatically publish scheduled daily content updates
  Seamlessly post AI-generated insights, news summaries or industry updates
  Distribute alerts and event announcements reliably at set intervals
  Maintain active audience engagement by automating regular, high-frequency posts

  How the Post to X Automation Works

  This Airtop automation works by using your Airtop Profile signed-in into X via Airtop. Once authenticated securely with your X credentials, n8n handles the structured data flow, which can come from manual inputs, AI-generated sources, databases, or RSS feeds. Airtop then securely publishes the posts, providing reliable scheduled updates directly on X, removing manual oversight and streamlining your social media workflows.

  What You’ll Need

  An Airtop API key
  Your X (Twitter) account
  An Airtop Profile signed into X

  Setting Up the Automation

  Connect your Airtop account using your free Airtop API key
  Create an Airtop Profile and connect it to your X account
  Activate and schedule your scenario to automate regular posting

  Customize the Automation

  Customize your posting workflow extensively using Airtop's built-in node in n8n:

  Integrate diverse sources like RSS feeds and AI tools to dynamically customize automated posts
  Schedule precise posting intervals or diversify times for maximum audience engagement
  Set conditional logic to automate content posting based on predefined triggers and events
  Utilize Airtop’s structured data flows to manage categories, hashtags, or mentions in your posts

  Automation Best Practices

  Consistently update security credentials for uninterrupted access
  Clearly structure your workflow to simplify troubleshooting and logic updates
  Monitor posting frequency to ensure optimal audience reach and engagement
  Regularly review content sources to maintain quality control of automated postings

  Happy Automating!

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

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

metadata_json:
  {"categories":["automation","social_media","integration","content_management"],"complexity":"medium","use_cases":["Schedule recurring daily posts to X","Publish AI-generated content or summaries","Distribute alerts and event announcements","Aggregate content from RSS/databases and post automatically","Maintain high-frequency audience engagement with automated posts"],"estimated_setup_minutes":20,"required_services":["n8n","Airtop (Airtop API key and Airtop Profile)","X (Twitter) account connected via Airtop","Optional: AI provider (e.g., OpenAI) or RSS/DB sources","Optional: Make (if using alongside Airtop as mentioned)"],"key_features":["Authenticated API posting to X via Airtop","Schedule and automate recurring posts","Integrate AI-generated content, RSS feeds, or databases","Conditional logic and structured data flows for content customization","Reduced manual errors and reliable, repeatable workflows"],"target_audience":["Social media managers","Content marketers","Developers building publishing pipelines, and automation engineers"]}


name: Sell a Used Car with an AI Agent in Airtop
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-04-08T18:51:40.903Z
updated_at: 2025-04-08T18:51:40.903Z
url: https://n8n.io/workflows/3483
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  How to Sell Your Used Car Easily with Airtop

  Selling a used car traditionally involves tedious manual steps: listing your vehicle online, filling repetitive forms, answering buyer inquiries, and comparing multiple offers—often leading to lost time, inaccuracies, and missed opportunities. Dealers' platforms and marketplace websites can introduce additional friction, occasionally requiring manual interactions and delivering inconsistent offers.

  The Sell a Used Car Agent powered by Airtop and n8n eliminates this friction by automating the selling process. Simply input your car's details once, and the automation quickly navigates through popular used car marketplaces like Carvana, CarMax, and others, efficiently fetching competitive buying offers. Leveraging Airtop’s powerful real-browser automation capabilities, this setup interacts smoothly with the forms and queries specific to each sales platform, eliminating error-prone manual entries and tedious repetition.

  This Airtop automation employs sophisticated data extraction features, including structured JSON output, ensuring accurate, formatted data ready for immediate review.

  Say goodbye to cumbersome listing processes, and hello to streamlined, effortless car selling.

  Who is this Automation for?

   Automation engineers streamlining marketplace interactions
   Developers building user-friendly car selling apps
   Technical teams optimizing inventory resale processes
   Dealership IT departments automating valuation systems

  Key Benefits

  No-code automation setup using Make
  Saves significant time with instant multi-platform offers
  Real browser sessions ensuring reliable site interactions
  Structured JSON output simplifying data integration

  Use Cases

  Car dealership teams quickly pricing used vehicles
  Individuals efficiently comparing offers from online dealers
  Developers building consumer-friendly automated car resale apps
  Technical consultants streamlining used car valuation processes

  How this Airtop Automation Works

  When started, Airtop opens automated, real browser sessions to intelligently fill out required car details on leading resale marketplaces (e.g., Carvana and CarMax). It captures instantly generated vehicle offers, structures them into clean JSON output, and returns organized buying proposals. All of this is accomplished without manual intervention.

  What You’ll Need

  A free Airtop API key
  Basic details describing your vehicle (make, model, condition, mileage)

  Setting up the workflow

  Create a new Airtop connection with your API key:



  Enter the information about the car you are selling into the "Variables" node. For example:

  &gt; VIN: 1FTRF17253NB81140
  Mileage: 221081
  Zip code: 01952
  Condition: Perfect, no interior or exterior damages, all tires are inflated, have 2 keys, working battery, has an attached catalytic converter, Airbags not deployed, No flood or fire damage.
  Ownership: full clean title with no debt answer yes to all other questions

  Run the workflow
  Customize the Automation

  Add or remove marketplaces based on regional availability or preference
  Extend JSON outputs to your internal inventory or sales systems
  Schedule regular automation runs to track market pricing trends
  Integrate additional valuation platforms for broader market coverage

  Automation Best Practices

  Regularly review marketplace URLs to maintain accuracy and consistency
  Verify structured data to ensure consistent JSON outputs
  Maintain clearly documented Make scenarios for easy debugging
  Periodically update your car's condition description for accurate pricing


  Happy Automating!

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.airtop"]

workflow_json_compressed:
  [encoded data, 4152 characters]

metadata_json:
  {"categories":["automation","integration","data processing","web scraping"],"complexity":"medium","use_cases":["Compare instant offers across multiple used-car marketplaces","Automate vehicle pricing and valuation for dealerships","Integrate marketplace offers into internal inventory or CRM","Build consumer-facing automated car resale tools"],"estimated_setup_minutes":20,"required_services":["Airtop API (real-browser automation)","Used-car marketplace sites (e.g., Carvana, CarMax, other regional marketplaces)","Optional: internal inventory/CRM or valuation APIs for integration"],"key_features":["Real-browser automation to fill marketplace forms reliably","Fetches and aggregates competitive buying offers across platforms","Structured JSON output for easy downstream integration","No-code / low-code setup with configurable variables","Extendable: add/remove marketplaces, schedule runs, integrate extra valuation sources"],"target_audience":["Automation engineers","Developers building resale or marketplace apps","Dealership IT and inventory teams"]}


name: 🧠 Build AI Agents with Think-Plan-Act Architecture Using Llama-4 Reasoning
author_name: Lucas Dias
author_username: devreis
categories: []
created_at: 2025-04-08T21:26:21.801Z
updated_at: 2025-04-08T21:26:21.801Z
url: https://n8n.io/workflows/3489
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  🧠 A plug-and-play n8n workflow that adds LLM-powered reasoning, planning, and action to your automations — with prompts, schemas, and full agent logic included.

  Ever wish your n8n flows could think before they act?

  Now they can. Say hello to the ultimate agent-based upgrade:

  "Think → Plan → Act" – fully automated. Fully intelligent.⚡

  🧩 What Is This?
  This product is a ready-to-use AI-powered workflow template for n8n, featuring a smart “Thinking Agent” that:

  🧠 Analyzes tasks
  📋 Generates a step-by-step plan
  🛠️ Executes actions intelligently
  🧾 Returns structured JSON outputs for your next steps

  Inspired by the Hugging Face agent architecture, this template gives your automations a brain before they press the red button. 🔴✅

  A clean 2-step process:
  THINK mode → Generates structured reasoning (goal, subgoals, tools, assumptions)
  ACT mode → Executes subgoals step-by-step using tools and AI.

  🧬 What's Inside?
  This isn’t just a flow — it’s a framework. You get:
  🔹 Modular Agent Loop
  🔹 A demonstration workflow

  📝 Requirements
  🔹 OpenRouter API Key (or any other provider like OpenAI, groq...)

  🔹 Built-in Parsers
  🧾 Structured JSON parser for reliable outputs
  🪄 Natural language and unstructured parsing fallback

  🛠️ Plug in your own goals, tools, and OpenRouter keys

  📦 Includes a demo (e.g., “get the weather”) to get started fast

  💡 Why You'll Love It
  ✅ Plug & Play – Drop into any existing n8n flow
  ✅ Tool-Aware Reasoning – Plans include which tool to use and why
  ✅ Composable – Build workflows like agents: Reason → Plan → Execute
  ✅ Customizable by anyone – Even your intern can tweak the prompts

  ⚙️ Agent customization
  🔹 Feel free to customize the agent settings by changing the Config node. Here's the default configuration:

  const config = {
    THINK: {
      CONTEXT: ``, // Add the necessary context to the AI.
      CONSTRAINTS: [Rule 1, Rule 2], // here are the rules that your AI should follow
      TOOLS: [
        {
          tool: "",
          description: "",
        },
      ], // add here the list of the tools that the AI will call in your backend or workflow.
    },
  };

  return {
    json: {
      config: config,
      input: $input.last().json,
    },
  };
  After updating the configuration file, you will see the AI reasoning for your input. Feel free to connect with any other node creating smart tasks!

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.outputParserAutofixing","@n8n/n8n-nodes-langchain.outputParserAutofixing","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.webhook","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.outputParserAutofixing","@n8n/n8n-nodes-langchain.outputParserAutofixing","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","AI/ML","orchestration"],"complexity":"complex","use_cases":["Add LLM-powered reasoning to n8n workflows","Automated task planning and stepwise execution","Tool orchestration and API-driven actions","Generating structured JSON outputs for downstream processing","Prototyping agent-based automation (think→plan→act)"],"estimated_setup_minutes":20,"required_services":["n8n (self-hosted or n8n cloud)","OpenRouter API key (or alternative LLM provider such as OpenAI or groq)","Any external tool APIs the agent will call (e.g., weather API, internal REST endpoints)","HTTP/Webhook endpoints for tool execution"],"key_features":["Think→Plan→Act agent architecture (modular agent loop)","Llama-4 reasoning via OpenRouter or other LLM provider","Structured JSON parser with autofix fallback for reliable outputs","Tool-aware planning (plans specify which tool to use and why)","Config node for easy agent customization (context, constraints, tools) and prompts/templates included"],"target_audience":["n8n users and workflow builders","Developers and automation engineers","AI/ML engineers and researchers prototyping agents"]}


name: Automated LinkedIn Lead Generation, Scoring & Communication with AI-Agent
author_name: Andrey
author_username: kulia
categories: []
created_at: 2025-04-08T23:40:26.853Z
updated_at: 2025-04-08T23:40:26.853Z
url: https://n8n.io/workflows/3490
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  ⚠️ DISCLAIMER: This workflow uses the HDW LinkedIn community node, which is only available on self-hosted n8n instances. It will not work on n8n.cloud.

  Overview

  This workflow automates the entire LinkedIn lead generation process from finding prospects that match your Ideal Customer Profile (ICP) to sending personalized messages. It uses AI to analyze lead data, score potential clients, and prioritize your outreach efforts.

  Key Features

  AI-Driven Lead Generation**: Convert ICP descriptions into LinkedIn search parameters
  Comprehensive Data Enrichment**: Analyze company websites, LinkedIn posts, and news
  Intelligent Lead Scoring**: Prioritize leads based on AI analysis of intent signals
  Automated Outreach**: Connect with prospects and send personalized messages

  Requirements

  Self-hosted n8n instance with the HDW LinkedIn community node installed
  OpenAI API access (for GPT-4o)
  Google Sheets access
  HDW API key (available at app.horizondatawave.ai)
  LinkedIn account

  Setup Instructions

  1. Install Required Nodes

  Ensure the HDW LinkedIn community node is installed on your n8n instance
  Command: npm install n8n-nodes-hdw
  (or use this instruction)

  2. Configure Credentials

  OpenAI**: Add your OpenAI API key
  Google Sheets**: Set up Google account access
  HDW LinkedIn**: Configure your API key from horizondatawave.ai

  3. Set Up Google Sheet

  Create a new Google Sheet with the following columns (or copy template):
    Name, URN, URL, Headline, Location, Current company, Industry, etc.
    The workflow will populate these columns automatically

  4. Customize Your ICP

  Use chat to provide the AI Agent with your Ideal Customer Profile
  Example: "Target marketing directors at SaaS companies with 50-200 employees"

  5. Adjust Scoring Criteria

  Modify the lead scoring prompt in the "Company Score Analysis" node to match your specific product/service
  Tune the evaluation criteria based on your unique business needs

  6. Configure Message Templates

  Update the HDW LinkedIn Send Message node with your custom message

  How It Works

  ICP Translation: AI converts your ICP description into LinkedIn search parameters
  Lead Discovery: Workflow searches LinkedIn using these parameters
  Data Collection: Results are saved to Google Sheets
  Enrichment: System collects additional data about each lead:
     Company website analysis
     Lead's LinkedIn posts
     Company's LinkedIn posts
     Recent company news
  Intent Analysis: AI analyzes all data to identify buying signals
  Lead Scoring: Leads are scored on a 1-10 scale based on likelihood of interest
  Connection Requests: Top-scoring leads receive connection requests
  Follow-Up: When connections are accepted, automated messages are sent

  Customization

  Search Parameters**: Adjust the AI Agent prompt to refine your target audience
  Scoring Criteria**: Modify scoring prompts to highlight indicators relevant to your product
  Message Content**: Update message templates for personalized outreach
  Schedule**: Configure when connection requests and messages are sent

  Rate Limits & Best Practices

  LinkedIn has connection request limits (approximately 100-200 per week)
  The workflow includes safeguards to avoid exceeding these limits
  Consider spacing your outreach for better response rates

  Note: Always use automation tools responsibly and in accordance with LinkedIn's terms of service.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","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-hdw.hdwLinkedin","n8n-nodes-hdw.hdwLinkedin","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-hdw.hdwLinkedin","n8n-nodes-base.aggregate","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.aggregate","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.aggregate","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-hdw.hdwLinkedin","n8n-nodes-hdw.hdwLinkedin","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleSheets","n8n-nodes-hdw.hdwWebParserTool","n8n-nodes-hdw.hdwWebParserTool","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.sort","n8n-nodes-base.if","n8n-nodes-base.limit","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-hdw.hdwLinkedinManagement","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.scheduleTrigger","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","n8n-nodes-base.stickyNote","n8n-nodes-hdw.hdwLinkedinManagement","n8n-nodes-hdw.hdwLinkedinManagement","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.merge"]

workflow_json_compressed:
  [encoded data, 24208 characters]

metadata_json:
  {"categories":["automation","integration","sales & marketing","lead generation","data enrichment"],"complexity":"complex","use_cases":["Automated LinkedIn prospecting","AI-driven lead scoring and prioritization","Enrichment of lead records with web/LinkedIn/news data","Automated connection requests and personalized follow-ups","Building/maintaining a Google Sheets CRM for outreach"],"estimated_setup_minutes":60,"required_services":["Self-hosted n8n instance (required for community nodes)","HDW LinkedIn community node (n8n-nodes-hdw) and HDW API key (app.horizondatawave.ai)","LinkedIn account","OpenAI API access (GPT-4o)","Google Sheets / Google account"],"key_features":["AI converts ICP into LinkedIn search parameters","Bulk LinkedIn lead discovery and saving to Google Sheets","Comprehensive enrichment: company website analysis, LinkedIn posts, news","AI intent analysis and lead scoring (1–10)","Automated connection requests and personalized message sequences with rate-limit safeguards"],"target_audience":["Sales teams (SDRs, AEs)","Growth marketers and demand-gen teams","Agencies offering outreach services to clients with LinkedIn focusersupporting self-hosted tooling) (sic) Note: the template requires self-hosting and technical setup)"]}


name: Monitor SSL Certificate Expiry with Google Sheets and Multi-Channel Alert
author_name: Jesse Davids
author_username: cultrix
categories: []
created_at: 2025-04-09T07:25:10.177Z
updated_at: 2025-04-09T07:25:10.177Z
url: https://n8n.io/workflows/3493
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  SSL Expiry Alert System

  Who is this for?
  This workflow is ideal for administrators or IT professionals responsible for monitoring SSL certificates of multiple websites to ensure they do not expire unexpectedly.

  Problem
  SSL certificates play a crucial role in ensuring secure communication over the internet. However, if not monitored closely, they can expire, leading to potential security risks and service disruption. This workflow helps in proactively monitoring SSL certificate expiry dates.

  Functionality
  Pulls URLs to monitor from a Google Sheet.
  Checks SSL certificates using SSL-Checker.io.
  Updates Google Sheet with SSL details such as expiry date and certificate status.
  Sends email alerts for SSL certificates nearing expiry (&lt;30 days) or invalid certificates.

  Setup
  Clone the provided Google Sheet and update the Google Sheet URL in the "URLs to Monitor" node.
  Set up Google Sheets and Gmail credentials in n8n.
  Configure the Discourse Trigger for weekly monitoring.
  Customize email/telegram/ntfy alert settings as needed.

  Customization
  Modify the frequency of monitoring by adjusting the trigger interval in the "Weekly Trigger" node.
  Customize email content and recipients in the "Send Alert Email" node.
  Extend functionality by adding additional checks or actions based on SSL certificate status.

  Note
  Ensure proper authentication and authorization for accessing Google Sheets, SSL-Checker.io, and Gmail accounts within the workflow.

nodes_used:
  ["n8n-nodes-base.googleSheets","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-ntfy.Ntfy","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5344 characters]

metadata_json:
  {"categories":["monitoring","security","integration","alerting","IT operations"],"complexity":"medium","use_cases":["Track SSL/TLS certificate expiry for multiple domains","Automate alerts for certificates nearing expiry or invalid","Maintain an up-to-date inventory of certificate statuses in Google Sheets","Send multi-channel notifications (email, Telegram, ntfy) for urgent expiries"],"estimated_setup_minutes":20,"required_services":["Google Sheets (Google account)","Gmail (for email alerts)","SSL-Checker.io (API or HTTP endpoint)","Schedule/trigger (n8n scheduler or webhook)","Telegram (optional)","ntfy (optional)"],"key_features":["Reads monitored URLs from Google Sheets","Checks SSL certificate details via SSL-Checker.io","Writes expiry date and status back to Google Sheets","Sends alerts for certificates expiring in <30 days or invalid","Configurable trigger frequency (weekly or custom) and alert content"],"target_audience":["system administrators","IT/DevOps engineers","security teams responsible for certificate management"]}


name: Loading JSON via FTP to Qdrant Vector Database Embedding Pipeline
author_name: Ghaith Alsirawan
author_username: gsirawan
categories: []
created_at: 2025-04-09T07:42:31.732Z
updated_at: 2025-04-09T07:42:31.732Z
url: https://n8n.io/workflows/3495
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  🧠 This workflow is designed for one purpose only, to bulk-upload structured JSON articles from an FTP server into a Qdrant vector database for use in LLM-powered semantic search, RAG systems, or AI assistants.

  The JSON files are pre-cleaned and contain metadata and rich text chunks, ready for vectorization. This workflow handles
  Downloading from FTP
  Parsing & splitting
  Embedding with OpenAI-embedding
  Storing in Qdrant for future querying

  JSON structure format for blog articles
  {
    "id": "article_001",
    "title": "reseguider",
    "language": "sv",
    "tags": ["london", "resa", "info"],
    "source": "alltomlondon.se",
    "url": "https://...",
    "embedded_at": "2025-04-08T15:27:00Z",
    "chunks": [
      {
        "chunk_id": "article_001_01",
        "section_title": "Introduktion",
        "text": "Välkommen till London..."
      },
      ...
    ]
  }

  🧰 Benefits
  ✅ Automated Vector Loading
  Handles FTP → JSON → Qdrant in a hands-free pipeline.

  ✅ Clean Embedding Input
  Supports pre-validated chunks with metadata: titles, tags, language, and article ID.

  ✅ AI-Ready Format
  Perfect for Retrieval-Augmented Generation (RAG), semantic search, or assistant memory.

  ✅ Flexible Architecture
  Modular and swappable: FTP can be replaced with GDrive/Notion/S3, and embeddings can switch to local models like Ollama.

  ✅ Community Friendly
  This template helps others adopt best practices for vector DB feeding and LLM integration.

nodes_used:
  ["@n8n/n8n-nodes-langchain.vectorStoreQdrant","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.ftp","n8n-nodes-base.splitInBatches","n8n-nodes-base.ftp","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["integration","data processing","machine learning","vectorization"],"complexity":"medium","use_cases":["Bulk ingestion of pre-processed JSON articles into a vector DB","Indexing content for semantic search","Preparing data for Retrieval-Augmented Generation (RAG) systems","Populating assistant memory or knowledge bases","Migrating content from FTP to Qdrant for LLM workflows"],"estimated_setup_minutes":45,"required_services":["FTP server (or alternative storage)","Qdrant vector database","Embedding provider (OpenAI embeddings or local embedding model like Ollama)","n8n instance"],"key_features":["Automated pipeline: FTP download → parse/split → embed → store in Qdrant","Supports pre-cleaned JSON with per-chunk metadata (ids, section titles, tags, language)","Batch processing for efficient uploads","Swappable components (storage and embedding providers)","Optimized for LLM-driven semantic search and RAG use cases"],"target_audience":["data engineers","ML engineers","backend developers integrating LLMs/semantic search solutions"]}


name: Enhance AI Prompts with GPT-4o-mini and Telegram Delivery
author_name: Jesse Davids
author_username: cultrix
categories: []
created_at: 2025-04-09T07:54:42.486Z
updated_at: 2025-04-09T07:54:42.486Z
url: https://n8n.io/workflows/3496
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Workflow Documentation

  Description:
  This workflow is designed to optimize prompts by enhancing user inputs for clarity and specificity using AI. The workflow takes a user-provided prompt as input and uses a Natural Language Processing (NLP) model to refine and improve the prompt. The optimized prompt is then sent back to the user, ready for use in further workflows or processes.

  Setup:
  This workflow is suitable for users who want to improve their prompts for better communication and understanding in their workflows.
  The workflow utilizes an AI Agent powered by an OpenAI Chat Model to enhance user prompts.

  Expected Outcomes:
  Users can provide vague or imprecise prompts as input to the workflow.
  The AI Agent will refine and optimize the prompt, adding clarity and specific details.
  The optimized prompt will be delivered back to the user via Telegram or can be input for the next nodes.

  Extra Information:
  A. A Telegram node is used to deliver the optimized prompt back to the user.
  B. Ensure you have the necessary credentials set up for Telegram and OpenAI accounts.
  C. Customize the workflow's settings, such as the AI model used for prompt optimization, to suit your requirements.
  D. Activate the workflow once all configurations are set to start optimizing prompts efficiently.

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

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

metadata_json:
  {"categories":["automation","AI","prompt engineering","messaging"],"complexity":"medium","use_cases":["Improve and clarify user prompts for downstream workflows","Standardize inputs for AI pipelines","Deliver optimized prompts to users via Telegram","Iterative prompt refinement using memory/context"],"estimated_setup_minutes":15,"required_services":["OpenAI (Chat model e.g., GPT-4o-mini)","Telegram (bot API/credentials)"],"key_features":["AI-driven prompt refinement using an OpenAI chat model","Delivery of optimized prompts via Telegram","Configurable model selection and workflow settings","Uses an agent node and memory buffer for contextual optimization","Can feed optimized prompts into downstream nodes or workflows"],"target_audience":["developers","prompt engineers","automation builders / workflow designers"]}


name: Conversing with Data: Transforming Text into SQL Queries and Visual Curves
author_name: hippolyte-hu
author_username: hippolyte-hu
categories: []
created_at: 2025-04-09T10:47:20.113Z
updated_at: 2025-04-09T10:47:20.113Z
url: https://n8n.io/workflows/3497
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Conversational Data Retrieval and Visualization Workflow

  This workflow enables users to interact with a PostgreSQL database using natural language. It translates text inputs into SQL queries, retrieves the corresponding data, and generates visualizations using QuickChart, facilitating seamless data analysis without manual query writing.

  Table of Contents

  Pre-conditions and Requirements
  Database Schema Setup
  Step-by-Step Workflow Explanation
  Customization Guide

  Pre-conditions and Requirements

  1. API Keys and Services Required

  To operate this workflow, access to the following services is necessary:

  DeepSeek API**: For converting natural language into SQL queries.
    API Key: Obtain from your DeepSeek account.
  QuickChart**: For generating data visualizations.
    Service URL: https://quickchart.io/chart

  2. n8n Instance Setup

  n8n Installation**: Install and run n8n using the Official Guide.
  Credential Configuration**:
    DeepSeek API: Set up DeepSeek credentials in n8n by adding your API key.
    PostgreSQL Database:
      Local Database Access: If your PostgreSQL database is hosted locally and needs to be accessed over the internet (e.g., by n8n running on a different machine or in the cloud), you can expose it using ngrok:
        Install ngrok: Download and install ngrok from ngrok.com.
        Start ngrok Tunnel: Run the command ngrok tcp 5432 to expose your local PostgreSQL server.
           This will provide a forwarding address like tcp://0.tcp.ngrok.io:12345 that can be used to connect to your local database remotely.
        Update n8n Credentials: In n8n, configure the PostgreSQL node to use the ngrok forwarding address, ensuring remote access to your local database.

  Database Schema Setup

  Before initiating the workflow, ensure that the database schema is extracted and saved:

  Extract Schema: Retrieve the database schema, including table names and column details.
  Save Schema: Store the extracted schema in a JSON file for reference during query generation.

  Step-by-Step Workflow Explanation

  User Input Handling
     The workflow begins by receiving a natural language query from the user.

  Schema Retrieval
     Loads the previously saved database schema from the JSON file.

  AI-Based SQL Generation
     Combines the user's query with the database schema.
     Utilizes the DeepSeek API to translate the natural language query into a SQL statement.

  SQL Query Execution
     Executes the generated SQL query against the PostgreSQL database.
     Retrieves the data corresponding to the query.

  Data Visualization
     Formats the retrieved data into a structure compatible with QuickChart.
     Sends the data to QuickChart to generate a visual representation.
       Example: To create a bar chart, construct a URL with the chart configuration:
                https://quickchart.io/chart?c={type:'bar',data:{labels:['Label1','Label2'],datasets:[{label:'Dataset1',data:[10,20]}]}}
                This URL returns an image of the chart.

  Response Delivery
     Presents the generated visualizations and data insights to the user.

  Customization Guide

  Modifying the AI Model

  Alternative AI Services**: Replace DeepSeek with other AI models by adjusting the API call configurations in the workflow.

  Changing Visualization Services

  Visualization Tools**: Swap QuickChart with other visualization services by modifying the data processing and visualization steps.

  Expanding Database Support

  Additional Databases**: Adapt the workflow to support other databases (e.g., MySQL, MongoDB) by configuring the respective database credentials and query execution nodes.

  This workflow streamlines the process of data retrieval and visualization, allowing users to interact with their database using natural language, thereby enhancing accessibility and efficiency in data analysis.

nodes_used:
  ["@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.noOp","n8n-nodes-base.set","n8n-nodes-base.readWriteFile","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.readWriteFile","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.postgres","n8n-nodes-base.convertToFile","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","data processing","visualization","AI-assisted querying"],"complexity":"complex","use_cases":["Natural-language data querying","Automated SQL generation from text","Ad-hoc data analysis for non-technical users","Quick visualization generation (charts/images)","Embedding BI-style insights into workflows"],"estimated_setup_minutes":45,"required_services":["DeepSeek API (NL-to-SQL)","QuickChart (https://quickchart.io)","PostgreSQL database","n8n instance","ngrok (optional, for exposing local DB)","OpenAI (optional, workflow includes lmChatOpenAi nodes)"],"key_features":["Schema-aware natural language → SQL translation","Automated SQL execution against PostgreSQL","Transforms query results into QuickChart-compatible payloads","Supports storing/loading DB schema as JSON","Configurable AI model/provider (DeepSeek by default, swappable to other providers)"],"target_audience":["Data analysts","Product managers / non-technical stakeholders","Developers implementing data UIs or chatbots over data sources"]}


name: Build an IT Support Assistant Chatbot Leveraging Existing Support Portal
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-04-09T11:53:49.647Z
updated_at: 2025-04-09T11:53:49.647Z
url: https://n8n.io/workflows/3498
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  This n8n template demonstrates how you can leverage existing support site search to power your Support Chatbots and agents.

  Building a support chatbot need not be complicated! If building and indexing vector stores or duplicating data isn't necessarily your thing, an alternative implementation of the RAG approach is to leverage existing knowledge-bases such as support portals. In this way, document management and maintenance of your support agent is significantly reduced.

  Disclaimer: This template example uses AcuityScheduling's help center website but is not associated, supported nor endorsed by the company.

  How it works
  A simple AI agent is connected with chat trigger to receive user queries.
  The AI agent is instructed to fetch information from the knowledge-base via the attached custom workflow tool (aka "knowledgebase tool").
  There is no step to replicate the entire support articles database into a vector store. You may choose not too because of time, cost and maintainence involved.
  Instead, the tool leverages the existing support portal's search API to retrieve knowledge-base articles.
  Finally, the search results are formatted before sending an aggregated response back to the agent.

  How to use?
  Customise the subworkflow to work with your own support portal API and format accordingly.
  Try the following queries
    How do I connect my icloud to acuityScheduling?
    How do I download past invoices for my Acuity account?

  Requirements
  OpenAI for LLM.
  If your organisation's APIs require authorisation, you may need to add custom credentials as necessary.

  Customising this workflow
  Add additional tools to reach other parts of your internal knowledgebase.
  Not using OpenAI? Feel free to swap but ensure the LLM has tools/function calling support.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger"]

workflow_json_compressed:
  [encoded data, 5900 characters]

metadata_json:
  {"categories":["automation","integration","conversational-ai","knowledge-management","customer-support"],"complexity":"medium","use_cases":["Build a support chatbot that answers user queries using an existing support portal","Implement Retrieval-Augmented Generation (RAG) without building a vector store","Provide agents with quick access to relevant support articles","Automate responses for common troubleshooting and billing questions","Aggregate and format search results from a knowledge-base for LLM consumption"],"estimated_setup_minutes":45,"required_services":["OpenAI (LLM)","Support portal with a searchable API (e.g., help center, Zendesk, custom KB)","n8n instance (cloud or self-hosted)","Any API credentials/authentication required by your organization's services"],"key_features":["Chat trigger connected to an AI agent","Custom 'knowledgebase tool' subworkflow that calls support portal search API","RAG-style retrieval using live support portal search (no vector store required)","Formatting and aggregation of search results before replying","Memory buffer window to maintain conversational context (short-term memory supportable via nodes shown in template)"],"target_audience":["developers","IT support teams","customer support agents/managers"]}


name: AI-powered Student Assistant for Course Information via Twilio SMS
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-04-09T15:37:15.063Z
updated_at: 2025-04-09T15:37:15.063Z
url: https://n8n.io/workflows/3499
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n template offers a simple yet capable chatbot assistant who can answer course enquiries over SMS.

  Given the right access to data, AI Agents are capable of planning and performing relatively complex research tasks to get their answers. In this example, the agent must first understand the database schema, retrieve lists of values before generating it's own query to search over the database.

  Checkout the example database here - https://airtable.com/appO5xvP1aUBYKyJ7/shr8jSFDaghubDOrw

  How it works
  A Twilio trigger gives us the ability to receive SMS input into our workflow via webhook.
  The message is then directed to our AI agent who is instructed to assist the user and use the course database as reference. The database is an Airtable base.
  The agent autonomously figures out which tool it needs to use and generates it's own "filter_by_formula" query to search over the available courses.
  On successful search results, the Agent can then use this information to answer the user's query.
  The Agent's output is logged in a second sheet of the Airtable base. We can use this later for analysis and lead gen.
  Finally, the response is sent back to the user through SMS using Twilio.

  How to use
  Ensure your Twilio number is set to forward messages to this workflow's webhook URL.
  Configure and update the course database as required. If you're not interested in courses, you can swap this out for inventory, deliveries or any other data relevant to your business.
  Ask questions like:
    "Can you help me find suitable courses to fill my Wednesday mornings?"
    "Which courses are being instructed by profession Lee?"
    "I'm interested in creative arts. What courses are available which could be relevant to me?"

  Requirements
  Twilio for SMS receiving and sending
  OpenAI for LLM and Agent
  Airtable for Course Database

  Customising this workflow
  Add additional tools and expand the range of queries the agent is able to answer or assist with.
  Not using Airtable? This technique also works with SQL databases like PostgreSQL.

nodes_used:
  ["n8n-nodes-base.twilioTrigger","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","n8n-nodes-base.set","n8n-nodes-base.twilio","n8n-nodes-base.airtable","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4728 characters]

metadata_json:
  {"categories":["automation","integration","AI/chatbot","education"],"complexity":"medium","use_cases":["Answering course or program enquiries via SMS","Searching and filtering course data in a database","Logging conversations and leads for later analysis","Quick student support and scheduling help"],"estimated_setup_minutes":30,"required_services":["Twilio","OpenAI (or compatible LLM with agent capabilities)","Airtable (or another database like PostgreSQL)"],"key_features":["Receive and send SMS via Twilio webhook","AI agent that inspects schema and generates database queries (filter_by_formula)","Searches Airtable course database and retrieves relevant results","Logs agent outputs to a second Airtable sheet for analysis/lead gen","Uses OpenAI LM/agent and memory buffer for context-aware responses"],"target_audience":["educational institutions","student support teams","course administrators and marketers handling enquiries by SMS or SMS-based lead capture teams who want automation (small businesses)"]}


name: ✍️ AI Agent to Create Linkedin Posts for Blog Promotion with GPT-4o
author_name: Samir Saci
author_username: samirsaci
categories: []
created_at: 2025-04-09T16:16:57.912Z
updated_at: 2025-04-09T16:16:57.912Z
url: https://n8n.io/workflows/3500
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Tags: Automation, AI, Marketing, Content Creation

  Context
  I’m a Supply Chain Data Scientist and content creator who writes regularly about data-driven optimization, logistics, and sustainability. Promoting blog articles on LinkedIn used to be a manual task — until I decided to automate it with N8N and GPT-4o.

  This workflow lets you automatically extract blog posts, clean the content, and generate a professional LinkedIn post using an AI Agent powered by GPT-4o — all in one seamless automation.

  &gt;Save hours of repetitive work and boost your reach with AI.

  📬 For business inquiries, you can add me on LinkedIn

  Who is this template for?
  This template is perfect for:
  Bloggers and writers** who want to promote their content on LinkedIn
  Marketing teams** looking to automate professional post-generation
  Content creators** using Ghost platforms

  It generates polished LinkedIn posts with:
  A hook
  A quick summary
  A call-to-action
  A signature to drive readers to your contact page

  How does it work?
  This workflow runs in N8N and performs the following steps:

  🚀 Triggers manually or you can add a scheduler
  📰 Pulls recent blog posts from your Ghost site (via API)
  🧼 Cleans the HTML content for AI input
  🤖 Sends content to GPT-4o with a tailored prompt to create a LinkedIn post
  📄 Records all data (post content + LinkedIn output) in a Google Sheet

  What do I need to start?
  You don’t need to write a single line of code.
  Prerequisites:
  A Ghost CMS account with blog content
  A Google Sheet to store generated posts
  An OpenAI API Key
  Google Sheets API** connected via OAuth2

  Next Steps
  Use the sticky notes in the workflow to understand how to:
  Add your Ghost API credentials
  Link your Google Sheet
  Customize the AI prompt (e.g., change the author name or tone)
  Optionally add auto-posting to LinkedIn using tools like Buffer or Make



  🎥 Watch My Tutorial

  🚀 Want to explore how automation can scale your brand or business?
  📬 Let’s connect on LinkedIn

  Notes
  You can adapt this template for Twitter, Facebook, or even email newsletters by adjusting the prompt and output channel.
  This workflow was built using n8n 1.85.4

  Submitted: April 9th, 2025

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.code","n8n-nodes-base.ghost","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4264 characters]

metadata_json:
  {"categories":["automation","integration","content creation","marketing","AI"],"complexity":"medium","use_cases":["Automatically generate LinkedIn posts to promote blog articles","Repurpose long-form blog content into social copy","Store generated posts and metadata in Google Sheets for review","Scale content distribution workflows and reduce manual posting time","Adapt prompts to create posts for other channels (Twitter, Facebook, newsletters)"],"estimated_setup_minutes":30,"required_services":["Ghost CMS (blog/API access)","OpenAI (GPT-4o API key)","Google Sheets (Google account + Sheets API / OAuth2)","n8n instance","Optional: Buffer/LinkedIn or Make for auto-posting"],"key_features":["Pulls recent blog posts from Ghost via API","Cleans HTML content for AI-friendly input","AI Agent (GPT-4o) generates LinkedIn post with hook, summary, CTA, and signature","Configurable prompts and author/tone customization","Records original content and generated outputs to Google Sheets for tracking or approval"],"target_audience":["bloggers","content creators","marketing teams / social media managers"]}


name: Generate & Auto-Post Social Videos to Multiple Platforms with GPT-4 and Kling AI
author_name: Dr. Firas
author_username: drfiras
categories: []
created_at: 2025-04-09T17:44:59.665Z
updated_at: 2025-04-09T17:44:59.665Z
url: https://n8n.io/workflows/3501
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  AI-Powered Social Video Generator with Auto-Posting to Instagram, TikTok, YouTube, Facebook, LinkedIn, Threads, Pinterest, Twitter (X), and Bluesky

  Who is this workflow for?

  This workflow is ideal for content creators, marketers, social media managers, and automation enthusiasts who want to generate, customize, and publish short-form videos across multiple platforms without manual editing or posting. If you use tools like ChatGPT, Kling, or Blotato and want to streamline your content creation process, this workflow is made for you.

  What problem does this workflow solve?

  Publishing regular video content on multiple platforms is time-consuming—especially when adding voice-overs, captions, and managing distribution. This workflow solves that by:

  Automating video generation using AI (Kling + GPT-4)
  Adding realistic voice narration
  Styling subtitles for social media
  Creating titles and social captions
  Auto-posting to Instagram, TikTok, YouTube, Facebook, Threads, Twitter (X), LinkedIn, Pinterest, and Bluesky

  All of this is triggered by a simple message sent via Telegram.

  How the workflow works

  This end-to-end automation transforms a short Telegram message into a fully produced and published social video:

  Receives a text prompt from Telegram  
  Transforms it into a detailed video scene using GPT-4  
  Generates a cinematic video with Kling  
  Creates a voice-over script and converts it to audio  
  Merges the video and the audio  
  Adds styled captions  
  Writes a social caption and an SEO-optimized title  
  Saves metadata to Google Sheets  
  Sends a preview via Telegram  
  Publishes the video to 9 social platforms using Blotato

  Setup

  Connect your Telegram bot to the "Telegram Trigger" node  
  Add your OpenAI API key to all GPT-related nodes  
  Configure Kling API access in the "Generate Video" node  
  Link your Cloudinary account for audio upload  
  Connect JSON2Video to handle video merging and captioning  
  Set up Google Sheets with your preferred spreadsheet ID  
  Connect your Blotato API key and fill in the platform IDs (Instagram, TikTok, etc.)  
  Test by sending a Telegram message like:  
     generate video A robot exploring Mars, Why AI will reshape humanity
  &gt; Disclaimer: This workflow uses Community Nodes, which are only available on self-hosted instances of n8n.

  How to customize this workflow to your needs

  Change the visual style**: Adjust the GPT-4 prompt formatting to reflect your brand tone  
  Edit voice style**: Replace the TTS provider or tweak OpenAI's voice settings  
  Revise captions or titles**: Fine-tune the system prompts in the "Create Description" or "Create Title" nodes  
  Target fewer platforms**: Disable or remove nodes for platforms you don’t use  
  Add approval steps**: Insert a Telegram confirmation step before auto-publishing

  📄 Documentation: Notion Guide

  Demo Video

  🎥 Watch the full tutorial here: YouTube Demo

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegramTrigger","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.set","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.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  [encoded data, 10380 characters]

metadata_json:
  {"categories":["automation","social media","content creation","video production","AI/ML integration"],"complexity":"complex","use_cases":["Auto-generate short-form social videos from a text prompt","Scale cross-platform publishing (Instagram, TikTok, YouTube, Facebook, LinkedIn, Threads, Pinterest, X, Bluesky)","Add voiceovers, styled captions and SEO-optimized titles automatically","Save publishing metadata and preview via Telegram","Repurpose single idea into multiple platform-ready assets"],"estimated_setup_minutes":60,"required_services":["n8n (self-hosted with Community Nodes)","OpenAI (GPT-4)","Kling AI (video generation)","Blotato (multi-platform publishing API)","JSON2Video (video merging & captioning)","Cloudinary (asset/audio hosting)","Telegram (trigger and preview)","Google Sheets (metadata storage)","TTS provider or audio service (if replacing built-in Kling TTS)","Target social platforms (Instagram, TikTok, YouTube, Facebook, LinkedIn, Threads, Pinterest, X, Bluesky)"],"key_features":["Turn a Telegram message into a detailed video scene via GPT-4","Generate cinematic video with Kling AI","Create and synthesize voice-over audio","Merge video and audio and add styled captions","Auto-generate SEO titles and social captions per platform rules / tone-modification via prompts – editable prompts for brand tone control -"],"target_audience":["Content creators","Social media managers","Digital marketers/growth teams / creators scaling output via automation -? (trim)"]}


name: Smart Gmail Cleaner with AI Validator & Telegram Alerts
author_name: Reyhan
author_username: abizareyhan
categories: []
created_at: 2025-04-09T18:14:39.951Z
updated_at: 2025-04-09T18:14:39.951Z
url: https://n8n.io/workflows/3502
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Automatically clean up your Gmail inbox by deleting unwanted emails, validated by Gemini AI.  
  Ideal for anyone tired of manual inbox cleanup, this workflow helps you save time while staying in control, with full transparency via Telegram alerts.

  How it works

  Scans Gmail inbox in adjustable 2-week batches  
  Uses Gemini AI to decide if an email should be deleted or skipped  
  Applies a label to skipped emails to avoid rechecking in future runs  
  Deletes unwanted emails and sends a Telegram message with the AI's reasoning  
  Also notifies on skipped emails, with explanation included  

  Set up steps

  Connect your Gmail, Gemini AI, and Telegram accounts  
  Adjust the AI baseline to control sensitivity (e.g. how strict the filtering should be)  
  Set your batch range (default: last 2 weeks, adjustable)  
  Define your Telegram chat/channel for notifications

  Note: Thanks to n8n's modular design, you can easily switch Gemini for another AI model (like OpenAI, Claude, etc.) or replace Telegram with Discord, Slack, or even email, no code changes needed, just swap the nodes.

nodes_used:
  ["n8n-nodes-base.gmail","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.noOp","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.gmail"]

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

metadata_json:
  {"categories":["automation","email management","AI moderation","notifications","productivity"],"complexity":"medium","use_cases":["Automated inbox cleanup and decluttering","AI-assisted email triage to decide deletions","Notification of deletions/skips with AI reasoning for transparency","Batch processing of recent emails to limit scope","Labeling skipped emails to prevent re-evaluation in future runs"],"estimated_setup_minutes":20,"required_services":["Gmail","Gemini AI (or another LLM such as OpenAI/Claude)","Telegram"],"key_features":["Scans Gmail in adjustable batches (default: last 2 weeks)","Uses Gemini AI to decide delete vs skip","Applies a label to skipped emails to avoid rechecking","Deletes unwanted emails automatically","Sends Telegram alerts with AI reasoning for deletions and skips','Adjustable AI sensitivity/baseline to tune strictness','Modular node design — easily swap AI model or notification channel"],"target_audience":["Individuals with high email volume","Productivity-focused users","Small business owners and teams wanting automated inbox managements','IT/automation specialists and n8n users/developers"]}


name: Generate Written Content with GPT Recursive Writing & Editing Agents
author_name: Matty Reed
author_username: mattyreed1
categories: []
created_at: 2025-04-09T18:37:06.860Z
updated_at: 2025-04-09T18:37:06.860Z
url: https://n8n.io/workflows/3503
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?
  Content creators, writers, and automation enthusiasts experimenting with recursive AI workflows for content generation and refinement. Ideal for those exploring AI agents that collaborate in cycles of writing and editing.

  What problem does this solve?
  This template introduces a fully automated, recursive writing‑editing loop using multi‑agent collaboration. A “Writing Agent” generates content based on an input topic. An “Editing Agent” reviews it, suggests improvements, and determines whether the work is complete. The loop continues until the editor is satisfied—allowing for high‑quality, iterative AI‑assisted writing with minimal human input.

  How it works
  This template is a foundational setup to help you build custom recursive writing workflows:

  Trigger: Activated by an n8n chat message containing a topic. You can customize this to work with webhooks, forms, or other input sources.  
  Edit Handler: A code node checks for previous edits and sets a default empty string if none are found.  
  Writing Agent: Generates a blurb based on the topic and any edits. Customize the prompt in this node by editing the user/system instructions to fit your tone, domain, or style preferences.  
  Editing Agent: Suggests specific edits and outputs a structured JSON object:

        {
       "status": "incomplete",
       "edits": "Replace passive voice with active voice in the second sentence. Clarify the main idea in the opening line."
     }
     
     You can adjust the JSON format or editing criteria in the prompt field. Customize the prompt in this node by editing the user/system instructions to fit your tone, domain, or style preferences.   
  Recursive Loop: If the status is “incomplete,” the edits are passed back to the Writing Agent, which revises the blurb.  
  Completion: Once the Editing Agent outputs a status of “complete,” the workflow ends, and the final blurb is returned to the n8n chat.

  Setup Steps

  Import the Template into your n8n workspace.  
  Configure API Credentials: Link your OpenAI API key (or your preferred LLM like Claude or Gemini) in the credentials section.  
  Customize the Prompts (Optional but recommended):  
     In the Writing Agent, you can instruct it to mimic a specific tone, format, or genre.  
     In the Editing Agent, specify your editing standards (e.g., concise, persuasive, technical).  
     Modify the JSON output structure in the Structured Output Parser node if needed.  
  Test and Iterate: Run a test by sending a topic via the chat trigger and observe the loop behavior.

  Example Output
  Input Topic: “The future of remote work”  
  Final Blurb: “Remote work is here to stay. As companies embrace flexible setups, productivity and employee satisfaction are reaching new highs. The challenge now is to build culture and collaboration tools that keep up.”

  This template offers a powerful starting point for recursive AI writing. Expand it with additional agents, tone shifts, formatting layers, or sentiment analysis as needed.

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

workflow_json_compressed:
  H4sIAAAAAAAAE52XWW/bRhDHvwqxzxx3d7mnnpoGDmqgjoPGPYDAKPaYlYlIpMDDjSHouxekXEuyKFvJmyTM/Pc3567WpIxkRv6oPnSXD7ef6v6j+vvq6leSkyV2jszWpKzazlUBrwY7dIwFKXQsmBE8msBS8jxZYalWDJ3UKiRLo4+eBTTKWcl8spYVLDInBMlJh8vVwnX4vsHYfsauX72vl6sFdhjJrGt63OSkckskM/I7hr5pywfMrvtFV8K7OVZddnt5/em3d7eXg5abt2T25S4nVR1x+LjexmOEZ0xGCTQIDcIHC8ZaDShkYAoL55ghz+f8dY9VFu5dly2xbd0cswYDlg8YhzMeV4PNz5WpfqpMBeNJsHDVPNy7sroY/G6bcj7HhuRkVbdlV9YVmX0RNKd3OfkX/X1dfx3TRwvtpZcRtJMWhGEcTME1CJ5s0IbxKIcjV65xS+ywaclsvdki/IlNO+qyC7bJn8KkRqbIZAFSKgHCcgqeawMoU7BFKjgrxF6YZRXrf7Nf+pSwya5xWTePZwS4HA23XluJwzgtpzk3Q6hvcBc7bs5pQu7AoEEQkTEwtEDwVvDEQmIqyB13i1324JrS+QW2O+Adq3ctXrTYHXKxwmwr8CpWcSF2WDFQZFaAYNyC4FiAwxhBJR+VN1oWxV7XDIW/qlZ9dz4SV99JJLgyBYsKeIweBEYEa52GQIOkApUyOu2IPndNH7q+wZjd9N2q77JPrmnHvnyryPVovzXfybxIKKdnVprvAvBonDUBAmUJBJoAHoOGoDAJxmwoLN8FcLPC6t1V9n4Yxes64uIM8sVyMB89y0NeZc7E3Q2U5zzGQgaQMXEQVilw2isQngkVZLSO2h3uvaviAjOMZXe6L0Md8cViOKcLdik0UnJhNAVtjQMhFQPHuQaqgknUuSJwtWO6StnnznV9m/2/Vk+SlelFfRU9B2yvushNEAXTwJApEEImMIxZ0FEWttBeSeb39k9TdmU1z8Y1fkZl3ZPdfknPSR270M+ECW20qeBgPBYghtkxylooOGeWI1NC723Iy/hjhEv37bYphwtIHmaU8mneBrvm8ab64MoFmSW3aPGVGFBrKViMQLUWIKSQ4IxQQBlVzmmbfJKHa2k7/d+xKs0JzpOLSQqrqQ4GpBwXk0FwGAIoo5j0ihYCcX8xleHrY/axfqUb29HmyWS/5JTmwNQRHQl11Q3pnxFy1AHPnEqHAr03oKJhIFyM4IzhQHWKNASjkqSTnOy7Qa35EdC7nLjQlQ/43ActdkMTjq74DUM/6N80ERsyIw9s0HjY+o9vCuOtVdZTcKg9CBko2CQYaI7Oah6VDsMMhrqqMAxSW6bny2u2JktXDgF8WY/PqJOLbTTLSVlF/EZmdHN3t8kPTae0Tkz9pNjh/E2pnXgLTKodnjyldmLeJ9UOT55Se231TkoeX3ezNXHlP8OC6d0cn357O5lHPnsn5W9F+5rziDkR11T4U4vnKOz8h5ps8uW6zdXy6cvbVd0ZT2bndGqPvUaok6+tLdj+i+pMvAOXoxyc/pNyqhovXqcTqd1s/gPpkG5LAQ4AAA==

metadata_json:
  {"categories":["automation","content_generation","AI_agents"],"complexity":"medium","use_cases":["Iterative article or blog post drafting","Automated editing and proofreading","Marketing copy and email/newsletter generation","Rapid prototyping of content with minimal human input","Creating multi-pass AI workflows for quality refinement"],"estimated_setup_minutes":20,"required_services":["n8n instance (workflow runner)","LLM API (OpenAI GPT or alternatives like Claude, Gemini)","Optional: chat/webhook source (n8n chat trigger, forms, or external webhook)"],"key_features":["Recursive multi‑agent loop (Writing Agent + Editing Agent)","Structured JSON edit output to drive iterative revisions","Customizable prompts and editing criteria","Supports multiple LLM providers via configurable credentials","Minimal human intervention until final approval/completion condition met"],"target_audience":["Content creators and writers","Marketers and copywriters","Automation enthusiasts and workflow builders in n8n environments"]}


name: Store Retell transcripts in Sheets, Airtable or Notion from webhook
author_name: Agent Studio
author_username: agentstudio
categories: []
created_at: 2025-04-09T21:21:05.383Z
updated_at: 2025-04-09T21:21:05.383Z
url: https://n8n.io/workflows/3504
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Automatically store Retell transcripts in Google Sheets/Airtable/Notion from webhook

  Overview
  This workflow stores the results of a Retell voice call (transcript, analysis, etc.) once it has ended and been analyzed.
  It listens for call_analyzed webhook events from Retell and stores the data in Airtable, Google Sheets, and Notion (choose based on your stack).
  Useful for anyone building Retell agents who want to keep a detailed history of analyzed calls in structured tools.

  Who is it for
  For builders of Retell's Voice Agents who want to store call history and essential analytic data.

  Prerequisites
  Have a Retell AI Account
  Create a Retell agent
  Associate a phone number with your Retell agent
  Set up one of the following:
    An Airtable base and table (example: "Transcripts")
    A Google Sheet with a “Transcripts” tab
    A Notion database with columns to match the transcript fields
  Templates:
    Airtable
    Google Sheets
    Notion

  How it works
  Receives a webhook POST request from Retell when a call has been analyzed.
  Filters out any event that is not call_analyzed (Retell sends webhooks for call_started, call_ended and call_analyzed)
  Extracts useful fields like:
    Call ID, start/end time, duration, total cost
    Transcript, summary, sentiment
  Stores this data in your preferred tool:
    Airtable
    Google Sheets
    Notion

  How to use it
  Copy the webhook URL (e.g., https://your-instance.app.n8n.cloud/webhook/poc-retell-analysis) and paste it in your Retell agent under "Webhook settings" then "Agent Level Webhook URL".

  Make sure your Airtable, Google Sheet, or Notion databases are correctly configured to receive the fields.
  After each call, once Retell finishes the analysis, this workflow will automatically log the results.

  Extension
  If you use any "Post-Call Analysis" fields, you can add columns to your Airtable, Google Sheet, or Notion database.
  Then fetch the data from the call.call_analysis.custom_analysis_data object.

  Additional Notes
  Phone numbers are extracted depending on the call direction (from_number or to_number).
  Cost is converted from cents to dollars before saving.
  Dates are converted from timestamps to local ISO strings.
  You can remove any of the outputs (Airtable, Google Sheets, Notion) if you're only using one.

  👉 Reach out to us if you're interested in analysing your Retell Agent conversations.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.googleSheets","n8n-nodes-base.notion","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","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, 5624 characters]

metadata_json:
  {"categories":["automation","integration","data processing"],"complexity":"medium","use_cases":["Store voice call transcripts and analytics","Maintain call history for agents/CRM","Reporting and analytics on calls (sentiment, duration, cost)","Compliance and auditing of voice interactions","Enrich Notion/Airtable/Sheets with post-call analysis data"],"estimated_setup_minutes":20,"required_services":["Retell AI account (webhooks)","n8n instance (self-hosted or n8n.cloud)","Airtable (base & table) or Google Sheets (Google account & sheet) or Notion (workspace & database)","API access/credentials for Airtable/Google Sheets/Notion"],"key_features":["Listens for Retell call_analyzed webhooks","Filters non-analyzed events","Extracts call metadata (call ID, start/end, duration, direction, phone number)","Saves transcript, summary, sentiment and custom post-call analysis fields","Converts cost from cents to dollars and timestamps to local ISO strings」「Supports multiple destinations (Airtable, Google Sheets, Notion) — remove unused outputs as needed"],"target_audience":["Developers building Retell voice agents","Product managers tracking voice agent performance","Customer support ops maintaining call logs in tools like Airtable/Sheets/Notion"]}


name: Extract University Term Dates from Excel using CloudFlare Markdown Conversion
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-04-10T08:18:07.913Z
updated_at: 2025-04-10T08:18:07.913Z
url: https://n8n.io/workflows/3505
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n template imports an XLSX containing terms dates for a university, extracts the relevant events using AI and converts the events to an ICS file which can be imported into iCal, Google Calendar or Outlook.

  Manually adding important term dates to your calendar by hand? Stop! Automate it with this simple AI/LLM-powered document understanding and extraction template. This cool use-case can be applied to many scenarios where Excel files are predominantly used.

  How it works
  The term dates excel file (xlsx) are imported into the workflow from the university's website using the http request node.
  To parse the excel file, we use an external service - Cloudflare's Markdown Conversion Service. This converts the excel's sheets into markdown tables which our LLM can read.
  To extract the events and their dates from the markdown, we can use the Information Extractor node for structured output. LLMs are great for this use-case because they can understand the layout; one row may have many data points.
  With our data, there are endless possibilities to use it! But for this demonstration, we'll generate an ICS file so that we can import the extracted events into our calendar. We use the Python code node to combine the events into the ICS spec and the "Convert to File" node to create the ICS binary.
  Finally, let's distribute the ICS file by email to other students or instructors who  may also find this incredibly helpful for the upcoming semester!

  How to use
  Ensure you're downloading the correct excel file and amend the URL parameter of the "Get Term Dates Excel" as necessary.
  Update the gmail node with your email or other emails as required. Alternatively, send the ICS file to Google Drive or a student portal.

  Requirements
  Cloudflare Account is required to use the Markdown Conversion Service.
  Gemini for LLM document understanding and extraction.
  Gmail for email sending.

  Customising the workflow
  This template should work for other Excel files which - for a university - there are many. Some will be more complicated than others so experiment with different parsers and extraction tools and strategies.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.convertToFile","n8n-nodes-base.code","n8n-nodes-base.sort","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7120 characters]

metadata_json:
  {"categories":["automation","integration","data processing","document understanding","calendar management"],"complexity":"medium","use_cases":["Extract academic term dates from university Excel files","Convert spreadsheet schedules into calendar events (ICS)","Automate distribution of calendar files to students/staff","Generic LLM-powered table extraction from Excel/markdown"],"estimated_setup_minutes":20,"required_services":["Cloudflare Markdown Conversion Service","Gemini (Google LLM) for document understanding","Gmail (or another SMTP/email service) for distribution","HTTP-accessible source for the XLSX file"],"key_features":["Download XLSX via HTTP","Convert Excel sheets to Markdown using Cloudflare","Use LLM/Information Extractor to parse events from markdown tables","Assemble events into ICS format via Python code node","Convert ICS to binary file and send via email (or save to drive)"],"target_audience":["students","university administrators and staff","educators/coordinators who manage term dates and schedules\",\"no-code/low-code automators and developers"]}


name: Parse Gmail Inbox and Transform into Todoist tasks with Solve Propositions
author_name: Łukasz
author_username: lukaszpp
categories: []
created_at: 2025-04-10T11:11:44.593Z
updated_at: 2025-04-10T11:11:44.593Z
url: https://n8n.io/workflows/3507
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is it for?

  If you are getting a lot of emails into your Gmail inbox, then probably some of those can be solved easly by replying or by doing specific short tasks. But analyzing whole email thread content just to catch up with multiple threads can be very wasteful. So by using AI you can actually get simple propositions of what should be done before closing this specific email and actual proposed answer to that email. 

  This is especially useful if you need to do some actions before replying to email. In that case you can simply assign task to specific person, await until it's done, copy-paste AI answer when it's done, and close.

  Another good use would be if on one inbox there are working multiple people. It can make the process much more streamlined.

  How It Works?

  Script runs on your selected trigger. If you are using section "Read and Star", then you may use "Email Trigger".
  Automation is looking for exiting open Todoist tasks, that have the same title as email
  If task does not exist, then we are asking AI to analyze thread and give output that is Todoist-API-ready:
  	having summary of email content
  	having proposed actions to be taken
  	having proposed answer to this email
  If email was unstarred for some reason but task was not closed, then task is being closed automatically.
  Script FOR PURPOSE is not trying to unstar messagess which have closed tasks, because this could lead to some inconsistencies.

  How to set up?

  Select and setup your triggers, depending on your needs
  Setup connections using N8N instructions. You will need:
  	Gmail
  	Todoist
  	AI (in this workflow OpenAI is used)
  (Optional) Remove "Read and Star" section if you don't want tasks automatically read and starred.
  (Optional) Adjust AI node - especially useful if you want to use different model or have response in different language

  NOTE Chat does not heave memory attached on purpose. The purpose is that it should analyze each inbox message separately, not in thread. When using memory, it can get lost easily.

  NOTE2 You might want to adjust limits on nodes "Get Unread From Inbox", "Get Starred From Inbox" and "Get Open Tasks", especially if having issues with model complying to output structure.

  And that's it. I hope that this automation will make your Gmail &lt;-&gt; Todoist process much more streamlined!

  What's More?

  There is actually more that you could do with this automation, but it really depends on your needs. For example, you could add Form trigger to handle incoming support requests. Another thing is that you could replace Todoist with Asana or any database (like NocoDB) if you are using it for your task management.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.if","n8n-nodes-base.todoist","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.todoist","n8n-nodes-base.emailReadImap","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.todoist","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4784 characters]

metadata_json:
  {"categories":["automation","email management","task management","AI-assisted workflows","integration"],"complexity":"medium","use_cases":["Convert Gmail messages into Todoist tasks","Generate AI-proposed replies for emails","Create proposed action items from email threads","Prevent duplicate tasks by matching titles","Streamline shared/team inbox task assignment"],"estimated_setup_minutes":20,"required_services":["Gmail","Todoist","OpenAI (or compatible AI provider)"],"key_features":["AI analysis of individual emails producing: summary, proposed actions, and a proposed reply","Checks for existing open Todoist tasks with same title to avoid duplicates","Creates Todoist-API-ready task entries when none exist","Automatically closes tasks if email unstarred while task remains open","Configurable triggers (e.g., read & star, email trigger) and AI node settings (model, language)"],"target_audience":["n8n users/automation builders","Knowledge workers with high email volume","Teams sharing a single inbox (support/operations)
  productivity-focused individuals"]}


name: Transform Gmail Newsletters into Insightful LinkedIn Posts Using OpenAI
author_name: Ramsey Njire
author_username: informed-simplicity
categories: []
created_at: 2025-04-10T13:08:17.859Z
updated_at: 2025-04-10T13:08:17.859Z
url: https://n8n.io/workflows/3509
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who Is This For?  
  This workflow is perfect for content creators, marketers, and business professionals who receive regular newsletters and want to effortlessly convert them into engaging LinkedIn posts. By automating the extraction and repurposing process, you can save time and consistently share thoughtful updates with your network.

  What Problem Does This Workflow Solve?  
  Manually reading newsletters, extracting the key points, and then formatting that content into professional, engaging LinkedIn posts can be time-consuming and error-prone. This workflow automates those steps by:
  Filtering Emails:** Uses the Gmail node to process only those emails from a specific sender (e.g., newsletter@example.com).
  Extracting Content:** Leverages OpenAI to identify and summarize the top news items in your newsletter.
  Generating Posts:** Crafts concise, insightful LinkedIn posts in a smart, deadpan style with a touch of subtle humor.
  Publishing:** Posts the generated content directly to LinkedIn.

  What This Workflow Does  
  Filter Newsletters:** The Gmail node is set up to only handle emails from your chosen sender, ensuring that only relevant newsletters are processed.
  Extract Key Content:** An OpenAI node analyzes the newsletter text to pull out the most important news items, including headlines and summaries.
  Split Content:** A Split Out node divides the extracted content so each news item is processed on its own.
  Generate LinkedIn Posts:** Another OpenAI node takes each news item's details and produces a well-structured LinkedIn post that delivers practical insights and ends with a reflective observation or question.
  Publish to LinkedIn:** The LinkedIn node publishes the crafted posts directly to your account.

  Setup  
  Gmail Node: Rename it to “Filter Gmail Newsletter” and configure it to filter emails by your newsletter sender.
  OpenAI Nodes: Ensure your OpenAI API credentials are set up correctly. Customize the prompt if needed to match your desired tone.
  LinkedIn Node: Rename it to “Post to LinkedIn” and confirm that your LinkedIn OAuth2 credentials are properly configured.

  How to Customize  
  OpenAI Prompts:** Adjust the prompts in the OpenAI nodes to fine-tune the post tone and output formatting.
  Email Filter:** Change the Gmail filter to match the sender of your newsletters.
  Post Processing:** Optionally, add extra formatting (using Function nodes) to further enhance the readability of the generated LinkedIn posts.

  This template offers an automated, hands-off solution to transform your newsletter content into engaging LinkedIn updates, keeping your audience informed and inspired with minimal effort.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.gmail","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.linkedIn","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","content repurposing","social media","integration"],"complexity":"medium","use_cases":["Turn email newsletters into LinkedIn posts","Automate social media content creation","Curate and summarize industry news for audiences","Save time for content teams and solo creators"],"estimated_setup_minutes":20,"required_services":["Gmail (Google account / Gmail API)","OpenAI API","LinkedIn API (OAuth2)"],"key_features":["Filters incoming newsletter emails by sender","Extracts and summarizes key news items using OpenAI","Splits content so each item is processed individually","Generates LinkedIn-ready posts with adjustable tone","Publishes posts directly to LinkedIn via API"],"target_audience":["content creators","marketers","business professionals / executives who post on LinkedIn"]}


name: AI-Driven WooCommerce Product Importer from Google Sheet with Yoast SEO meta
author_name: Davide
author_username: n3witalia
categories: []
created_at: 2025-04-10T13:16:18.324Z
updated_at: 2025-04-10T13:16:18.324Z
url: https://n8n.io/workflows/3510
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  This workflow streamlines your WooCommerce product creation process by integrating directly with Google Sheets. Simply input product details into your spreadsheet, and the workflow takes care of the rest-automatically creating new products on your WooCommerce store with inventory management.

  But it doesn’t stop there. A dedicated SEO expert chain analyzes each product’s content and generates optimized meta titles and meta descriptions for the plugin Yoast SEO, enhancing visibility and ranking potential on search engines.

  Key Benefits:
  🔄 Automation: No more manual uploads—save time and reduce errors by syncing Google Sheets directly with WooCommerce.
  ⚡ Speed: Instantly publish multiple products with just one action.
  🧠 Built-in SEO Intelligence: Automatically generate SEO-friendly meta titles and descriptions tailored to each product.
  📈 Improved Search Visibility: Boost your store's traffic with optimized product listings.
  🧩 Customizable: Easily adapt the workflow to your specific needs or integrate with other platforms.

  How It Works  
  This workflow automates the creation of WooCommerce products and generates optimized SEO meta tags (title and description) using AI. Here’s the step-by-step process:  

  Data Retrieval**: The workflow starts by fetching product details (title, category, description, price, etc.) from a Google Sheets document.  
  Product Creation**: Each product is created in WooCommerce using the retrieved data, including categories, pricing, stock details, and images.  
  AI-Powered SEO Optimization**: An AI model (Google Gemini via OpenRouter) analyzes the product details and generates SEO-optimized meta titles (≤60 chars) and meta descriptions (≤160 chars).  
  Meta Tag Assignment**: The generated meta tags are saved back to the Google Sheets and applied to the WooCommerce product using Yoast SEO metadata.  
  Completion Tracking**: The workflow marks completed entries in Google Sheets and sends a Telegram notification upon finishing all products.  
  Set Up Steps  
  Before running the workflow, ensure the following steps are completed:  

  Step 1**: Install the Yoast SEO plugin on WordPress and add the provided PHP code to functions.php to enable meta tag API support.  
  Step 2**: Enable the WooCommerce REST API in WordPress and configure the Telegram node with a valid CHAT_ID for notifications.  
  Step 3**: Prepare a Google Sheet with product data (columns A-I in specific formats) and share its ID in the workflow. Ensure columns B, E, and F are in text format, and column I is numeric.  

  Once set up, the workflow can be triggered manually or scheduled to run automatically, streamlining product creation and SEO optimization.

  Who is it useful for?

  Ideal for eCommerce managers, digital marketers, or anyone managing large product catalogs-this workflow turns your spreadsheet into a powerful product launcher.

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

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.wooCommerce","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.wooCommerce","n8n-nodes-base.splitInBatches","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6024 characters]

metadata_json:
  {"categories":["automation","e-commerce","SEO","integration","AI"],"complexity":"complex","use_cases":["Bulk product import from spreadsheet to WooCommerce","Automated generation of Yoast SEO meta titles and descriptions","Inventory and product data synchronization","Batch publishing and scheduling of product uploads","Completion notifications for product import jobs"],"estimated_setup_minutes":45,"required_services":["Google Sheets","WooCommerce (WordPress site with REST API)","Yoast SEO plugin (with added meta API support)","OpenRouter (Google Gemini) or compatible AI provider","Telegram (for notifications)"],"key_features":["Automatically create WooCommerce products (title, category, price, stock, images) from Google Sheets","AI-powered SEO meta title (≤60 chars) and meta description (≤160 chars) generation","Writes generated meta back to Google Sheets and applies to Yoast SEO metadata","Batch processing with split-in-batches handling and completion tracking","Telegram notification on workflow completion and manual/scheduled triggers"],"target_audience":["eCommerce managers","Digital marketers / SEO specialists","Online store owners with large catalogs\",\"Developers/implementers setting up integrations"]}


name: Google Drive Duplicate File Manager
author_name: Ventsislav Minev
author_username: vminev
categories: []
created_at: 2025-04-10T15:01:08.237Z
updated_at: 2025-04-10T15:01:08.237Z
url: https://n8n.io/workflows/3512
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Google Drive Duplicate File Manager 🧹📁

  Purpose: Automate the process of finding and managing duplicate files in your Google Drive.

  Who's it for?

  Individuals and teams aiming to streamline their Google Drive.
  Anyone tired of manual duplicate file cleanup.

  What it Solves:

  Saves storage space 💾.
  Reduces file confusion 😕➡️🙂.
  Automates tedious cleanup tasks 🤖.

  How it works:

  Trigger: Monitors a Google Drive folder for new files.
  Configuration: Sets rules for keeping and handling duplicates.
  Find Duplicates: Identifies duplicate files based on their content (MD5Checksum).
  Action: Either moves duplicates to trash or renames them.

  Setup Guide:

  Google Drive Trigger ⏰:
      Set up the trigger to watch a specific folder or your entire drive (use caution with the root folder! ⚠️).
      Configure the polling interval (default: every 15 minutes).
  Config Node ⚙️:
      keep: Choose whether to keep the "first" or "last" uploaded file (default: "last").
      action: Select "trash" to delete duplicates or "flag" to rename them with "DUPLICATE-" (default: "flag").
      owner & folder: Taken from the trigger. Only change if needed.

  Key Considerations:

  Google Drive API limits:** Be mindful of API usage.
  Folder Scope:* The workflow handles one folder depth by default. (WARNING: If configured to work with the Root folder / all files in all sub-directories are processed so *USE THIS OPTION WITH CAUTION** since the workflow might trash/rename important files)
  Google Apps:** Google docs are ignored since they are not actual binary-files and their content can't be compared.


  Enjoy your clean Google Drive! ✨

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.filter","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.noOp","n8n-nodes-base.if","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.switch","n8n-nodes-base.switch"]

workflow_json_compressed:
  [encoded data, 5184 characters]

metadata_json:
  {"categories":["automation","integration","data cleanup","file management"],"complexity":"medium","use_cases":["Automatically find and remove duplicate files in a Google Drive folder","Free up storage space by deleting duplicate binaries","Flag duplicates by renaming for manual review","Enforce simple file hygiene rules across team folders","Periodic monitoring of a folder to prevent accumulation of duplicates"],"estimated_setup_minutes":15,"required_services":["Google Drive (Google API / Google account with Drive access)","n8n platform (to run the workflow)"],"key_features":["Folder trigger to monitor new files (configurable polling interval)","Duplicate detection based on file content (MD5Checksum)","Configurable keep rule: keep 'first' or 'last' upload","Configurable action for duplicates: move to trash or rename with 'DUPLICATE-' flag","Ignores Google Docs (non-binary files) when comparing content hashes"],"target_audience":["individual users","teams","IT administrators / ops staff managing Drive storage quotas"]}


name: 🥇 Token Estim8r -Sub Workflow to track AI Model Token Usage and cost with JinaAI
author_name: RealSimple Solutions
author_username: joeperes
categories: []
created_at: 2025-04-10T16:19:30.845Z
updated_at: 2025-04-10T16:19:30.845Z
url: https://n8n.io/workflows/3513
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Save Your Tokens from Evil King Browser
  &gt; Image Generated with ideoGener8r 
  n8n workflow template
  🔍 Estimate token usage and AI model cost from any workflow in n8n

  🙋‍♂️ Who is this for?
  This workflow is ideal for AI engineers, automation specialists, and business analysts who use OpenAI, Anthropic, or other token-based large language models (LLMs) in their n8n workflows and want to track their usage and accuratley estimate associated costs.

  Whether you're prototyping workflows or deploying in production, this tool gives you insight into how many tokens you're using and what that translates to in actual dollars.

  😌 What problem is this workflow solving?
  n8n users running AI-based workflows often struggle to track how many tokens were used per execution and how much those tokens cost. Without visibility into usage, it’s easy to lose track of API spending.

  This workflow solves that problem by:
  Logging token counts and costs to Google Sheets
  Supporting prompt and completion token counts
  Providing live pricing (optional, via Jina AI API)

  ⚙️ What this workflow does
  This template allows you to analyze the token usage and cost of any workflow in n8n. It uses an Execute Workflow node to call the Token Estim8r utility, which:
  Estimates prompt and completion tokens
  Retrieves model pricing (either statically or live via Jina API)
  Calculates the total cost
  Logs the data to a connected Google Sheet with timestamp and model info

  🛠️ Setup Instructions
  Create Google Sheet: Copy and paste the CSV template below into a .csv file and upload to Google Sheets:

          timestamp, Total Tokens, Prompt Tokens, Completion Tokens, Models Used, Tools Used, Total Cost, Json Array
      
  Set up pricing (optional): In the Get AI Pricing node, add your Jina API Auth Header if you want live pricing.

  Select the correct Google Sheet: Ensure your workflow is pointing to the imported sheet.

  Attach to your target workflow: Add an Execute Workflow node to the end of your target workflow.

  Point to this Token Estim8r: Choose this template as the executed workflow and send {{ $execution.id }} as the input.

  Run and view results: Trigger the target workflow and see your token usage and cost data populate in the sheet.

  🔧 How to customize this workflow to your needs
  Change the logging destination**: Instead of Google Sheets, connect to Airtable, Notion, or a database.
  Support multiple models**: Extend the price-mapping logic to cover your own model providers.
  Add Slack alerts**: Send a notification if a workflow exceeds a token or cost threshold.
  Aggregate costs**: Create a weekly summary workflow that totals cost by workflow or model.

  &gt; This utility workflow works across all n8n deployment types and uses only built-in nodes.

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

workflow_json_compressed:
  H4sIAAAAAAAAE62W224bNxCGX2XB66XB80F3aZoWQQ8pYrdBEBjBkBzKC0tcdZdyYhgC8hjp6+VJipUTx5Elxy56txfD+b+ZHf7DK9IlMiO/2mfvX5/jLxc/vH73KkRJWrLECmR2RboyVigRn09xAWQGa0BbHqXmnGHW2VjUzPvoQUdujcPMhY4iy+CYCiBYQquFcpEF0pKKy9UCKj4dMI3HWNerp/1ytcCKicwyLEbctKTAEsmM/Iy1+a1PuGhO+nMszdN+XWoDJTUnfb8Yp2wwH8nszWlLSp9w+ry6rih6wbRXQL1jgaqsOPXeArXOGuedStlkciP06gxLExddPO/KvPn04eMJjrV51w/nedG/+/Thn0nqcjWFFlfoVosGGPFoCWUNi5Ohm89xIC1Z9WNXu76Q2RvKOWOtduy0JSsYYIkVh5HMrjbXyf7CYdxG8k37mRpMFhyCoYJ7oMpnoMEi0qx9Cg6UT2C+UhdXmqlFz95jXE+izY9Q4SBqcWUH0DHWSvUIPgGQmOeS+igjVVwG6sB7ajjEYJ2UmSfyze978rz5c4Q53o8W+4Q7bMo9iE3csCnvZDYcabDBUGWYpUFoTU1AYCr5HBN8ZTue2Lq3L9fl7b1kI9YdMPGwpskjdYMmEYz1CqnQyVAlRaCe6UilYDY7mwNT7k7b/hi62JX5QbKzWlcv8e81jhNhX54NQz9Mk9+X2pU1vsT5egHDi3VdrXdqONjaAetw+aL8BN2CzOqwxp2i1NHXfqN0CqxQlGeVqTLW0sA10pQCODReYozk7lUet4Xh9hY/Sak5Xi+XMFw+YjSkeeRkmBRsUFnT4KWgSiVHneScCqEZIKLQTNwi7fv5ApvjM8Q6HsSab6Nugm7hmYfhqSN9A2izAOeCpdwETVVERZ0HRY2LylpgLofbo1u7eH7Z/N5XPDy225jPId94kjOs5XfxtmODpZIZIYfvf2KGmcwUdclbqgAsBZECDSHYyeDRcrXjqtfmhKkJl82T0tczHJpXn431ID5eH/oSd4+9cvN9+zq6VYCWKLhLVGcBVBkeqEchKGqupRGJaXR7O20e32o9uf9dvId1WkbnMiJQlqKazDBRkKCpkAZRGB+sD3tB+X+cCSoeOxSnLYFYuwv8YhUj1tqV+fYkftlJL4aEky1d8CnFxfXx7WPCa9SQUVPLzGQgLNCQtaNZsGhzRsX1VEzsS8E4pdom3nHH2RVZQjeV8eZq+wZ4lNdsj7akKwnfkxnbnJ5u2jur4ZDEPo/em/DuHtyX8uBG2pvzwO6/h3XfGj6Ie2/79orsd829At/3hX0K33vtHJa692H3P0ltNv8CUG+Ni0sLAAA=

metadata_json:
  {"categories":["automation","integration","cost monitoring","AI/ML"],"complexity":"medium","use_cases":["Estimate token usage (prompt and completion) for LLM calls","Calculate and attribute API costs per workflow execution","Log token and cost data to Google Sheets for reporting","Add usage/cost tracking to existing n8n workflows via Execute Workflow","Optionally fetch live pricing via Jina AI API"],"estimated_setup_minutes":20,"required_services":["Google Sheets","Jina AI API (optional for live pricing)","Any LLM provider used in your workflows (e.g., OpenAI, Anthropic)","n8n (platform)"],"key_features":["Sub-workflow that estimates prompt and completion tokens","Calculates total cost using static or live pricing","Logs timestamped records (tokens, model, tools, cost) to Google Sheets","Attachable via Execute Workflow node to any target workflow","Configurable pricing source and logging destination (can be swapped for Airtable/Notion/DB)"],"target_audience":["AI engineers","Automation specialists","Business analysts monitoring AI spend/usage"]}


name: Build an MCP Server with Google Calendar and Custom Functions
author_name: Solomon
author_username: solomon
categories: []
created_at: 2025-04-10T16:33:11.142Z
updated_at: 2025-04-10T16:33:11.142Z
url: https://n8n.io/workflows/3514
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 19:51:23
description:
  Learn how to build an MCP Server and Client in n8n with official nodes.

  &gt; ⚠ Requires n8n version 1.88.0 or higher.

  In this example, we use Google Calendar and custom functions as two separate MCP Servers, demonstrating how to integrate both native and custom tools.

  How it works

  The AI Agent connects to two MCP Servers. Each MCP Trigger (Server) generates a URL exposing its tools. This URL is used by an MCP Client linked to the AI Agent.

  Whenever you make changes to the tools, there’s no need to modify the MCP Client. It automatically keeps the AI Agent informed on how to use each tool, even if you change them over time.

  That’s the power of MCP 🙌

  Who is this template for

  Anyone looking to use MCP with their AI Agents.

  How to set up

  Instructions are included within the workflow itself.

  Check out my other templates

  👉 https://n8n.io/creators/solomon/

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.mcpClientTool","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.debugHelper","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.set","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@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"]

workflow_json_compressed:
  [encoded data, 6524 characters]

metadata_json:
  {"categories":["integration","automation","AI agents","developer tools"],"complexity":"complex","use_cases":["Expose native and custom tools to an AI agent via MCP","Automate Google Calendar operations from an AI-driven agent","Run a separate MCP Server for custom functions alongside native nodes","Allow dynamic tool updates without changing the MCP client","Prototype and test MCP-based agent workflows"],"estimated_setup_minutes":20,"required_services":["n8n (version 1.88.0 or higher)","Google Calendar API / Google account","n8n Agent / MCP-capable AI Agent"],"key_features":["Creates two MCP Servers (Google Calendar and custom functions)","Uses MCP Trigger nodes to generate tool URLs for MCP Client","Separates server-side tools from client so tools can change without client edits","Integrates Google Calendar with AI agent workflows","Demonstrates use of toolWorkflow, mcpClientTool, and custom function tooling"],"target_audience":["n8n developers","Automation engineers","AI practitioners experimenting with tools-as-a-service (MCP)"]}


name: Import Google Keep notes to Google Sheets using OpenAI and Google Drive
author_name: PollupAI
author_username: zeerobug
categories: []
created_at: 2025-04-11T07:09:28.990Z
updated_at: 2025-04-11T07:09:28.990Z
url: https://n8n.io/workflows/3517
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n workflow automates the import of your Google Keep notes into a structured Google Sheet, using Google Drive, OpenAI for AI-powered processing, and JSON file extraction. It's perfect for users who want to turn exported Keep notes into a searchable, filterable spreadsheet – optionally enhanced by AI summarization or transformation.

  Who is this for?
  Researchers, knowledge workers, and digital minimalists who rely on Google Keep and want to better organize or analyze their notes.

  Anyone who regularly exports Google Keep notes and wants a clean, automated workflow to store them in Google Sheets.

  Users looking to apply AI to process, summarize, or extract insights from raw notes.

  What problem is this workflow solving?

  Exporting Google Keep notes via Google Takeout gives you unstructured .json files that are hard to read and manage. This workflow solves that by:
  Filtering relevant .json files
  Extracting note content
  (Optionally) applying AI to analyze or summarize each note
  Writing the result into a structured Google Sheet

  What this workflow does

  Google Drive Search: Looks for .json files inside a specified "Keep" folder.

  Loop: Processes files in batches of 10.

  File Filtering: Filters by .json extension.

  Download + Extract: Downloads each file and extracts note content from JSON.

  Optional Filtering: Only keeps non-archived notes or those meeting content criteria.

  AI Processing (optional): Uses OpenAI to summarize or transform the note content.

  Prepare for Export: Maps note fields to be written.

  Google Sheets: Appends or updates the target sheet with the note data.

  Setup
  Export your Google Keep notes using Google Takeout:

  Deselect all, then choose only Google Keep.

  Choose “Send download link via email”.

  Unzip the downloaded archive and upload the .json files to your Google Drive.

  Connect Google Drive, OpenAI, and Google Sheets in n8n.

  Set the correct folder path for your notes in the “Search in ‘Keep’ folder” node.

  Point the Google Sheet node to your spreadsheet

  How to customize this workflow to your needs
  Skip AI processing: If you don't need summaries or transformations, remove or disable the OpenAI Chat Model node.

  Filter criteria: Customize the Filter node to extract only recent notes, or those containing specific keywords.

  AI prompts: Edit the Tools Agent or Chat Model node to instruct the AI to summarize, extract tasks, categorize notes, etc.

  Field mapping: Adjust the “Set fields for export” node to control what gets written to the spreadsheet.

  Use this template to build a powerful knowledge extraction tool from your Google Keep archive – ideal for backups, audits, or data-driven insights.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.extractFromFile","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4476 characters]

metadata_json:
  {"categories":["automation","integration","data processing","knowledge management","AI enhancement"],"complexity":"medium","use_cases":["Import Google Keep exports into a structured Google Sheet","Create searchable/filterable backups of notes","AI-powered summarization or transformation of notes","Filter and extract specific notes (e.g., non-archived, keyword-based)","Batch processing of exported JSON note files"],"estimated_setup_minutes":20,"required_services":["n8n instance","Google Drive (folder with exported Keep .json files)","Google Sheets (target spreadsheet)","OpenAI (optional, for summarization/processing)","Google Takeout (for exporting Keep notes)"],"key_features":["Search Google Drive for .json Keep files","Batch processing (splitInBatches, default 10)","Download and extract JSON note content","Optional OpenAI/agent-based summarization or transformation","Filter notes (e.g., non-archived or keyword-based) before export to sheet」「Map and append/update rows in Google Sheets"],"target_audience":["Researchers","Knowledge workers","Digital minimalists who use Google Keep regularly」「Analysts and information managers looking to structure unstructured notes"]}


