# templates

name: Automate AI News Videos to Social Media with GPT-4o & HeyGen and Postiz
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-07-27T10:50:06.847Z
updated_at: 2025-07-27T10:50:06.847Z
url: https://n8n.io/workflows/6524
scraped_at: 2025-12-24 13:02:41
description:
  🤖 Automated AI News Video Creation and Social Media Publishing Workflow
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  🎯 Overview:
  This workflow fully automates the creation and social media distribution of AI-generated news videos. It fetches news, crafts captions, generates avatar videos via HeyGen, stores them, and publishes them across Instagram, Facebook, and YouTube via Postiz.

  🔄 WORKFLOW PROCESS:
  News Fetching: Reads the latest news from an RSS feed.
  AI Captioning: Generates concise, engaging captions using an AI agent (GPT-4o-mini).
  Video Generation: Creates an AI avatar video using HeyGen with the generated caption.
  Video Storage: Downloads the video and uploads it to Google Drive for archival.
  Data Logging: Records all news and video metadata into Google Sheets.
  Postiz Upload: Uploads the video to Postiz's internal storage for publishing.
  Social Publishing: Fetches Postiz integrations and routes the video to Instagram, Facebook, and YouTube after platform-specific content cleaning.

  ⚙️ KEY TECHNOLOGIES:
  RSS Feeds:** News source.
  LangChain (n8n nodes):** AI Agent and Chat OpenAI for caption generation.
  HeyGen API:** AI avatar video creation.
  Google Drive:** Video file storage.
  Google Sheets:** Data logging and tracking.
  Postiz API:** Unified social media publishing platform.

  ⚠️CRITICAL CONFIGURATIONS:
  API Keys:** Ensure HeyGen and Postiz API keys are correctly set in credentials and the 'Setup Heygen Parameters' node.
  HeyGen IDs:** Verify avatar_id and voice_id in 'Setup Heygen Parameters'.
  Postiz URL:** Confirm https://postiz.yourdomain.com is your correct Postiz instance URL across all HTTP Request nodes.
  Credentials:** All Google, OpenAI, and Postiz credentials must be properly linked.

  📈BENEFITS:
  Automated content creation and distribution, saving significant time.
  Consistent branding and messaging across multiple platforms.
  Centralized logging for tracking and performance analysis.
  Scalable solution for high-volume content demands.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.rssFeedRead","n8n-nodes-base.limit","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10284 characters]


name: Fetch All Page Content from Website and Store with Gemini Embedding in Pinecone
author_name: Zain Khan
author_username: zain
categories: []
created_at: 2025-07-27T13:54:43.036Z
updated_at: 2025-07-27T13:54:43.036Z
url: https://n8n.io/workflows/6526
scraped_at: 2025-12-24 13:02:42
description:
  Fetch and Extract all Website Pages Content and Store in Pinecone Vector Database as KnowledgeBase with Google Gemini Embeddings
   
  Use cases are many: Populate a custom chatbot's knowledge base, create a powerful search index for your website, or build a comprehensive repository of information for internal tools!

  Good to know

  At time of writing, Pinecone and Gemini API costs apply based on usage. Refer to their respective pricing pages for updated information.
  The models used in this workflow are subject to regional availability. If you encounter a "model not found" error, the service may not be available in your country or region.

  How it works

  Input Collection: The workflow starts by collecting URLs, either from a user-provided sitemap or a list of individual page URLs.
  URL Processing: It then fetches sitemap XML (if provided), converts it to JSON, extracts all page URLs, and merges them with any manually entered URLs. All duplicate URLs are removed to ensure efficiency.
  Content Fetching: The workflow iterates through the unique URLs, sending HTTP requests to download the HTML content of each page. A small delay is added between requests to be courteous to the website servers.
  Content Extraction: The HTML content is then processed to extract the main textual content from the page's body, excluding images, and cleaning the text for better quality.
  Embedding Generation: Gemini's embedding model converts the extracted text into vector embeddings, capturing the semantic meaning of the content.
  Pinecone Storage: Finally, these vector embeddings, along with their associated content, are uploaded to your specified Pinecone index, creating a searchable knowledge base. Existing data in the namespace is cleared before new data is inserted.

  How to use

  The workflow is triggered by a form where you input your sitemap or page URLs.
  You can monitor the execution flow within n8n to see pages being processed and uploaded.
  The Wait 5 sec node can be adjusted if you need to fetch content more rapidly or slowly, depending on the website's rate limits.

  Requirements

  Google Gemini API key** for text embeddings.
  Pinecone API key** for vector database storage.

  Customising this workflow

  This workflow can be adapted for various purposes. Consider:

  Adding more sophisticated HTML parsing logic to extract specific sections of a webpage.
  For building a Web Support Chatbot
  Integrating with other services to trigger updates to the knowledge base (e.g., automatically updating when new blog posts are published).
  Connecting the Pinecone knowledge base to a chatbot or search application for enhanced functionalities.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.xml","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.removeDuplicates","n8n-nodes-base.splitInBatches","n8n-nodes-base.html","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","@n8n/n8n-nodes-langchain.vectorStorePinecone","n8n-nodes-base.formTrigger","n8n-nodes-base.switch"]

workflow_json_compressed:
  H4sIAAAAAAAAE62WaY/bNhCG/4rgz8uU95FPRc4G3bRBkh5AERQjcugVYkuurc1uEOx/78h7SCvLR4p+MGDY5MuHw3ln5tusbhJuZk//+jar0uzpzECyYARnKmpg2qFmpc+ZRY7GGpQmSTM7m9WwRFr9oa3i56/FL02L9GP7ddX9WPuabVVZCRt8stmuuVuyajZVWzU1HaisPwtaf6IfYU1yLa6J49ssNnWLdUtCs5tbzd/pn+0ecXN2h6lyds6VjkldJqYljwyy8sxKUMFkI0FAj/nyul1DbIt3MMfit/fnm72wkb4+xhRB2TOhghyDjuHkA5wVzqI1gkXMhmmNnkGJifFssy29MMKVPdyfb8+L50395U5nH9n1cjECc0GeBNZHLUYQ6NAxJbOlqOXESqkivbU03iqtwfAe7BW28aL4ULW4hNVerou2Xb3Hfy5x0474rDqNTz/pQ2ckR6EEcZksmfbGMUB6YeOkTiDBc68G6bdaVLevuume9XtedRs8Kezpr0pxy2ikZ95pT87gJSutJD4eXSgNZIjYo73F9bFcW3ZLHmNJIT1hqaMxU4OYAaeEAsjMxkhe8F30gkNWCq+S4kYbMUi397hsvmDx4pJiF6E9wrjern5YvBnhSidPwh1EUUZvYswMQupSsBTMG3DMWc95CV4JHNSX86ZZFb+SNU6w7qZLhjf1M6Cs3QHVnp8W1x5UdYknArMckGmeBAOnHeNlMMolondxt8I8vyte+90ytrG0XQyFOpqJYvDkPJXZ8UgVpiSHaBsEC8JmJskiEEBHjDtG3kbwp49UbV416yIeBd1j61teJf332DqDiMJHSykqA9PoiJcbZDxoE3iAHMIgRf8AcrUpNhj34l3RkhGXVw9cV1heNM3nN93RIXmHlmcWUibbglAsRCkZKjRgyjJQZ5sdDX1fQ2WZFSRHCdyVT61zoDJA5iMxzjF7boLor/ICWijOG0i47u/yI13mh/5CC6jn8QKq+klq4uWSXuUFZrhctN3mh73Dzimtpqvu9s5D3OBt0lEiMyZEpoOWDCJPTKYUo8PSZRV67te4rOqqeLmkvpWqer45gR4fFr9umvkCbzVG6HybPSeg97mjrfCeekDkQC0h6cBCacmIQbnsgwBUtgd/V9VIuY3Fz3VztcA0x2eULyfQf8HYNusP9MF7jSn0k4zaVxGdTYoWFfPZ0ShggZqGQkHxTxRyGwx5t4d/U68u2/uOW5BLV51nL9eL/VUvN+vlx3U1n4+TRMjQzS3OjvwApdEgqVFITDTgxexowCM/+FzqgLGUxh31gxxY27psMXhgQVvKK205Cypp5rgzQtAtKQSDjn1VUS3aX8Pv/x5eRGt+f5GjPZHW0MvR83Wbt+Pk3Yn0bUnPTHo06XYnHhoftivPZlWd8Hr2lJNqv2nPVLSz5RPhDYaAqfOPtOJJyUFtnJI82DAnBYcVihSh+vu+Cj0SPuar4b7xEY9DNoW9bwaeJB4tntI7MPBPSo7b95TmsQhMCo9TbEp4alQ8SNnf6r/JiVu53Rp/+/4Pdfx7E6DfOCafSstD77YzRh135JHxZjKg0wb8f3x1oJZP1qJRYZzUPHTTKdGpQWpC+ObmXzO3nLQHEAAA


name: Generate Personalized Icebreakers
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-27T14:53:36.549Z
updated_at: 2025-07-27T14:53:36.549Z
url: https://n8n.io/workflows/6530
scraped_at: 2025-12-24 13:02:41
description:
  Overview

  Create hyper-personalized cold outreach messages at scale by combining Google Sheets, web scraping, and AI.
  This workflow is perfect for sales teams, SDRs, and agency owners looking to boost reply rates with icebreakers that actually feel personal. It takes lead info from a Google Sheet—including name, email, company, and website—then visits each site, pulls meaningful text, and crafts a tailored message using AI. The personalized message is then written back into your lead sheet, ready for use in cold email, LinkedIn DMs, or CRM enrichment.

  Who’s it for
  Cold email outreach specialists  
  B2B sales and SDR teams  
  Lead generation agencies  
  Founders doing outbound manually  

  How it works
  Pull lead data from Google Sheets  
  Loop through each lead and scrape their website using an HTTP node  
  Clean and format the website content  
  Use OpenAI to generate a custom-written icebreaker for each lead  
  Write the final icebreaker back into the spreadsheet

  How to set up
  Connect your Google Sheets account  
  Replace the spreadsheet ID and column names with your own  
  Set up your OpenAI credentials (or whichever LLM you prefer)  
  Tweak the prompt for tone or style  
  Hit "Execute Workflow" and watch the sheet populate

  Requirements
  Google Sheets credentials  
  OpenAI (or any compatible LLM node)  
  The websites listed must be publicly accessible and static

  How to customize
  Modify the scraping logic to focus on specific sections (e.g. About page, Case Studies)  
  Adjust the AI prompt to match your brand’s tone  
  Add filtering logic to skip low-value leads  
  Integrate with your CRM to send the data downstream

nodes_used:
  ["n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.markdown","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.limit","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.openAi","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, 8628 characters]


name: LinkedIn Content Creator System
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-27T15:10:25.327Z
updated_at: 2025-07-27T15:10:25.327Z
url: https://n8n.io/workflows/6531
scraped_at: 2025-12-24 13:02:41
description:
  Overview

  Automate your entire LinkedIn content machine — from research and image generation to scheduling and posting — with this AI-powered workflow.

  This workflow pulls in past content ideas, researches new ones using Perplexity, generates a new post (with image) using your brand's voice and style, saves the output to Google Sheets, and auto-posts twice a week to LinkedIn. It’s perfect for founders, creators, and marketers who want to stay consistent on LinkedIn without manually writing or designing every post.

  Who’s it for

  Solo founders or marketers building a LinkedIn presence  
  Content creators growing their audience  
  Agencies managing client content calendars  
  Anyone who wants to post consistently without spending hours on content  

  How it works

  Pulls old ideas from a Google Sheet  
  Schedules content creation using n8n’s cron node  
  Uses Perplexity to research current topics and trends  
  Feeds the data into an AI agent (like Claude or GPT) to generate post copy  
  Creates a branded image using a reference style and OpenAI’s image model  
  Saves post content + image URL into Google Sheets  
  Twice a week, selects one ready post, downloads the image, and publishes it to LinkedIn

  How to set up

  Add your Google Sheet ID and column names for posts  
  Connect your OpenAI (or Claude) and Perplexity API keys  
  Upload a brand-style reference image to Google Drive  
  Configure your LinkedIn account and connect the node  
  Adjust the cron schedule for both post creation and auto-posting  
  (Optional) Edit the AI prompt to match your personal voice or niche  

  Requirements

  Google Drive & Sheets access  
  OpenAI or Claude API key  
  Perplexity API key  
  LinkedIn credentials (via n8n’s LinkedIn integration)

  How to customize

  Change the prompt for the AI to fit your voice or audience  
  Swap out Perplexity for another research method  
  Adjust how often you want posts scheduled or published  
  Swap LinkedIn for Twitter, Slack, or another platform  
  Add Notion or Airtable as your CMS backend

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.convertToFile","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.code","n8n-nodes-base.limit","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","n8n-nodes-base.linkedIn","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7976 characters]


name: Lead Gen Agent (Telegram)
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-27T15:18:20.672Z
updated_at: 2025-07-27T15:18:20.672Z
url: https://n8n.io/workflows/6532
scraped_at: 2025-12-24 13:02:41
description:
  Overview
  Use your voice or text to command a Telegram-based AI agent that scrapes leads or generates detailed research reports—instantly.

  This workflow turns your Telegram bot into a full-blown outbound machine. Just tell it what type of leads you need, and it’ll use Apollo to find and save them into a spreadsheet. Or drop in a LinkedIn profile, and it’ll generate a personalized research dossier with info like job title, company summary, industry insights, and more. It handles voice messages too—just speak your request and get the results sent back like magic.

  Who’s it for
  Cold emailers and growth marketers  
  Solo founders running outbound  
  SDRs doing daily prospecting  
  Agencies building high-quality lead lists or custom research for clients  

  How it works
  Triggered by a message (text or voice) in Telegram  
  If it’s voice, it transcribes using OpenAI Whisper  
  Uses an AI agent to interpret intent: scrape leads or research a person  
  For lead scraping:
    Gathers criteria (e.g., location, job title) via Telegram  
    Calls the Apollo API to return fresh leads  
    Saves the leads to Google Sheets  
  For research reports:
    Takes a LinkedIn profile link  
    Uses AI and lead data tools to create a 1-page professional research report  
    Sends it back to the user via email

  Example outputs
  Lead scraping**: Populates a spreadsheet with names, roles, LinkedIn links, company info, emails, and more  
  Research report**: A formatted PDF-style brief with summary of the person, company, and key facts

  How to set up
  Connect your Telegram bot to n8n  
  Add your OpenAI credentials (for Whisper + Chat agent)  
  Plug in your Apollo API key or scraping tool  
  Replace the example spreadsheet with your own  
  Customize the prompts for tone or data depth  
  (Optional) Add PDF generation or CRM sync

  Requirements
  Telegram Bot Token  
  OpenAI API Key  
  Apollo (or other scraping API) credentials  
  LinkedIn URLs for research functionality

  How to customize
  Replace Apollo with Clay, People Data Labs, or another scraping tool  
  Add a CRM push step (e.g. Airtable, HubSpot, Notion)  
  Add scheduling to auto-scrape daily  
  Reformat the research report as a downloadable PDF  
  Change the agent’s tone or role (e.g. “Outreach Assistant,” “Investor Scout,” etc.)

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

workflow_json_compressed:
  [encoded data, 6472 characters]


name: Personalized Thank-You Emails with Website Scraping, GPT-4o, and Gmail
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-27T15:27:41.560Z
updated_at: 2025-07-27T15:27:41.560Z
url: https://n8n.io/workflows/6533
scraped_at: 2025-12-24 13:02:42
description:
  Overview
  Impress your leads with ultra-personalized “thank you” emails that look hand-written — sent automatically seconds after they submit your intake form.

  This workflow instantly scrapes the prospect's website, extracts meaningful copy, and uses AI to write a custom thank-you message referencing something specific from their site. It gives the impression you immediately reviewed their business and crafted a thoughtful reply — without lifting a finger.

  Who’s it for
  Agencies and consultants using intake forms  
  Freelancers booking discovery calls  
  B2B businesses that want high-touch first impressions  
  Sales teams automating initial follow-ups  

  How it works
  Triggered when a form (e.g. Tally, Typeform) is submitted  
  Scrapes the website URL provided in the form  
  Converts HTML to Markdown and extracts plain copy  
  Uses AI to write a personalized thank-you message referencing the site  
  Waits briefly to simulate real typing delay  
  Sends the message via Gmail (or any email provider)

  Example use case
  &gt; Prospect submits a form with their website: coolstartup.ai  
  &gt;  
  &gt; 30 seconds later, they receive:  
  &gt;  
  &gt; “Thanks for reaching out! I just checked out Cool Startup’s homepage — love the clean UX and mission around AI for teams. Looking forward to diving into how we might collaborate!”

  How to set up
  Connect your form tool (e.g. Tally or Typeform)  
  Connect Gmail or another email provider  
  Customize the AI prompt to match your tone  
  Set the wait time (e.g. 30 seconds) for a realistic delay  
  Update your website scraping logic if needed  

  Requirements
  Form tool with webhook support  
  OpenAI (or other LLM) credentials  
  Email sending integration (Gmail, Mailgun, Postmark, etc.)

  How to customize
  Edit the email tone (casual, formal, funny, etc.)  
  Add CRM integration to log form submission and response  
  Trigger additional workflows like lead scoring or Slack alerts  
  Add fallback logic if the website doesn’t scrape cleanly

nodes_used:
  ["n8n-nodes-base.markdown","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.typeformTrigger","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4420 characters]


name: AI Proposal Generator
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-27T15:40:45.891Z
updated_at: 2025-07-27T15:40:45.891Z
url: https://n8n.io/workflows/6534
scraped_at: 2025-12-24 13:02:41
description:
  Overview
  Stop spending hours formatting proposals. This workflow turns a short post-call form into a high-converting, fully-personalized PandaDoc proposal—plus updates your CRM and drafts the follow-up email for you.

  After a sales call, just fill out a 3-minute form summarizing key pain points, solutions pitched, and the price. The workflow uses AI to generate polished proposal copy, then builds a PandaDoc draft using dynamic data mapped into the JSON body (which you can fully customize per business). It also updates the lead record in ClickUp with the proposal link, company name, and quote—then creates an email draft in Gmail, ready to send.

  Who’s it for
  Freelancers and consultants sending service proposals  
  Agencies closing deals over sales calls  
  Sales reps who want to automate proposal follow-up  
  Teams using ClickUp as their lightweight CRM  

  How it works
  After a call, fill out a short form with client details, pitch notes, and price  
  AI generates professional proposal copy based on form input  
  Proposal is formatted and sent to PandaDoc via HTTP request  
  ClickUp lead is updated with:
    Company Name  
    Proposal URL  
    Quote/price  
  A Gmail draft is created using the proposal link and a thank-you message  

  Example use case
  &gt; You hop off a call, fill out:  
  &gt; - Prospect: Shopify agency  
  &gt; - Pain: No lead gen system  
  &gt; - Solution: Automated cold outreach  
  &gt; - Price: $2,500/month  
  &gt;  
  &gt; 3 minutes later: PandaDoc proposal is ready, CRM is updated, and your email draft is waiting to be sent.

  How to set up
  Replace the form with your preferred tool (e.g. Tally, Typeform)  
  Connect PandaDoc API and structure your proposal template  
  Customize the JSON body inside the HTTP request to match your business  
  Link your ClickUp space and custom fields  
  Connect Gmail (or other email tool) for final follow-up draft  

  Requirements
  Form tool for capturing sales call notes  
  OpenAI or LLM key for generating proposal copy  
  PandaDoc API access  
  ClickUp custom fields set up for lead tracking  
  Gmail integration

  How to customize
  Customize your PandaDoc proposal fields in the JSON body of the HTTP node  
  Replace ClickUp with another CRM like HubSpot or Notion  
  Adjust AI tone (casual, premium, corporate) for proposal writing  
  Add Slack or Telegram alerts when the draft is ready  
  Add PDF generation or auto-send email step

nodes_used:
  ["@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.clickUp","n8n-nodes-base.clickUp","n8n-nodes-base.clickUp","n8n-nodes-base.clickUp","n8n-nodes-base.typeformTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8704 characters]


name: Lead Research Report Emails
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-27T15:54:08.744Z
updated_at: 2025-07-27T15:54:08.744Z
url: https://n8n.io/workflows/6535
scraped_at: 2025-12-24 13:02:41
description:
  Overview
  This workflow auto-generates a personalized research report on any prospect who books a call with you—using their LinkedIn profile and advanced web research.

  When a call is booked in your calendar, the system looks up the lead’s LinkedIn URL from a Google Sheets database. That profile is then scraped using Relevance AI to extract posts, experiences, and education. It also runs a deep-dive query on the person using Perplexity to uncover relevant news, insights, and context. This structured data is passed to an AI model that produces a clean profile summary, suggested pain points, and solution ideas. Finally, the system builds and sends you a fully formatted HTML report via email—ready to review before your meeting.

  Who’s it for
  Founders taking high-stakes sales calls  
  SDRs/BDRs booking back-to-back meetings  
  Agencies and consultants who want to personalize discovery calls  
  Teams doing high-touch enterprise sales or B2B outreach  

  How it works
  Triggered when a new call is booked via Cal.com  
  Finds matching LinkedIn URL from a local database (Google Sheets)  
  Scrapes public LinkedIn data via Relevance AI  
  Runs a Perplexity query on the prospect for deeper context  
  Formats the scraped data using Code nodes  
  Sends structured info to AI to generate:
    A company + person profile  
    Suggested pain points and solutions  
  Formats everything into a clean HTML report  
  Emails you the final summary to prep for the call

  Example use case
  &gt; Someone books a call. You receive a report 2 minutes later in your inbox with:  
  &gt; - Their role, company, and latest posts  
  &gt; - What their business does  
  &gt; - Recent news and context from Perplexity  
  &gt; - Predicted pain points and how you might help  
  &gt;  
  &gt; You show up to the call prepped and ready

  How to set up
  Connect your Cal.com trigger (or replace with any booking tool)  
  Set up your Google Sheet(s) with contact info + LinkedIn profiles  
  Add Relevance AI API key and configure LinkedIn scraping (they have free credits)  
  Link Perplexity API for web research  
  Customize the AI prompts and report formatting  
  Connect Gmail or preferred email provider to send reports

  Requirements
  Cal.com or other booking platform  
  Google Sheets for lead storage  
  Relevance AI account and API access  
  Perplexity API key  
  OpenAI or similar LLM for summarization  
  Email integration (e.g. Gmail)

  How to customize
  Replace Cal.com with Calendly, SavvyCal, etc.  
  Change AI prompt tone and structure of the report  
  Add CRM push (e.g. log into HubSpot, Notion, or Airtable)  
  Add Slack or Telegram notifications for call alerts  
  Format reports as PDF instead of HTML for download

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.html","n8n-nodes-base.gmail","n8n-nodes-base.calTrigger","n8n-nodes-base.perplexity","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.filter","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, 11348 characters]


name: Inbox Manager (GPT, Google Calendar & Supabase)
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-27T16:09:15.362Z
updated_at: 2025-07-27T16:09:15.362Z
url: https://n8n.io/workflows/6537
scraped_at: 2025-12-24 13:02:41
description:
  Overview
  Turn your cluttered inbox into a smart, autonomous assistant that categorizes emails, replies to leads, checks your calendar, and notifies you on Telegram—all without lifting a finger.

  This workflow is designed for a marketing agency, but can be adapted for any business. It classifies incoming emails into categories like Sales, Client Communication, Reports, Billing, and Other. If it detects a new lead or priority message, it routes the email to one of two agents:
  The Calendar Agent checks your availability in Google Calendar and drafts a consultation reply  
  The Knowledge Agent answers FAQs using your business knowledge base (with Supabase embeddings)  

  Both agents create draft email responses and send a Telegram alert so you're always in the loop.

  Who’s it for
  Founders and agency owners buried in emails  
  Marketing teams handling lots of inbound leads  
  Customer support managers automating Tier 1 replies  
  Anyone who wants a cleaner, smarter inbox without hiring a VA  

  How it works
  Gmail trigger watches for incoming emails  
  Email content is passed to an AI classifier to apply a label (Sales, Client, Billing, etc.)  
  If the message is a new inquiry or lead, it’s routed to:
    Calendar Agent → checks Google Calendar and drafts a reply with available slots  
    Knowledge Agent → searches vector DB and drafts a helpful reply from documentation  
  Both agents create a Gmail draft response and send a Telegram notification with summary  

  Example use case
  &gt; A lead emails you asking for a discovery call.  
  &gt;  
  &gt; ✅ Email is labeled "Sales"  
  &gt; ✅ AI Calendar Agent checks your Google Calendar  
  &gt; ✅ A reply is drafted offering free time slots  
  &gt; ✅ You get a Telegram ping:  
  &gt; "New lead: Abdul Mir. I checked your calendar and drafted a reply. Check your email!"  

  How to set up
  Connect your Gmail and set up a trigger for new messages  
  Train the AI classifier with example categories and emails  
  Connect Google Calendar API for availability checks  
  Upload your internal docs and sync to Supabase vector store  
  Connect Telegram for alerts  
  Customize AI prompts and escalation logic as needed  

  Requirements
  Gmail integration  
  OpenAI or Claude API (for classification + chat agents)  
  Google Calendar API  
  Supabase (or Pinecone, Weaviate) for RAG vector DB  
  Telegram bot API key

  How to customize
  Add custom labels like “Recruiting,” “Investor,” or “Support”  
  Replace Telegram with Slack or SMS alerts  
  Add CRM sync to update lead status  
  Escalate complicated replies to a human via task creation  
  Add auto-send (instead of drafts) after review or based on confidence score

nodes_used:
  ["n8n-nodes-base.gmailTrigger","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.googleCalendarTool","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.gmail","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.switch","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolVectorStore","n8n-nodes-base.gmail","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 12932 characters]


name: Company Knowledge Base Agent (RAG)
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-27T16:25:45.103Z
updated_at: 2025-07-27T16:25:45.103Z
url: https://n8n.io/workflows/6538
scraped_at: 2025-12-24 13:02:41
description:
  Overview
  Turn your docs into an AI-powered internal or public-facing assistant. This chatbot workflow uses RAG (Retrieval-Augmented Generation) with Supabase vector search to answer employee or customer questions based on your company documents—automatically updated via Google Drive.

  Whether it’s deployed in Telegram or embedded on your website, this agent supports voice and text input, transcribes voice messages, pulls relevant context from your internal files, and responds with a helpful, AI-generated answer. Two additional workflows listen for file changes in a shared Google Drive folder, convert them into embeddings using OpenAI, and sync them with your Supabase vector DB—so your knowledge base is always up to date.

  Who’s it for
  Startups building an internal ops or HR assistant  
  SaaS companies deploying help bots on their websites  
  Customer support teams reducing repetitive questions  
  Knowledge-driven teams needing internal AI assistants  

  How it works
  Triggered via Telegram bot (or easily swapped for website chatbot or “on chat message”)  
  If user sends a voice message, it’s transcribed to text using OpenAI Whisper  
  Input is passed to a RAG agent that:
    Searches a Supabase vector store for relevant docs  
    Pulls context from matching chunks using OpenAI embeddings  
    Responds with an LLM-powered answer  
  The response is sent back as a Telegram message  
  Two separate workflows:
    New File Workflow: Listens for file uploads in Google Drive, extracts and splits text, then sends to Supabase with embeddings  
    Update File Workflow: Detects file edits, deletes old rows, and updates embeddings for the revised file  

  Example use case
  &gt; You upload your internal policy docs and client FAQs into a Google Drive folder.  
  &gt;  
  &gt; Employees or customers can now ask:  
  &gt; - “What’s the refund policy for annual plans?”  
  &gt; - “How do I request a day off?”  
  &gt; - “What tools are approved for use by the engineering team?”  
  &gt;  
  &gt; The chatbot instantly pulls up the right section and responds with a smart, confident answer.

  How to set up
  Connect a Telegram bot or use n8n’s webchat / chatbot widget  
  Hook up OpenAI for transcription, embeddings, and completion  
  Set up a Supabase project and connect it as a vector store  
  Upload your internal docs to Google Drive  
  Deploy the “Add File” and “Update File” automations to manage embedding sync  
  Customize the chatbot’s tone and personality with prompt tweaks  

  Requirements
  Telegram bot (or n8n Chat widget)  
  Google Drive integration  
  Supabase with pgvector or similar enabled  
  OpenAI API key (Whisper, Embeddings, ChatGPT)  
  Two folders: one for raw documents and one for tracking updates  

  How to customize
  Swap Supabase for Pinecone, Weaviate, or Qdrant  
  Replace Telegram with web chat, Slack, Intercom, or Discord  
  Add logic to handle fallback answers or escalate to human  
  Embed the chat widget on your site for public customer use  
  Add filters (e.g. department, date, author) to narrow down context

nodes_used:
  ["n8n-nodes-base.set","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.extractFromFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.supabase","n8n-nodes-base.set","n8n-nodes-base.limit","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.vectorStoreSupabase","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolVectorStore","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8152 characters]


name: Build an All-Source Knowledge Assistant with Claude, RAG, Perplexity, and Drive
author_name: Paul
author_username: diagopl
categories: []
created_at: 2025-07-27T21:17:51.143Z
updated_at: 2025-07-27T21:17:51.143Z
url: https://n8n.io/workflows/6542
scraped_at: 2025-12-24 13:02:41
description:
  📜 Detailed n8n Workflow Description

  Main Flow

  The workflow operates through a three-step process that handles incoming chat messages with intelligent tool orchestration:

  Message Trigger: The When chat message received node triggers whenever a user message arrives and passes it directly to the Knowledge Agent for processing.

  Agent Orchestration: The Knowledge Agent serves as the central orchestrator, registering a comprehensive toolkit of capabilities:
     LLM Processing: Uses Anthropic Chat Model with the claude-sonnet-4-20250514 model to craft final responses
     Memory Management: Implements Postgres Chat Memory to save and recall conversation context across sessions
     Reasoning Engine: Incorporates a Think tool to force internal chain-of-thought processing before taking any action
     Semantic Search: Leverages General knowledge vector store with OpenAI embeddings (1536-dimensional) and Cohere reranking for intelligent content retrieval
     Structured Queries: Provides structured data Postgres tool for executing queries on relational database tables
     Drive Integration: Includes search about any doc in google drive functionality to locate specific file IDs
     File Processing: Connects to Read File From GDrive sub-workflow for fetching and processing various file formats
     External Intelligence: Offers Message a model in Perplexity for accessing up-to-the-minute web information when internal knowledge proves insufficient

  Response Generation: After invoking the Think process, the agent intelligently selects appropriate tools based on the query, integrates results from multiple sources, and returns a comprehensive Markdown-formatted answer to the user.

  Persistent Context Management

  The workflow maintains conversation continuity through Postgres Chat Memory, which automatically logs every user-agent exchange. This ensures long-term context retention without requiring manual intervention, allowing for sophisticated multi-turn conversations that build upon previous interactions.

  Semantic Retrieval Pipeline

  The semantic search system operates through a sophisticated two-stage process:

  Embedding Generation**: Embeddings OpenAI converts textual content into high-dimensional vector representations
  Relevance Reranking**: Reranker Cohere reorders search hits to prioritize the most contextually relevant results
  Knowledge Integration**: Processed results feed into the General knowledge vector store, providing the agent with relevant internal knowledge snippets for enhanced response accuracy

  Google Drive File Processing

  The file reading capability handles multiple formats through a structured sub-workflow:

  Workflow Initiation: The agent calls Read File From GDrive with the selected fileId parameter
  Sub-workflow Activation: When Executed by Another Workflow node activates the dedicated file processing sub-workflow
  Operation Validation: Operation node confirms the request type is readFile
  File Retrieval: Download File1 node retrieves the binary file data from Google Drive
  Format-Specific Processing: FileType node branches processing based on MIME type:
     PDF Files: Route through Extract from PDF → Get PDF Response to extract plain text content
     CSV Files: Process via Extract from CSV → Get CSV Response to obtain comma-delimited text data
     Image Files: Analyze using Analyse Image with GPT-4o-mini to generate visual descriptions
     Audio/Video Files: Transcribe using Transcribe Audio with Whisper for text transcript generation
  Content Integration: The extracted text content returns to Knowledge Agent, which seamlessly weaves it into the final response

  External Search Capability

  When internal knowledge sources prove insufficient, the workflow can access current public information through Message a model in Perplexity, ensuring responses remain accurate and up-to-date with the latest available information.

  Design Highlights

  The workflow architecture incorporates several key design principles that enhance reliability and reusability:

  Forced Reasoning**: The mandatory Think step significantly reduces hallucinations and prevents tool misuse by requiring deliberate consideration before action
  Template Flexibility: The design is intentionally generic—organizations can replace **[your company] placeholders with their specific company name and integrate their own credentials for immediate deployment
  Documentation Integration**: Sticky notes throughout the canvas serve as inline documentation for workflow creators and maintainers, providing context without affecting runtime performance

  System Benefits

  With this comprehensive architecture, the assistant delivers powerful capabilities including long-term memory retention, semantic knowledge retrieval, multi-format file processing, and contextually rich responses tailored specifically for users at [your company]. The system balances sophisticated AI capabilities with practical business requirements, creating a robust foundation for enterprise-grade conversational AI deployment.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.memoryPostgresChat","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.rerankerCohere","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.postgresTool","@n8n/n8n-nodes-langchain.vectorStoreSupabase","n8n-nodes-base.manualTrigger","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.switch","n8n-nodes-base.switch","n8n-nodes-base.extractFromFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.googleDriveTool","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.mcpClientTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.perplexityTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 11344 characters]


name: Forward Chatwoot Messages to WhatsApp via Evolution API with Media Support
author_name: Thiago Vazzoler Loureiro
author_username: thiagovazzoler
categories: []
created_at: 2025-07-27T23:30:49.094Z
updated_at: 2025-07-27T23:30:49.094Z
url: https://n8n.io/workflows/6544
scraped_at: 2025-12-24 13:02:43
description:
  Description
  This workflow automates forwarding messages received in Chatwoot to WhatsApp using the Evolution API. It provides full support for different types of messages, ensuring rich and seamless communication with the end user.

  What Problem Does This Solve?
  Manually forwarding messages from Chatwoot to WhatsApp can be time-consuming and error-prone, especially when handling diverse message types like media files. This subworkflow streamlines the process, automating message delivery while maintaining message fidelity and media compatibility.

  Features

  Support for plain text messages;
  Support for media messages including images, videos, documents, and audio;
  Automatic detection of media type based on the content_type field;
  Automatic processing of incoming messages from Chatwoot via webhook or native integration

  Prerequisites
  Before using this subworkflow, make sure you have:
  Evolution API key and URL;
  Incoming messages from Chatwoot via webhook or native integration;
  Configured HTTP Request node in n8n

  Suggested Usage
  This subworkflow should be attached to a main workflow that receives messages from Chatwoot. It is ideal for automated customer service, help desks, or hybrid bots (human + automated), enabling messages originating from Chatwoot to be faithfully redirected to WhatsApp.

nodes_used:
  ["n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.noOp","n8n-nodes-base.switch","n8n-nodes-base.if","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-evolution-api.evolutionApi","n8n-nodes-evolution-api.evolutionApi","n8n-nodes-evolution-api.evolutionApi","n8n-nodes-evolution-api.evolutionApi","n8n-nodes-evolution-api.evolutionApi","n8n-nodes-base.switch","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-evolution-api.evolutionApi"]

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


name: Automated Blog Creation & Multi-Platform Publishing with GPT/Gemini & WordPress
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2025-07-28T03:59:54.721Z
updated_at: 2025-07-28T03:59:54.721Z
url: https://n8n.io/workflows/6547
scraped_at: 2025-12-24 13:02:46
description:
  Ultimate Blogblizt is a powerhouse workflow that solves the tedious task of crafting and publishing SEO-optimized tech blog posts. It integrates AI models (OpenAI, Google Gemini), WordPress, and multiple social media platforms to automate everything from topic selection and article writing to image creation and virality-driven social sharing—saving content creators hours while boosting online engagement and reach.

  💡 Why Use Wp + Socmed?

  Time saver:** Cuts blog production time drastically by automating 100% of content creation, image generation, and publishing
  Stress relief:** No more writer's block or juggling multiple platforms—your n8n instance is your tireless content assistant
  Boost engagement:** Tailored social media posts optimized for X, LinkedIn, Discord, Threads, and Bluesky maximize your viral potential
  Competitive edge:** Combines multi-AI tech with multi-platform publishing to keep your blog ahead of the curve and your audience hooked
  No 3rd Party Cost:** This workflow use official API at no cost.

  ⚡ Perfect For

  Content creators:** Bloggers focused on technology and AI topics who want stress-free publishing
  Small businesses:** Teams needing consistent, SEO-rich content and social presence without extra hires
  Marketing pros:** Those craving seamless workflows connecting WordPress blogging and social channels effortlessly

  🔧 How It Works

  | Step | Phase | Description |
  |------|-------|-------------|
  | ⏱ | Trigger | Automatically runs every 3 hours or manually via Telegram command "generate" |
  | 📎 | Process | AI picks a blog category and crafts a unique, SEO-friendly title plus metadata, then writes a 1,500–2,500 word article |
  | 🤖 | Smart Logic | Generates a lifelike featured image with OpenAI, uploads post and media to WordPress, and uses OpenRouter AI to create viral social media posts tailored by platform |
  | 💌 | Output | Publishes blog posts live and posts viral-ready content simultaneously to X, LinkedIn, Discord, Threads, and Bluesky |

  🔐 Quick Setup



  Import JSON file to your n8n instances
  Add credentials: WordPress API, OpenAI, Google Gemini, Twitter/X OAuth2, LinkedIn OAuth2, Discord Webhook, Threads API, Bluesky API, OpenRouter API, Telegram Bot
  Customize: Input your WordPress site URL, category mappings, social account IDs, and access tokens
  Update: Replace placeholder URLs/endpoints with your live WordPress and API URLs
  Test: Trigger manually via Telegram or run scheduled trigger and verify content creation and social posts

  🧩 You'll Need

  Active n8n instances
  WordPress site with REST API enabled and credentials
  API keys/accounts: OpenAI, Google Gemini, Twitter/X, LinkedIn, Discord Webhook, Threads, Bluesky, OpenRouter
  Telegram Bot for manual triggering (optional but recommended)

  🛠️ Level Up Ideas

  Integrate newsletter automation for blog post digests
  Customize social post templates to include trending hashtags or emojis automatically

  Made by: khaisa Studio  
  Tags: automation, blogging, social media, AI, WordPress, SEO  
  Category: Content Creation & Social Sharing  
  Need custom work? Contact me

nodes_used:
  ["@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.telegramTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.outputParserStructured","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","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitOut","n8n-nodes-base.switch","n8n-nodes-base.twitter","n8n-nodes-base.linkedIn","n8n-nodes-base.discord","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.if","n8n-nodes-base.wordpress","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatAzureOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote"]

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


name: Generate & Test SQL Code with GPT/OpenRouter AI and PostgreSQL Sandbox
author_name: Muhammadumar
author_username: muhammad
categories: []
created_at: 2025-07-28T13:49:22.924Z
updated_at: 2025-07-28T13:49:22.924Z
url: https://n8n.io/workflows/6583
scraped_at: 2025-12-24 13:02:46
description:
  This is the core AI agent used for isra36.com. 

  Don't trust complex AI-generated SQL queries without double-checking them in a safe environment. That's where isra36 comes in. It automatically creates a test environment with the necessary data, generates code for your task, runs it to double-check for correctness, and handles errors if necessary.
  If you enable auto-fixing, isra36 will detect and fix issues on its own. If not, it will ask for your permission before making changes during debugging. In the end, you get thoroughly verified code along with full details about the environment it ran in.

  Setup

  It is an embedded chat for the website, but you can pin input data and run it on your own n8n instance.

  Input data
  sessionId: uuid\_v4. Required to handle ongoing conversations and to create table names (used as a prefix).
  threadId: string | nullable. If aiProvider is openai, conversation history is managed on OpenAI’s side. This is not needed in the first request—it will start a new conversation. For ongoing conversations, you must provide this value. You can get it from the OpenAIMainBrain node output after the first run. If you want to start a new conversation, just leave it as null.
  apiKey: string. Your API key for the selected aiProvider.
  aiProvider: string. Currently supported values: openai, openrouter.
  model: string. The AI model key (e.g., gpt-4.1, o3-mini, or any supported model key from OpenRouter).
  autoErrorFixing: boolean. If true, it will automatically fix errors encountered when running code in the environment. If false, it will ask for your permission before attempting a fix.
  chatInput: string. The user's prompt or message.
  currentDbSchemaWithData: string. A JSON representation of the database schema with sample data. Used to inform the AI about the current database structure during an ongoing conversation. Please use the '[]' value in the first request. Example string for filled db structure : '{"users":[{"id":1,"name":"John Doe","email":"john.d@example.com"},{"id":2,"name":"Jane Smith","email":"jane.s@example.com"}],"products":[{"product_id":101,"product_name":"Laptop","price":999.99}]}'

  Make sure to fill in your credentials:

  Your OpenAI or OpenRouter API key
  Access to a local PostgreSQL database for test execution

  You can view your generated tables using your preferred PostgreSQL GUI. We recommend DBeaver.
  Alternatively, you can activate the “Deactivated DB Visualization” nodes below. To use them, connect each to the most recent successful Set node and manually adjust the output.
  However, the easiest and most efficient method is to use a GUI.

  Workflow Explanation

  We store all input values in the localVariables node. Please use this node to get the necessary data.
  OpenAI has a built-in assistant that manages chat history on their side. For OpenRouter, we handle chat history locally. That’s why we use separate nodes like ifOpenAi and isOpenAi. Note that if logic can also be used inside nodes.
  The AutoErrorFixing loop will run only a limited number of times, as defined by the isMaxAutoErrorReached node. This prevents infinite loops.
  The Execute_AI_result node connects to the PostgreSQL test database used to execute queries.

  Guidance on customization

  This setup is built for PostgreSQL, but it can be adapted to any programming language, and the logic can be extended to any programming framework.

  To customize the logic for other programming languages:
  Change instruction parameter in localVariables node.
  Replace the Execute_AI_result PostgreSQL node with another executable node. For example, you can use the HTTP Request node.
  Update the GenerateErrorPrompt node's prompt parameter to generate code specific to your target language or framework.


  Any workflows built on top of this must credit the original author and be released under an open-source license.

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

workflow_json_compressed:
  [encoded data, 9804 characters]


name: Automatically Enrich Salesforce Accounts with Web Crawling, LinkedIn Data, GPT
author_name: Le Nguyen
author_username: leeseifer
categories: []
created_at: 2025-07-28T15:22:52.165Z
updated_at: 2025-07-28T15:22:52.165Z
url: https://n8n.io/workflows/6586
scraped_at: 2025-12-24 13:02:44
description:
  Crawl the web, mine LinkedIn, think with GPT, and auto‑enrich Salesforce—all inside n8n.

  🔧 How It Works (High-Level)

  Listen – Trigger on new Salesforce Accounts.  
  Discover – Crawl the company site (depth-limited) + grab/parse LinkedIn.  
  Distill – GPT (JSON mode) returns a clean insight object + HTML summary.  
  Enrich – Update the Account record in Salesforce automatically.

  🛠 Setup Steps (≈15–25 minutes)

  Import the workflow JSON into n8n.  
  Connect Credentials: Salesforce OAuth2 + OpenAI API key.  
  Tune Settings: Set maxDepth (default = 1), confirm the model (e.g., gpt‑4o).  
  Test with a sample Account to verify crawl + update.  
  Enable Trigger and let it run.

  💼 Business Impact

  Zero manual research**: Insights appear in Salesforce instantly.  
  Consistent data**: Unified JSON schema + confidence rating.  
  Faster qualification**: Reps see services, size, HQ, etc., without leaving SF.  
  Scalable & automated**: Works 24/7 on every new Account.  
  AI-ready outputs**: Raw JSON for automations, HTML for dashboards/Lightning.

  🌟 Optional Enhancements

  Push insights to Slack/Teams.  
  Auto-create tasks if rating &lt; 60 or data missing.  
  Archive raw HTML to S3 for audits.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.salesforceTrigger","n8n-nodes-base.salesforce","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.html","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.html","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.salesforce","n8n-nodes-base.stickyNote"]

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


name: Automated Upwork Messages Alerts to Slack with Gmail and Google Gemini AI
author_name: Zain Khan
author_username: zain
categories: []
created_at: 2025-07-28T21:32:29.089Z
updated_at: 2025-07-28T21:32:29.089Z
url: https://n8n.io/workflows/6600
scraped_at: 2025-12-24 13:02:42
description:
  Upwork Messages Notifications (Gmail to Slack) - Fully Automated Alerts

  This n8n workflow streamlines how you receive Upwork client messages, sending instant notifications to Slack. It demonstrates two approaches: a code-based extraction and an AI-powered one with Google Gemini.

  Use Cases

  Instant Communication:** Get real-time alerts for new Upwork client messages in your team's Slack channel.
  Improved Responsiveness:** Quickly respond to client inquiries and maintain strong communication.
  Centralized Notifications:** Keep all your essential work-related notifications in one place.

  Good to Know

  The workflow is set to poll your Gmail every 3 minutes for unread Upwork messages, which can be reduced or increased.
  The AI Information Extractor with Google Gemini provides a more refined and robust method for data parsing compared to custom code.
  Usage of Google Gemini may incur costs. Refer to Gemini Pricing for updated information.
  Google Gemini models can be geo-restricted. If you encounter a "model not found" error, it might not be available in your region.

  How it Works

  Method 1: Code-Based Extraction

  Gmail Trigger: The workflow starts by monitoring your Gmail for new, unread emails from "via Upwork".
  Code Node: A custom JavaScript code block is used to extract the client's name and the message content directly from the email's text.
  Slack Notification: The extracted client name and message are then formatted and sent as a new message to a designated Slack channel.

  Method 2: AI-Powered Extraction with Google Gemini (Recommended)

  Gmail Trigger X: Similar to Method 1, this part also triggers on new unread Upwork emails.
  Information Extractor (AI): This powerful node, powered by Google Gemini, takes the entire email text and intelligently extracts structured information like the "client" name and the "message" content based on a defined schema. This method is more robust and requires less manual parsing logic.
  Google Gemini Chat Model: (Implicitly used by the Information Extractor) This node provides the underlying AI capabilities for intelligent information extraction.
  Send to Slack X: The refined output from the AI Information Extractor (client name and message) is then sent to a Slack channel.

  How to Use

  Gmail Credentials: Ensure you have configured your Gmail OAuth2 credentials in n8n for both "Gmail Trigger" nodes.
  Slack Credentials: Set up your Slack OAuth2 credentials in n8n for both "Send to Slack" nodes and select the desired Slack channel.
  Google Gemini Credentials: For the AI-powered workflow, you'll need to set up your Google Gemini API key as a credential in n8n.
  Activate Workflows: Enable both workflows in n8n to start receiving notifications. You can compare the output quality of each method.

  Requirements

  n8n instance** (self-hosted or cloud)
  Gmail Account** connected to Upwork notifications.
  Slack Workspace** and a designated channel for notifications.
  Google Gemini API key** for the AI-powered extraction workflow.

nodes_used:
  ["n8n-nodes-base.gmailTrigger","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.gmailTrigger","n8n-nodes-base.slack","n8n-nodes-base.slack"]

workflow_json_compressed:
  H4sIAAAAAAAAE52UTWvbQBCG/4rQ2ePuaj+VUyGU0EN7SSmFEsrOfjgi9irYKiQE//eO5FDJiR07uUhoNPPus7Oz71OZ2xA35cXvp7IJ5UXJDQs+egk1iggyWAvWB4TIXKqMdEyiL2dldqtI2Vcr1yyLH+tmsYhrCneP93042wyDLqDbxPmizxqT7ttN0zVtpkVB2hlwzW4o6tak2cU1wTxtd1I/6WtI5PNqO3smRGOEFkqDt9yCrFQNtbMelGc+SkzRKTUSXhLGUTC/+zkBIpazgEYcVWPixicwaAhHSw8osQbNvBVJO6GCGXG+5tSuV65frfjy0K2d79pJ4z4T4KcRcunywt+6Js+bsW5aNiHXcsaNfk8jrebItXLALCaQERHqIBQkppUIWBkt68lRt+1iGYuruGpyU1zeuq74RpDLM+CXqz59J7Crf9F0o2eiOj0E/8mli5VBLYEnS0NqUAJyGyA6bp1xwlmNI/l11/i7x+J72x2fhM2Q85wyHdCK0YRW6lVjS9/mLuaOpMo3QLWqpTAabJSSQC0HtDxA0jEoHhIPUhwE5R8jta+aeB5nDJUzwVV0HxXSQ2qgVnIQaEJUknkSP3Lri18fufe8su8dV5NUrYNG4M7SuGLSgLUP4DWTISCiUHzSy5hD0bXF9dL5uzcYN/3/fTgpqnPYqrkYr5KtdG2EBcV0TSZAdmSTrCFGbkzQynomjrC9h0zo8+yyR6McOvocfV87TMJghfSmU+nFyPHzEDnGM+TNyiaH+FBesO3NDa2z7/iH1PYd97QIHc4hmRNOeVD3cM3JLU/H4zDvMe8jadf86Z3ur1vE59j5m3hVu7/wdvsP89iGRJ8HAAA=


name: Automate Browser Tasks with Airtop & GPT-4 - Reddit Posting Example
author_name: Joseph
author_username: mjomba
categories: []
created_at: 2025-07-29T13:20:24.335Z
updated_at: 2025-07-29T13:20:24.335Z
url: https://n8n.io/workflows/6638
scraped_at: 2025-12-24 13:02:43
description:
  Overview

  This n8n workflow creates an intelligent AI agent that automates browser interactions through Airtop's browser automation platform. The agent can control real browser sessions, navigate websites, interact with web elements, and maintain detailed session records - all while providing live viewing capabilities for real-time monitoring.

  Youtube Tutorial: https://www.youtube.com/watch?v=XoZqFY7QFps

  What This Workflow Does

  The AI agent acts as your virtual assistant in the browser, capable of:

  Session Management**: Creates, monitors, and terminates browser sessions with proper tracking
  Web Navigation**: Visits websites, clicks elements, fills forms, and performs complex interactions
  Multi-Window Support**: Manages multiple browser windows within sessions
  Live Monitoring**: Provides real-time viewing URLs so you can watch the automation
  Data Tracking**: Maintains comprehensive records of all browser activities
  Profile Integration**: Uses Airtop profiles for authenticated sessions
  Email Notifications**: Sends live URLs and status updates via Gmail

  Demo Use Case: Automated Reddit Posting

  The tutorial demonstrates the agent's capabilities by:

  Logging into Reddit using pre-configured Airtop profile credentials
  Navigating to a specific subreddit based on user input
  Creating and publishing a new post with title and content
  Tracking the entire process with detailed session records
  Providing live viewing access throughout the automation

  Core Workflow Components

  1. Chat Interface Trigger
  Node Type**: Chat Trigger
  Purpose**: Accepts user commands for browser automation tasks
  Input**: Natural language instructions (e.g., "Create a Reddit post in r/automation")

  2. AI Agent Processing
  Node Type**: OpenAI GPT-4
  Purpose**: Interprets user requests and determines appropriate browser actions
  System Message**: Contains the comprehensive agent instructions from your documentation
  Capabilities**:
    Understands complex web interaction requests
    Plans multi-step browser workflows
    Manages session states intelligently
    Handles error scenarios gracefully

  3. Google Sheets Data Management
  Multiple Google Sheets nodes manage different aspects of session tracking:

  Browser Sessions Sheet
  Fields**: session_id, description, status, created_date
  Purpose**: Tracks active browser sessions
  Operations**: Create, read, update session records

  Window Sessions Sheet  
  Fields**: session_id, window_id, description, airtop_live_view_url, status
  Purpose**: Tracks individual browser windows within sessions
  Operations**: Create, read, update window records

  Airtop Profiles Sheet
  Fields**: platform_name, platform_url, profile_name
  Purpose**: Stores available authenticated profiles
  Operations**: Read available profiles for session creation

  4. Airtop Browser Automation Nodes
  Multiple specialized nodes for browser control:

  Session Management
  create_session**: Creates new browser sessions with optional profile authentication
  terminate_session**: Closes browser sessions and updates records
  read_airtop_profiles**: Retrieves available authentication profiles

  Window Management
  create_window**: Opens new browser windows with specified URLs
  query_page**: Analyzes page content and identifies interactive elements

  Web Interaction
  click_element**: Clicks specific page elements based on AI descriptions
  type_text**: Inputs text into form fields and input elements

  5. Gmail Integration
  Node Type**: Gmail Send
  Purpose**: Sends live viewing URLs and status updates
  Recipients**: User email for real-time monitoring
  Content**: Complete Airtop live view URLs for browser session observation

  6. Error Handling & Validation
  Input Validation**: Ensures required parameters are present
  Session State Checks**: Verifies browser session status before operations
  Error Recovery**: Handles failed operations gracefully
  Data Consistency**: Maintains accurate session records even during failures

  Technical Requirements

  API Credentials Needed
  Airtop.ai API Key
     Sign up at airtop.ai
     Generate API key from dashboard
     Required for all browser automation functions

  OpenAI API Key
     OpenAI account with GPT-4 access
     Required for AI agent intelligence and decision-making

  Google Sheets Access
     Google account with Google Sheets API access
     Copy the provided template and get your sheet URL
     Required for session and profile data management

  Gmail OAuth
     Google account with Gmail API access
     Required for sending live viewing URLs and notifications

  Airtable Base Structure
  Create three tables in your Airtable base:

  1. Browser Details (Sessions)
  session_id (Single line text)
  description (Single line text)
  status (Single select: Open, Closed)
  created_date (Date)

  2. Window Details (Windows)
  session_id (Single line text)
  window_id (Single line text)
  description (Single line text)
  airtop_live_view_url (URL)
  status (Single select: Open, Closed)

  3. Airtop Profiles
  platform_name (Single line text)
  platform_url (URL)
  profile_name (Single line text)

  Workflow Logic Flow

  User Request Processing
  User Input: Natural language command via chat interface
  AI Analysis: OpenAI processes request and determines required actions
  Session Check: Agent reads current browser session status
  Action Planning: AI creates step-by-step execution plan

  Browser Session Lifecycle
  Session Creation:
     Check for existing open sessions
     Ask user about profile usage if needed
     Create new Airtop session
     Record session details in Airtable

  Window Management:
     Create browser window with target URL
     Capture live viewing URL
     Record window details in Airtable
     Send live URL via Gmail

  Web Interactions:
     Query page content for element identification
     Execute clicks, form fills, navigation
     Monitor page state changes
     Handle dynamic content loading

  Session Cleanup:
     Terminate browser session when complete
     Update all related records to "Closed" status
     Send completion notification

  Data Flow Architecture
  User Input → AI Processing → Session Management → Browser Actions → Data Recording → User Notifications

  Key Features & Benefits

  Intelligent Automation
  Natural Language Control**: Users can describe tasks in plain English
  Context Awareness**: AI understands complex multi-step workflows
  Adaptive Responses**: Handles unexpected page changes and errors
  Profile Integration**: Seamlessly uses stored authentication credentials

  Real-Time Monitoring
  Live View URLs**: Watch browser automation as it happens
  Status Updates**: Real-time notifications of task progress
  Session Tracking**: Complete audit trail of all browser activities
  Multi-Window Support**: Handle complex workflows across multiple tabs

  Enterprise-Ready Features
  Error Recovery**: Robust handling of network issues and page failures
  Session Persistence**: Maintains state across workflow interruptions
  Data Integrity**: Consistent record-keeping even during failures
  Scalable Architecture**: Can handle multiple concurrent automation tasks

  Use Cases Beyond Reddit

  This workflow architecture supports automation for any website:

  Social Media Management
  Multi-platform posting**: Facebook, Twitter, LinkedIn, Instagram
  Community engagement**: Responding to comments, messages
  Content scheduling**: Publishing posts at optimal times
  Analytics gathering**: Collecting engagement metrics

  Business Process Automation
  CRM data entry**: Updating customer records across platforms
  Support ticket management**: Creating, updating, routing tickets
  E-commerce operations**: Product listings, inventory updates
  Report generation**: Gathering data from multiple web sources

  Personal Productivity
  Travel booking**: Comparing prices, making reservations
  Bill management**: Paying utilities, checking statements
  Job applications**: Submitting applications, tracking status
  Research tasks**: Gathering information from multiple sources

  Advanced Configuration Options

  Custom Profiles
  Create Airtop profiles for different websites
  Store authentication credentials securely
  Switch between different user accounts
  Handle multi-factor authentication flows

  Workflow Customization
  Modify AI system prompts for specific use cases
  Add custom validation rules
  Implement retry logic for failed operations
  Create domain-specific interaction patterns

  Integration Extensions
  Connect to additional data sources
  Add webhook notifications
  Implement approval workflows
  Create audit logs and reporting

  Getting Started

  📊 Copy the Google Sheets Template - Just click and make a copy!
  Set up credentials for Airtop, OpenAI, and Gmail
  Import workflow into your n8n instance
  Configure node credentials with your API keys and Google Sheets URL
  Test with simple commands like "Visit google.com"
  Expand to complex workflows as you become comfortable

  Best Practices

  Session Management
  Always check for existing sessions before creating new ones
  Properly terminate sessions to avoid resource waste
  Use descriptive names for sessions and windows
  Regularly clean up old session records

  Error Handling
  Implement timeout handling for slow-loading pages
  Add retry logic for network failures
  Validate element existence before interactions
  Log detailed error information for debugging

  Security Considerations
  Store sensitive credentials in Airtop profiles, not workflow
  Use webhook authentication for production deployments
  Implement rate limiting to avoid being blocked by websites
  Regular audit of browser session activities

  This workflow transforms n8n into a powerful browser automation platform, enabling you to automate virtually any web-based task while maintaining full visibility and control over the automation process.

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

workflow_json_compressed:
  [encoded data, 8624 characters]


name: Automate Video Content Posting to Multiple Social Platforms with Postiz
author_name: Aitor | 1Node
author_username: aitoralonso
categories: []
created_at: 2025-07-29T16:01:19.131Z
updated_at: 2025-07-29T16:01:19.131Z
url: https://n8n.io/workflows/6653
scraped_at: 2025-12-24 13:02:42
description:
  This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

  This workflow automates the distribution and scheduling of video content across multiple social platforms (TikTok, YouTube, Facebook, Instagram, Threads) through Postiz. Videos are collected from Google Drive, approved manually, and scheduled via the Postiz community node. 

  🧾 Requirements

  Google Drive** account with access to the folder that will watch for new items uploaded.
  videos in mp4 format ready to be shared or, alternatively you can connect a community node from Cloud Convert to convert the format before uploading into Postiz.
  Postiz account with integrations for TikTok, YouTube, Facebook, Instagram, and Threads
  🔗 Useful Links

  Postiz Docs
  Postiz Community Node

  🔄 Workflow Steps

  Trigger: Google Drive File Added
     Watches your selected Google Drive folder for new file uploads.

  Download File
     Downloads the detected video from Drive.

  Upload to Postiz
     Video is uploaded to Postiz to prepare for social scheduling.

  Set Fields
     Manual setting of social options 

  Extract Datetime (AI)
     Uses OpenAI to find/predict intended publish date & time, as the datetime format  is required to schedule on Postiz

  Get Social Integrations
     Fetches a list of user’s connected platforms from Postiz.

  Split and Filter Integrations
     Splits the process per platform (TikTok, YouTube, Facebook, Instagram, Threads).

  Schedule Post
     For each enabled platform, schedules the video with chosen options.

  🙋‍♂️ Need Help?

  Connect with 1 Node

nodes_used:
  ["n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.stickyNote","n8n-nodes-postiz.postiz","n8n-nodes-base.httpRequest","n8n-nodes-postiz.postiz","n8n-nodes-postiz.postiz","n8n-nodes-postiz.postiz","n8n-nodes-postiz.postiz","n8n-nodes-postiz.postiz","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenRouter"]

workflow_json_compressed:
  [encoded data, 6204 characters]


name: Manage Construction Projects with Tasks, Photo Reports, Telegram & Google Sheets
author_name: Artem Boiko
author_username: datadrivenconstruction
categories: []
created_at: 2025-07-30T06:10:11.318Z
updated_at: 2025-07-30T06:10:11.318Z
url: https://n8n.io/workflows/6675
scraped_at: 2025-12-24 13:02:42
description:
  How it works
  This template helps project managers collect task updates and photo reports from field workers via Telegram and stores everything in a Google Sheet. It enables daily project reporting without paper or back-office overhead.

  High-level flow:

  Workers receive daily tasks via Telegram

  They respond with photo reports

  Bot auto-saves replies (photos + status) to a Google Sheet

  The system tracks task completion, adds timestamps, and maintains report history

  Set up steps
  🕒 Estimated setup time: 15–30 min
  You’ll need:

  A Telegram bot (via BotFather)

  A connected Google Sheet (with specific column headers)

  A set of preconfigured tasks

  👉 Detailed setup instructions and required table structure are documented in sticky notes inside the workflow.

  Consulting and Training
  We work with leading construction, engineering, consulting agencies and technology firms around the world to help them implement open data principles, automate CAD/BIM processing and build robust ETL pipelines.

  If you would like to test this solution with your own data, or are interested in adapting the workflow to real project tasks, feel free to contact us.


  Docs & Issues:  
    Full Readme on GitHub

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.cron","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.googleSheets","n8n-nodes-base.cron","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.telegramTrigger","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.code","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, 40720 characters]


name: Generate Multi-Period Financial Reports from Google Sheets with AI Analysis
author_name: DuyTran
author_username: duytran82
categories: []
created_at: 2025-07-30T08:06:27.976Z
updated_at: 2025-07-30T08:06:27.976Z
url: https://n8n.io/workflows/6679
scraped_at: 2025-12-24 13:02:46
description:
  Description:
  Overview
  This workflow generates automated revenue and expense comparison reports from a structured Google Sheet. It enables users to compare financial data across the current period, last month, and last year, then uses an AI agent to analyze and summarize the results for business reporting.

  Prerequisites
  A connected Google Sheets OAuth2 credential.

  A valid DeepSeek AI API (or replaceable with another Chat Model).

  A sub-workflow (child workflow) that handles processing logic.

  Properly structured Google Sheets data (see below).

  Required Google Sheet Structure
  Column headers must include at least: Date, Amount, Type.

  Setup Steps
  Import the workflow into your n8n instance.

  Connect your Google Sheets and DeepSeek API credentials.

  Update:

  Sheet ID and Tab Name (already embedded in node: Get revenual from google sheet).

  Custom sub-workflow ID (in the Call n8n Workflow Tool node).

  Optionally configure chatbot webhook in the When chat message received node.

  What the Workflow Does
  Accepts date inputs via AI chat interface (ChatTrigger + AI Agent).

  Fetches raw transaction data from Google Sheets.

  Segments and pivots revenue by classification for:

  Current period

  Last month

  Last year

  Aggregates totals and applies custom titles for comparison.

  Merges all summaries into a final unified JSON report.

  Customization Options
  Replace DeepSeek with OpenAI or other LLMs.

  Change the date fields or cycle comparisons (e.g., quarterly, weekly).

  Add more AI analysis steps such as sentiment scoring or forecasting.

  Modify the pivot logic to suit specific KPI tags or labels.

  Troubleshooting Tips
  If Google Sheets fetch fails: ensure the document is shared with your n8n Google credential.

  If parsing errors: verify that all dates follow the expected format.

  Sub-workflow must be active and configured to accept the correct inputs (6 dates).

  SEO Keywords:
  Google Sheets report, AI financial report, compare revenue by month, expense analysis automation, chatbot n8n report generator, n8n Google Sheet integration

  More template: https://auton8n.pw/product_info.php?cPath=5&sort=1a&products_id=13

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatDeepSeek","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.aggregate","n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.aggregate","n8n-nodes-base.merge","n8n-nodes-base.aggregate"]

workflow_json_compressed:
  H4sIAAAAAAAAE7VYW2/bxhL+KwSfvT57v/ipadoUeUhTNEWDc4qg2MusLEQiDYpyaxj+7x1KtkVLpET5pA8GZGl29tvZb2a+2ftynsqr8kZ8f/35tv1vc/fubfX+w//Ki3IJrS+v7st5tWp9FeF9ZweBg1Begwxe5KwFZGdppIIlr1lyTgSZefaexhiZ4xb/90GK7KJnAnT5cFFWfgno6qe6ni2g+BVu6qbF/Vo/W5VXf3xBgzpB9/F+iy2BEFQIID5nQaRzjthoNMnKasO0t0HR8tntDwA3nwC+Fm+vfVt8QFeLzvndTffjd5Wt/oN/ZLMFWfhqFq/9vLpcLDvzp7W44KZezdt5XSEMIjS9EJIishvf4C4tNAjv/mHr9nf8b2PIHi4eEVNBAzcgiVKREmlsIkFSRnz0MjrvmfR2h/jzvEr1X8X365yhKT7Asm7u2ATMy43ldtnWxx5uLhG3Po37Ujwjj4pKvN1IqLEYay80CSlkIhWowJjTeJM75G/9YlEgtOJz3XzNCzzEb3U9Jdwtmj2t2QNtJ2Hml/wZs3PAIEVFMvKMyMgCsVo64lwwxkctjYu9aF9DVcSOG0tYrfwMigYizG8hTcDdrfutmc9m0OzB1pReMNrh/gvCdV1/3aRLDtmJzCWJmCIIzXDigs5EJSlZFoE600E7cT09YgF4bzgnOWUkls+JeCsMcTJxDQzPntLuqG/eF29mULUTDuYf7V7Q/vlIx69idxFCRqW9JEYJiehSwtt0irBMreL4SzZ+h+5TO49f74qf6xZ2AHfYgl/B5Wpj82iyn5LmEFsZ66rtTnJVluPpKZmkIQpPEnOeSG4ksQFhW5mNENJLDWaPMD/+DXHdQirCXfGmqttrzNQegYfRw3bRk90wcVgX5Qlh7tPAhiw9zZIwLCsY6MiIZcISHa1gGakogO0O8K5ulkj3H/yxQMPe7etpqMSlfEZlcuSZQ8BalxSR4AUJkVkCVHCZtIqW6x2qn6DFzLuFau0XRW7qZTHbNoTVNUA7CnRr9KmzWb1EjBV6EmR5qXaMZdTxaCyRCemAhTojeJ5IxG+tVk5lBzvIv8xv67ZY+FVbxHkTF+PhjPgRf6yrH5umbrq6irycV2v4FWbrhW8+rtub9V7EVYefD5a+Btrm7mP1zs8X5VXbrGE0BakIWafAiUgKC46ihgRuNaGBaQ3WB+vF/oHiumkwZ/6NM0ms5m6wc04/kvd4DyZ7grrDYbZ6ju1fGhJTzhzbEWgrDsiefOunHuyA+1hYLow9i/tIbYUFOBEuNMNCD6yLeyLMRSO18yG6Xt/8tF5OBednswZmfr8AdhCHAztS8zKqLxQemJzJYMkA4MQri8mphYjKGxG1Go7iFL4fhpCfXz+0wHYtsU9G6wJWNc4ICkiPUsQAKEY1ZXsxnAJtLIB8NNvGukYGp7XCkAnKOx5aYiF44oAqF4VCqZtfwtuFr218terU3RJz5noU6xKa2R5OtynEU8i4Q5p4VIlqRTxDrSyVQuUpMuqjwPELyazuF4FnpE+M/P/A2imX3uOlVyAwPUjKypCuMxOvLZAsuA1CBB1Sr2mgSK9QsbXzFhsFO/fOuzhOwbdDF30A3nVWwwJSsuu2qGocyc5Hm00wWakRdPxV6KZcde+ig1I8Zk50dlh1MKuJ9ygHLbYz1GDBWdFTvm/rxQJiW6BoP+dSmeKvoGCMHGdDQ1CJRMxlj2QEsCTFHKkGoKh8RwJXrzGn6+XZGc2MPDd+wIwwLgAxlneTg8P2H5IkAUcKG6yUmo20lk1W34FvXlcZ5XndBTI10aKoMiGgVmEBlVVWWISSTsl0Iba9e+7JlCeE31qqdJpVD55hel/HUcEpHOlJNhzlYkooYrPKRLMoTIwiB6oHyv2UoB+r+cOwxwiStBQQsI8r3k00KLkDw5pPE8adKqlp7A3yb1LaY8fZlV7zs9KM0YDDug+EqqCRwMFhmuF8yUAnLjnOW26ker6uOk2Axx7QwscWJ+ryKvvFChmASYCUmm0mtO1QhKYfmwQd325ZN6rdbtdvH5kgYlaqDR+Q5NJk4qyjBNss41kHA6E7FRK1wnqGqzaO++UN/13iWIu4/7jfPCedLjIb+4tyXiX4u7yiD1++IKr+6DTkc+oQs+/84tnDFL06bfWgGDpj6WBiDUblBY8GQz3UaV664oeusKG/0tkALuy/r3TGts729eWQt2kib9D94Sw5tsGke934HKg/pxLhhMeBQeVoHE5JyMFQDL3Y4i5+/mf3PrX2M3j8rrfj4dPWgfn+WQaH3bHTTE3Fl1Tpp9CQ52MN4hRLeq38KFOmp/Hwu/M28tu35dMhf7Q7yMThh+Gt73bz8ZTndvuSPFiPD+rdt0rOgW3+Pfo/XcP4g/Qghw6CdfII35ibPdaPxvdkA+YnvJ/orEP+j79mjXfCI896kxYNiezjERvhycmgsSlUOvpUPbTF4PvwgP+Hh38AJFK+YS0cAAA=


name: Bulk Resume Screening & JD Matching with GPT-4 for HR Teams
author_name: Trung Tran
author_username: trungtran
categories: []
created_at: 2025-07-30T08:07:01.612Z
updated_at: 2025-07-30T08:07:01.612Z
url: https://n8n.io/workflows/6680
scraped_at: 2025-12-24 13:02:43
description:
  TalentFlow AI – Bulk Resume Screening with JD Matching

  Automatically extract, evaluate, and shortlist multiple resumes against a selected job description using GPT-4. This smart, scalable n8n workflow helps HR/TA teams streamline hiring decisions while keeping results structured, auditable, and easy to share.

  👤 Who’s it for

  This workflow is designed for:
  HR or Talent Acquisition (TA) teams handling multiple candidates per role
  Recruiters who want AI-assisted resume screening to save time and reduce bias
  Organizations that want to automatically log evaluations and keep stakeholders updated in real-time via Slack or Sheets

  ⚙️ How it works / What it does

  HR/TA uploads multiple candidate resumes and selects a job role
  Each resume is:
     Uploaded to Google Drive
     Parsed with GPT-4 to extract structured profile data
  The job description for the selected role is:
     Retrieved from Google Sheets
     Downloaded from Drive and parsed
  The profile + JD are sent to an AI agent to generate:
     Fit score
     Strengths & gaps
     Final recommendation
  Results are:
     Appended to the evaluation tracking sheet
     Optionally shared with the hiring team on Slack
     Used to trigger emails to qualified or unqualified candidates

  🛠️ How to set up

  Clone or import the workflow into your n8n instance
  Connect your integrations:
     Google Sheets (positions & evaluation form)
     Google Drive (CV & JD folders)
     OpenAI API (GPT-4)
     Slack (for notifications)
     (Optional) SendGrid or SMTP for email notifications
  Update Google Sheets structure:
     Positions sheet: maps Job Role → JD file link
     Evaluation form: stores evaluation results
  Prepare Drive folders:
     /cv folder for uploaded resumes
     /jd folder for job description PDFs

  📋 Requirements

  ✅ n8n (hosted or self-hosted)
  ✅ OpenAI GPT-4 account (used in Profile & JD evaluator agents)
  ✅ Google Drive + Google Sheets access
  ✅ Slack workspace + bot token
  (Optional) SendGrid or email credentials for candidate follow-up

  🎨 How to customize the workflow

  Change the fit score threshold in the Candidate qualified? node
  Edit Slack message content/formatting to match your company tone
  Add additional candidate metadata to Sheets or Slack messages
  Use a webhook trigger to integrate with your ATS or job board
  Swap GPT-4 with Claude or Gemini if you prefer other AI services
  Expand to include multi-position batch screening logic

  Happy Hiring! 🚀  
  Automated with love using n8n

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","n8n-nodes-base.extractFromFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.sendGrid","n8n-nodes-base.slack","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.filter"]

workflow_json_compressed:
  [encoded data, 11816 characters]


name: Track Expenses from Receipt Photos with Telegram & Google Sheets using OCR.space
author_name: Candra Reza
author_username: candrareza
categories: []
created_at: 2025-07-30T09:02:35.042Z
updated_at: 2025-07-30T09:02:35.042Z
url: https://n8n.io/workflows/6686
scraped_at: 2025-12-24 13:02:41
description:
  Hello automation enthusiasts! 👋

  Want to automatically track your expenses from receipts without hefty OCR service costs? I've got you covered!

  I've updated my Personal Finance Tracking Chatbot template to incorporate a free OCR service (OCR.space). This powerful n8n workflow lets you effortlessly log your expenses by sending a picture of your receipt to your Telegram bot. The OCR will extract key details like amount, date, and description, which are then neatly saved into your Google Sheets!

  Why use this template?
  📸 Free OCR-Powered Expense Tracking: Simply send a photo of your receipt to your Telegram bot and let OCR.space do the heavy lifting – without breaking the bank!
  📊 Automated Google Sheets Entry: Extracted data is seamlessly appended to your Google Sheet for easy financial overview.
  💰 Manual Entry Still Available: Easily record incomes and expenses via text commands for transactions without receipts.
  🤖 Instant Telegram Confirmations: Get immediate feedback on successful recordings, whether manual or OCR-processed.
  ✨ Customizable Parsing: The included Function node allows you to refine the data extraction logic to perfectly match your receipt formats.

  What Do You Need?
  An n8n account (self-hosted or cloud)
  Your own Telegram Bot (free and easy to create!)
  A free API Key from OCR.space.
  A Google account and an empty Google Spreadsheet for your financial data.
  A Google Spreadsheet with "Income" and "Expenses" sheets (with columns like Date, Description, Amount, Category, Type, Source).

  Who Is This For?
  This template is perfect for anyone who wants to gain more control over their personal finances in an efficient and hassle-free way. No more complex apps, just use your personal chatbot!

  How to Use It?
  Get Your Free OCR.space API Key: Visit ocr.space/OCRAPI and sign up for a free key.
  Import this JSON template into your n8n instance.
  Configure Credentials: Set your Telegram Bot Token, Google Sheet ID, and OCR.space API Key as environment variables in n8n.
  Activate the workflow.
  Start tracking your finances by sending text commands (e.g., income salary 5000, expense coffee 15 food) or just snapping a photo of your receipt to your Telegram bot!

  Let's simplify your financial management with automation! Feel free to try it out and modify it to suit your needs. If you have any questions, leave a comment below!

nodes_used:
  ["n8n-nodes-base.telegramBot","n8n-nodes-base.if","n8n-nodes-base.telegramBot","n8n-nodes-base.httpRequest","n8n-nodes-base.telegramBot"]

workflow_json_compressed:
  H4sIAAAAAAAAE5VVa0/bMBT9K5E1iQ2V9KFV2yrtA3SFIR6tStiEShW5zaXxSOwsdihR5f++ayctYSTV9jH28bn3nHvsbAgXAUgymG0IpzGQAfEgglVKY+dEKOf9T1iEQjx+IC2i8sTs88/8yB46WlAJrirhiEZMIiRTTHAk7PU7rV6nM8dFivugIMU6G7IuGG/TCMm+hkolctBu04TtqFyRrtoLoTabd8Cf3Lvx7dT3Rpejs+nxlX8y9nxvfDG61rq9AnWbBFShAFM6is45VnmiyNxvERpFYg3BFjGYkRikpCsg2JPgUX4N692mSjPQhcYf2KiV0NWtnSvDEJaPzsEkFEocNJrBHl578BE96Nd4sBQ8sJjCeew4g66xAyX/koK7ZaduYuppjawW00OM6RS/RQIpLcoQJq+FGsWJyome71NxBsrZzddq+f+5fuo0aAqpOg/qRJgdlwVWxgOLoB5lpc7qFt0I+EqFzpHT1XPXMPglW9UEDMMpbpF9+sfDqSsTugRnCr8zkKpRvsnlC6Yi/0vDSDOb52qcxTItirURKaHNYpO9FqZQhcJYMBnfeFZEmYQNwXppXr2MyPMI+Xb8pW27S4Fy/JvJ8XDkH0/O/YvRHZpSURtRvsqKmtvjaGQVweT4CdKI5kYqSyGoQG3ONOpciCCfVLS+dGdG8VdvC8Zpmrt4q6hppjw+FHgxufIKqx9EGn9DANH7ZnUDPHCmdO2gSgztc/OsGqPa7TVkVRk6GwfL7JyKjAeDe37PD7exnJiZBVOQWaTkrDMvFwxc60Os8295t6O/wl4R+N27uqyJJ3aH7wGH5S4Grx8bXBCZSjJVWF9w7bvJMWUcvxgP4JkMOvZJeJv8Wto9ptex1nRRS7vn3tXRNvyCaqkbHua3tFr/AZ69DxXtBgAA


name: Match Medical Symptoms to Products with OpenAI, Qdrant & Google Sheets RAG
author_name: Zain Ali
author_username: zain104
categories: []
created_at: 2025-07-30T13:34:57.126Z
updated_at: 2025-07-30T13:34:57.126Z
url: https://n8n.io/workflows/6699
scraped_at: 2025-12-24 13:02:46
description:
  🧠 RAG AI Medical Agent – n8n Workflow

  👥 Who’s it for
  This workflow is perfect for:
  Healthcare ecommerce businesses** that want to automate product recommendations.
  Founders or developers** building an AI assistant using retrieval-augmented generation (RAG) with product data.
  Anyone** wanting to combine OpenAI, Qdrant vector search, and Google Sheets to power intelligent medical queries.

  ⚙️ How it works / What it does

  This RAG-based workflow allows users to ask medical questions related to hair or scalp issues (e.g., hair loss, thinning). It:

  Retrieves product info from a Google Sheet.
  Converts product data into text embeddings using OpenAI.
  Stores those embeddings in a Qdrant vector database.
  On chat message trigger, performs a vector similarity search to match user symptoms with relevant products.
  Uses an AI agent to respond with top 3 matching products from your catalog.

  🛠️ How to set up

  Step 1: 🗂 Get your data
  Make sure your Google Sheet contains the following columns:
    Product Name
    Symptoms Involved
    Product Description
    ForeverBetty Product Page Link
    Category (optional but recommended)

  Step 2: 🔐 Connect your accounts
  Add your Google Sheets OAuth2 credentials in the "Get all products" node.
  Add your OpenAI API key in the embedding nodes.
  Add your Qdrant credentials in the vector store nodes.

  Step 3: 🧠 Populate the Vector DB
  Click “Execute workflow” manually.
  This pulls data from the Google Sheet.
  Each row is:
     Formatted properly into a vector-friendly string.
     Converted into an embedding using OpenAI.
     Stored into Qdrant.

  Step 4: 💬 Enable Chat Interface
  Use the ChatTrigger to receive user queries.
  The agent searches Qdrant for relevant vectors.
  Replies with product suggestions via LangChain's LLM agent.

  📋 Requirements

  🧠 n8n
  📄 A Google Sheet with product data.
  🔐 Google Sheets OAuth2 credentials.
  🧠 OpenAI API key (for embeddings + chat LLM).
  🗃️ Qdrant Vector DB instance (Cloud or self-hosted).
  🧩 How to customize it

  🔄 Change the data structure
  Update the "Set Data Properly in vector database" node to modify what fields are embedded.
  Example:
      --- 
    Product: {{ $json['Product Name '] }}
    Use-case: {{ $json['Symptoms Involved'] }}
    Link: {{ $json['ForeverBetty Product Page Link '] }}

nodes_used:
  ["n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  H4sIAAAAAAAAE61X624aVxB+lRW/Oe65X/yrzkVpJCdp4yiJFEXVucwBatily2LHtSzlMdrXy5N0FhzAGMw67Q8kWObM+Wbmm29mr3uj1DvuldM/4MXrN7/8efnx9C928rHX702g8b3j696onDW+jPCytQuKSisCZ5xnnSLXVmsepFLUJGVUcsIpQ8FbYEDxP8ogBBE0NyKymBP6bWAyHfsGntaQZmfQzKdPK3wCDeAFTT2Hm36v9BPA236tqzSPTfEWYjWZQJl8M6rK4u3Ji9aPH8x6x58+o3WVoP16vYzFBwMUAifMG05kAiA2aE+i9lboHIEr01vdcdaM4vlV8bpqoHV6NW0flrYkC68k+BkczRY2tybTajZqYeCFhAlN+4RpBDH1NTpsoJ61SYtV2UDZoKvezdLre/xncYrd9G+BWmt50BKIij4T6aki3mRBkrHBieSyoHENFKMuTgat0xXMnxHnT2usY18O4tCPyiN/a7eJ1TrdZ5puQ70H78isAApjradBEZmNIDIkRkKKngStnJfOMJrVGuCHIZRFHGOqRuWg+Pb17+dfIM4bKC6r+jyPq8tvX//Zm+KJL+d+/K4eDQZQ30XODAJ3/CDwFWyIGGugkngVI5ExShJMBCKCUhx4RgLYnQRgj2cAJpWIe9i61T9GHaSBQKwJjEjpLbGCORKVp1zJgI3m1zh/S7Uvm+I9xKaqi2e+8S2yDmS4WJw4ww8sfdwNgSvdV1Ie5oVYAddBJWQuJVkrTyQ1igTlNZFMRZYDSzFuJBgbHdu9eD4JkBJSowNk+G47ezOF8mS0RQjH+0YdJsQRXyF2KahgPRDvosNUa2w1yTUxLAQXkxdCpA1KQLNIcIECNIV6fFWMymKZxiJ1T3yq4hxVq3kG2c/HTevxtPJpm9/Cyr6xhwuwCoZZ7RWETJTJCXXDS2KpYNjhUVFUJCEF2whmOh41RQNfGoyiqYo4nJfnsw7w2yOLwwjo6RChRfzybuPh3TCkln3XQV9WYQSnXRJIm6w1qosOiThODdEapwrDqEC6/Szi/5lGRKF4a9lBEdmGIibmDEo2BaSQlAwxe86JM4YKBRqYz2vMp1U1LaoLqAvwcVhMl+Nsv8i0eX1ZPvFNHMLsLlhLaRcRXPdo0jFnJizhimF2fUwkZGGIAK0dCyJmujEFXyDjW2YXua4mxa3UPILqBzSGaBQZJMhjUh0yQyJERVAmUWR8EMRlZwhgvxrKUmaQtofP0DfFBGYznH9FDRFGFwubQ+jbcztHD2GM09upeQlhWFXnizWImkyligFTim0os0vEs9T2ojKeg0gmtwLYOVagKimKjEoQKZHIJOK1SgRkxomgJNZxQ1AXZH5ZnJ6+6hDbeIK92+zkv8PBKh4jPMBkiiIDyRQkkcYF4pMBkpQ0JkljgdOdg5U/erDiXHU/uFY5la1WjBOg2RBpgZIQpCQuGG4gBsGp34lS/AhKKe2PwdSGp2xxpbIMlU8a6nBLCUAMNi6V0XHlxCZMbK2iLWUX6Z7ApKqvnsxzhvrDqEzV5fYyyLqVfmPoc5tccJkSGnSbVm5x6FOOIxR0NlEpn+xdQfHj8XfNm+1N7aCqBmM4GwI0W5InWae9Tx7pG7TB6YTd3jvOfjyDfm8GTdMKf1sOWOyhaPymbofvce+CtXW5WHpYNLSIkUrqKaq5xVWMCVweAVcxAdjgQeBD0RYDC1ui0uGpheP1So4/Jph4RP3p82f0vdGi+Jcf/d7WZo6y9AojH7dm14vXlt17/T37Pr6FJfjSO6Y3C/ebbFj6X1a8g+Nbw22P95a0pVtY/97wfGgVvXNw+6Z7zNjI3eqGQ5NzceBQDPzBIDqOvAdj2QNzkw397mnbGdSeQ/9b0vash8vMba6Ad6563Ia87WkbwwPDe1ecO4i9M7SHK3wbYVV1aceF2b3UdUnC8prvrwKPbaPVud0pO/CyvSt5+4V5Rw5vbv4FJN4V4CASAAA=


name: AI Blog Automation: Publish hourly SEO Articles to WordPress & Twitter v3
author_name: Jay Emp0
author_username: jay-emp0
categories: []
created_at: 2025-07-31T09:51:02.860Z
updated_at: 2025-07-31T09:51:02.860Z
url: https://n8n.io/workflows/6734
scraped_at: 2025-12-24 13:02:45
description:
  ==🔥 Upgrade to V4==
  We’ve released Version 4 of our AI Powered Blog Automation workflow. We heard your complains and made a complete redesign built for serious content creators.

  ChatGPT 5, Inbound Links, Verified Outbound Links,YOAST seo integration, Company profile, higher SEO ranking, banner images using companys mascot, FAQ sections and conclusions, 35% cost reduction, 

  📝 Read the New Articles published by Content Farming v4

  🛒 View the updated and improved v4 workflow

  AI Powered Blog Automation Workflow for Wordpress and Twitter - v3 

  Introduction



  This is a fully automated AI powered blog content generation and distribution workflow built for the n8n automation platform. It's designed for solo founders, creators, indie hackers, marketers, SEO consultants, or lean startup teams who run multiple projects and want to consistently publish high quality, search optimized articles without relying on a human marketing team.

  Buy Now for only $29 and get instant traffic to your blog / wordpress site



  Running a blog is essential to drive traffic, build authority, and rank on Google, but it’s time consuming and expensive to manage. This workflow turns your blog into a living, breathing content engine that generates, enhances, and publishes articles every day using a team of autonomous AI agents. If you want to boost your site’s visibility and promote it across multiple channels like WordPress, Twitter, and Dev.to, this workflow is for you.

  Checkout the articles generated with this workflow

  Before You Start

  To get the most out of this workflow, prepare the following:

  Define your content pillars** e.g., AI, business, automation, developer tools, healthtech, etc.
  List your RSS or news sources** like TechCrunch, Wired, CNN Tech, The Verge, etc.
  Know your audience** Who are you trying to attract? Developers? Founders? Investors? Enterprises?

  How It Works

  Step 1: Ingest Recent News via RSS + Vectorization  
  Step 2: Topic Generation with Semantic Clustering  
  Step 3: Research + Data Enrichment  
  Step 4: Content Generation (3 Agent Loop)  
  Step 5: Blog Title Optimization  
  Step 6: Metadata Generation  
  Step 7: Featured Image Generation 
  Step 8: WordPress Draft Creation  
  Step 9: Distribute to Twitter and Dev.to

  Read the complete technical architecture and cost structure

  What makes this flow unique ? 

  This isn’t just automation. It’s AI workflow orchestration. You get a full scale, modular content team simulated by multi agent communication using the following architecture:

  3-Agent System

  Agent 1: Task Manager**
    Defines objectives
    Assigns sections and goals
  Agent 2: Content Generator**
    Equipped with MCP plugins:
      Web Search
      Image Generator
      Graph/Chart Generator
      Section Optimizer
  Agent 3: Quality Control**
    Checks SEO metrics, flow, clarity, link strategy
    Gives detailed recommendations back to Agent 1

  Each agent talks via shared JSON memory and only modifies content blocks relevant to their scope, reducing token usage and preserving structure. This modularity mimics how a marketing team operates. The agents operate in a looped chain of thought format using n8n loops and memory iterating until the article crosses an 80% quality threshold or max loop limit.

  MCP tools for visuals

  The article is generated in a loop involving:
    Internet search to generate outbound links (via MCP tool)



    Image generation (Leonardo or DALL·E via MCP)



    Chart/graph generation (via QuickChart )



    Table generation (via AI agent and HTML blocks)

  Revenue Potential & Monetization Use Cases

  This workflow can generate revenue if deployed strategically.

  💸 Monetization Strategies

  Affiliate Blog Engine**  
    Populate your WordPress with long form articles optimized for affiliate products, SaaS tools, or service reviews. Insert call-to-actions and outbound links to affiliate platforms like Amazon, Gumroad, or Impact.

  Lead Magnet Factory**  
    Target SEO keywords for high-intent leads in your niche (e.g., “best CRM for freelancers”). Capture emails via lead forms in every article and nurture via outbound marketing. Drive subscribers into your Substack or ConvertKit funnel—without writing anything manually.

  Agency/Client Work**  
    Use the workflow to generate blog content for your SEO clients or sell content automation as a service. Deliver consistent value at scale while reducing human cost.

  📈 Traffic Results (v2 Example)

  Daily traffic increase: ~10–30 visitors/day
  Monthly cost: ~$21 for OpenAI tokens
  Content output: 10 SEO-rich posts/day



  With the v3 upgrade, including charts, images, and outbound links, expect higher engagement, lower bounce rate, and better SERP visibility.

  Need Help or Customization?

  Need to customize this workflow for your niche? Or need some help setting it up? Reach out to us and we can help

  ⭐ Read Customer Reviews and how they scaled their blog traffic using this workflow
  ✍️ Write to us via Email: tool@emp0.com
  💬 Chat with us: Discord @jym.god 

  Join the community

  Other free n8n workflows
  Github repository
  Discord Community
  Official website

  Changelog: From v2 to v3

  I have previously posted a free version of this content generator. You can find FREE v2 on the n8n official website 

  Here is the visual difference of the content length and visual components

  Problems with v2

  RSS links broke when source URLs changed → HTTP 404
  Target length 1500 words never met → hallucinations capped around 600–800
  Content lacked media → zero images/tables/graphs, was very boring to read
  Low SEO score due to minimal outbound links and broken links
  No content repurposing → missed visibility on Dev.to, Twitter for backlinking and gaining traffic
  Single topic limitation → no support for multi pillar blogs

  v3 Upgrades

  Vector DB Integration  
     Store full text and embeddings. Enables multiple content pillar filtering and prevents broken links. Making it customizable per topic

   

  3-Agent AI Architecture  
     Task Manager → Content Writer → QC Loop  
     AI agents loop until threshold met  
     Dynamic sections  
     Visual generation tools built in  
     See architecture image



  Modular Content Blocks  
     Content is saved per section → you can modify one section without touching the rest. Saves tokens and cost.

   

  MCP Tools (included)  
     Generate images. Find the tool here

   

     Generate graphs. Find the tool here

   

     Search web for factual support. Generate tables Improve outbound linking and reader engagement   

   


  Improved Twitter Integration  
     Media rich tweets  
     Auto hashtag generation  
     10x better impressions than plain-text tweets

     Checkout our Automated Twitter Account

   

  Dev.to Posting with Signature  
     Example Dev.to article 

  ✍️ Written by Emp0.com
  🧠 AI Workflows on GitHub: github.com/Jharilela
  💬 Chat with us: Discord @jym.god
  `

nodes_used:
  ["n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.rssFeedRead","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.aggregate","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitOut","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.mongoDb","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.stickyNote","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.code","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.vectorStoreMongoDBAtlas","n8n-nodes-base.splitInBatches","n8n-nodes-base.limit","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.crypto","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.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.vectorStoreMongoDBAtlas","n8n-nodes-base.mongoDb","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","n8n-nodes-base.mongoDb","n8n-nodes-base.splitOut","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.mongoDb","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.executeWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.mongoDb","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.manualTrigger","n8n-nodes-base.wordpress","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.mongoDb","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.twitter","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.wordpress","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.mongoDb","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10224 characters]


name: Automate IT Support: Convert Emails to Jira Tickets with AI Resolution
author_name: Trung Tran
author_username: trungtran
categories: []
created_at: 2025-07-31T10:19:09.456Z
updated_at: 2025-07-31T10:19:09.456Z
url: https://n8n.io/workflows/6735
scraped_at: 2025-12-24 13:02:45
description:
  SmartSupport Flow: Auto-Handle IT Requests from Email to JIRA with Slack notification
  Watch the demo video below:

  Who’s it for
  &gt; This workflow is built for lean IT teams, office managers, and business operators who receive support requests via email and want to automate ticket creation, smart AI resolution advice, and seamless communication with both users and internal teams, all without lifting a finger.  
  If your team is tired of manually triaging inbox requests, this AI-powered flow will transform your support handling process.

  How it works / What it does

  Trigger on New Email: Uses Gmail Trigger to detect new support request emails.
  Fetch Email Content: Retrieves the full message body and metadata.
  Check for Duplication: Skips processing if the email has already been handled (based on READ/UNREAD label).
  Mark as Read: Updates Gmail to mark the email as processed.
  Extract Structured Request: Uses the Support Request Reader Agent powered by OpenAI to extract:
     Request title
     Request description
     Requested by
     Department
     Category and priority
  Create Jira Ticket: A main issue is created in Jira using the structured request.
  Generate AI-Based Solution: Invokes the IT Support Advisor Agent to propose resolution(s).
  Post Comment to Jira: Adds the suggested solution(s) to the issue as a comment.
  Notify IT Team: Sends the ticket and context to a Slack channel for visibility and action.
  (Optional) Send Email to Requester: Currently deactivated. Can be enabled to acknowledge receipt.

  How to set up

  Gmail Integration
     Connect Gmail in the “Gmail Trigger” and “Get Email Content” nodes.
  OpenAI Configuration
     Use OpenAI API credentials in both the Reader and Advisor agent models.
  Jira Integration
     Authenticate your Jira account.
     Set project key and issue fields in the “Create Main Issue” node.
  Slack Notification
     Configure Slack connection and select a target channel.
  Set up Jira, Slack, Email
     Set your company Jira based URL, IT Support slack channel and IT Support email in the Edit Fields (Set) node 
  (Optional) Email Acknowledgment
     Provide SendGrid credentials and email template in the “Send email to requester” node if re-enabled.

  Requirements

  Gmail API access with appropriate permissions  
  OpenAI account with API access (for GPT-4 or GPT-3.5)  
  Jira instance with project and permission to create/comment on issues  
  Slack workspace and Webhook or OAuth setup  
  n8n instance running with all above integrations configured

  How to customize the workflow

  Enhance Email Deduplication**: Adjust the deduplication logic to use message-id, threadId, or custom headers.
  Expand Reader Agent**: Configure the LLM to extract more details such as asset tags, urgency levels, or locations.
  Tailor Advisor Agent**: Adjust prompt to generate multiple solutions, troubleshooting guides, or internal references.
  Routing by Department**: Add logic to forward requests to different teams based on the request category or department.
  Enable Email Acknowledgment**: Activate and customize the email notification step to inform requesters that their issue is being handled.

nodes_used:
  ["n8n-nodes-base.gmailTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.filter","n8n-nodes-base.slack","n8n-nodes-base.sendGrid","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.jira","n8n-nodes-base.gmail","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.jira","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, 10332 characters]


name: Reddit Lead Finder: Automated Prospecting with GPT-4, Supabase and Gmail Alerts
author_name: BluePro
author_username: bluepro
categories: []
created_at: 2025-08-01T01:36:19.492Z
updated_at: 2025-08-01T01:36:19.492Z
url: https://n8n.io/workflows/6756
scraped_at: 2025-12-24 13:02:44
description:
  This workflow monitors targeted subreddits for potential sales leads using Reddit’s API, AI content analysis, Supabase, and Google Sheets.

  It is built specifically to discover posts from Reddit users who may benefit from a particular product or service. It can be easily customized for any market.

  🔍 Features

  Targeted Subreddit Monitoring:**  
    Searches multiple niche subreddits like smallbusiness, startup, sweatystartup, etc., using relevant keywords.

  AI-Powered Relevance Scoring:**  
    Uses OpenAI GPT to analyze each post and determine if it’s written by someone who might benefit from your product, returning a simple “yes” or “no.”

  Duplicate Lead Filtering with Supabase:**  
    Ensures you don’t email the same lead more than once by storing already-processed Reddit post IDs in a Supabase table.

  Content Filtering:**  
    Filters out posts with no body text or no upvotes to ensure only high-quality content is processed.

  Lead Storage in Google Sheets:**  
    Saves qualified leads into a connected Google Sheet with key data (URL, post content, subreddit, and timestamp).

  Email Digest Alerts:**  
    Compiles relevant leads and sends a daily digest of matched posts to your team’s inbox for review or outreach.

  Manual or Scheduled Trigger:**  
    Can be manually triggered or automatically scheduled (via the built-in Schedule Trigger node).

  ⚙️ Tech Stack

  Reddit API** – For post discovery  
  OpenAI Chat Model** – For AI-based relevance filtering  
  Supabase** – For lead de-duplication  
  Google Sheets** – For storing lead details  
  Gmail API** – For sending email alerts

  🔧 Customization Tips

  Adjust Audience**: Modify the subreddits and keywords in the initial Code node to match your market.
  Change the AI Prompt**: Customize the prompt in the “Analysis Content by AI” node to describe your product or service.
  Search Comments Instead**: To monitor comments instead of posts, change type=link to type=comment in the Reddit Search node.
  Change Email Recipients**: Edit the Gmail node to direct leads to a different email address or format.

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.reddit","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","n8n-nodes-base.splitInBatches","n8n-nodes-base.supabase","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.splitInBatches","n8n-nodes-base.supabase","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.scheduleTrigger"]

workflow_json_compressed:
  [encoded data, 4572 characters]


name: Scheduled Instagram Auto-Liker with Phantombuster, GPT-4o & Cookie Rotation
author_name: plemeo
author_username: plemeo
categories: []
created_at: 2025-08-01T08:20:52.647Z
updated_at: 2025-08-01T08:20:52.647Z
url: https://n8n.io/workflows/6765
scraped_at: 2025-12-24 13:02:41
description:
  Who’s it for  
  Social-media managers and brands that want to keep their Instagram
  accounts active by automatically liking fresh posts under selected
  hashtags—hands-free and rate-limited.

  How it works / What it does  
  Schedule Trigger runs every 2 hours at a specified minute.  
  Select Cookie chooses a rotating Instagram session-cookie
     (time-slice logic).  
  Generate Random Hashtag (GPT-4o) outputs a realistic AI/BPA
     hashtag.  
  Instagram Hashtag Agent (Phantombuster) scrapes up to
     ENV_MAX_POSTS_PER_HASHTAG recent posts.  
  Get Random Post selects one; duplicate checker ensures it
     hasn’t been liked before (SharePoint CSV).  
  Builds instagram_posts_to_like.csv, uploads to SharePoint, then
     launches the Auto-like Agent which likes the post.  
  Post URL is appended to instagram_posts_already_liked.csv to avoid
     duplicates.  
  Wait nodes throttle launches to ~12 likes per profile daily.

  How to set up  
  Add credentials: Phantombuster API, SharePoint OAuth2, OpenAI API
     key.  
  In SharePoint › “Phantombuster” folder create:  
     • instagram_session_cookies.txt – one cookie per line.  
     • instagram_posts_already_liked.csv with header postUrl.  
  Adjust Set ENV Variables to change max posts per scrape.  
  Activate the workflow; it will like one post every 2 hours.

  Requirements  
  n8n 1.33 +  
  Phantombuster Growth plan (API access)  
  OpenAI account
  Microsoft 365 SharePoint tenant

  How to customize  
  Target a different niche: edit hashtag prompt in Generate Random Hashtag.  
  Like more posts: raise ENV_MAX_POSTS_PER_HASHTAG,
    numberOfPostsPerLaunch, or schedule frequency.  
  Replace SharePoint with Drive/Dropbox by swapping storage nodes.

nodes_used:
  ["n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.phantombuster","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.extractFromFile","n8n-nodes-base.convertToFile","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Auto-follow Instagram profiles via Phantombuster and SharePoint
author_name: plemeo
author_username: plemeo
categories: []
created_at: 2025-08-01T08:26:18.753Z
updated_at: 2025-08-01T08:26:18.753Z
url: https://n8n.io/workflows/6766
scraped_at: 2025-12-24 13:02:41
description:
  Who’s it for  
  Community managers, growth hackers, and brands that want to grow their
  Instagram audience by automatically following new, relevant profiles—
  while respecting daily limits.

  How it works / What it does  
  Schedule Trigger runs hourly at a specified minute.  
  Select Cookie chooses a rotating Instagram session-cookie (time-slice logic).  
  Get List of Accounts downloads a CSV of seed profiles from SharePoint.  
  Follower Collector Agent (Phantombuster) fetches each seed
     profile’s followers (limit set by ENV_AMOUNT_FOLLOWERS_PER_PROFILE).  
  Autofollow Agent follows up to ENV_PROFILES_TO_PROCESS of those
     followers per launch.  
  Wait nodes pause between Phantombuster calls and poll until each
     run is complete.  
  Rate-limit configuration keeps follows between 1 and 40 per hour.

  How to set up  
  Add credentials: Phantombuster API, SharePoint OAuth2, (optional) OpenAI API key if you later add AI.  
  In SharePoint › “Phantombuster” folder add:  
     • instagram_session_cookies.txt – one cookie per line.  
     • accounts_to_follow.csv – header profileUrl, one seed profile per line.  
  Update Set ENV Variables to control profiles/launch and followers/profile.  
  Adjust schedule frequency or Wait durations to meet your plan limits.  
  Activate the workflow; it will follow new profiles every hour.

  Requirements  
  n8n 1.33 +  
  Phantombuster Growth plan (API access)  
  Microsoft 365 SharePoint tenant

  How to customize  
  Scrape hashtags instead of followers: replace the Follower Collector
    agent with a Hashtag‐to‐Profiles agent.  
  Increase speed: raise ENV_PROFILES_TO_PROCESS and cron frequency
    (ensure you stay within Instagram limits).  
  Swap SharePoint for Drive/Dropbox by replacing storage nodes.

nodes_used:
  ["n8n-nodes-base.wait","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.phantombuster","n8n-nodes-base.wait","n8n-nodes-base.set","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Generate Tailored Interview Questions with GPT-4 Based on CV, JD, and Round
author_name: Trung Tran
author_username: trungtran
categories: []
created_at: 2025-08-01T08:29:51.767Z
updated_at: 2025-08-01T08:29:51.767Z
url: https://n8n.io/workflows/6767
scraped_at: 2025-12-24 13:02:45
description:
  🤖 Smart Interview Assistant: Tailored Questions Based on CV, JD, and Round
  Watch the demo video below:

  📌 Who’s it for
  This workflow is designed for:
  Recruiters* and *Talent Acquisition Specialists** who want to automate candidate interview prep.
  Hiring Managers** conducting multiple interviews and needing personalized question sets.
  Technical Interviewers** who want to save time and be well-prepared with relevant questions.

  ⚙️ How it works / What it does
  The Smart Interview Assistant automates the interview preparation process in a few clicks:

  Accepts:
     Multiple resumes (PDFs)
     Selected job role
     Chosen interview round
  Extracts structured data from:
     The candidate’s CV
     The corresponding Job Description (JD)
  Uses GPT-4 to analyze:
     Candidate profile
     Role requirements
     Interview round context
  Generates:
     Tailored interview questions
     Expected answers
     A summarized interview prep report
  Sends the report directly to the hiring team via email (SMTP)

  📁 Google Drive Structure

  📂 Root Folder
  ├── 📁 jd/                          # Stores all job descriptions in PDF format
  │   ├── Backend_Engineer.pdf
  │   ├── Azure_DevOps_Lead.pdf
  │   └── ...
  └── 📄 Positions (Google Sheet)    # Maps Job Role ↔ JD File Link

  📝 Sample Mapping Sheet:  
  Positions Sheet

  Columns:
  Job Role
  Job Description File URL (pointing to PDF in jd/ folder)

  🛠️ How to Set Up

  Step 1: Configure API Integrations
  ✅ Connect your OpenAI GPT-4 API Key
  ✅ Enable Google Cloud APIs:
    Google Sheets API (to read job roles)
    Google Drive API (to access CV and JD files)
  ✅ Set up SMTP credentials (for email delivery)

  Step 2: Prepare Google Drive & Mapping Sheet

  Create a root folder on Google Drive  
  Inside the root folder:
     Create a folder named /jd/ and upload all job descriptions (PDFs)  
  Create a Google Sheet named Positions with the following format:

  | Job Role                     | Job Description File URL                   |
  |-----------------------------|--------------------------------------------|
  | Azure DevOps Engineer        | https://drive.google.com/xxx/jd1.pdf       |
  | Full-Stack Developer (.NET)  | https://drive.google.com/xxx/jd2.pdf       |

  Step 3: Build the Application Form

  Use any form tool (e.g., Typeform, Tally, or custom HTML) that collects:
  📎 Resume file (PDF)
  🧾 Job Role (dropdown)
  🔄 Interview Round (dropdown)

  Step 4: Resume & JD Extraction

  🔍 Use Extract from PDF to parse the resume content
  📄 Retrieve the JD link from the Positions sheet based on the selected Job Role
  🔗 Use Download file to pull the PDF for processing

  Step 5: Analyze with GPT-4

  Run both Resume and JD through a Profile Analyzer Agent (GPT-4 with JSON output)
  Merge results
  Add manual input or mapping for the Interview Round metadata

  Step 6: Generate Interview Report

  Use a second GPT-4 agent (e.g., HR Expert Agent) to:
    Generate 6–8 tailored interview questions
    Include expected answers and rationale

  Step 7: Deliver Final Report

  Format the content as:
    📄 PDF (optional)
    📨 Email body
  Send the report to the recruiter, hiring manager, or interviewer via SMTP

  ✅ Requirements

  🔑 OpenAI GPT-4 API Key
  📁 Google Drive (for resume and JD storage)
  📊 Google Sheet (job role mapping)
  📬 SMTP credentials (host, username, password)
  🧰 n8n self-hosted or cloud instance with:
    PDF Parser
    Google Sheets node
    HTTP Download node
    Email node

  ✏️ How to Customize the Workflow

  | Part                        | Customization Options                                      |
  |----------------------------|-------------------------------------------------------------|
  | Form UI                | Modify the design, dropdown options, or input validations   |
  | Job Description Source | Replace Google Sheet with Notion, Airtable, or database     |
  | Interview Metadata     | Add job level, region, or language preference               |
  | AI Prompt Tuning       | Adjust prompt phrasing or temperature in GPT nodes          |
  | Report Format          | Generate PDF instead of email body using PDF node           |
  | Delivery Method        | Add internal HR portal webhook or generate downloadable link |

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.code","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 12660 characters]


name: Auto-comment on Instagram posts with GPT-4o, Phantombuster, and SharePoint
author_name: plemeo
author_username: plemeo
categories: []
created_at: 2025-08-01T08:32:37.238Z
updated_at: 2025-08-01T08:32:37.238Z
url: https://n8n.io/workflows/6768
scraped_at: 2025-12-24 13:02:41
description:
  Who’s it for  
  Social-media teams and influencers who want to grow engagement by
  automatically posting short, relevant comments on new Instagram posts
  under rotating hashtags—while staying under platform limits.

  How it works / What it does  
  Schedule Trigger fires every 2 h at a specified minute.  
  Select Cookie chooses a rotating Instagram session-cookie by
     time slice.  
  Generate Random Hashtag (GPT-4o) outputs a realistic AI/BPA tag.  
  Hashtag Agent (Phantombuster) scrapes up to
     ENV_MAX_POSTS_PER_HASHTAG recent posts.  
  Get Random Post picks one; Create Comment (GPT-4o) crafts a
     ≤150-character reply in the chosen language.  
  Builds instagram_post_to_comment.csv, uploads to SharePoint, then
     launches the Auto-comment Agent which posts the reply.  
  Post URL is logged to instagram_posts_already_commented.csv
     to avoid duplicates.  
  Wait nodes throttle launches to ≈80 comments/day.

  How to set up  
  Add credentials: Phantombuster API, SharePoint OAuth2, OpenAI API key.  
  In SharePoint › “Phantombuster” folder create:  
     • instagram_session_cookies.txt – one cookie per line.  
     • instagram_posts_already_commented.csv with header postUrl.  
  Edit Set ENV Variables to set default language, prompt, and max
     posts per scrape.  
  Activate the workflow; it will comment every 2 h.

  Requirements  
  n8n 1.33 +  
  Phantombuster Growth plan (API access)  
  OpenAI account (GPT-4o)  
  Microsoft 365 SharePoint tenant

  How to customize  
  Change tone/length: tweak prompt in Create Comment.  
  Comment more often: raise ENV_MAX_POSTS_PER_HASHTAG,
    adjust cron, and agent limits.  
  Swap SharePoint for Drive/Dropbox by replacing storage nodes.

nodes_used:
  ["n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.wait","n8n-nodes-base.phantombuster","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.extractFromFile","n8n-nodes-base.convertToFile","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE6VZaW8USRL9K63+7GTzPvi0rAd2kFhAwwz7YYRWeUTavdjdVneZQ4j/Pi/bHvqq6gshIWyqIl9GRrx4L+vbeFLGT8evXv8W3r/9I714Hv9fjPs0vhjfUhfHT7+NJ9NFF6eZXrbnZK5OSy1DlqSINJkoObehqOKjM5J7I4LiKnmrK5c2uqCtphqdtKkEg7gd3d7dxI4u51QW76i7v7uc4TfUERbo5vf0/WI8jbeE1V62pa/m8Xb07L6bjfDcLU27yfRqxEZ4PXaz+WL0631qUePVYvz0zw94d1ao/fPbw86CSNkYlxiXPjLtnGeejGA+2WACr1WmMv6x4n/jpGvRvt61n6Z+ypbhWIoLevL54T/vZotJN5lNsQaTxl4w4ZzFwp8pXc9mH5d5Mti7jVywSKkwHYtnqTjNKlHhwVgveWihIjaHnc8B+Nv3h3Xf46dldPFEfL943IXjPFifHDMiYRe1RhZEKKzyErUi5bSKq128uaPps5ejy+vYjf4D/DerLf0Te/rHal83cXqVr+Nk+uTmtj2+fHOytUkjJDYpvP5wELH8gdh6Tl5kIJYiMC2EY4l7jUwGI8iKHI3dzLs4IfF2mXdl+VberVFZiSiZE5Ja3hOLueUdAEzmlfyyBo/Ou1DScZcMS1bpFg95zxr7UdmSj1K66Fa7eBXvp/l69OwKVTq4mbvrOO1mt+l+gfW3Mq3Fqpz2Y/yBMAYS3CPPVJNi2vvEQoqeBS4yD0HzoNIK4b+pG/0Wp2V2O3o7WwyDzPjnFjacP/+R873gVkUguBA2F8M8t5lpyzULWgNr8cWT0DxHuQK3bGn6u82PqNn4mOjdYj0JZY1WKg9i0Dwmpk3lzFtvGDjLCxuky87sonz3fvSvyTTOv56URGdPRRdU0VHgbEUCbenkiSWZUNcpFqdcsiXwFbo/7m5msTR0g7BuJ3k+W8xq9+46zuntbLKTQ3EkyFUVGiFUlkEwqYmjT3TGWtqA7/C3DSqGUDarsDF6fjjp8xtGHluSK6Sy+lKVtcxo2w47eRYbnUqizLUI2oi6ifTXuLjGePmJtjbu5LZOtpLRgYN3S0VbO1BQ0ZYpwqnblDxXeRNm6+fFWfDCyeiqkDjviPmDE2BaVmKRy8xckSroUNHbaZcWL89Podb+1IN2qioqhTOrFAjbR8x8rj0qNOCYsyu1qC1ipMXdbLqgcwD60wGWlKQzLjdRAOZOzrIoADUXnHwkm1USK4Dvukn++HX0etYN41ssn3l8ZKOhhWms6L3fhjfOs2nXDuXpeDwM1crKI7cS+ilgDJZioZ+8YrKYonwSXBffC3V4pg9ihYZsTa2dPA8rCYnyC5lxpcGX2SOtBbwuagkQqaUE159WeTJWrPQzSJ3jpBpL+gK+1DlDLgIfq7mqkklWzMc1pKjQ56/fj97H+SSmGxru9QVtE7pTR7a4eqLX4CkXJHLoYkaTO6tZ9JpYLeh8a1KQVqw30JTmbTA+yotH1jxzigtujkS8GpRGKq0k2LLiNYiNFNBPxSGdORWViq9Wr6UzX1O5v6HR7/PJ1dWynQey+fjg6rkN7gxoLImaPUUbO65VlaYwHDPUPIe+DPgZAtmhXLMuWa1p4x01L45I6h45L7hrZGDFYcJfw0ycO01Ql14oKKUKCkiNrTCNtNM2eJiSdRlSWi3Uyc0wWx3WIdYdqeXWSFVLZV2IrBUpespBy6VMzCZQl8HQRIpXMH+ZfZ4u9dJPAhXW6lORUqEaDJgfVhqcSqKZRfwrZtIhQSv7stZel9eUP44mdTSZjl5NTlTu6nRNHGuSIYFFc+KN9mtiqSqBNQim3mWjM63QvayDeCa1fxYdg+bJOh7Ul2naN6vcVDCHzSmBUSgZJ1vabcSmnRym8z4fzznvNZTF+QR/oBnX0THIEMd8iJZREi0LwquljT3eyEufYYgVS4pjOvF2MQCPyUShIHOlEGJY7ePtnBCZRg/tVEa/xC6ecvJLdjrRbhhyXCiYZysgPCsI3zsSLMNJZt6EvF+zG8+/dPOYu1Gdg/Jf7GsienjyBR58fG6jKGBcj2ygi3G8+Ry/Lt7cd3f33TIjj9dGf4tT60gmAQdChDngoFCjRb1gPAiZqowU1pjqcjb9RPNu1M32488Pz/0+60Hv1bE8tVYJBG+OXBd0fdNUGLYsJRuZN2Qcl0HRjmX6FCc3bfSP3tGiBYRVnn2c7FECh5nLeX3k/FpZE4pKKS8YlBYqRGnJQizEHHcV5kSWmPVuhRyCur8+jOWnwjS+ZC4FgZxV6zTrWdDQBAFdhoJOytCGurqhHyjPFC3K+uNArk1Vn6JLYDSbo4EbhYOOFYrVewvXnyjA6e1RAvIIpHuUgFoePkzRKUIAhSkxBRxUdcaEtVVBFgrQGNSBUTJAta5dia3pa32ub5GK71w9Hqewg3QSjJVZkaVd3/nCAufwqUY4spKi5P1ewJznBc5HikFSspXIZYiQhBhp8PsebOCEi/gjeA29SO0ZWTU/5wappAKTVpiREK06wLd4HxIj/BazTCZfeC9Wd7YbhB04EyspC7vqWJC15dVAtlowFg8elh0Ua0vsxerPyCtfDrGzsRZbpfQuMZlLw1rb1VQgxjGPGxlk5ftddjgjrz8HlQqkihb+4VOE9u3CWXJCn2UZPCilUu2FKvjpnfXgV0622XgaA2XyCUvVeLOgizGMcft6tHyVvlC+byu8mRe4uqfjT6LF+PTw/lL7Rah6J1JiGWoP5GyhOR0lVnWsEQpDGNsyDxBTzA68tQwMLYy/b0G9wP7nt+X3qF1Juvz/i/FkWujL+CkH2NWj+1XfzpsfAHv53apv2Z6bwcEAYjDC7s3YYBA5HKTvu0NvnBXoczLZIqxdgw/B2XMBPRByZWn7Yg59vegNtvGlaGiTB2Jsmte+IHvUeW/ETRHUn7gDtzy9cbdSsy97PV9V+kNuyfa+mL2XEL3RtkVqX7QBhThYwOvl3hdv4O5hb7lcHqgYcShr27cIfYHWzXx/mWxfnQ222GHDsrdeVsXQf7y7n7r2nu6qDXorcPCGZfCIN78M9QXt/yLcG3D3oz0Cxsn/mpK/h914/N0RjLPz0m6fb18lD53gwLev4zYgDu7gIJ0c3EqPJTq06EAjH1yqdyz3VtLQlcJgIe3Oon3FtPMdbSBuf277uW3w28Iw5sHm3jeKjiGA79//AhWm5bqWJAAA


name: Automate QuickBooks Customers & Sales Receipts Generation from a Google Sheet
author_name: Intuz
author_username: intuz
categories: []
created_at: 2025-08-01T08:59:09.867Z
updated_at: 2025-08-01T08:59:09.867Z
url: https://n8n.io/workflows/6770
scraped_at: 2025-12-24 13:02:46
description:
  This n8n template from Intuz provides a complete and automated solution to streamline your sales and accounting process.

  Simply add new transaction details to a designated Google Sheet, and this workflow takes over. Using specific status keywords in a column to trigger the process, it automatically creates new customer profiles and generates sales receipts in QuickBooks. This creates a complete, end-to-end system from a simple spreadsheet entry to a formal accounting record, eliminating manual data entry.

  How it works

  This workflow streamlines the process of recording sales from a Google Sheet into QuickBooks Online, intelligently handling both new and existing customers.

  1. Trigger on New Row: The workflow starts automatically whenever a new row is added to your specified Google Sheet.

  2. Check for Existing Customer: It takes the customer's name from the new row and searches your QuickBooks account to see if a customer with that DisplayName already exists.

  3. Conditional Logic (IF Node): Based on the search result, the workflow splits into two paths:

  If Customer Exists (True Path): The workflow proceeds directly to create a Sales Receipt, linking it to the existing customer's ID found in the search.
  If Customer Does Not Exist (False Path): The workflow first creates a new customer in QuickBooks using the name and email from the sheet. It then uses the ID of this newly created customer to generate the corresponding Sales Receipt.

  How to Use: Quick Start Guide

  Prepare your Google Sheet: Make sure you have a Google Sheet with clear headers for your sales data. The template is configured for the following columns: CustomerName, Email, Amount, and Quantity.

  Import the Template: Click the "Use Template" button to import the workflow into your n8n instance.

  Configure Google Sheet Node: 
  Enter the Spreadsheet ID from your Google Sheet's URL.
  Enter the Sheet Name where your sales data is located (e.g., Sheet1).

  Configure the QuickBooks Nodes: 
  Select your QuickBooks Online credential or create a new one for the "Search for Customer", "Create Receipt for EXISTING Customer", "Create New Customer", and "Create Receipt for NEW Customer" nodes.
  Important: In both "Create Receipt" nodes, you must provide a valid Product/Service ID from your QuickBooks account. Find this in the node parameters under Line &gt; Sales Item Line Detail &gt; Item Ref &gt; Value.

  Activate the Workflow: Save your changes and activate the workflow. Now, every new row you add to the Google Sheet will automatically create the necessary records in QuickBooks.
  Key Requirements to Use Template
  An active n8n instance.
  A Google account with a prepared Google Sheet.
  A QuickBooks Online account.
  A QuickBooks Developer account to obtain the API credentials needed to connect to n8n.
  At least one Product or Service item set up in your QuickBooks account to be referenced in the sales receipts.
  Connect with us

  Website: https://www.intuz.com/services
  Email: getstarted@intuz.com
  LinkedIn: https://www.linkedin.com/company/intuz
  Get Started: https://n8n.partnerlinks.io/intuz

  For Custom Workflow Automation
  Click here- Get Started

nodes_used:
  ["n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.quickbooks","n8n-nodes-base.quickbooks","n8n-nodes-base.stickyNote","n8n-nodes-base.quickbooks"]

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


name: WhatsApp RAG Chatbot with Supabase, Gemini 2.5 Flash, and OpenAI Embeddings
author_name: Manav Desai
author_username: manavdesai17
categories: []
created_at: 2025-08-01T09:17:50.511Z
updated_at: 2025-08-01T09:17:50.511Z
url: https://n8n.io/workflows/6771
scraped_at: 2025-12-24 13:02:41
description:
  WhatsApp RAG Chatbot with Supabase, Gemini 2.5 Flash, and OpenAI Embeddings

  This n8n template demonstrates how to build a WhatsApp-based AI chatbot that answers user questions using document retrieval (RAG) powered by Supabase for storage, OpenAI embeddings for semantic search, and Gemini 2.5 Flash LLM for generating high-quality responses.

  Use cases are many: Turn your WhatsApp into a knowledge assistant for FAQs, customer support, or internal company documents — all without coding.

  Good to know

  The workflow uses OpenAI embeddings for both document embeddings and query embeddings, ensuring accurate semantic search.  
  Gemini 2.5 Flash LLM** is used to generate user-friendly answers from the retrieved context.  
  Messages are processed in real-time and sent back directly to WhatsApp.  
  Workflow is modular — you can split document ingestion and query handling for large-scale setups.  
  Supabase and WhatsApp API credentials must be configured before running.  

  How it works

  Trigger: A new WhatsApp message triggers the workflow via webhook.  
  Message Check: Determines if the message is a query or a document upload.  
  Document Handling:  
     Fetch file URL from WhatsApp.  
     Convert binary to text.  
     Generate embeddings with OpenAI and store them in Supabase.  
  Query Handling:  
     Generate query embeddings with OpenAI.  
     Retrieve relevant context from Supabase.  
     Pass context to Gemini 2.5 Flash LLM to compose a response.  
  Response: Send the answer back to the user on WhatsApp.  

  Optional: Add Gmail node to forward chat logs or daily summaries.

  How to use

  Configure WhatsApp Business API webhook for incoming messages.  
  Add your Supabase and OpenAI credentials in n8n’s credentials manager.  
  Upload documents via WhatsApp to populate the Supabase vector store.  
  Ask queries — the bot retrieves context and answers using Gemini 2.5 Flash.

  Requirements

  WhatsApp Business API** (or Twilio WhatsApp Sandbox)  
  Supabase account** (vector storage for embeddings)  
  OpenAI API key** (for generating embeddings)  
  Gemini API access** (for LLM responses)  

  Customising this workflow

  Swap WhatsApp with Telegram, Slack, or email for different chat channels.  
  Extend ingestion to other sources like Google Drive or Notion.  
  Adjust the number of retrieved documents or prompt style in Gemini for tone control.  
  Add a Gmail output node to send logs or alerts automatically.  

nodes_used:
  ["@n8n/n8n-nodes-langchain.vectorStoreSupabase","n8n-nodes-base.whatsAppTrigger","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.whatsApp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.whatsApp","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4624 characters]


name: Automate GitHub PRs & JIRA Updates from Git Commit Commands-Single Repo
author_name: Intuz
author_username: intuz
categories: []
created_at: 2025-08-01T10:22:39.160Z
updated_at: 2025-08-01T10:22:39.160Z
url: https://n8n.io/workflows/6773
scraped_at: 2025-12-24 13:02:44
description:
  This n8n template from Intuz delivers a complete and automated solution to streamline your development workflow for a single repository.

  By embedding specific keywords and a JIRA issue ID within your git commit commands, this workflow automatically creates a Pull Request in GitHub and simultaneously updates the corresponding JIRA ticket. This provides a complete, seamless integration that eliminates manual steps and keeps your project management perfectly in sync with your codebase.

  How it works

  This workflow acts as a powerful bridge between your Git repository and your project management tools, driven entirely by the structure of your commit messages.

  GitHub Webhook Trigger: 
  The workflow starts when a developer pushes a new commit to a specified repository in GitHub.

  Parse Commit Message: A Code node extracts key information from the commit message:

  The JIRA Issue Key (e.g., FF-1196).
  The base branch for the PR (e.g., development).
  Action commands like [auto-pr] and [taskcompleted].

  Conditional PR Creation: An IF node checks if the [auto-pr] command is present.

  If yes, it uses the GitHub node to automatically create a pull request from the developer's branch to the specified base branch.
  If no, this step is skipped, allowing for multiple commits before a PR is made.

  Conditional JIRA Update: Another IF node checks for the [taskcompleted] command.

  If yes, it uses the JIRA node to transition the corresponding issue to your "Done" status (e.g., "Task Completed" or "In Review").
  If no, the JIRA issue remains in its current state, perfect for work-in-progress commits.

  How to Use: Quick Start Guide

  Click the "Use Template" button to import this workflow into your n8n instance.

  Configure the GitHub Trigger:
  Open the "GitHub Push Trigger" node. It will display a unique Webhook URL. Copy this URL.
  In your GitHub repository, go to Settings &gt; Webhooks &gt; Add webhook.
  Paste the URL into the Payload URL field.
  Set the Content type to application/json.
  Under "Which events would you like to trigger this webhook?", select Just the push event.
  Click Add webhook.

  Connect Your Accounts:
  GitHub: Select your GitHub API credential in the "Create Pull Request" node.
  JIRA : Select your JIRA API credential in the "Update JIRA Issue Status" node.

  Customize the JIRA Transition (Important):
  Open the "Update JIRA Issue Status" node.
  In the Transition parameter, you need to set the specific status you want to move the issue to (e.g., 'Done', 'Completed', 'In Review'). You can use the ID or the exact name of the transition from your JIRA  project's workflow.

  Activate the Workflow: Save your changes and activate the workflow. You're ready to automate!

  Example Commit Message:
  git commit -m "FF-1196 Implement OAuth login [auto-pr,development,taskcompleted]"

  Key Requirements to Use Template

  An active n8n instance.
  A GitHub account with repository admin permissions to create webhooks.
  A JIRA Cloud account with permissions to update issues.
  Developers who can follow the specified git commit message format.

  Connect with us

  Website: https://www.intuz.com/services
  Email: getstarted@intuz.com
  LinkedIn: https://www.linkedin.com/company/intuz
  Get Started: https://n8n.partnerlinks.io/intuz

  For Custom Worflow Automation
  Click here- Get Started

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.githubTrigger","n8n-nodes-base.stopAndError","n8n-nodes-base.stopAndError","n8n-nodes-base.if","n8n-nodes-base.jira","n8n-nodes-base.jira","n8n-nodes-base.if","n8n-nodes-base.jira","n8n-nodes-base.if","n8n-nodes-base.jira","n8n-nodes-base.httpRequest","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, 5644 characters]


name: AI-Generated LinkedIn Posts with Human Approval using GPT-4, GoToHuman & Blotato
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-08-02T00:04:14.003Z
updated_at: 2025-08-02T00:04:14.003Z
url: https://n8n.io/workflows/6827
scraped_at: 2025-12-24 13:02:42
description:
  This workflow is designed for creators, marketers, and agencies who want to automate content publishing while keeping quality control through human review. It integrates four powerful tools — Google Sheets, OpenAI, GoToHuman, and Blotato — to deliver a seamless AI-assisted, human-approved, auto-publishing system for LinkedIn.

  ⚙️ What This Workflow Does

  📅 Pulls Today’s Topic from Google Sheets  
     You store ideas in a spreadsheet with a date column.  
     The workflow runs daily (or manually) and selects the row matching today’s date.

  🧠 Generates a Caption with OpenAI  
     The selected idea is passed to GPT-4 via an AI Agent node.  
     OpenAI returns a short, emoji-rich LinkedIn caption (1–2 sentences).  
     The result is saved back to the sheet.

  👤 Sends the Caption for Human Review via GoToHuman  
     A human reviewer sees the AI-generated caption.  
     They approve or reject it using a GoToHuman review template.  
     Only approved captions move forward.

  🚀 Publishes the Approved Caption to LinkedIn via Blotato  
     The caption is posted to a LinkedIn account via Blotato's API.  
     No additional input is required — it's fully automated after approval.

  🔧 Setup Requirements

  ✅ Google Sheets
  Create or copy the provided sample sheet.
  Connect your Google Sheets account in n8n using OAuth2.

  ✅ OpenAI
  Create an API key at platform.openai.com.
  Add it to n8n as an OpenAI credential.

  ✅ GoToHuman
  Create an account and a Review Template at gotohuman.com.
  Add your API credential in n8n and use your reviewTemplateId in the node.

  ✅ Blotato
  Create an account at blotato.com.
  Get your API key and Account ID.
  Insert them into the HTTP Request node that publishes the LinkedIn post.

  🧪 Testing the Workflow

  Use the Manual Trigger node for step-by-step debugging.  
  Review nodes like AI Agent, Ask Human for Approval, and Post to LinkedIn to verify output.  
  Once confirmed, activate the schedule for fully hands-free publishing.

  👋 Built By

  Robert Breen  
  Founder of Ynteractive — Automation, AI, and Data Strategy

  🌐 Website: https://ynteractive.com  
  📧 Email: robert@ynteractive.com  
  🔗 LinkedIn: https://www.linkedin.com/in/robert-breen-29429625/  
  📺 YouTube: YnteractiveTraining

  🏷 Tags

  linkedin openai gotohuman social automation ai content approval workflow google sheets blotato marketing automation

nodes_used:
  ["n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","@gotohuman/n8n-nodes-gotohuman.gotoHuman","n8n-nodes-base.filter","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5432 characters]


name: AI-Powered CV Extractor: Google Drive to Sheet with GPT-4 + Slack for Recruiters
author_name: Trung Tran
author_username: trungtran
categories: []
created_at: 2025-08-02T05:56:38.102Z
updated_at: 2025-08-02T05:56:38.102Z
url: https://n8n.io/workflows/6835
scraped_at: 2025-12-24 13:02:45
description:
  CV Extractor: Google Drive to Sheet + Slack Update for Recruiters
  Watch the demo video below:

  &gt; This workflow automatically processes resumes (PDFs) uploaded or updated in a Google Drive folder. It extracts and structures the candidate’s information using AI, then updates or inserts the data into a Google Sheet, acting as a central talent database. Finally, it notifies the hiring team via Slack with a summary. Perfect for HR and TA teams, this automation eliminates the repetitive task of manually copying candidate details from CVs into spreadsheets, saving hours of admin work every week and keeping your hiring pipeline clean, fast, and up to date.
  👤 Who’s it for
  This workflow is designed for:
  Recruiters* and *HR coordinators** who manage candidate profiles via Google Drive.
  Talent Acquisition teams** who want to automate CV parsing, enrichment, and database updating.
  Companies or hiring agencies** using spreadsheets for candidate tracking and CRM-like HR ops.
  ⚙️ How it works / What it does
  This smart and fully automated workflow:
  Monitors a Google Drive folder for any uploaded or updated resumes (PDFs).
  Downloads and extracts resume content using PDF parsing.
  Sends the raw text to GPT-4, which returns a structured profile (name, title, experience, skills, etc.).
  Verifies the profile and transforms it into a clean, row-based format.
  Upserts the candidate profile into a Google Sheet (insert or update by email).
  Notifies the hiring team in Slack or email that a profile was added or updated.

  This is a no-touch pipeline to keep your candidate data clean, current, and centralized.
  🛠️ How to set up
  Step 1: Prepare your Google Drive folder
  Create a folder like /SmartHR/cv/
  Upload sample resumes in .pdf format

  Step 2: Create your Google Sheet
  Columns to include: Email, FullName, JobTitle, Phone, Location, Experience, Education, Skills, etc.
  Optional: Add conditional formatting to highlight updates

  Step 3: Connect the n8n workflow
  Use the Google Drive Trigger:
    fileCreated → new profile uploaded
    fileUpdated → existing profile modified
  Use Google Drive (Download file) to fetch the resume
  Use Extract From PDF to get raw content

  Step 4: Configure GPT-4 node
  Use the structured system prompt to extract profile information
  Use json parser node to ensure safe formatting for next steps

  Step 5: Transform & Save
  Use a Function node to map fields to Google Sheet columns
  Use Append or update row (based on email as unique key)
  Optionally send Slack or email message to notify hiring team

  ✅ Requirements

  🔑 OpenAI GPT-4 API key
  🟩 n8n Cloud or Self-hosted with:
    Google Drive integration
    Google Sheets integration
    Email/Slack credentials (optional)
  📄 Resume files in readable PDF format
  📊 Google Sheet prepared with relevant headers

  ✏️ How to customize the workflow

  | Part                        | Customization Options                                                                 |
  |----------------------------|----------------------------------------------------------------------------------------|
  | GPT Prompt             | Tune for different job levels or fields (e.g., engineers vs marketers)                |
  | Field Mapping          | Update transform node to include other profile fields (LinkedIn, portfolio, etc.)     |
  | Notification           | Switch to Microsoft Teams, Telegram, or email alerts instead of Slack                 |
  | Data Store             | Replace Google Sheet with Airtable, Notion, or database system                        |
  | Trigger Source         | Trigger from email attachments or webhook instead of Google Drive if needed           |
  | Output Format          | Generate PDF profile cards or summary documents using HTML → PDF node                 |

nodes_used:
  ["n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.filter","n8n-nodes-base.extractFromFile","n8n-nodes-base.stickyNote","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8200 characters]


