# templates

name: Transform Markdown Content into Structured Notion Blocks
author_name: Tom
author_username: mutedjam
categories: []
created_at: 2025-07-04T15:07:06.141Z
updated_at: 2025-07-04T15:07:06.141Z
url: https://n8n.io/workflows/5675
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Markdown to Notion Blocks Converter

  Transform markdown-formatted text into properly structured Notion page content with this comprehensive workflow.

  Overview
  This workflow automatically converts markdown text into Notion's block format and inserts it directly into a Notion page. Perfect for content creators, documentation teams, and anyone who needs to migrate markdown content to Notion.

  Features
  Complete Markdown Support**: Handles headers (H1-H4), paragraphs, lists, quotes, code blocks, and horizontal rules
  Rich Text Formatting**: Preserves bold, italic, and link formatting
  Smart Text Processing**: Generates plain text excerpts and maintains original content structure
  Direct Notion Integration**: Automatically inserts converted blocks into your specified Notion page
  Batch Processing**: Efficiently handles large content blocks

  What It Does
  Takes markdown-formatted text as input
  Parses and converts it to Notion's block structure
  Handles complex formatting including:
     Headers and subheaders
     Bulleted and numbered lists
     Code blocks with syntax highlighting
     Blockquotes
     Bold and italic text
     Links
     Horizontal dividers
  Uploads the converted content directly to your Notion page

  Use Cases
  Content Migration**: Move existing markdown documentation to Notion
  Automated Publishing**: Convert blog posts or articles from markdown to Notion
  Documentation Workflows**: Streamline technical documentation processes
  Content Syndication**: Publish the same content across multiple platforms

  Requirements
  Notion API credentials
  Target Notion page ID
  Markdown-formatted source content

  Setup
  Configure your Notion API credentials
  Replace the page ID in the HTTP request node with your target Notion page
  Connect your markdown data source (replace the mock data node)
  Execute the workflow

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

workflow_json_compressed:
  [encoded data, 6124 characters]

metadata_json:
  {"categories":["integration","content management","data processing","automation"],"complexity":"medium","use_cases":["Content migration from Markdown to Notion","Automated publishing of blog posts/articles to Notion","Technical documentation workflows and updates","Content syndication across platforms"],"estimated_setup_minutes":10,"required_services":["Notion API (Notion integration and page ID)","Markdown source (CMS, Git repo, file storage or webhook providing markdown)"],"key_features":["Full Markdown support (H1–H4, lists, blockquotes, horizontal rules)","Preserves rich text formatting (bold, italic, links)","Converts code blocks with syntax highlighting","Generates plain-text excerpts and maintains content structure","Directly inserts converted blocks into a specified Notion page','Batch processing for large content blocks"],"target_audience":["Content creators","Documentation teams / Technical writers","Developers building content workflows or migrations','Marketing and publishing teams"]}


name: Customer Onboarding Automation with HubSpot, Email Sequences and Team Alerts
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-07-04T15:12:39.741Z
updated_at: 2025-07-04T15:12:39.741Z
url: https://n8n.io/workflows/5676
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  Learn Customer Onboarding Automation with n8n

  ✅ How It Works
  This smart onboarding automation handles new customer signups by:

  Receiving signup data via webhook
  Validating required customer info
  Creating a contact in HubSpot CRM
  Sending a personalized welcome email
  Delivering onboarding documents after 2 hours
  Sending a personal check-in email after 1 day
  Sending a Week 1 success guide after 3 days
  Updating CRM status and notifying the team at each milestone
  It’s designed for professional onboarding, with built-in timing, CRM integration, and smart notifications to improve engagement and retention.

  🛠️ Setup Steps
  Create Webhook
  Add a Webhook node in n8n with POST method — this triggers when a new customer signs up.
  Validate Customer Data
  Add an IF node to check if email and customerName are present.
  Create CRM Contact
  Use a HubSpot node to create a new contact, map fields (e.g., split name into first/last).
  Send Notifications
  Add a Telegram or Slack node to alert your team instantly.
  Send Welcome Email
  Use an Email Send node for a warm welcome, customized with customer details.
  Wait 2 Hours
  Add a Wait node to delay next steps and avoid overwhelming the customer.
  Send Onboarding Documents
  Use another Email Send node to deliver helpful PDFs or guides.
  Wait 1 Day & Send Check-in
  Another Wait node, followed by a personal check-in email using the customer’s name.
  Wait 2 More Days & Send Success Guide
  Deliver Week 1 content via email to reinforce engagement.
  Update CRM & Notify Team
  Use HubSpot to update status and Telegram/Slack to notify your team of completion.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","n8n-nodes-base.hubspot","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.hubspot","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote","n8n-nodes-base.hubspot","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram"]

workflow_json_compressed:
  [encoded data, 8256 characters]

metadata_json:
  {"categories":["automation","crm integration","email sequencing"],"complexity":"medium","use_cases":["Automate new-customer onboarding","Send timed onboarding/drip emails","Create and update contacts in HubSpot CRM","Notify team via Slack/Telegram at milestones","Deliver onboarding documents and check-ins to improve retention"],"estimated_setup_minutes":30,"required_services":["HubSpot CRM","Email provider (SMTP/SendGrid/Mailgun or similar)","Slack or Telegram for team alerts","Webhook endpoint (n8n)"],"key_features":["Webhook-triggered workflow","Input validation (email and customer name)","Create and update HubSpot contacts with field mapping","Timed email sequence (welcome, docs after 2h, check-in after 1 day, week-1 guide after 3 days)","Wait/delay nodes to space communications and avoid overwhelm"],"target_audience":["Customer success teams","SaaS founders & product owners","Marketing/operations teams implementing onboarding flows\",\"Developers and automation engineers"]}


name: Extract & Transform HackerNews Data to Google Docs using Gemini 2.0 Flash
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-07-04T15:25:11.039Z
updated_at: 2025-07-04T15:25:11.039Z
url: https://n8n.io/workflows/5677
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  Description
  This workflow automates the process of scraping the latest discussions from HackerNews, transforming raw threads into human readable content using Google Gemini, and exporting the final content into a well-formatted Google Doc.

  Overview
  This n8n workflow is responsible for extracting trending posts from the HackerNews API. It loops through each item, performs HTTP data extraction, utilizes Google Gemini to generate human-readable insights, and then exports the enriched content into Google Docs for distribution, archiving, or content creation.

  Who this workflow is for

  Tech Newsletter Writers**:
  Automate the collection and summarization of trending HackerNews posts for inclusion in weekly or daily newsletters.

  Content Creators & Bloggers**:
  Quickly generate structured summaries and insights from HackerNews threads to use as inspiration or supporting content for blog posts, videos, or social media.

  Startup Founders & Product Builders**:
  Monitor HackerNews for discussions relevant to your niche or competitors, and keep a pulse on the community’s opinions.

  Investors & Analysts**:
  Surface early signals from the tech ecosystem by identifying what’s trending and how the community is reacting.

  Researchers & Students**:
  Analyze popular discussions and emerging trends in technology, programming, and startups—enriched with AI-generated insights.

  Digital Agencies & Consultants**:
  Offer HackerNews monitoring and insight reports as a value-added service to clients interested in the tech space.

  Tools Used
  n8n**: The core automation engine that manages the trigger, transformation, and export.

  HackerNews API**: Provides access to trending or new HN posts.

  Google Gemini**: Enriches HackerNews content with structured insights and human-like summaries.

  Google Docs**: Automatically creates and updates a document with the enriched content, ready for sharing or publishing.

  How to Install
  Import the Workflow**: Download the .json file and import it into your n8n instance.

  Set Up HackerNews Source**: Choose whether to use the HN API (via HTTP Request node) or RSS Feed node.

  Configure Gemini API**: Add your Google Gemini API key and design the prompt to extract pros/cons, key themes, or insights.

  Set Up Google Docs Integration**: Connect your Google account and configure the Google Docs node to create/update a document.

  Test and Deploy**: Run a test job to ensure data flows correctly and outputs are formatted as expected.

  Use Cases
  Tech Newsletter Authors**: Generate ready-to-use summaries of trending HackerNews threads.

  Startup Founders**: Stay informed on key discussions, product launches, and community feedback.

  Investors & Analysts**: Spot early trends, technical insights, and startup momentum directly from HN.

  Researchers**: Track community reactions to new technologies or frameworks.

  Content Creators**: Use the enriched data to spark blog posts, YouTube scripts, or LinkedIn updates.

  Connect with Me

  Email: ranjancse@gmail.com

  LinkedIn: https://www.linkedin.com/in/ranjan-dailata/

  Get Bright Data: Bright Data (Supports free workflows with a small commission)

  #n8n #automation #hackernews #contentcuration #aiwriting #geminiapi #googlegemini #techtrends #newsletterautomation #googleworkspace #rssautomation #nocode #structureddata #webscraping #contentautomation #hninsights #aiworkflow #googleintegration #webmonitoring #hnnews #aiassistant #gdocs #automationtools #gptlike #geminiwriter

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.hackerNews","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.googleDocs","n8n-nodes-base.googleDocs","n8n-nodes-base.set","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","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  H4sIAAAAAAAAE7VY+W7jNhp/FYFdoC0gurwkUgZ2sZkzs5OZzN3uHCgo8qOtiSy5EjXJbGCgj7H7en2SBeU4PiJ7ki72n8BiPn7H77t5iQqLxui3yWnxsn3x+ukDoqC4x1GMZuA1Gl+iomq9rgw8CXRKJblwudCpzgwzeZIyKlimZZ5JZh2xJMlzyYRhRBtptZFU0jxljhoJThAUIw+zeak93G/Atq/Bd/P79WxeggeLxr7pYBGjSs8AjdHDC99o46PXvumM7xqw0QPtdeSaehYda3MGzXM4b+Po4cW8bnzk6+hxXU9KiB7Upo3OCz9dHTyGWVEVQbyetGj84XJp99Pus/Ps0enn2em7l0ezf6C17GpSVABNUU1QjEwD2oM98miMGGEJJgKT7A2hY07HhIySRL1HMerm9ttki/hK+PvTc3/07ATmL/Xjn2Xq18LvdUVpi2oS3Strc9buUYDyNzQZMz4WZCRStk+BG2TXClj74uxcHk8S+376smPnawWOnuyXSZIxV2OiRiThB2Ruky0+xaiqLWxgz1wKPCMWC2kZFqkhOCecYUKAJoJqZcGtNfp5ClVkysKcBVz++P3fDy/AdB6i87o5c2V9/sfv/wnu/ToP1JWqcC8O57qF0UxXnS7fNMVkAg2K0bxuC1/UFRp/wFyRmHyK0Vw3egYemhaNLxdLTu+gaXsyusZMU8myFLAmOcGCcYeVSzVOU546KZ2TGay1XgZpFKJ0r3LT60De1iwd0AuVxawIQP/18jL6y+e2rkb3667y0WKBYtRAW3eNCTJ0WaIYaWt7brp8VEBpe8v2m6aEojbhHDNwFAvIJNYOKFaOKmapzHlG1qad1PU8Ov0CTfTEw2y/ee28LPyT6p72Zgo7JrIh7FE9D/8eVJZfK5tYpWzOJSbAcywyQrB2lGCptHCSJoxxulZ2qwpE96faR89qC+Va679XqvpprXqpq4mZ6qIalbNAvmRwXUU2bMgEiZk4aEWMZkHY86Uu/e/2p0nPC7MRwa7U7RTDxRwt+qyzUPlClz2bSS/4hS5nR/Oir8fB+n/CqbTH76vu8b13L5++e7/H0h9e6JNnP0ZH8yLSxoRAQQf8T5xxSZ6kWEmnsLBG40xIhaUjMuGGZgnItaD7fXWI9EbJ3RsDSyNCUd7GjnJGYnYTO1/4ElZR/sP3r8FHfgpR15RxpDs/rZvvfxwVHmajPgWWR9FigY83c8nVpYWm71sWnO5KvxffoNrpUeenbBNlnv3yov2Xn9MHv5D2y/uXN1Du28wmsrAsSqdVSEKnyxZCVvrm62n1SBflssHtOIDFSJfn+mt72vl550OHu7p77RmmkgQkSAw6y7DQxuCMUI0TkTunZc4p5Wvl3vYFebMV3t0xCRl0jDZ9UL8t1h+ryvLhEnm48Guvrbr3cTfTVfQKtNV50Ed7veW9cGtZv5YM0TjMHNB4tPi0iFE9h0ZfnS9bDYqRrU03g8q/fXWyVQwLGzj9v7287b5rL4FLMis0xYLKFAtJGM6y1OJES0pywVku8jXzVVA/qeadj65Q3FtEwe+0LTrYHraKjm7bYlIFmJa+2/xcNeGEWatdnuOEpw6LxKY4SzOJpbUuybOcqzTbyPkegmslW381Hn3RZRcOkuCyGzV7JK4h0loKzSXFmTAOC01ynHGbYWcTwh3VeQ52AyJfmLOv0fO69/keZHqaK5LN1kJIjPlACJu68lCFOP3uu+i1h3lEP1Yfq5U7it4dLrhjOUCGw49Lyz+iOJrW59FMV1+jBkzd2KgCsG2YPHOIHHgwU7AjtL/IyiyVgmUJdpyHJpvkWFEbxkQrEg02V4oPIkDvDIFIbw0B24Rgp1muMynSbTTXjY9q1xNO+8xuVpltw2wOy6wPGhyYNAhYKiDHKWiLRWpVAIHgJCFhqXBC2I1MOVBIbtG/+78n5Wyna6vhxnNVwVYi9a6NV9CNogDYMTTwfdtD0Z9f+Ggczq/LUY9IX9ryMP6EZOkzc97Us7l/s9TcgisqCGh9q1PQkVzPoRlj2qaASZZkWKSJw4oSh7kjoKzSPGXpYByxO8cR5iGQBBkKpLJu0DiN0Xlh/RSNE0FiNIViMvVozMLHVqzdYqGL7rbR9W5YXqzgvN2NwYEbo2vewW0l6Gp5aUtU31wOp7HjYHSKrZMWC5AMK5oCzqkUCXNCpnkyCD+/M/yS3TqN+UAar6zZSmRXNz3NBuYr6AI2BwzPuXEASmHJE4OFkALn0hAsk4RSKwSw1AwaLv5cCacDo/VV2CXXYUdJuhF3CduNu00z+4B7eJsqxVNOmFEZVkwLLEimcBZcLhVjeS5savhwqU7+ZIodsJUPpxi9YerJybPobasn0IZY2C7l+G+rX2xEokdh6wjJcLUKHSrXhuss4zg1imHBTYazlDIMjECmMkLZ5qY+MK3ffq7ZM3feea5hqXSMugRboXjIT4EzKTnOqVWaMGszJdYq72p5Y7BZT5jXu8b6GSVNpebO5VgTabBwaYpzlnCspUlFzrRWsLE3d015K0G/TovJtAxufgVtV/pR15SjnqwX/o05y6aQZ4JhKsM8qrTDmRUUO8mUySiTlKQ3V7kqOn7z5kX0Cn7roPX7Hyy8n69pdirVgPOCxZuWdU25bIrbi/63up8YDW5K/ZPhp+Xy8GW9dbXgfVFNegWWW1lRV6eNhQaN0Rcaov3LknO/IKaC5E7zBEtmOBZWWKyAK6wz5QAYEwrCHGzqqgKz0nrreWd8iWa6CDB8uOyfug69kfSUMSoqCxdoTBafwqazS73B8VO8ZnowvwYZDyyE/7u2Q/v/ENdD2+gg4yH7hhh/K2oPMt/auoa4D77cHQRiR48hpreaZAeF7H3ACgWw+DWMu52ewNXZXUXe4LAr/hCXQ74ZfBwaNPBW77tDog7v0QOyFov/AqlxoEf1GAAA

metadata_json:
  {"categories":["automation","integration","data processing","content generation"],"complexity":"medium","use_cases":["Generate summaries of trending HackerNews threads for newsletters","Automate content research and idea generation for blogs/videos","Monitor HackerNews for competitor/product/community signals","Produce archival or shareable insight reports in Google Docs","Extract structured themes, pros/cons and sentiment from discussion threads"],"estimated_setup_minutes":20,"required_services":["HackerNews API (or RSS feed)","Google Gemini API (Gemini 2.0)","Google Docs / Google Workspace (Docs API & Drive OAuth)","n8n instance"],"key_features":["Fetch trending HackerNews items (API or RSS) and loop through threads","HTTP data extraction and optional web scraping","AI enrichment via Google Gemini to generate human-readable summaries, pros/cons and key themes","Batch processing and item-level handling (splitInBatches)","Automatic creation/update of well-formatted Google Docs for distribution or archiving"],"target_audience":["Tech newsletter writers","Content creators & bloggers","Startup founders & product teams monitoring community feedback and trends`,`Investors & analysts tracking early signals`,"]}


name: Automate Email Filtering & AI Summarization. 100% free & effective, works 7/24
author_name: ARRE
author_username: arre
categories: []
created_at: 2025-07-04T16:45:16.027Z
updated_at: 2025-07-04T16:45:16.027Z
url: https://n8n.io/workflows/5678
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  Good to know:
  This workflow automatically processes incoming emails (you can filter them base on your needs) and creates concise AI-powered summaries, then logs them to a Google Sheets spreadsheet for easy tracking and analysis.

  Who is this for?

  ➖Business professionals who receive many emails and need quick summaries
  ➖Customer service teams tracking email communications
  ➖Project managers monitoring email correspondence
  ➖Anyone who wants to automatically organize and summarize their email communications

  What problem is this workflow solving?

  This workflow solves the problem of email overload by automatically reading incoming emails, generating concise summaries using AI, and organizing them in a structured format. It eliminates the need to manually read through every email to understand the key points and maintains a searchable record of communications.

  What this workflow does:

  ✅Monitors your Gmail inbox for new emails
  ✅Filters emails based on specific criteria (sender validation)
  ✅Extracts key information (sender, date, subject, content)
  ✅Uses AI to generate concise summaries of email content
  ✅Automatically logs all data including the AI summary to a Google Sheets spreadsheet

  How it works:

  1️⃣Gmail trigger monitors for new emails at specified intervals
  2️⃣Email data is processed and formatted using JavaScript
  3️⃣A conditional check validates the sender
  4️⃣AI agent (powered by Groq's language model) reads the email content and generates a summary
  5️⃣All information is automatically appended to a Google Sheets document

  How to use:

  Set up Gmail OAuth2 credentials in n8n
  Configure Google Sheets OAuth2 credentials
  Set up Groq API credentials for AI processing
  Create a Google Sheets document and update the document ID
  Customize the sender validation criteria as needed
  Activate the workflow

  Requirements:

  ✅n8n instance (cloud or self-hosted)
  ✅Gmail account with OAuth2 access
  ✅Google Sheets account
  ✅AI API
  ✅Basic understanding of n8n workflow

  Customizing this workflow:

  🟢Modify the Gmail trigger filters to target specific labels or criteria
  🟢Adjust the sender validation logic in the conditional node
  🟢Customize the AI prompt to change summary style or focus
  🟢Add additional data fields to the Google Sheets output
  🟢Change the polling frequency for checking new emails
  🟢Switch to different AI models by replacing the Groq node

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmailTrigger","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.lmChatGroq","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4296 characters]

metadata_json:
  {"categories":["automation","integration","data processing","AI"],"complexity":"medium","use_cases":["Email triage and summarization","Customer support ticket logging","Project communication tracking","Creating searchable email records for analysis","Reducing time spent reading routine emails"],"estimated_setup_minutes":20,"required_services":["n8n instance (cloud or self-hosted)","Gmail account with OAuth2 access","Google Sheets with OAuth2 access","Groq AI API (or compatible LLM API)"],"key_features":["Monitors Gmail for new messages","Custom sender-based filtering/validation","Extracts sender, date, subject and content","Generates concise AI-powered summaries","Appends structured records to Google Sheets automatically"],"target_audience":["Business professionals","Customer service teams","Project managers and PMOs"]}


name: RAG Chatbot with Supabase + TogetherAI + Openrouter
author_name: iamvaar
author_username: iamvaar
categories: []
created_at: 2025-07-04T18:23:28.386Z
updated_at: 2025-07-04T18:23:28.386Z
url: https://n8n.io/workflows/5680
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  ⚠️ RUN the FIRST WORKFLOW ONLY ONCE 
  (as it will convert your content in Embedding format and save it in DB and is ready for the RAG Chat)

  📌 Telegram Trigger

  Type:** telegramTrigger
  Purpose:** Waits for new Telegram messages to trigger the workflow.
  Note:** Currently disabled.

  📄 Content for the Training

  Type:** googleDocs
  Purpose:** Fetches document content from Google Docs using its URL.
  Details:** Uses Service Account authentication.

  ✂️ Splitting into Chunks

  Type:** code
  Purpose:** Splits the fetched document text into smaller chunks (1000 chars each) for processing.
  Logic:** Loops over text and slices it.

  🧠 Embedding Uploaded Document

  Type:** httpRequest
  Purpose:** Calls Together AI embedding API to get vector embeddings for each text chunk.
  Details:** Sends JSON with model name and chunk as input.

  🛢 Save the embedding in DB

  Type:** supabase
  Purpose:** Saves each text chunk and its embedding vector into the Supabase embed table.

  SECOND WORKFLOW EXPLAINATION:

  💬 When chat message received

  Type:** chatTrigger
  Purpose:** Starts the workflow when a user sends a chat message.
  Details:** Sends an initial greeting message to the user.

  🧩 Embend User Message

  Type:** httpRequest
  Purpose:** Generates embedding for the user’s input message.
  Details:** Calls Together AI embeddings API.

  🔍 Search Embeddings

  Type:** httpRequest
  Purpose:** Searches Supabase DB for the top 5 most similar text chunks based on the generated embedding.
  Details:** Calls Supabase RPC function matchembeddings1.

  📦 Aggregate

  Type:** aggregate
  Purpose:** Combines all retrieved text chunks into a single aggregated context for the LLM.

  🧠 Basic LLM Chain

  Type:** chainLlm
  Purpose:** Passes the user's question + aggregated context to the LLM to generate a detailed answer.
  Details:** Contains prompt instructing the LLM to answer only based on context.

  🤖 OpenRouter Chat Model

  Type:** lmChatOpenRouter
  Purpose:** Provides the actual AI language model that processes the prompt.
  Details:** Uses qwen/qwen3-8b:free model via OpenRouter and you can use any of your choice.

nodes_used:
  ["n8n-nodes-base.googleDocs","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.supabase","n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","conversational AI","retrieval-augmented generation","vector search"],"complexity":"medium","use_cases":["Create a RAG chatbot over Google Docs","Internal knowledge base / docs Q&A","Customer support conversational assistant","Semantic search over uploaded documents"],"estimated_setup_minutes":30,"required_services":["Google Docs (service account)","Supabase (vector/embed table + RPC)","TogetherAI (embedding API)","OpenRouter (LLM model access, e.g., qwen/qwen3-8b)","Telegram (optional chat trigger)"],"key_features":["Document fetch from Google Docs","Chunking text into fixed-size pieces","Generate embeddings via TogetherAI","Store embeddings and chunks in Supabase","Vector similarity search (Supabase RPC) for top-k matches (top 5)​/context retrieval​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)"],"target_audience":["developers","AI engineers","product teams building chatbots or internal KBs"]}


name: Simulate Debates Between AI Agents Using Mistral to Optimize Answers
author_name: Hybroht
author_username: hybroht
categories: []
created_at: 2025-07-04T19:59:57.854Z
updated_at: 2025-07-04T19:59:57.854Z
url: https://n8n.io/workflows/5682
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow contains community nodes that are only compatible with the self-hosted version of n8n. 

  AI Arena - Debate of AI Agents to Optimize Answers and Simulate Diverse Scenarios

  Overview 
  Version: 1.0

  The AI Arena Workflow is designed to facilitate a refined answer generation process by enabling a structured debate among multiple AI agents. This workflow allows for diverse perspectives to be considered before arriving at a final output, enhancing the quality and depth of the generated responses.

  ✨ Features
  Multi-Agent Debate Simulation**: Engage multiple AI agents in a debate to generate nuanced responses.
  Configurable Rounds and Agents**: Easily adjust the number of debate rounds and participating agents to fit your needs.
  Contextualized AI Responses**: Each agent operates based on predefined roles and characteristics, ensuring relevant and focused discussions.
  JSON Output**: The final output is structured in JSON format, making it easy to integrate with other systems or workflows.

  👤 Who is this for?
  This workflow is ideal for developers, data scientists, content creators, and businesses looking to leverage AI for decision-making, content generation, or any scenario requiring diverse viewpoints. It is particularly useful for those who need to synthesize information from multiple personalities or perspectives.

  💡 What problem does this solve?
  The workflow addresses the challenge of generating nuanced responses by simulating a debate among AI agents. This approach ensures that multiple perspectives are considered, reducing bias and enhancing the overall quality of the output. Use-Case examples:
  🗓️ Meeting/Interview Simulation
  ✔️ Quality Assurance
  📖 Storywriter Test Environment
  🏛️ Forum/Conference/Symposium Simulation

  🔍 What this workflow does
  The workflow orchestrates a debate among AI agents, allowing them to discuss, critique, and suggest rewrites for a given input based on their roles and predefined characteristics. This collaborative process leads to a more refined and comprehensive final output.

  🔄 Workflow Steps
  Input & Setup: The initial input is provided, and the AI environment is configured with necessary parameters.
  Round Execution: AI agents execute their roles, providing replies and actions based on the input and their individual characteristics.
  Round Results: The results of each round are aggregated, and a summary is created to capture the key points discussed by the agents.
  Continue to Next Round: If more rounds are defined, the process repeats until the specified number of rounds is completed.
  Final Output: The final output is generated based on the agents' discussions and suggestions, providing a cohesive response.

  ⚡ How to Use/Setup
  🔐 Credentials
  Obtain an API key for the Mistral API or another LLM API. This key is necessary for the AI agents to function properly.

  🔧 Configuration
  Set up the workflow in n8n, ensuring all nodes are correctly configured according to the workflow requirements. This includes setting the appropriate input parameters and defining the roles of each AI agent.
  This workflow uses a custom node for Global Variables called 'n8n-nodes-globals.' Alternatively, you can use the 'Edit Field (Set)' node to achieve the same functionality.

  ✏️ Customizing this workflow
  To customize the workflow, adjust the AI agent parameters in the JSON configuration. This includes defining their roles, personalities, and preferences, which will influence how they interact during the debate.
  One of the notes includes a ready-to-use example of how to customize the agents and the environment. You can simply edit it and insert it as your credential in the Global Variables node.

  📌 Example







  An example with both input and final output is provided in a note within the workflow.

  🛠️ Tools Used

  n8n: A workflow automation tool that allows users to connect various applications and services.
  Mistral API: A powerful language model API used for generating AI responses. (You can replace it with any LLM API of your choice)
  Podman: A container management tool that allows users to create, manage, and run containers without requiring a daemon. (It serves as an alternative to Docker for container orchestration.)

  ⚙️ n8n Setup Used
  n8n Version**: 1.100.1
  n8n-nodes-globals**: 1.1.0
  Running n8n via**: Podman 4.3.1
  Operating System**: Linux

  ⚠️ Notes, Assumptions & Warnings

  Ensure that the AI agents are configured with clear roles to maximize the effectiveness of the debate. Each agent's characteristics should align with the overall goals of the workflow.
  The workflow can be adapted for various use cases, including meeting simulations, content generation, and brainstorming sessions.
  This workflow assumes that users have a basic understanding of n8n and JSON configuration.
  This workflow assumes that users have access to the necessary API keys and permissions to utilize the Mistral API or other LLM APIs.
  Ensure that the input provided to the AI agents is clear and concise to avoid confusion in the debate process. Ambiguous inputs may lead to unclear or irrelevant outputs.
  Monitor the output for relevance and accuracy, as AI-generated content may require human oversight to ensure it meets standards and expectations before being used in production.

  ℹ️ About Us

  This workflow was developed by the Hybroht team of AI enthusiasts and developers dedicated to enhancing the capabilities of AI through collaborative processes. Our goal is to create tools that harness the possibilities of AI technology and more.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-globals.globalConstants","n8n-nodes-base.manualTrigger","n8n-nodes-base.emailReadImap","@n8n/n8n-nodes-langchain.lmChatMistralCloud","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 11992 characters]

metadata_json:
  {"categories":["automation","AI","multi-agent simulation","content generation","integration"],"complexity":"complex","use_cases":["Meeting / interview simulation","Quality assurance of generated content","Story / creative writing iteration","Forum / conference / symposium simulation","Brainstorming and decision-making support"],"estimated_setup_minutes":60,"required_services":["n8n (self-hosted) with community nodes support","Mistral API (or alternative LLM API) and API key","n8n-nodes-globals community node (or Edit Field (Set) node alternative)","Podman or Docker (container runtime) for running n8n","Host/server with Linux (or compatible OS) and network access to LLM API"],"key_features":["Multi-agent debate simulation to generate/refine answers","Configurable number of agents and debate rounds","Role-based and contextualized agent behavior","Round aggregation and summarized results","Final structured JSON output for downstream integration and parsing support (outputParserStructured nodes used)"],"target_audience":["Developers","Data scientists","Content creators / writers / editors"]}


name: One-Click YouTube Shorts Generator with Leonardo AI, GPT and ElevenLabs
author_name: Huzaifa Tahir
author_username: huzaifa404
categories: []
created_at: 2025-07-04T21:25:54.145Z
updated_at: 2025-07-04T21:25:54.145Z
url: https://n8n.io/workflows/5683
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  🎬 What it does  
  This workflow creates an engaging YouTube Short with a single click — from script to voiceover, to visuals and background music.  
  It combines several AI tools to automate content creation and final video assembly.

  ⚙️ How it works  
  Accepts an input prompt or topic  
  Generates script using GPT  
  Converts script to voiceover using ElevenLabs  
  Generates b-roll style images via Leonardo.Ai  
  Matches background music  
  Assembles a vertical 1080×1920 MP4 video using JSON render config  
  Optionally uploads to YouTube or saves to Cloudinary

  🧰 Setup steps  
  Add your credentials:  
    Leonardo API (image generation)  
    ElevenLabs (voiceover)  
    Cloudinary (upload destination)  
    Any GPT-based text generator

  Drop your audio/music file in the right node  
  Replace API expressions with your own credentials

  &gt; 🟨 Full step-by-step instructions are in sticky notes inside the workflow.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.aggregate","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.wait"]

workflow_json_compressed:
  [encoded data, 10380 characters]

metadata_json:
  {"categories":["automation","content creation","video production","AI integration"],"complexity":"complex","use_cases":["One-click creation of YouTube Shorts","Automated social media video production","Repurposing blog posts or long-form content into short videos","Marketing and promotional microvideos","Rapid prototyping of short-form video ideas"],"estimated_setup_minutes":45,"required_services":["Leonardo.ai (image generation)","ElevenLabs (text-to-speech / voiceover)","OpenAI or other GPT-based text generator","Cloudinary (optional upload/storage)","YouTube API (optional upload)"],"key_features":["End-to-end pipeline from prompt to vertical 1080×1920 MP4","GPT-based script generation","ElevenLabs voiceover generation","Leonardo.ai b-roll / stylized image generation","Background music matching and inclusion (user-supplied audio node support)"],"target_audience":["social media creators","marketers","small business owners and agencies producing video ads/content quickly"]}


name: Track WhatsApp Group Message Activity with Airtable Database
author_name: David w/ SimpleGrow
author_username: davidxai
categories: []
created_at: 2025-07-04T23:08:16.287Z
updated_at: 2025-07-04T23:08:16.287Z
url: https://n8n.io/workflows/5684
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:34
description:
  This n8n workflow tracks user engagement in a specific WhatsApp group by capturing incoming messages via a Whapi webhook. 

  It first filters messages to ensure they come from the correct group, then identifies the message type—text, emoji reaction, voice, or image. The workflow searches for the user in an Airtable database using their WhatsApp ID and increments their message count by one. It updates the Airtable record with the new count and the date of the last interaction. 

  This automated process helps measure user activity and supports engagement initiatives like weekly raffles or rewards. The system is flexible and can be expanded to include more message types or additional actions. 

  Overall, it provides a seamless way to encourage and track user participation in your WhatsApp community.

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.airtable","n8n-nodes-base.code","n8n-nodes-base.airtable","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["integration","automation","analytics","community management"],"complexity":"medium","use_cases":["Track WhatsApp group engagement and message counts","Run participation-based raffles and rewards","Maintain member activity records in Airtable","Trigger follow-ups or notifications based on activity","Generate engagement reports and analytics"],"estimated_setup_minutes":20,"required_services":["Whapi (WhatsApp webhook provider)","Airtable API","Publicly accessible webhook host (n8n Cloud or self-hosted with reverse proxy)","AI/ML provider (optional, if using AI nodes for classification)"],"key_features":["Capture incoming WhatsApp group messages via webhook","Filter to a specific WhatsApp group","Detect and classify message types (text, emoji reaction, voice, image)","Search and update Airtable records by WhatsApp ID","Increment message/activity count and update last interaction date/time per user」「Extensible to add more message types or additional automated actions"],"target_audience":["Community managers","Growth/marketing teams","Developers/automation engineers implementing chat integrations」「Product/operations teams monitoring community engagement"]}


name: WhatsApp Group Onboarding with Automated Welcome Messages & Airtable Point System
author_name: David w/ SimpleGrow
author_username: davidxai
categories: []
created_at: 2025-07-04T23:16:16.482Z
updated_at: 2025-07-04T23:16:16.482Z
url: https://n8n.io/workflows/5686
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  Receive Webhook Notification
  The workflow starts when a webhook receives a POST request from Whapi, notifying that a new participant has joined a WhatsApp group.

  Filter the Event
  The workflow checks two conditions:

  The event is for the correct WhatsApp group (matching the specific group ID).

  The action type is "add" (meaning a user was added to the group).

  Send Welcome Message
  If both conditions are met, the workflow sends a personalized welcome message to the new participant via Whapi.
  The message explains the group rules and how the user can earn points and participate in weekly raffles.

  Create Airtable Record
  After sending the welcome message, the workflow creates a new record in the Airtable database for the new participant.
  The record includes:

  The participant’s WhatsApp ID

  An initial engagement count of 100 points

  The date of the last interaction (set to today)

  Result
  Every new group member is automatically welcomed and registered in your engagement database with starter points, ready to participate in your group’s activities and rewards.

  This workflow ensures new users are greeted, informed, and instantly included in your engagement tracking system.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","community management"],"complexity":"simple","use_cases":["Automated onboarding for WhatsApp group members","Sending personalized welcome messages and rules","Tracking member engagement and points","Preparing members for raffles or rewards programs","Maintaining an engagement database in Airtable"],"estimated_setup_minutes":20,"required_services":["Whapi (WhatsApp API) or compatible WhatsApp webhook provider","Airtable (base and API key)","n8n instance to host the webhook"],"key_features":["Webhook trigger for new group participant events","Event filtering by group ID and action type","Personalized welcome message sent via Whapi","Automatic creation of Airtable record with WhatsApp ID, initial points (100), and last interaction date","Simple conditional flow to ensure only 'add' events for the target group are processed"],"target_audience":["Community managers","Growth/marketing teams","Customer success teams or moderators running WhatsApp groups of users/subscribers or customers"]}


name: Automated US Stock Portfolio Analysis with Telegram, Perplexity AI & PDF Reports
author_name: Solido AI
author_username: solidoai
categories: []
created_at: 2025-07-04T23:24:27.232Z
updated_at: 2025-07-04T23:24:27.232Z
url: https://n8n.io/workflows/5687
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  System Architecture
  Two integrated N8N workflows providing automated US stock portfolio management through Telegram:

  FLOW 1: Conversational Portfolio Manager
  Telegram bot for interactive portfolio management
  PDF upload & analysis via LlamaIndex Cloud API
  Natural language portfolio updates via GPT-4.1-mini
  Real-time user registration and data management

  FLOW 2: Automated Weekly Reports
  Schedule-triggered weekly analysis (every 7 days)
  Perplexity AI sonar-deep-research for market analysis
  Professional PDF report generation via PDFco
  Automatic Telegram delivery to all registered users

nodes_used:
  ["n8n-nodes-base.html","@n8n/n8n-nodes-langchain.outputParserAutofixing","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.perplexity","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-pdfco.PDFco Api","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","n8n-nodes-base.postgres","n8n-nodes-base.supabase","n8n-nodes-base.telegramTrigger","n8n-nodes-base.supabase","n8n-nodes-base.if","n8n-nodes-base.supabase","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.supabase","@n8n/n8n-nodes-langchain.memoryPostgresChat","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.supabase","n8n-nodes-base.supabase","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.supabase","n8n-nodes-base.supabase","n8n-nodes-base.supabaseTool","n8n-nodes-base.httpRequest","n8n-nodes-base.html","@n8n/n8n-nodes-langchain.outputParserAutofixing","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.perplexity","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-pdfco.PDFco Api","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4896 characters]

metadata_json:
  {"categories":["automation","fintech","reporting","AI integration","data processing"],"complexity":"complex","use_cases":["Interactive Telegram-based portfolio management","PDF upload and document-driven portfolio analysis","Automated weekly market research and reporting","Delivering professional PDF reports to users","Centralized user and portfolio storage (Supabase)"],"estimated_setup_minutes":120,"required_services":["n8n instance with public webhook/hosting","Telegram Bot API (bot token)","LlamaIndex Cloud API","OpenAI (GPT-4.1-mini / lmChatOpenAi)","Perplexity AI (sonar-deep-research)","PDF.co (PDF generation)","Supabase (database / user storage)","Optional: HTTP/webhook-accessible endpoint"],"key_features":["Conversational portfolio manager via Telegram","PDF upload + semantic analysis using LlamaIndex","Natural language updates and decisions via GPT-4.1-mini","Scheduled weekly deep-dive market analysis from Perplexity AI","Automated generation of professional PDF reports (PDF.co) and delivery to users via Telegram"],"target_audience":["Retail investors and traders","Financial advisors and wealth managers","Developers building fintech automations / integrations with AI APIs\",\"Data analysts and research teams"]}


name: Send Weekly Engagement Stats & Raffle Updates via WhatsApp using Airtable
author_name: David w/ SimpleGrow
author_username: davidxai
categories: []
created_at: 2025-07-04T23:24:36.938Z
updated_at: 2025-07-04T23:24:36.938Z
url: https://n8n.io/workflows/5688
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  Scheduled Trigger:
  Every X day at Y pm, the workflow is automatically triggered.

  Fetch User Data:
  The workflow retrieves all user records from the "WhatsApp Engagement Database" in Airtable. Each record contains the user’s WhatsApp ID, current points, and the number of raffle vouchers.

  Personalized Message Preparation:
  For each user, a personalized WhatsApp message is prepared. The message includes:

  The user’s current point total

  The number of raffle vouchers they have for the week

  Encouragement to keep engaging for more chances to win

  Information about the weekly raffle and available prizes

  Send WhatsApp Message:
  The workflow sends this personalized message to each user via the Whapi API, using their WhatsApp ID.

  Result:
  Every active user receives a weekly update about their engagement status, raffle tickets, and a motivational message to encourage further participation. This helps boost engagement and keeps users informed about their progress and chances in the weekly raffle.

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

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

metadata_json:
  {"categories":["automation","engagement","messaging","integration","notifications"],"complexity":"medium","use_cases":["Weekly engagement summaries","Raffle/loyalty notifications","User re-engagement campaigns","Membership or points program updates","Community management communications"],"estimated_setup_minutes":30,"required_services":["Airtable","Whapi (WhatsApp API)","n8n Scheduler (built-in)","Optional: OpenAI or other AI service for message personalization"],"key_features":["Scheduled weekly trigger","Fetch user records from Airtable","Personalized message composition (points, raffle vouchers, encouragement)","Send messages via WhatsApp API (Whapi)","Scales to all active users automatically"],"target_audience":["Marketers","Community managers","Growth teams / Product ops\",\"Developers implementing automations"]}


name: Advanced Medium API MCP Server
author_name: David Ashby
author_username: cfomodz
categories: []
created_at: 2025-07-05T02:17:50.415Z
updated_at: 2025-07-05T02:17:50.415Z
url: https://n8n.io/workflows/5689
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  ⚠️ ADVANCED USE ONLY - Medium MCP Server (32 operations)

  🚨 This workflow is for advanced users only!

  Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator?

  Join the community

  This MCP server contains 32 operations which is significantly more than the recommended maximum of tools for most AI clients.

  🔍 Recommended Alternative for basic use cases
  Seek a simplified MCP server that utilizes the official n8n tool implementation for Medium if available, or an MCP server with only common operations as it will be more efficient and easier to manage.

  🛠️ Advanced Usage Requirements

  BEFORE adding this MCP server to your client:
  Disable or delete unused nodes - Review sections and disable/delete those you don't need

  AFTER adding the MCP server to your client:
  1.Selective tool enabling - Instead of enabling all tools (default), manually select only the specific tools you need for that Workflow's MCP client.
  Monitor performance - Too many tools can slow down AI responses

  💡 Pro Tips
  Keep maximum 40 enabled tools - Most AI clients perform better with fewer tools
  Group related operations and only enable one group at a time
  Use the overview note to understand what each operation group does

  Ping me on discord if your business needs this implemented professionally
  ⚡ Quick Setup

  Import this workflow into your n8n instance
  Credentials Add Medium API credentials
  Activate the workflow to start your MCP server
  Copy the webhook URL from the MCP trigger node
  Connect AI agents using the MCP URL

  🔧 How it Works

  This workflow converts the Medium API into an MCP-compatible interface for AI agents.

  • MCP Trigger: Serves as your server endpoint for AI agent requests
  • HTTP Request Nodes: Handle API calls to https://medium2.p.rapidapi.com
  • AI Expressions: Automatically populate parameters via $fromAI() placeholders
  • Native Integration: Returns responses directly to the AI agent

  📋 Available Operations (32 endpoints)

  General (1 operation)
  Get User Top Articles

  Article (6 operations)
  Get Article Info, Get Article's Content, Get Article Fans, Get Article's Markdown, Get Related Articles, Get Article Responses

  Latestposts (1 operation)
  Get Latest Posts

  List (3 operations)
  Get List Info, Get List Articles, Get List Responses

  Publication (4 operations)
  Get Publication ID, Get Publication Info, Get Publication Articles, Get Publication Newsletter

  Related Tags (1 operation)
  Get Related Tags

  Search (5 operations)
  Search Articles, Search Lists, Search Publications, Search Tags, Search Users

  Top Writer (1 operation)
  Get Top Writers

  Topfeeds (1 operation)
  Get Topfeeds

  User (9 operations)
  Get User ID, Get User Info, Get User's Articles, Get User Followers, and 5 more operations

  🤖 AI Integration

  Parameter Handling: AI agents automatically provide values for:
  • Path parameters and identifiers
  • Query parameters and filters
  • Request body data
  • Headers and authentication

  Response Format: Native Medium API responses with full data structure

  Error Handling: Built-in n8n HTTP request error management

  💡 Usage Examples

  Connect this MCP server to any AI agent or workflow:

  • Claude Desktop: Add MCP server URL to configuration
  • Cursor: Add MCP server SSE URL to configuration
  • Custom AI Apps: Use MCP URL as tool endpoint
  • API Integration: Direct HTTP calls to MCP endpoints

  ✨ Benefits

  • Zero Setup: No parameter mapping or configuration needed
  • AI-Ready: Built-in $fromAI() expressions for all parameters
  • Production Ready: Native n8n HTTP request handling and logging
  • Extensible: Easily modify or add custom logic

  &gt; 🆓 Free for community use! Ready to deploy in under 2 minutes.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool"]

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

metadata_json:
  {"categories":["integration","api","ai-integration","automation"],"complexity":"complex","use_cases":["Expose Medium API as MCP tool for AI agents","Automate content retrieval and searches (articles, publications, tags)","User and publication management (fetch IDs, followers, newsletters)","Enable AI-driven workflows with automatic parameter mapping","Build custom AI apps or connect Claude/Cursor via MCP endpoint"],"estimated_setup_minutes":10,"required_services":["n8n instance (public webhook reachable)","Medium API (via RapidAPI - https://medium2.p.rapidapi.com)","MCP-compatible AI client (e.g., Claude Desktop, Cursor)","Valid Medium API credentials / RapidAPI key"],"key_features":["Implements 32 Medium API operations across articles, users, lists, publications, search, tags","MCP Trigger endpoint to serve AI agent requests","$fromAI() expressions auto-fill parameters from AI inputs","Native n8n HTTP Request nodes with built-in error handling and logging","Selective tool enabling recommended to optimize performance (disable unused nodes)"],"target_audience":["Developers and engineers","AI integrators and ops teams","Power users building AI-driven content workflows on Medium APIs"]}


name: Extract and Store YouTube Video Comments in Google Sheets
author_name: Agent Circle
author_username: agentcircle
categories: []
created_at: 2025-07-05T03:24:01.617Z
updated_at: 2025-07-05T03:24:01.617Z
url: https://n8n.io/workflows/5690
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n template demonstrates how to use the tool to crawl comments from a YouTube video and simply get all the results in a linked Google Sheet.

  Use cases are many: Whether you're a YouTube creator trying to understand your audience, a marketer running sample analysis, a data analyst compiling engagement metrics, or part of a growth team tracking YouTube or social media campaign performance, this workflow helps you extract real, actionable insights from YouTube video comments at scale.

  How It Works
  The workflow starts when you manually click Test Workflow or Execute Workflow in N8N.
  It reads the list of YouTube video URLs from the Video URLs tab in the connected YouTube – Get Video Comments Google Sheet. Only the URLs marked with the Ready status will be processed.
  The tool loops through each video and sends an HTTP request to the YouTube API to fetch comment data.
  Then, it checks whether the request is successful before continuing.
  If comments are found, they are split and processed.
  Each comment is then inserted in the Results tab of the connected YouTube – Get Video Comments Google Sheet.
  Once a URL has been finished, its status in the Video URLs tab of the YouTube – Get Video Comments Google Sheet is updated to Finished.

  How To Use
  Download the workflow package. 
  Import the workflow package into your N8N interface.
  Duplicate the "YouTube - Get Video Comments" Google Sheet template into your Google Sheets account.
  Set up Google Cloud Console credentials in the following nodes in N8N, ensuring enabled access and suitable rights to Google Sheets and YouTube services:
      For Google Sheets access, ensure each node is properly connected to the correct tab in your connected Google Sheet template: 
           Node Google Sheets - Get Video URLs → connected to the Video URLs tab; 
           Node Google Sheets - Insert/Update Comment → connected to the Results tab; 
           Node Google Sheets - Update Status connected to the Video URLs tab.
      For YouTube access: Set up a GET method in Node HTTP Request - Get Comments.
  Open the template in your Google Sheets account. In the tab Video URLs, fill in the video URLs you want to crawl in Column B and update the status for each row in Column A to Ready.
  Return to the N8N interface and click Execute Workflow.
  Check the results in the Results tab of the template - the collected comments will appear there.

  Requirements
  Basic setup in Google Cloud Console (OAuth or API Key method enabled) with enabled access to YouTube and Google Sheets.

  How To Customize
  By default, the workflow is manually triggered in N8N. However, you can automate the process by adding a Google Sheets trigger that monitors new entries in your connected YouTube – Get Video Comments template and starts the workflow automatically.

  Need Help?
  Join our community on different platforms for support, inspiration and tips from others.

  Website: https://www.agentcircle.ai/
  Etsy: https://www.etsy.com/shop/AgentCircle
  Gumroad: http://agentcircle.gumroad.com/
  Discord Global: https://discord.gg/d8SkCzKwnP
  FB Page Global: https://www.facebook.com/agentcircle/
  FB Group Global: https://www.facebook.com/groups/aiagentcircle/
  X: https://x.com/agent_circle
  YouTube: https://www.youtube.com/@agentcircle
  LinkedIn: https://www.linkedin.com/company/agentcircle

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

workflow_json_compressed:
  [encoded data, 6436 characters]

metadata_json:
  {"categories":["integration","data processing","automation","social media"],"complexity":"medium","use_cases":["Collect and archive YouTube video comments","Audience sentiment or engagement analysis","Campaign performance monitoring for growth teams","Sample extraction for marketing research","Feed comments into downstream analytics or BI tools"],"estimated_setup_minutes":20,"required_services":["n8n","Google Sheets (connected Google account)","YouTube Data API (Google Cloud Console credentials - OAuth or API key)","HTTP access for API requests"],"key_features":["Reads video URLs and statuses from a Google Sheet","Fetches comments from YouTube via API","Splits and processes comment results","Inserts comments into a Results tab in Google Sheets","Updates URL processing status to Finished when done"],"target_audience":["YouTube creators","Marketers","Data analysts / BI teams"]}


name: Generate Personalized Sales Emails with LinkedIn Data & Claude 3.7 via OpenRouter
author_name: Adam Janes
author_username: adamjanes
categories: []
created_at: 2025-07-05T06:27:01.963Z
updated_at: 2025-07-05T06:27:01.963Z
url: https://n8n.io/workflows/5691
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  How it works
  The automation loads rows from a Google Sheet of leads that you want to contact.
  It makes a Google search via Apify for LinkedIn links based on the First name / Last name / Company.
  Another Apify actor fetches the right LinkedIn profile based on the first profile which is retuned
  The same process is done for the company that the lead works for, giving extra context. If the lead has a current company listed on their LinkedIn, we use that URL to do the lookup, rather than doing a separate Google search.
  A call is made to OpenRouter to get an LLM to generate an email based on a prompt designed to do personalized outreach.
  An email is sent via a Gmail node.

  Set up steps
  Connect your Google Sheets + Gmail accounts to use these APIs.
  Make an account with Apify and enter your credentials.
  Set your details in the "Set My Data" node to customize the workflow to revolve around your company + value proposition. 

  I would recommend changing the prompt in the "Generate Personalized Email" node to match the tone of voice that you want your agent to have. 

  You can change the guidelines to e.g. change whether the agent introduces itself, and give more examples in the style you want to make the output better.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.aggregate","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.filter","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitInBatches","n8n-nodes-base.set"]

workflow_json_compressed:
  [encoded data, 15552 characters]

metadata_json:
  {"categories":["automation","sales outreach","integration","data enrichment","AI-generated content"],"complexity":"medium","use_cases":["Personalized cold outreach to leads","Automated lead enrichment using LinkedIn data","Generating tailored sales emails with an LLM","Recruiter outreach and candidate outreach personalization","Scaling B2B outreach workflows"],"estimated_setup_minutes":30,"required_services":["Google Sheets","Gmail","Apify (actors for LinkedIn/profile and company lookup)","OpenRouter (Claude 3.7)"],"key_features":["Loads leads from Google Sheets","Performs Google/Apify searches to find LinkedIn profiles","Fetches full LinkedIn profile and company context","Uses profile company URL when available to improve accuracy","Calls an LLM (via OpenRouter) to generate personalized email copy using a customizable prompt/guidelines','Sends emails through Gmail node"],"target_audience":["Sales reps / SDRs","Growth marketers","Founders and founders doing outreach (founders-led sales) / small business owners doing outreach themselves, recruiters, automation engineers"]}


name: Automatic Lead Export from Fluentform to Google Sheets with Form Categorization
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2025-07-05T09:00:56.355Z
updated_at: 2025-07-05T09:00:56.355Z
url: https://n8n.io/workflows/5692
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  ❓ What Problem Does It Solve?

  Manual exporting or copying of leads and newsletter signups from web forms to spreadsheets is time-consuming, error-prone, and delays follow-ups or marketing activities. Traditional workflows can lose data due to mistakes or lack of automation.  The Fluentform Export workflow automates the capture and organization of form submissions and newsletter signups into Google Sheets

  💡 Why Use this workflow?

  Save Time:** Automate tedious manual data entry for form leads and newsletter signups
  Avoid Data Loss:** Ensure all submissions are reliably logged with real-time updates
  Organized Data:** Separate sheets for newsletter and contact form data maintain clarity
  Easy Integration:** Works seamlessly with Fluentform submissions and Google Sheets
  Flexible & Scalable:** Quickly adapt to changes in form structure or spreadsheet columns

  ⚡ Who Is This For?

  Marketers & Growth Teams:** Automatically gather leads and newsletter contacts to fuel campaigns
  Small to Medium Businesses:** Reduce overhead from manual data management and errors
  Customer Support Teams:** Keep track of form submissions in a centralized, accessible place
  Website Admins:** Simplify data workflow from Fluentform plugins without coding

  🔧 What This Workflow Does

  ⏱ Trigger:** Listens for incoming POST requests from Fluentform via webhook
  📎 Step 2:** Evaluates if the submission is a newsletter signup or a form based on a specific token
  🔄 Step 3 (Newsletter Path):** Maps email from newsletter submissions and appends/updates Google Sheets "News Letter" tab
  🔄 Step 3 (Form Path):** Extracts full name, email, phone, subject, and message fields and appends/updates the Google Sheets "form" tab
  💌 Step 4:** Sends a JSON success response back to Fluentform confirming receipt

  🔐 Setup Instructions

  Import the provided .json workflow file into your n8n instance
  Set up credentials:
     Google Sheets OAuth2 credential with access to your target spreadsheets
  Customize workflow elements:
     Update Fluentform webhook URL in your Fluentform settings to the n8n webhook URL generated
     Adjust field names or spreadsheet columns if your form structure changes
  Update spreadsheet IDs and sheet names used in the Google Sheets nodes to match your own Sheets
  Test workflow thoroughly with actual Fluentform submissions to verify data flows correctly

  🧩 Pre-Requirements

  Running n8n instance (Cloud or self-hosted)
  Google account with access to Google Sheets and OAuth credentials
  Fluentform installed on your website with ability to set webhook URL
  Target Google Sheets prepared with tabs named "News Letter" and "form" with expected columns

  🧠 Nodes Used

  Webhook (POST - Retrieve Leads)
  If (Form or newsletter?)
  Set (newsletter and form data preparation)
  Google Sheets (Append/update for newsletter and form sheets)
  Respond to Webhook

  📞 Support

  Made by: khaisa Studio  
  Tag: automation, Google Sheets, Fluentform, Leads 
  Category: Marketing  
  Need a custom? Contact Me

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

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

metadata_json:
  {"categories":["automation","integration","marketing"],"complexity":"simple","use_cases":["Automatic lead capture from web forms","Newsletter signup logging","Centralized form submission tracking","Reducing manual data entry and errors","Real-time data sync to Google Sheets"],"estimated_setup_minutes":20,"required_services":["n8n instance (cloud or self-hosted)","Fluentform (WordPress plugin)","Google Sheets (Google account with OAuth2 access)"],"key_features":["Webhook trigger for Fluentform POST submissions","Conditional routing: newsletter vs contact form","Field mapping for name, email, phone, subject, message","Append or update rows in separate Google Sheets tabs (News Letter, form)","Responds with JSON success to Fluentform confirmations"],"target_audience":["Marketers","Growth teams","Small to medium businesses (SMBs) administrators/webmasters of sites using Fluentform (no-code)"]}


name: Automate Newsletter Creation & Client Delivery with GPT-4O, Google Sheets
author_name: Amit Mehta
author_username: amitswba
categories: []
created_at: 2025-07-05T10:36:50.555Z
updated_at: 2025-07-05T10:36:50.555Z
url: https://n8n.io/workflows/5694
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  How it Works

  This workflow automates the complete newsletter management process from content creation to client delivery, using Google Sheets, AI content generation, Google Drive, and Gmail.

  Whether you're a content creator, marketing agency, or small business owner, this workflow helps you automate newsletter creation and manage client communications with built-in approval workflows — all triggered from a simple spreadsheet.

  🎯 Use Case

  Ideal for:
  Marketing Teams** streamlining newsletter distribution
  Agencies** managing multiple client newsletters  
  Content Creators** automating regular communications
  Small Businesses** maintaining customer engagement

  Setup Instructions

  1. Upload the Spreadsheet

  File name: Newsletter_Management
  Sheet structure:
    | ID | Topic | Client Name | Client Email | Status | Created Date | Send Date |
  Add newsletter topics and set their Status as Pending

  2. Configure Google Sheets Nodes

  Connect your Google account to:
  Get topic from newsletter sheet
  Pick records to send email to client
  Get Client email address
  Update Status as Generated
  Update status as Sent

  3. Add API Credentials

  OpenAI API Key** → for AI content generation
  Google Drive Access** → for document storage
  Gmail Account** → for sending newsletters and notifications

  4. Activate the Workflow

  Once live, the workflow will:
  Manual Path: Generate newsletter content from pending topics
  Scheduled Path: Send approved newsletters to clients automatically
  Track status updates throughout the entire process
  Store generated content in Google Drive
  Send admin notifications and client emails

  🔁 Workflow Logic

  Main Workflow (Content Generation)
  Trigger: Manual activation for newsletter creation
  Retrieve: Pending topics from Google Sheets
  Validate: Status confirmation (Pending only)
  Generate: AI-powered HTML newsletter content
  Store: Upload to Google Drive
  Notify: Send completion email to admin
  Update: Mark status as "Generated"

  Scheduled Workflow (Client Distribution)
  Trigger: Schedule-based activation
  Retrieve: Approved newsletters from Google Sheets
  Validate: Status confirmation (Approved only)
  Lookup: Client email addresses
  Loop: Process multiple recipients
  Send: Personalized newsletters via Gmail
  Update: Mark status as "Sent"

  🧩 Node Descriptions

  | Node Name | Description |
  |-----------|-------------|
  | When clicking 'Test workflow' | Manual trigger to start newsletter generation |
  | Get topic from newsletter sheet | Retrieves pending newsletter topics from Google Sheets |
  | Validate Status as Pending | Checks whether status is 'Pending' for processing |
  | Create HTML for Newsletter | AI-powered content generation using OpenAI |
  | Prepare Data to create word doc | Formats generated content for document creation |
  | Upload doc to google drive | Stores completed newsletters in Google Drive |
  | Send an email to admin | Notifies administrators of completion |
  | Update Status as Generated | Marks processed items as 'Generated' |
  | Schedule Trigger | Automated trigger for client email distribution |
  | Pick records to send email to client | Retrieves approved newsletters for sending |
  | Validate Status as Approved | Ensures only approved content is processed |
  | Get Client email address | Fetches client contact information |
  | Loop Over Items | Processes multiple newsletter recipients |
  | Send email to client | Delivers personalized newsletters via Gmail |
  | Update status as Sent | Marks newsletters as successfully delivered |

  🛠️ Customization Tips

  Modify AI prompts for different content styles and tones
  Add Slack notifications instead of or alongside Gmail
  Export to different formats (PDF, Word, etc.)
  Schedule multiple sending times for different client segments
  Add approval workflows with webhook triggers
  Integrate with CRM systems for client management

  📒 Suggested Sticky Notes for Workflow

  | Node/Section | Sticky Note Content |
  |--------------|---------------------|
  | Manual Trigger | "Click to start newsletter generation process" |
  | AI Content Generation | "Customize prompts here for different newsletter styles" |
  | Google Drive Upload | "Organized storage - change folder structure as needed" |
  | Gmail Admin Notification | "Update admin email addresses and notification templates" |
  | Schedule Trigger | "Set optimal sending times for your audience" |
  | Client Email Loop | "Handles bulk sending - monitors for delivery errors" |
  | Status Updates | "Maintains audit trail - prevents duplicate processing" |

  📎 Required Files

  | File Name | Purpose |
  |-----------|---------|
  | Newsletter_Management.xlsx | Google Sheet to manage topics, clients, and status tracking |
  | Client_Database.xlsx | Client contact information and preferences |
  | Newsletter_Workflow.json | Main n8n workflow export for this automation |

  🧪 Testing Tips

  Add one test topic with status = Pending and run manual trigger
  Verify AI content generation produces quality HTML
  Check Google Drive upload and folder organization
  Test admin email delivery and formatting
  Add test client with valid email for scheduled workflow
  Monitor workflow logs for API responses and errors
  Confirm status updates occur at each step

  🏷 Suggested Tags & Categories

  #Newsletter
  #EmailMarketing
  #ContentGeneration
  #ClientCommunication
  #Automation
  #GoogleWorkspace
  #AIContent
  #MarketingAutomation
  #WorkflowManagement
  #BusinessProcess

  🔧 Prerequisites

  Google Workspace account (Sheets, Drive, Gmail)
  OpenAI API account with GPT-4 access
  n8n instance (Cloud or self-hosted)
  Basic understanding of Google Sheets and email marketing

  📊 Expected Performance

  Setup Time**: 30-45 minutes
  Monthly Executions**: 100-500 (varies by newsletter frequency)
  Processing Time**: 2-5 minutes per newsletter
  Scalability**: Handles 100+ clients efficiently

  🚨 Important Notes

  Ensure proper Google API permissions are configured
  Monitor OpenAI API usage and rate limits
  Set up error handling for failed email deliveries
  Regularly backup your Google Sheets data
  Test thoroughly before production deployment

  💡 Advanced Features

  Approval Workflows**: Add manual approval steps between generation and sending
  A/B Testing**: Create multiple versions and track performance
  Analytics Integration**: Connect with Google Analytics for tracking
  Multi-language Support**: Generate content in different languages
  Dynamic Personalization**: Use client data for personalized content

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","n8n-nodes-base.googleDrive","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  [encoded data, 4984 characters]

metadata_json:
  {"categories":["automation","integration","email_marketing","ai_content_generation","google_workspace"],"complexity":"medium","use_cases":["Automated newsletter creation","Client newsletter delivery and personalization","Marketing campaign automation","Content generation with AI (GPT-4)","Approval and status-driven distribution workflows"],"estimated_setup_minutes":40,"required_services":["Google Sheets (Google Workspace)","Google Drive (Google Workspace)","Gmail (Google Workspace)","OpenAI API (GPT-4/GPT-4o)","n8n instance (cloud or self-hosted)"],"key_features":["Spreadsheet-driven triggers and status tracking","AI-powered HTML newsletter generation","Store generated documents in Google Drive","Send personalized emails via Gmail","Separate manual generation and scheduled distribution paths"],"target_audience":["Marketing teams","Agencies managing client newsletters","Content creators and editors"]}


name: Auto-Extract & Distribute Video Clips to Multiple Social Platforms with Klap AI
author_name: Sebastian/OptiLever
author_username: lewxiangang
categories: []
created_at: 2025-07-05T12:55:05.282Z
updated_at: 2025-07-05T12:55:05.282Z
url: https://n8n.io/workflows/5698
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  Overview of the Workflow
  The automation process consists of four main steps:
  Get Longform: Retrieve the long-form video data (e.g., from Google Sheets).
  Analyze Longform: Use Clap to analyze the video and generate short clips.
  Produce Shorts: Export the generated clips.
  Publish Shorts: Update the status in Google Sheets and publish the clips to social media platforms.

  Each step is handled by specific nodes in n8n, a no-code automation tool, making the entire process accessible even if you’re not tech-savvy. The workflow is visually represented in the provided n8n screenshot, with nodes connected to show the flow of data and actions.

  Step 1: Get Longform
  Purpose
  Start the automation and retrieve the long-form video data.

  Tips
  Test the node with a sample row to ensure it retrieves the correct data.
  Use a consistent sheet structure to avoid errors in future runs.

  Why It Matters
  This step ensures the automation starts automatically and pulls the correct video for processing, saving you from manual intervention.

  Step 2: Analyze Longform
  Purpose
  Use Clap to analyze the long-form video and generate short clips.

  Tips
  Pin the Get Shorts Details Node**: Right-click and pin it to retain data for testing across sessions.
  Test with a Sample Video**: Run the workflow with a short video to verify Clap’s output.

  Why It Matters
  Clap’s AI identifies key moments and generates clips, saving hours of manual editing. The wait and status nodes ensure the workflow progresses only when ready.

  Step 3: Produce Shorts
  Purpose
  Export the generated clips for publishing.

  Tips
  Preview the clips after export to ensure quality.
  Adjust wait times based on export duration observed during testing.

  Why It Matters
  This step finalizes the clips, making them ready for publishing, with wait nodes preventing premature progression.

  Step 4: Publish Shorts
  Purpose
  Update the video’s status in Google Sheets and publish the clips to social media.

  Tips
  Add an If Node**: Before updating, check if the status is already "done" to skip processed videos.
  Organize Clips**: Use Google Sheets columns (e.g., "TikTok," "YouTube") to assign clips to platforms.

  Why It Matters
  This step automates publishing across multiple platforms and keeps your workflow organized by updating statuses.

  Additional Tips for Efficiency
  No-Code Simplicity**: n8n’s drag-and-drop interface requires no coding—adjust nodes visually to suit your needs.
  Handle Processing Times**: Use wait nodes to manage delays in analysis and export steps.
  Monetization Ideas**:
    Offer this automation as a service to businesses or creators.
    Submit clips to platforms like "Wop" for earnings based on views.
  Testing**: Run the workflow with a sample video, pinning nodes to retain data for debugging.

  Benefits of AI Automation
  Time Savings**: Automate clipping and publishing, freeing you for creative tasks.
  Scalability**: Produce 100+ shorts from one video, boosting reach.
  Consistency**: Maintain a regular posting schedule effortlessly.
  Cost-Effective**: Reduce reliance on manual editing or expensive tools.

  This workflow leverages n8n and Klap to streamline short-form content creation, making it ideal for content creators looking to maximize their long-form videos. If you need further clarification or help with specific nodes, let me know!

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

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

metadata_json:
  {"categories":["automation","integration","content repurposing","social media","AI"],"complexity":"medium","use_cases":["Automatically generate short-form clips from long-form video","Cross-posting/republishing content to multiple social platforms","Automating status tracking and workflow orchestration via Google Sheets","Scaling content production for creators and agencies","Temporary storage and export of generated clips for review"],"estimated_setup_minutes":45,"required_services":["n8n","Klap (Clap) AI or equivalent video clipping API","Google Sheets (Google account)","Social platform APIs/accounts (e.g., TikTok, YouTube)","Public endpoint/webhook hosting (if not using n8n cloud)"],"key_features":["Automated retrieval of long-form video metadata from Google Sheets","AI analysis to identify highlights and generate short clips","Automated export and publishing of clips to multiple platforms","Status management and deduplication via Google Sheets (If node)","Wait/status handling to accommodate processing/export delays and retries (pin nodes for testing)"],"target_audience":["Content creators and influencers","Social media managers and marketers","Agencies producing scalable short-form content for clients」「No-code users and small teams wanting automated workflows"]}


name: 🚀 Automated Stripe Payment Recovery: Track Failures & Follow-Up Emails
author_name: iamvaar
author_username: iamvaar
categories: []
created_at: 2025-07-05T16:27:30.617Z
updated_at: 2025-07-05T16:27:30.617Z
url: https://n8n.io/workflows/5702
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  🚀 Automated Stripe Payment Recovery Workflow (n8n)

  Detect failed payments, log them, and send polite follow-up emails to recover revenue — all automated with n8n.

  ✅ Part A – Detect & log failed payments

  What it does:

  Listens for failed Stripe payments.
  Extracts customer & payment info.
  Logs them neatly in Google Sheets for follow-up.

  🧩 Nodes:

  1️⃣ Stripe Trigger

  Listens to:

      payment_intent.payment_failed
    
  2️⃣ Set node

  Extracts & maps fields:

    Name, Email, Amount (in cents), Currency
    payment\_intent\_id
    added\_at → {{ $now }}
    email\_sent\_count → 0

  3️⃣ Remove Duplicates

  Keeps the sheet clean (avoids duplicate rows).

  4️⃣ Google Sheets node

  Append or update row:

    Name, Email, Amount/100, Currency, payment\_intent\_id, added\_at, email\_sent\_count

  &gt; 📌 This builds your “failed payments queue” to drive the follow-up emails later.

  🔁 Part B – Daily follow-up emails

  What it does:

  Runs daily.
  Checks which users haven’t received 2 emails yet.
  Sends reminder emails and tracks how many were sent.

  🧩 Nodes:
  1️⃣ Schedule Trigger

  Runs every day at 10 AM (0 10 * * *)

  2️⃣ Get Payment Failure Leads

  Reads rows from Google Sheet.

  3️⃣ Switch node (Check for no. of emails sent)

  If email_sent_count &lt; 1 → send first email.
  Else if email_sent_count &lt; 2 → send second email.
  Else → mark as "quit sending emails".

  4️⃣ Send First Email

  Sends a gentle reminder with billing page button.

  5️⃣ Update Email Count

  Increments email_sent_count by +1 in Google Sheets.

  6️⃣ Send Second Email

  Sends final, urgent reminder.

  7️⃣ Quit Sending Emails to these Leads

  Marks that no more emails should be sent.

  📝 Headline

  &gt; 🚀 Automated Stripe Payment Recovery: Track Failures & Send Follow-Up Emails via n8n

  ✅ Why this matters:

  Catch failed payments automatically.
  Log every attempt & follow-up count.
  Recover lost revenue while staying polite and respectful.
  Avoid spamming by capping follow-ups to 2 emails.

nodes_used:
  ["n8n-nodes-base.stripeTrigger","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.removeDuplicates","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.switch","n8n-nodes-base.sendInBlue","n8n-nodes-base.sendInBlue","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WWS2/jNhDHv4rAsyfg++Fbm90tAhR9pdtLkMOQHCVCbMmQ6CaLwN+9kJPGTiK7zvbM4fx/8yQf2ZIKsvkja9qhYJvoIrM5i9YpUVvSVjqV6pow2WiE92iiiilyr3niXHBPTkXtkWR0IWCy5Il7wWas0HK1wELnPeXhksp6dd4tVwsqlNm89GvazFjbZRrY/OqRNaOqDo5knRGs8xJ0TByiCRqEyEYba13Uis1Yi0tic/aJCqVSfcFmQbn6Db8tqS3DqPxtNZ63voWtAEQc6GwofbOiP/vm5oZ6NmOrbmhK07VsfgXScD4Tll/P2D3F266722YhSZWzsgFMEgK0sBYwGwMcay288YlnO3rCHpdUqB/Y/HHzpP8X9cPWudjMnqNz5FTAKEA5SaANCoi1tWCDcjZ7K0zku+g+P5QeU6m+DtRX2L4EWF20dXc4SCpvQ5P+39COcqoz/UIqohTBUIJInoPmIgMarkEHL62NdQy4R/rDakVtrrq+Wq8yFqr67r5q2mq4pS3NNOlN190s6HK0Gd4gC69PQtZndi+5uUZCByhEDVopA1G4BLVz3HEdYpZph/wHLbu/qfq0Xi2ahIUOd02/tXxl+Cq73J6EKl9AyerglTXgyArQWTjwgixoZZyzMedg6x3oZbqlvF5QtevbA4V/Npzub8HH/ub/iSnOdqDGyZSC54BRGtBoDaBVEaSwSiUdpU97w/j1qfSfl9gsqvNu3X5P5fnsYzXXXEtBAiRaBVpzBIwoobZe+xrVCL4j/InKywyNO2PdU/UzYT5c+yMt6vxJ+dynpRSNqrUHbYQBHTFDQEWgRBCxDt5kGXa057eU7qq666u2O6u6uqIxs0M10JHMDvdNSbdvUI09CVXtlV7UidAjQm20A+1jgiCzARlVysFolMLu9eg4/V+afihP5T+ynNp80f64WNO7HXVC5cVeJr3XISfQjjho1A4w1Q6EiTEnHriJ9Ru8S0pdm/8Pn5xMIT1QWhf6tU3E5jUuBjpIzV32aKSElEMcmyABakOgouROOz2+rzvq39dNqUb0pr15wh6q0lXllobvb9tDURzsWbQmiOQsJJMJtPUJorIEUmVvHZosUtzLdGnS3bfql67QkVd4tHk2eZXjcemPmX7Lx1LXlrHr54wd7gkvkuepthA5ZdA5GfApC9Dko8uuVpqHSVLxcVQxjtTHUa9n43lLafSzNX+33eePbInNKHL1uP0cnba3tndmrGkzPbA531xfb2bvx3LK+bG1Pen1/cs55fbEL8Fh7lfzOqXwkfmYlDnwe5zSOvErNilzuHpTSqdt/Umho1entA6v7Xf+Z29uTW/TSazjuZviOvI3m1DYbP4BZuaQN8IMAAA=

metadata_json:
  {"categories":["automation","integration","payment recovery","billing"],"complexity":"medium","use_cases":["Detect and log failed Stripe payments","Automated follow-up emails to recover revenue","Maintain a retry queue in Google Sheets","Limit and track follow-up attempts to avoid spamming","Automate billing reminders with CTA to payment page"],"estimated_setup_minutes":45,"required_services":["Stripe","Google Sheets","SendinBlue (or other SMTP/email provider)","n8n"],"key_features":["Stripe webhook trigger for payment_intent.payment_failed","Map and store failure details in Google Sheets","Remove duplicate entries to keep a clean queue","Daily scheduled check to send follow-up emails","Conditional logic to send up to 2 emails per lead and stop afterwards\",\"Increment and persist email_sent_count for tracking"],"target_audience":["SaaS founders and billing teams","Finance and accounts receivable teams","Customer success and support teams focused on churn reduction\",\"Developers/operations engineers implementing automation"]}


name: Real-time Forex Sentiment Analysis & Alerts with Gemini AI to Discord
author_name: Malik Hashir
author_username: malikx
categories: []
created_at: 2025-07-05T16:57:07.448Z
updated_at: 2025-07-05T16:57:07.448Z
url: https://n8n.io/workflows/5703
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Purpose & Audience
  Forex Market AI Analyst is an advanced n8n workflow template designed for Forex traders, analysts, prop firms, brokers, and trading communities who need real-time, actionable market intelligence. By combining multi-source news aggregation and AI-powered sentiment analysis, this workflow delivers both quick alerts and comprehensive sentiment reports for any currency pair—directly to your Discord or chat platform. Stay ahead of market shifts and reduce manual research with automated, context-rich updates.

  What It Does
  Aggregates breaking news and analysis from top Forex and macroeconomic sources for your selected currency pair.
  Filters news by recency and relevance, ensuring only the most current and impactful headlines are included.
  Analyzes market sentiment (bullish, bearish, or neutral) using a state-of-the-art language model (LLM).
  Summarizes key themes, technical levels, and economic drivers in a clear, structured format with visual cues.
  Delivers updates to your chosen Discord channel or chat group, with two distinct modes:
  Quick Alerts: Fast, headline-focused updates for daily trading.
  Full Reports: Detailed, multi-section sentiment breakdowns for weekly or in-depth review.

  Customizable date filters let you control how recent news must be for inclusion in sentiment analysis.

  Who Is It For?
  Forex traders seeking an edge with instant, unbiased market sentiment.
  Analysts and prop firms needing reliable, automated news curation and structured reporting.
  Brokers and trading communities looking to enrich their channels with high-quality, automated market insights.
  Anyone who wants a “set it and forget it” solution for monitoring any FX pair—no coding required.

  Setup Once, Use Forever
  Deploy the workflow once and use it for a lifetime. 
  Duplicate for as many currency pairs as you need—customize the news sources or filters as you wish. 
  No recurring fees, no complex setup, and you control the update frequency and delivery channels.

  How to Set Up
  Select your currency pair and adjust the news filter settings as desired.
  Connect your AI model (Google Gemini or OpenAI) and Discord (or other chat) credentials.
  Choose your alert mode: quick daily alerts, full weekly reports, or both.
  Set your preferred schedule for updates.
  Go live: Receive real-time, actionable FX news and sentiment in your Discord or chat, automatically.

  Forex Market AI Analyst—the all-in-one workflow for automated Forex news, sentiment, and technical updates. Perfect for traders, analysts, teams, and anyone who values timely, structured market intelligence.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.code","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.discord","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WYXW/buBKG/4qga0+X3xz66iyatCjQboGmu+hBURwMyWFi1JYDS0FbBPnvB3LSWo1lJ/Le+MIiXz0avTOc0W294o7q+W29aNqOmsRvcj2vszDO6EjoVYyiRGUVZ5VQBo8Ws8WUjM9ZJ2lLcVlglIFyzs4HDsrHelZ3vLpeUscvN5zbC+5url+uV9dL7jjX825zw3ezullnbuv559t60d9V5BijEQWcDAyGjQCUkoCJCHt9W0I9qxtacT2vL7pF+vqj+mvdcX+7H9f9nw02sFWFSC2/aLdrHpZcr9tFt1g39fwzoBMzVOLLrL6mDa24403bRyGtm46brp7X9d296D+8abeb5N3sgVOqrCUHB8UKAoPGQJRBQ5RKO5RJsMNRTjsZVGolZv3PaaRBBIkiI7CNHoyRESIbCc4LNMVryWhHSeVkUjE7ldEZlokNaGsjGEYEDEpCdElLnZQi60cZ9QnRRDHz7kRQNEJllxOkEDKYYDwgOg+KDJtMWcisd6DveHN52Jirh6sDOKfELJg9tsc8+sWOyGLyxgYGT0KCUZaBPCXgTDkFH4rTA6IPFxfVB6ZcQfX6/fvXb88P0m3a9hVz7hf/zqiUmJl9M+7FbMCoSgwYTIAsnQSDHoFSYXAxWi84SkFilPHVp4uPH87PP55G6cUkSmtLMSZrSC5oMNpnIEkR0Fufi1WIWo1SVuV7222Yu6rhb+1prHbfkcdYMeggbTaAMSgwJCxEFA5cFMpjZqKAo6xnf755+99Xn6qO01WzSLQ8DRefNukQl3SIJjoPocgIJssCFIUA6VBY4TCUPG7Sn7jlpsm04qY7FViKaWbQPicftADUmsGUHIHIJZAyaRMDGZJPEK83/P10P0g5zRBOBllU0ZADZTBJIoQSAngRo1C2CLk9kZ/grWjTLdKST4UeOaSOZpxhwdol4BACGMwByKIDQyUrtBK15PG68P7D+afq7Zt/zndGPpXZTjOGlz6ysgayVA5M0gWCkgYyluALO6/Kk8yJm25DyypS8/VUbDfNHwkVhyA8JMoWjGAHJEoGh5ZQW6GzHC8YA+ytRdab3N/tNOiRdusYdPbSaZ0LkLQMBpOCQGjBJ3aWs8ohDZrB1+v15ZKr17xaNIvq5RV11bt15kHB+E+DzR874CU1l+mKFs2L5apffi9wv/9R02BE7258mn7n7aw5alKghO8TMgUgFQkSZptQiBKL3LGf//3h74uz6i/+1lbU5OqCm27R17vqz4aWP9ruGQ9Bl3378ogb+9L3DO4XuGttLcZCbEErKcEY4yCY7EFFRMkqFkVp0IylK843S64+bhaXl7w53JA9LNytGzbjHsUsPIdT/eI0MVsVMYHTgsF4NEAuMDg0pLXJkf0gE1+u8+FWLN1f/K1NFM+LnJrVtPxGP9r3N931TXdG/ShVaNnyDtRaQUIZEEkGMGQtIAkCXTxlhVx8GZwlZ9Rx9Wqx7I7Esvy8PCDux5lnAQ9CKMgLCkKCJkNgnHNAkQwY4X1RJSrU47OBn9x3Y9/anjrDYIqahdTgc18IijZAVAxYQd4KJajYQTLdB+/w+DIWPSmf+74H4cOCKXDwIOJ2CEQDQWQNNidP0qEUmkbDh9PHFmH+RfwYVZQiRhDFFzBWeEAbFTgOPlDwRptBSp8t2rTe5IOM+df1YX0XO/9943i1Xn/dfkbwDo2yOUDmUsAk5QCLZchEKTuniGJfw4/HfNeWBUxRZAvknQGT0EH0WoKVFosPLnNOoxFX0yMe+u8D+4Y4HvEvs/56w6lX2S7fFp75bb2iRS/7+Xb7yWNazd/undWLJvP3ei7uvny5mz1Ml2PKoyVkVONnqoyp/F4xR7cPbzQmsZeJoyp7R8iY1JHJ9bHobGzToSHtWZv359BnbTsybE3aPzr9TFPYn0am7x+ZDp4XvePd+lSNA93zVJnRbnbUn/vWGzPoo489Tyn9stRkLXWvdbDdnd/WtPhf3xfe0CU//Hda3dnTOfJAjxJs8mPJPcV9804WtQdFdzk5WVQfJh0k6mRZs++R0cSZLOzvhZ9+76Nnyf1hX0G/PlfvuG1pis8PVJDJD+GORWeYy5OVwzHl34vNZG3ste/u/g8BSG/KYxkAAA==

metadata_json:
  {"categories":["automation","integration","data processing","financial analytics"],"complexity":"complex","use_cases":["Real-time FX market monitoring","Automated news aggregation for currency pairs","AI-powered sentiment analysis (bull/bear/neutral)","Dispatching quick alerts and full reports to Discord","Reducing manual research for traders and analysts"],"estimated_setup_minutes":20,"required_services":["n8n instance","Google Gemini or OpenAI (LLM) API","Discord (webhook or bot credentials)","RSS news sources / financial news APIs","Scheduler (built-in n8n schedule node)"],"key_features":["Aggregates multi-source breaking news for selected FX pairs","Recency and relevance filtering of headlines","LLM-driven sentiment classification and summarization","Two delivery modes: Quick Alerts and Full Reports","Customizable date filters and scheduling frequencyaibility to duplicate per currency pair"],"target_audience":["Forex traders","Market analysts","Proprietary trading firms (prop firms)"]}


name: Create Structured eBooks in Minutes with Google Gemini Flash 2.0 to Google Docs
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-07-05T21:32:21.128Z
updated_at: 2025-07-05T21:32:21.128Z
url: https://n8n.io/workflows/5707
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

  Description

  This workflow automates the creation of structured eBooks by generating chapters, table of contents, and content using Google Gemini Flash 2.0. 

  Overview

  This n8n workflow allows users to input a topic or outline, which is then processed by Google Gemini Flash 2.0 to generate chapter titles, structured table of contents, and detailed section-wise content. The final output is formatted and exported into a Google Document, ready for review and further publishing.

  Who This Workflow Is For
  Authors & Writers**
  Save time by auto-generating chapter ideas, summaries, and full-length content based on a topic or outline—great for fiction and nonfiction alike.

  Content Marketers**
  Rapidly create downloadable eBooks, whitepapers, or lead magnets for campaigns without relying on long production cycles.

  Educators & Course Creators**
  Convert your syllabus, course modules, or learning outcomes into structured, well-formatted educational eBooks.

  Agencies & Freelancers**
  Offer AI-powered eBook creation as a value-added service to clients in need of fast, professional content.

  Entrepreneurs & Coaches**
  Turn your knowledge, frameworks, or training material into publish-ready books to promote your brand or monetize content.

  Technical Writers & Documentarians**
  Generate structured documentation or guides from outlines, simplifying the technical writing process with the help of AI.

  Tools Used

  n8n**: Orchestrates input handling, AI processing, formatting, and export.

  Google Gemini Flash 2.0**: Generates high-quality, structured content, including chapters, summaries, and body text.

  Google Docs**: Used to compile and format the full eBook in a collaborative document.

  Google Drive / Email**: Optional nodes for storing or delivering the final output.

  How to Install

  Import the Workflow**: Download and import the .json file into your n8n instance.

  Configure Gemini Flash 2.0**: Add your API key and set the desired creativity, length, and tone options.

  Provide Input**: Use a webhook or manual trigger to define the eBook topic or structure.

  Customize Format**: Modify prompts or Gemini instructions to match your eBook format, voice, or domain (e.g., fiction, business, technical).

  Export to Google Docs**: Authenticate and configure the Google Docs node to write the output chapter-wise into a new or existing document.

  Optional Distribution**: Connect to Google Drive or Gmail to store or send the final eBook.

  Use Cases
  Writers & Authors**: Quickly draft entire eBooks based on minimal input.

  Marketers**: Generate lead magnets, guides, and product documentation at scale.

  Educators**: Produce structured learning materials or course eBooks.

  Agencies**: Offer eBook creation services powered by AI.

  Entrepreneurs**: Turn knowledge into content assets without hiring ghostwriters.

  Connect with Me

  Email: ranjancse@gmail.com

  LinkedIn: https://www.linkedin.com/in/ranjan-dailata/

  Get Bright Data: Bright Data (Supports free workflows with a small commission)

  #n8n #automation #ebookcreation #googleai #geminiflash #aiwriting #gdocs #contentautomation #ebookworkflow #nocode #contentmarketing #gemini #aiwriter #automatedpublishing #aicontent #bookcreation #geminiworkflow #ebookgenerator #gptalternative #flash20 #geminiflash2 #authorautomation #educationalcontent #aiinmarketing #n8nworkflow

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.googleDocs","n8n-nodes-base.googleDocs","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.set"]

workflow_json_compressed:
  H4sIAAAAAAAAE9VZe4/bNhL/KgJbXBNAdEiKehno4fJu2iSb3G7S3mYXB4oc2kpkSZWofXRhoB/j7uv1kxwo2ZYf8no31/vj8sdGFofz+M1wODO6QalCY/T0Z5FmIMn7yen10a+kQC6agRFofIPSvDYil/DK0kWRn3CdcBGIWDKZ+AGjnMUiTOKQKU0U8ZMkZFwyImSohAxpSJOAaSpD0JwgFxmYlZkw8LQCVR+DacqnxazMwIBCY1M1MHdRLmZgtapAGHCOTdVI01SgnOdJUXypnTR33qR5Y6B2LlMzdV4WxSQD5yXM0jx1XmSinjpsRJy/OHmUW5liUqPxp5vO2J+az9qwF0efZ0cf3z+e/YhWAp/nkzQHqNJ8glwkW/HqsUFjxAjzMeGYxCeEjj06JmTk+9EpclFTqsNkc3ch/PTo0jx+8xrK9+Llz2FgeuFPmjRTaT5xnmSF/FLvUYB6J9QfM2/MyYgHbJ8CO2QrBZR69+Uy/GHiq9Pp+4Zd9go8frVfJvHHXjQm0Yj43i0yN8nm5y7KCwVr2CvNKI+SAIdahZhrKXGUCI0JARZAoqPAC3qNfp5C7sgslV8sLn/8/q/nVyAbA85lUX3RWXH5x+//tu69Li11HuW4FYcTUcNoJvJGZCdVOplAhVxUFnVq0iJH4084ZMQl5y4qRSVmYKCq0fhm3nH6CFXdktEVZkwFMWeUY2DKx9znHk5EIDFngdTSYwGHqNf6dVGUztEFVM4rA7N6r4J1maXmVf5EGDmFelNDLxhQEBWlXW513VbW65UlnEHgKUyDhGEOkcYR1wGmknMVKik84vfKbh6dp1NhnDeFgqzX+m95lD/qVc9EPpFTkeajbGbJOwbd/k0bYk5cxm+1wkUzK+xtp0v7XD+atLwwGxGs7VHGcFWieRuaCnKTiqxlM2kFvxPZ7HGZtpnKWv8POArVD6d58/LJx/c/fTzdY+mDd+L1m4fO4zJ1hJRFkxu0A2nv/ygOKGcsxlR5CeaUU5xornHMNQ957EMSaLSdtsQyLT0r5N4Y6Ix4Vsgt/1OPEZftYmdSk1k239/cON8++O4YjGOm4LSvXadIPoM06QV893CUGpiNPtdFPmoXnfkcuUgXmYKqTeUKtGgysxdYq9PR48ZM2Tq8XvzLu/o3U9Jnv5D64vT9Drx22wak0B3Zo1wCGmuR1eCiCkx1fZS/EGnW5fwt5JmLRHYpruujxpSNeSbsVdTuXbnEAy0jmmjsc0kxl1zgJIEAU6U080NOZUx65T606WrNIftP5V6P+HzQI0K20fwh7X+8SCFTXdIzcGV6d72EHCqryDMw9sJV9sCVBirnaZEbyM2m3+DKdG7r2KKxvYyhMmh+PndRUVpe3fsuHSMXqUI2M8jNh7+/XopteaXKcvpf+3rTiStfxVIGkfQF1lJ6mAs/xrEnQkyixCNSck9x3jNfxvSrvGyMs8Bybw4Fs5XafXIgc7pI1HU6yS1MnQfXfy4vKp8pJXSSYN8LNOa+CnAcxCEOldJ+EideFMS9ziftsVwpWZtFCXEhssa+eFcVF6kCZwa2InESmKR5DlXtTBr7ui1iZBcKtSNy5UzTyRRncAGZUxsoa+vynZQ/4iuIQ5XwJCISR4p6mFOqcOKHHibMAx1JQiKu1iA2qfxy7bwtDOxHtqVZkKwBzAhxsTdwEGQXwmiMvvnGOTZQOvQsP8uX7kxbd2rrzs5e+/KsQ+4Mof3Jl3ihL/1AYRYJH3PKBBbck5jFcSiDMI4DFQ+aRu9tGw/ubBtbt23rEu2PmCNqpxSVcQrdEr5+/cZRwggHrky1ONX7LQemIioCDysaK8zDOMJCEIo5IzSWNOBeqActZ/e2HNuCA3MyZHpWVGgcuOgyVWaKxjYPoimkk6lBY2Z/bKDTluhOW0amRT5Qn1vgDhKNnOdXZVF18MoMRN7hZoq1JN5mutEtAEopgYZKYfCSGHNmQ0dSiROiAy+hiQchHQTQuzeAtqK8Y+h4A6GztGYjeHRRtTSLiLF43GJsQrwwIpJhHvgK80QJHKvQx1pRH4QSSQLD54R/XQ6gA6XdIlj8VbBQEqxFi8+Go2X3OlxExi3m0gBCj0OAtY4CzBX4OPaAYIgTj/kRZyoOB831v/Jw3GKvN3w46I659vx/qMUEahsDm2kD/3X5ZFvXrol9flUuyvFb/B7oWHNCcMKSAHMSC5xo4WMWKa2olpp7a0B0gJ9Mi2YyNT3Oh6v99u/rbLYNzVAntVH2tPXHyaIGtWa/EV/AqZsK7Gku2grP5skfj4/eIhclth2yt2d7VZdVMSvNSaebAp3m1jdTsagM34mqhmo1N/iaWpOOwv4WDUkIKhaYBzzBnBMPJ0Ec4YjFISGCEQHqcOvUntsOZ7PAWd4d50NdVYs4G0g0/39tlabAfQaA4yjyMQ+CGEf2KfEYixPu6Vit14X9GKhzvrPw/mFMi7Vg6dls4Ur5MK61nMJMLEKwGyogF7XlzHG7hMbo5ix3nDP0bUd7hsbOGZoaU44fPbLhj7v3o6KaPOoevzlDbrfHdAWQ3fGyLQaPFzyW69flYrnr7lYLZWU7AJNCbZdbDdbpFy82WXSF6Rnq1ubuctNF55x777NDQns77d24oXO3OKj3Yt8Si5tB6SvBHbWCWlZpG/V33iMalUIu7y5ENGZaVHcml8LApKiub9uwpJ+vgVLBr01agbK0n1ZAuNtWuhsmuGv6uRvCz7cdVS+j/k/y1LJZ2VrYZCmqSlyvcezWbYO7u++AMgdV2lLsbTNLYMBtaW5gYhc2/PY18bfcs5q5DGt0GJFdXA7EzfLf1ott5XaCagsa19mIs3U7ztc5rYm5S+j2kbEMQvvffJG0tuO8NdNdz0DuRlpxN2P3/Cyfnw1UhaN+/Jl4sR/6VGHu23LICwDHVDMchSHRLFAhZWs1/9NC7W+BZbe43iAOFTuf65bL2JYaTZU737Z3w0inVW0ePOxmOd0NNFqZMlrCtGNLPzZRmnAd+hFm2vcwJ1za9k9hxQlTsdZaJWuWHJwtfXWNF+8ZRS5qvOVsQzhqKXlhnO1ZMpF3Pd6ymdFFlhWXNqTzs7wrC8fOqk40qzrxaBmPztg5y1cEfZi2VHcqGP+EytALZATUFxg8JjH3KMPCfsZQngwTJYGrKN4dYW2PZe8+xgrJIOb3HmN5MdB2ZqClsIMDFuA4YRRHfqK4ZNJXvuj1NgfGWN/v+Kn/rsRoEokwDHAsKcecSo4j4XMcJpEOQkJYxFkvqXfjncT15CNT/FgX+XFL++Bhq8LwaOy8m5te9A6vwZg0n7RodQGRFvlRpWwHgS6ojZNFGmon5CKiPJYQYRmFCeY+9XHMWYgD+4WFKN/XyvaSsshzkEu/dBllfINmIrWO/HTTfgK77bNQS2krSgVXaEzm53a6u029xvHc7ZkejrRB7gPz8P9e5aHvHkNcbxvGDzIenAgPcT7U3A5y37NpiP/mbTHIbe/3NHtC03/aXNuICSzerfG+R/7e4bMPsJ2oGDLqHoKHvbOvL+ssLjYa9Xs4a3vvDtIH9R504W0f5wbtu9NH6CFRt3/IuFf03DZSOBRYd8D5tmiaz/8DZuAjVSQiAAA=

metadata_json:
  {"categories":["automation","AI writing","document generation","content marketing","education"],"complexity":"medium","use_cases":["Rapid eBook drafting from a topic or outline","Create lead magnets, whitepapers, and marketing assets","Convert course syllabi or modules into eBooks","Produce client deliverables for agencies/freelancers","Generate structured technical documentation or guides"],"estimated_setup_minutes":20,"required_services":["n8n (self-hosted) — community nodes only compatible with self-hosted instances","Google Gemini Flash 2.0 (Google AI API)","Google Docs API","Google Drive (optional, for storage)","Gmail (optional, for distribution)"],"key_features":["Generates chapter titles, structured table of contents, and section-wise content via Google Gemini Flash 2.0","Formats and writes the eBook into Google Docs chapter-wise","Configurable prompts (tone, length, creativity) and input via webhook or manual trigger","Structured output parsing and batch processing for multi-chapter books","Optional distribution/storage via Google Drive or email"],"target_audience":["Authors & writers","Content marketers","Educators & course creators (instructors, instructional designers)"]}


name: Stock Fundamental Analysis & AI-Powered Reports with Mistral and AlphaVantage
author_name: Sebastian/OptiLever
author_username: lewxiangang
categories: []
created_at: 2025-07-06T08:46:51.074Z
updated_at: 2025-07-06T08:46:51.074Z
url: https://n8n.io/workflows/5710
scraped_at: 2025-09-29 22:37:33
metadata_generated_at: 2025-09-30 08:33:37
description:
  Fundamental Analysis, Stock Analysis, and AI Integration in the Fundamental Analysis Tool

  Overview of the Tool

  The Fundamental Analysis Tool is an automated workflow designed to evaluate a stock’s fundamentals using financial data and AI-driven insights. Built in the n8n automation platform, it:

  Collects financial data for a user-specified stock from AlphaVantage.
  Processes and structures this data for analysis.
  Analyzes the data using the Mistral AI model to provide expert-level insights.
  Generates a visually appealing HTML report with charts and delivers it via email.

  The tool is triggered by a form where users input a stock symbol (e.g., "NVDA" for NVIDIA) and their email address. From there, it follows a three-stage process: data retrieval, data processing, and AI analysis with report generation.

  1. Fundamental Analysis: The Foundation

  Fundamental analysis involves evaluating a company’s intrinsic value by examining its financial health, competitive position, and market environment. This tool performs fundamental analysis by:

  Data Retrieval

  Data Types**: Six types of data are retrieved via HTTP requests:
    Overview: General company details (e.g., sector, industry, market cap).
    Income Statement: Revenue, net income, and profitability metrics.
    Balance Sheet: Assets, liabilities, and equity.
    Cash Flow: Operating, investing, and financing cash flows.
    Earnings Calendar: Upcoming earnings events.
    Earnings: Historical earnings data (annual and quarterly).

  Key Metrics Analyzed
  The tool structures this data into 8 categories critical to fundamental analysis, as defined in the "Code1" node:
  Economic Moats & Competitive Advantage: Assesses sustainable advantages (e.g., R&D spending, gross profit).
  Financial Health & Profitability: Examines ROE, debt levels, and dividend yield.
  Valuation & Market Sentiment: Evaluates P/E ratio, PEG ratio, and book value.
  Management & Capital Allocation: Reviews market cap justification and cash allocation (e.g., R&D, buybacks).
  Industry & Risk Exposure: Analyzes revenue cyclicality and geopolitical risks.
  Key Metrics to Probe: Investigates net income trends and gross margins.
  Red Flags: Identifies risks like inventory issues or stock dilution.
  Final Checklist: Summarizes pricing power and risk/reward potential.

  These categories cover the core pillars of fundamental analysis, ensuring a holistic evaluation of the stock’s intrinsic value and risks.

  2. Stock Analysis: Tailored Insights

  The tool performs stock-specific analysis by focusing on the user-provided stock symbol. Here’s how it tailors the process:

  Input and Customization
  Form Submission**: Users enter a stock symbol (e.g., "NVDA") and email via the "On Form Submission" node.
  Dynamic Data Fetching**: The "Set Variables" node passes the stock symbol to the API calls, ensuring the analysis is specific to the chosen stock.

  Processing for Relevance
  Data Filtering: The workflow limits historical data to the **last 5 years (via the "Limit" node), focusing on recent trends.
  Merging and Cleaning**: The "Merge" and "Code2" nodes combine and refine the data, removing irrelevant fields (e.g., quarterly reports) and aggregating annual reports for consistency.

  Output
  The final report is titled with the stock’s name (e.g., "Fundamental Analysis - NVIDIA"), ensuring the analysis is clearly tied to the user’s chosen stock.

  This stock-specific approach makes the tool practical for investors analyzing individual companies rather than broad market trends.

  3. AI Integration: Expert-Level Insights

  The integration of AI (via the Mistral model or others) is what sets this tool apart, automating complex analysis and report generation. Here’s how AI is woven into the workflow:

  Data Preparation for AI
  Structuring**: The "Code1" node organizes the raw data into a JSON schema aligned with the eight fundamental analysis categories. 
  This structured data is fed into the AI for analysis.

  AI Analysis
  Node: "Basic LLM Chain" uses the **Mistral AI model.
  Prompt**: The AI is instructed to act as an "expert financial advisor with 50 years of experience" and answer specific questions for each category, such as:
    Economic Moats: "What sustainable competitive advantages protect the company’s margins?"
    Financial Health: "Is ROE driven by leverage or true profitability?"
    Red Flags: "Are supply chain issues a concern?"
  Output**: The AI generates a JSON response with detailed insights, e.g.:
      {
      "Economic Moats & Competitive Advantage": "NVIDIA’s leadership in GPU technology and strong R&D investment...",
      "Financial Health & Profitability": "ROE of 25% is exceptional, driven by profitability rather than leverage...",
      ...
    }
    Validation**: An "Auto-fixing Output Parser" ensures the output adheres to the expected JSON schema, retrying if necessary.

  Report Enhancement
  HTML Generation**: The "HTML" node creates an initial report with placeholders for the AI’s insights and Google Charts for visualizations (e.g., ROE trends, revenue growth).
  AI-Driven Refinement**: The "Basic LLM Chain1" node uses Mistral again to enhance the HTML, adding:
    Styled tables (e.g., financial ratios).
    Charts (e.g., bar charts for valuation, line charts for revenue).
    Visual indicators (e.g., ✅ for positive trends, ⚠️ for risks).
    Mobile-responsive design with modern fonts (Inter or Roboto).

  This dual AI approach—one for analysis, one for presentation—ensures the output is both insightful and user-friendly.

  Strengths and Limitations

  Strengths
  Comprehensive**: Covers all key aspects of fundamental analysis.
  AI-Powered**: Automates expert-level insights and report design.
  User-Friendly**: Delivers an interactive, visual report via email.

  Limitations
  Data Dependency**: Relies on public data, so data quality and timeliness matter.
  AI Constraints**: Insights depend on AI’s capabilities; it may miss nuanced human judgment.
  Disclaimer**: The tool notes it’s not investment advice, so users should consult advisors.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.outputParserAutofixing","@n8n/n8n-nodes-langchain.lmChatMistralCloud","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-base.code","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.merge","n8n-nodes-base.limit","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.html","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-base.html","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger"]

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

metadata_json:
  {"categories":["automation","integration","data processing","finance","AI-driven reporting"],"complexity":"complex","use_cases":["Automated fundamental stock analysis","Generating AI-powered investment reports and summaries","Periodic portfolio monitoring and alerts","Data extraction and structuring from financial APIs","Prototyping quantitative/qualitative research workflows"],"estimated_setup_minutes":45,"required_services":["AlphaVantage API (financial data)","Mistral (lmChat) API / Mistral Cloud for AI analysis","n8n automation platform / hosting"],"key_features":["Fetches historical and fundamental financial data from AlphaVantage","Preprocesses and structures multi-source financial data","Uses Mistral AI model to generate expert-level insights and written reports","Structured output parsing for consistent report format","Webhook/HTTP endpoints for triggers and integrations (ingest or delivery)」「HTML report generation and customizable report templates"],"target_audience":["Financial analysts and researchers","Retail investors and investment advisors","Data engineers and automation builders implementing financial workflows"]}


name: Automated Stock Trading with AI: Integrating Alpaca and Google Sheets
author_name: Raz Hadas
author_username: raz-hadas
categories: []
created_at: 2025-07-06T09:30:18.191Z
updated_at: 2025-07-06T09:30:18.191Z
url: https://n8n.io/workflows/5711
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Description

  Transform your investment strategy with a fully automated, AI-driven trading bot. This workflow bridges the gap between AI-powered market insights and real-world trading by executing buy and sell orders directly through the Alpaca paper trading API.

  Designed to work in tandem with the Automated Stock Sentiment Analysis workflow, this solution takes the top-performing stocks based on daily news sentiment and automatically rebalances your portfolio. It's perfect for algorithmic traders, data-driven investors, and n8n enthusiasts who want to see their AI analysis translate into tangible actions, all while maintaining a comprehensive log of every transaction in Google Sheets.

  Key Features & Benefits

  Automated Trading Execution:** Automatically places buy and sell orders on the Alpaca paper trading platform without manual intervention.
  Sentiment-Driven Decisions:** Leverages the output from the sentiment analysis workflow to make informed decisions, selling positions with waning sentiment and buying into those with high positive sentiment.
  Dynamic Portfolio Rebalancing:** Intelligently calculates which positions to close and how to allocate the resulting funds into new, high-potential stocks.
  Paper Trading Ready:** Safely test and refine your trading strategies in a risk-free environment using Alpaca's paper trading API.
  Daily Performance Tracking:** Automatically logs your account equity and daily percentage change to a Google Sheet, giving you a clear view of your portfolio's performance.
  Detailed Trade Logging:** Every buy and sell order is meticulously recorded in a Google Sheet for easy review and historical analysis.
  Scheduled and Autonomous:** The entire process runs on a daily schedule, making it a "set and forget" solution for systematic trading.

  How It Works

  This workflow executes a sophisticated, automated trading strategy in a few key stages:

  Daily Kick-off & Snapshot: The workflow triggers on a daily schedule, first fetching your current Alpaca account balance and logging it to a Google Sheet to track daily performance.
  Strategy Formulation: It then reads the daily sentiment scores produced by the accompanying "Stock Sentiment Analysis" workflow. A Code node filters these results to identify the top four stocks with the highest positive sentiment.
  The Decision Engine: The core of the workflow is a custom Code node that acts as the trading brain. It:
      Retrieves your currently open positions from Alpaca.
      Compares your holdings against the day's top four sentiment stocks.
      Generates a "sell list" of positions you hold that are no longer in the top four.
      Generates a "buy list" of top-sentiment stocks that you don't yet own.
      Calculates the total cash value from the "sell list" and determines the exact notional value to invest in each stock on the "buy list."
  Trade Execution:
      The workflow first iterates through the "sell list" and executes a DELETE request to Alpaca for each, closing the positions.
      A Wait node pauses the workflow for two minutes to ensure the sell orders are filled and the account balance is updated.
      It then iterates through the "buy list," executing POST requests to Alpaca to purchase the new assets with the calculated funds.
  Record Keeping: All executed orders (both buys and sells) are merged and logged in a dedicated Google Sheet, giving you a permanent and detailed transaction history.

  Nodes Used

  Schedule Trigger
  HttpRequest (Alpaca API)
  Google Sheets
  Code (JavaScript)
  SplitOut
  Wait
  Merge

  This workflow is the perfect next step for anyone looking to take their AI analysis to the next level. Take the emotion out of your trading and let this bot systematically execute your data-driven strategy.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.wait","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6236 characters]

metadata_json:
  {"categories":["automation","finance","trading","integration"],"complexity":"complex","use_cases":["Automated algorithmic trading (paper trading)","Rebalancing portfolio based on daily sentiment scores","Testing and refining trading strategies","Logging and auditing trade history and performance","Connecting AI sentiment outputs to live trade execution"],"estimated_setup_minutes":45,"required_services":["Alpaca paper trading API (Alpaca account & API keys)","Google Sheets (Google account & Sheets access)","n8n instance","Stock Sentiment Analysis workflow or other sentiment data source/AI service"],"key_features":["Automated buy/sell order execution via Alpaca","Sentiment-driven decision engine selecting top stocks","Dynamic portfolio rebalancing and notional allocation","Paper trading-safe environment for testing","Scheduled daily runs (set-and-forget) with wait/sync between sells and buys"],"target_audience":["Algorithmic traders","Data-driven investors","Quant developers and engineers building trading bots with n8n\",\"n8n users wanting to automate integration between AI analysis and trading platforms"]}


name: Generate Content Ideas from PDFs with InfraNodus GraphRAG and AI Gap Analysis
author_name: InfraNodus
author_username: infranodus
categories: []
created_at: 2025-07-06T15:33:11.566Z
updated_at: 2025-07-06T15:33:11.566Z
url: https://n8n.io/workflows/5720
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  This template can be used to find the content gaps in PDF documents using the InfraNodus knowledge graph / GraphRAG text representation and then generate ideas / questions / AI prompts that bridge those gaps based on optimizing the knowledge graph's structure.

  Simply upload several PDF files (research papers, corporate or market reports, etc) and generate an idea in seconds. 

  The template is useful for:

  generating ideas / questions for research
  generating  content ideas based on competitors' discourse
  finding blind spots in any discourse and generating ideas that address them.
  avoiding the generic bias of LLM models and focusing on what's important in your particular context

  What are Content Gaps and Knowledge Graphs? 

  Knowledge graphs represent any text as a network: the main concepts are the nodes, their co-occurrences are the connections between them. 

  Based on this representation, we build a graph and apply network science metrics to rank the most important nodes (concepts) that serve as the crossroads of meaning and also the main topical clusters that they connect. 

  Naturally, some of the clusters will be disconnected and will have gaps between them. These are the topics (groups of concepts) that exist in this context (the documents you uploaded) but that are not very well connected. 

  Addressing those gaps can help you see which groups of concepts you could connect with your own ideas. This is exactly what InfraNodus does: builds the structure, finds the gaps, then uses the built-in AI to generate research questions and ideas that bridge those gaps.

  How it works

  1) Step 1: First, you upload your PDF files using an online web form, which you can run from n8n or even make publicly available. 

  2) Steps 2-4: The documents are processed using the Code and PDF to Text nodes to extract plain text from them.

  3) Step 5: This text is then sent to the InfraNodus GraphRAG node that creates a knowledge graph, identifies structural gaps in this graph, and then uses built-in AI to generate ideas or research questions / prompts (if you use the InfraNodus question module instead).

  4) Step 6: The ideas are then shown to the user in the same web form. 

  Optionally, you can hook this template to your own workflow and send the idea / question generated to your own AI model / agent for further processing. 

  If you'd like to sync this workflow to PDF files in a Google Drive folder, you can copy our Google Drive PDF processing workflow for n8n.

  How to use

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

  Create an InfraNodus account
  Get the API key at https://infranodus.com/api-access and create a Bearer authorization key.
  Add this key into the InfraNodus GraphRAG HTTP node(s) you use in this workflow.
  You do not need any OpenAI keys for this to work.

  Optionally, you can change the settings in the Step 4 of this workflow and enforce it to always use the biggest gap it identifies.

  Requirements

  An InfraNodus account and API key

  Note: OpenAI key is not required. You will have direct access to the InfraNodus AI with the API key.

  Customizing this workflow

  You can use this same workflow with a Telegram bot or Slack (to be notified of the summaries and ideas). 

  You can also hook up automated social media content creation workflows in the end of this template, so you can generate posts that are relevant (covering the important topics in your niche) but also novel (because they connect them in a new way). 

  Check out our n8n templates for ideas at https://n8n.io/creators/infranodus/


  Also check the full tutorial with a conceptual explanation at https://support.noduslabs.com/hc/en-us/articles/20454382597916-Beat-Your-Competition-Target-Their-Content-Gaps-with-this-n8n-Automation-Workflow 

  Also check out the video introduction to InfraNodus to better understand how knowledge graphs and content gaps work:



  For support and help with this workflow, please, contact us at https://support.noduslabs.com

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.extractFromFile","n8n-nodes-base.code","n8n-nodes-base.form","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"]

workflow_json_compressed:
  [encoded data, 4932 characters]

metadata_json:
  {"categories":["automation","integration","data processing","content strategy","knowledge graph"],"complexity":"medium","use_cases":["Discover content gaps in collections of PDFs (research papers, reports)","Generate research questions and content ideas based on document discourse","Create AI prompts that bridge topical gaps identified in a corpus","Competitive content analysis and content ideation","Feed ideas into downstream workflows (social, agents, Slack/Telegram)"],"estimated_setup_minutes":20,"required_services":["n8n instance (to run the workflow)","InfraNodus GraphRAG API account and Bearer API key (required)","PDF source (uploaded files or connected Google Drive)","Optional: messaging services for notifications (Slack, Telegram)"],"key_features":["Extract text from PDFs (Code / PDF-to-text nodes)","Build a knowledge graph (InfraNodus GraphRAG) and compute network metrics","Detect structural/content gaps between topical clusters","Generate ideas/questions/prompts that bridge identified gaps using InfraNodus AI","Deliver results via a web form and optionally push to other services (agents, social, messaging)"],"target_audience":["content strategists and marketers","researchers and analysts","competitive intelligence teams and product managers`,`n8n builders and automation engineers"]}


name: Learn JavaScript Data Processing with Code Node: Filtering, Analysis & Export Examples
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-07-07T03:32:28.392Z
updated_at: 2025-07-07T03:32:28.392Z
url: https://n8n.io/workflows/5729
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  Overview
  A comprehensive educational workflow that demonstrates practical JavaScript usage in n8n's Code node through real-world business scenarios. Perfect for learning data manipulation, transformation, and automation patterns that you can immediately apply to client projects.
  What This Template Teaches:

  Data Filtering & Transformation - Filter employees by age, calculate bonuses, format contact information
  Statistical Analysis - Generate team statistics, averages, role distributions, and KPIs
  Multi-Format Export - Create CSV files, email lists, and API-ready payloads from raw data
  n8n Best Practices - Proper JSON handling, return formats, and data flow patterns

  How It Works:

  Manual Trigger starts the workflow with sample employee data
  Set Sample Data provides realistic business data (employees with roles, salaries, ages)
  Three Code Node Examples process the same data differently:

  Filter & Transform: Creates adult employee list with calculated bonuses
  Calculate Stats: Generates comprehensive team analytics and reports
  Format for Export: Prepares data for external systems (APIs, emails, CSV)



  Key Learning Points:

  Access input data using items[0].json.propertyName
  Return proper n8n format with [{ json: data }] structure
  Use JSON.parse() for string-to-object conversion
  Apply JavaScript array methods (filter, map, reduce) for data processing
  Handle multiple output scenarios and data aggregation

  Perfect For:

  n8n beginners learning Code node fundamentals
  Developers transitioning to n8n automation
  Client demos showing data processing capabilities
  Team training and onboarding sessions
  Foundation for building custom business automation workflows

  Business Use Cases:
  Transform this template for lead qualification, customer segmentation, report generation, data enrichment, and API integrations. Each Code node pattern can be adapted for different industries and automation needs.

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

workflow_json_compressed:
  [encoded data, 4500 characters]

metadata_json:
  {"categories":["education","data processing","automation","integration"],"complexity":"medium","use_cases":["Learn Code node data manipulation","Employee/customer data filtering and segmentation","Generate team statistics and KPIs","Prepare CSV/email/API payloads for export","Prototype lead qualification and report generation"],"estimated_setup_minutes":10,"required_services":[],"key_features":["Code node examples for filter, transform, and stats","Sample employee dataset for hands-on practice","Demonstrates JSON parse/return formats and n8n item structure","Multi-format export patterns (CSV, email lists, API payloads)","Use of array methods: filter, map, reduce for real use cases"],"target_audience":["n8n beginners","Developers transitioning to n8n","Automation consultants building demos for clients','Trainers and team onboarding leads"]}


name: Deduplicate Data Records Using JavaScript Array Methods
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-07-07T03:48:43.299Z
updated_at: 2025-07-07T03:48:43.299Z
url: https://n8n.io/workflows/5730
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  How It Works – Data Deduplication in n8n

  This tutorial demonstrates how to remove duplicate records from a dataset using JavaScript logic inside n8n's Code nodes. It simulates real-world data cleaning by generating sample user data with intentional duplicates (based on email addresses) and walks you through the process of deduplication step-by-step.

  The process includes:

  Creating Sample Data with duplicates.
  Filtering Out Duplicates using filter() and findIndex() based on email.
  Displaying Cleaned Results with simple statistics for before-and-after comparison.
  This is ideal for scenarios like CRM imports, ETL processes, and general data hygiene.

  ⚙️ Set-Up Steps

  🔹 Step 1: Manual Trigger
  Node: When clicking 'Test workflow'
  Purpose: Initiates the workflow manually for testing.

  🔹 Step 2: Generate Sample Data
  Node: Create Sample Data (Code node)
  What it does:

  Creates 6 users, including 2 intentional duplicates (by email).
  Outputs data as usersJson with metadata (totalCount, message).
  Mimics real-world messy datasets.
  🔹 Step 3: Deduplicate the Data
  Node: Deduplicate Users (Code node)
  What it does:

  Parses usersJson.
  Uses .filter() + .findIndex() to keep only the first instance of each email.
  Logs total, unique, and removed counts.
  Outputs clean user list as separate items.
  🔹 Step 4: Display Results
  Node: Display Results (Code node)
  What it does:

  Outputs structured summary:
  Unique users
  Status
  Timestamp
  Prepares results for review or downstream use.
  📈 Sample Output

  Original count: 6 users
  Deduplicated count: 4 users
  Duplicates removed: 2 users
  🎯 Learning Objectives

  You'll learn how to:

  Use .filter() and .findIndex() in n8n Code nodes
  Clean JSON data within workflows
  Create simple, effective deduplication pipelines
  Output structured summaries for reporting or integration
  🧠Best Practices

  Validate input format (e.g., JSON schema)
  Handle null or missing fields gracefully
  Use logging for visibility
  Add error handling for production use
  Use pagination/chunking for large datasets

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

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

metadata_json:
  {"categories":["data processing","automation","ETL","data quality"],"complexity":"simple","use_cases":["CRM import deduplication","ETL data cleaning","Preprocessing datasets for analytics","General data hygiene and record consolidation"],"estimated_setup_minutes":10,"required_services":["n8n (Code node) — no external APIs required"],"key_features":["Generates sample dataset with intentional duplicates","Deduplicates records using JavaScript .filter() + .findIndex() based on email","Outputs cleaned list as workflow items","Provides before/after statistics (total, unique, removed)","Produces structured summary for reporting or downstream use"],"target_audience":["Developers","Data engineers","Analysts/data analysts doing ETL cleaning tasks\",\"No-code/low-code automation builders"]}


name: Learn JavaScript Coding with an Interactive RPG-Style Tutorial Game
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-07-07T03:58:33.462Z
updated_at: 2025-07-07T03:58:33.462Z
url: https://n8n.io/workflows/5731
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  🎯 JavaScript Master Class - Interactive Code Tutorial

  📚 How It Works

  This tutorial is designed as a self-paced learning experience where you explore working JavaScript code examples. Unlike traditional tutorials, you learn by examining real implementations and understanding how they work.

  🔍 The Learning Method:
  Execute first - See the workflow in action
  Open each node - This is where the real learning happens!
  Study the code - Read JavaScript implementations and comments
  Understand the flow - See how data transforms between nodes
  Experiment - Modify code to test your understanding

  🎮 The "Game" Concept:
  It's not a real game - it's a gamified learning experience
  Uses RPG elements (XP, levels, achievements) to make learning engaging
  Simulates progression through 3 difficulty levels
  Main learning happens when you open nodes and read the code!**

  🚀 Setup Steps

  Step 1: Import the Template
  Copy the JSON template provided
  Open your n8n instance
  Create a new workflow
  Press Ctrl+A (or Cmd+A on Mac) to select all
  Press Ctrl+V (or Cmd+V) to paste the JSON
  Click "Save" and name it: JavaScript Master Class - Interactive Tutorial

  Step 2: Execute the Workflow
  Click "Test workflow" or "Execute workflow"
  Watch it run through all nodes automatically
  See the final results and progression simulation

  Step 3: Start Learning (The Important Part!)
  Now the real learning begins - you must open each node manually:

  🔍 For Each Code Node:
  Double-click the node to open it
  Read the JavaScript code carefully
  Study the comments - they explain key concepts
  Understand the logic - how input becomes output
  Note the techniques used in each challenge

  📖 For Each Sticky Note:
  Read the explanations and context
  Understand the learning objectives
  Note the skills being taught

  🎯 Learning Path

  Level 1: Data Warrior (Beginner)
  📂 Open Node: 🎲 Level 1: Data Warrior
  Focus:** Data deduplication using filter() and findIndex()
  Key Skills:** Array methods, duplicate detection
  What to Study:** How the deduplication algorithm works

  Level 2: API Ninja (Intermediate)
  📂 Open Node: ⚔️ Level 2: API Ninja
  Focus:** Data transformation and validation
  Key Skills:** String manipulation, validation logic, error handling
  What to Study:** How to clean and validate messy API data

  Level 3: Automation Master (Advanced)
  📂 Open Node: 🏆 Final Boss: Automation Master
  Focus:** Complex workflow processing
  Key Skills:** Task orchestration, priority sorting, error handling
  What to Study:** How to build robust automation systems

  💡 Learning Tips

  🔍 Active Exploration:
  Don't just run it** - open every single node!
  Read all comments** - they contain key insights
  Compare approaches** - see how complexity increases
  Try modifications** - change values and see what happens

  📝 Study Techniques:
  Take notes** on patterns you see
  Copy interesting code** snippets for reference
  Try to explain** each function to yourself
  Test your understanding** by modifying the code

  🧪 Experimentation:
  Change filter conditions** in Level 1
  Modify validation rules** in Level 2
  Adjust workflow logic** in Level 3
  Break something** and fix it - great for learning!

  ⚠️ Important Notes

  🎮 "Game" Reality Check:
  This is NOT an interactive game where you make choices
  It's a code tutorial with game-like progression themes
  The "game" runs automatically when executed
  Real learning happens when you manually open and study each node**

  📚 Educational Value:
  Primary learning:** Understanding JavaScript implementations
  Secondary learning:** n8n workflow patterns
  Bonus learning:** Problem-solving approaches

  🔧 Technical Requirements:
  Working n8n instance
  Basic JavaScript knowledge helpful but not required
  Willingness to explore and experiment

  🎯 Success Metrics

  You'll know you're learning when you can:
  ✅ Explain how each deduplication algorithm works
  ✅ Identify the validation patterns used
  ✅ Understand the workflow orchestration logic
  ✅ Modify the code to handle different scenarios
  ✅ Apply these patterns to your own projects

  🤔 Next Steps

  After completing this tutorial:
  Apply the patterns to your own workflows
  Experiment with variations
  Build something using these techniques
  Share your learnings with the community

  Remember: The magic happens when you open each node and study the code! 🔍

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

workflow_json_compressed:
  [encoded data, 7760 characters]

metadata_json:
  {"categories":["education","automation","developer-training"],"complexity":"medium","use_cases":["Learn JavaScript through real examples","Study n8n workflow patterns and node logic","Practice data deduplication and validation techniques","Experiment with workflow orchestration and error handling","Onboard developers to automation best practices"],"estimated_setup_minutes":10,"required_services":["n8n instance (self-hosted or cloud)"],"key_features":["Gamified progression through 3 difficulty levels (XP/levels/achievements)","Editable code nodes with commented JavaScript implementations","Sticky notes with learning objectives and explanations","Example challenges: array deduplication, API data cleaning/validation, task orchestration","Run-and-inspect workflow flow to observe data transformations"],"target_audience":["Beginner to intermediate JavaScript learners","n8n users and automation builders","Developers learning workflow orchestration patterns and best practices\",\"Educators creating hands-on tutorials"]}


name: Build a PDF-Based RAG System with OpenAI, Pinecone and Cohere Reranking
author_name: Aji Prakoso
author_username: jipraks
categories: []
created_at: 2025-07-07T04:35:30.589Z
updated_at: 2025-07-07T04:35:30.589Z
url: https://n8n.io/workflows/5734
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

  This workflow provides a complete, ready-to-use template for a Retrieval-Augmented Generation (RAG) system. It allows you to build a powerful AI chatbot that can answer questions based on the content of PDF documents you provide, using a modern and powerful stack for optimal performance.

  Good to know
  Costs:** This workflow uses paid services (OpenAI, Pinecone, Cohere). Costs will be incurred based on your usage. Please review the pricing pages for each service to understand the potential expenses.
  Video Tutorial (Bahasa Indonesia):** For a step-by-step guide on how this workflow functions, you can watch the accompanying video tutorial here: N8N Tutorial: Membangun Chatbot RAG dengan Pinecone, OpenAI, & Cohere

  How it works
  This workflow operates in two distinct stages:

  1. Data Ingestion & Indexing:
  It begins when a .pdf file is uploaded via the n8n Form Trigger.
  The Default Data Loader node processes the PDF, and the Recursive Character Text Splitter breaks down the content into smaller, manageable chunks.
  The Embeddings OpenAI node converts these text chunks into vector embeddings (numerical representations).
  Finally, the Pinecone Vector Store node takes these embeddings and stores (upserts) them into your specified Pinecone index, creating a searchable knowledge base.

  2. Conversational AI Agent:
  A user sends a message through the Chat Trigger.
  The AI Agent receives the message and uses its VectorDB tool to search the Pinecone index for relevant information.
  The Reranker Cohere node refines these search results, ensuring only the most relevant context is selected.
  The user's original question and the refined context are sent to the OpenAI Chat Model (gpt-4.1), which generates a helpful, context-aware answer.
  The Simple Memory node maintains conversation history, allowing for natural, multi-turn dialogues.

  How to use
  Using this workflow is a two-step process:

  Populate the Knowledge Base: First, you need to add documents. Trigger the workflow by using the Form Trigger and uploading a PDF file. Wait for the execution to complete. You can do this for multiple documents.
  Start Chatting: Once your data has been ingested, open the Chat Trigger's interface and start asking questions related to the content of your uploaded documents.

  The Form Trigger is just an example. Feel free to replace it with other triggers, such as a node that watches a Google Drive or Dropbox folder for new files.

  Requirements
  To run this workflow, you will need active accounts and API keys for the following services.

  OpenAI Account & API Key:**
      Function: Powers text embedding and the final chat generation. Required for the Embeddings OpenAI and OpenAI Chat Model nodes.
  Pinecone Account & API Key:**
      Function: Used to store and retrieve your vector knowledge base. Required for the Pinecone Vector Store and VectorDB nodes. You also need to provide your Pinecone Environment.
  Cohere Account & API Key:**
      Function: Improves the accuracy of your chatbot by re-ranking search results for relevance. Required for the Reranker Cohere node.

  Customising this workflow
  This template is a great starting point. Here are a few ways you can customize it:

  Change the AI Personality:* Edit the *System Message** in the AI Agent node to change the bot's behavior, tone, or instructions.
  Use Different Models:** You can easily swap the OpenAI model for another one (e.g., gpt-3.5-turbo for lower costs) in the OpenAI Chat Model node.
  Adjust Retrieval:** In the VectorDB tool node, you can modify the Top K parameter to retrieve more or fewer document chunks to use as context.
  Automate Ingestion:** Replace the manual Form Trigger with an automated one, like a node that triggers whenever a new file is added to a specific cloud storage folder.

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

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

metadata_json:
  {"categories":["automation","integration","AI / ML","data processing","knowledge management"],"complexity":"complex","use_cases":["Build a PDF-based RAG chatbot","Document search / QA","Internal knowledge base for teams","Customer support & knowledge assistance","Automated ingestion of PDF corpora for retrieval"],"estimated_setup_minutes":45,"required_services":["OpenAI (API key for embeddings & chat)","Pinecone (vector index & API key)","Cohere (reranker API key)","n8n self-hosted (required for community nodes)"],"key_features":["PDF ingestion and recursive text splitting","Embedding generation (OpenAI)","Vector storage & retrieval (Pinecone)","Result reranking (Cohere)","Context-aware chat generation (OpenAI chat model) with conversation memory (Simple Memory) and customizable system prompt (AI Agent)"],"target_audience":["Developers","ML engineers / data engineers","Product teams building knowledge bots or internal search tools"]}


name: Generate Cinematic Videos from Text Prompts with GPT-4o, Fal.AI Seedance & Audio
author_name: Jaruphat J.
author_username: jaruphatj
categories: []
created_at: 2025-07-07T09:21:49.644Z
updated_at: 2025-07-07T09:21:49.644Z
url: https://n8n.io/workflows/5741
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who’s it for?

  This workflow is built for:
  AI storytellers, **content creators, YouTubers, and short-form video marketers
  Anyone looking to transform text prompts into cinematic AI-generated videos fully automatically
  Educators, **trainers, or agencies creating story-based visual content at scale

  What It Does

  This n8n workflow allows you to automatically turn a simple text prompt into a multi-scene cinematic video, using the powerful Fal.AI Seedance V1.0 model (developed by ByteDance — the creators of TikTok).

  It combines the creativity of GPT-4o, the motion synthesis of Seedance, and the automation power of n8n to generate AI videos with ambient sound and publish-ready format.

  How It Works

  Accepts a prompt from Google Sheets (configurable fields like duration, aspect ratio, resolution, scene count)
  Uses OpenAI GPT-4o to write a vivid cinematic narrative
  Splits the story into n separate scenes
  For each scene:
     GPT generates a structured cinematic description (characters, camera, movement, sound)
     The Seedance V1.0 model (via Fal.AI API) renders a 5s animated video
     Optional: Adds ambient audio via Fal’s MM-Audio model
  Finally:
     Merges all scene videos using Fal’s FFmpeg API
     Optionally uploads to YouTube automatically

  Why This Is Special

  Fal.AI Seedance V1.0** is a highly advanced motion video model developed by ByteDance, capable of generating expressive, stylized 5–6 second cinematic clips from text.
  This workflow supports full looping, scene count validation, and wait-polling for long render jobs.
  The entire story, breakdown, and scene design are AI-generated — no manual effort needed.
  Output is export-ready: MP4 with sound, ideal for YouTube Shorts, Reels, or TikTok.

  Requirements

  n8n (Self-hosted recommended)
  API Keys:
    Fal.AI (https://fal.ai)
    OpenAI (GPT-4o or 3.5)
    Google Sheets Example Google Sheet

  How to Set It Up

  Clone the template into your n8n instance
  Configure credentials:
     Fal.AI Header Token
     OpenAI API Key
     Google Sheets OAuth2
     (Optional) YouTube API OAuth
  Prepare a Google Sheet with these columns:
     story (short prompt)
     number_of_scene
     duration (per clip)
     aspect_ratio, resolution, model
  Run manually or trigger on Sheet update.

  How to Customize

  Modify the storytelling tone in GPT prompts (e.g., switch to fantasy, horror, sci-fi)
  Change Seedance model params like style or seed
  Add subtitles or branding overlays to final video
  Integrate LINE, Notion, or Telegram for auto-sharing

  Example Output

  Prompt: “A rabbit flies to the moon on a dragonfly and eats watermelon together”  
  → Result: 3 scenes, each 5s, cinematic camera pans, soft ambient audio, auto-uploaded to YouTube
  Result

nodes_used:
  ["@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.switch","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","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.youTube","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  [encoded data, 8492 characters]

metadata_json:
  {"categories":["automation","content-creation","video-generation","AI/ML","integration"],"complexity":"complex","use_cases":["Turn short text prompts into multi-scene cinematic videos","Automated social-short production for YouTube Shorts/Reels/TikTok","Batch/scale storytelling and visual content creation","Educational and training visual content generation","Prototype cinematic scenes and storyboards quickly"],"estimated_setup_minutes":30,"required_services":["n8n (self-hosted recommended)","Fal.AI (Seedance V1.0, MM-Audio, FFmpeg endpoints)","OpenAI (GPT-4o or 3.5)","Google Sheets (OAuth2)","YouTube API (optional, OAuth)"],"key_features":["Automated text → vivid cinematic narrative via GPT-4o","Splits story into multiple structured scenes","Seedance V1.0 renders 5–6s animated clips per scene","Optional ambient audio added via Fal.AI MM-Audio","Merges scenes into export-ready MP4 via Fal.AI FFmpeg API with looping support if needed"],"target_audience":["AI storytellers","Content creators & YouTubers","Short-form video marketers and social media managers」「Agencies and studios producing story-based content at scale」「Educators and trainers looking for visual lesson content"]}


name: Scrape Google Maps Leads (Email, Phone, Website) using Apify + GPT + Airtable
author_name: Baptiste Fort
author_username: baptistefort
categories: []
created_at: 2025-07-07T10:32:31.795Z
updated_at: 2025-07-07T10:32:31.795Z
url: https://n8n.io/workflows/5743
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is it for?
  This workflow is for marketers, sales teams, and local businesses who want to quickly collect leads (business name, phone, website, and email) from Google Maps and store them in Airtable.

  You can use it for real estate agents, restaurants, therapists, or any local niche.

  How it works

  Scrape Google Maps with Apify Google Maps Extractor.
  Clean and structure the data (name, address, phone, website).
  Visit each website and retrieve the raw HTML.
  Use GPT to extract the most relevant email from the site content.
  Save everything to Airtable for easy filtering and future outreach.

  It works for any location or keyword – just adapt the input in Apify.

  Requirements

  Before running this workflow, you’ll need:

  ✅ Apify account (to use the Google Maps Extractor)
  ✅ OpenAI API key (for GPT email extraction)
  ✅ Airtable account & base with the following fields:
    Business Name
    Address
    Website
    Phone Number
    Email
    Google Maps URL

  Airtable Structure

  Your Airtable base should contain these columns:

  Airtable Structure

  | Title                   | Street                  | Website            | Phone Number    | Email                  | URL                  |
  |-------------------------|-------------------------|--------------------|-----------------|------------------------|----------------------|
  | Paris Real Estate Agency| 10 Rue de Rivoli, Paris | https://agency.fr  | +33 1 23 45 67  | contact@agency.fr      | maps.google.com/...  |
  | Example Business 2      | 25 Avenue de l’Opéra    | https://example.fr | +33 1 98 76 54  | info@example.fr        | maps.google.com/...  |
  | Example Business 3      | 8 Boulevard Haussmann   | https://demo.fr    | +33 1 11 22 33  | contact@demo.fr        | maps.google.com/...  |

  Error Handling

  Missing websites:** If a business has no website, the flow skips the scraping step.
  No email found:** GPT returns Null if no email is detected.
  API rate limits:** Add a Wait node between requests to avoid Apify/OpenAI throttling.



  Now let’s take a detailed look at how to set up this automation, using real estate agencies in Paris as an example.

  Step 1 – Launch the Google Maps Scraper

  Start with a When clicking Execute workflow trigger to launch the flow manually.

  Then, add an HTTP Request node with the method set to POST.

  👉 Head over to Apify: Google Maps Extractor



  On the page: https://apify.com/compass/google-maps-extractor

  Enter your business keyword (e.g., real estate agency, hairdresser, restaurant)

  Set the location you want to target (e.g., Paris, France)

  Choose how many results to fetch (e.g., 50)

  Optionally, use filters (only places with a website, by category, etc.)

  ⚠️ No matter your industry, this works — just adapt the keyword and location.

  Once everything is filled in:

  Click Run to test.

  Then, go to the top right → click on API.

  Select the API endpoints tab.

  Choose Run Actor synchronously and get dataset items.



  Copy the URL and paste it into your HTTP Request (in the URL field).

  Then enable:

  ✅ Body Content Type → JSON
  ✅ Specify Body Using JSON`

  Go back to Apify, click on the JSON tab, copy the entire code, and paste it into the JSON body field of your HTTP Request.



  At this point, if you run your workflow, you should see a structured output similar to this:

  title  
  subTitle  
  price  
  categoryName  
  address  
  neighborhood  
  street  
  city  
  postalCode
  ........

  Step 2 – Clean and structure the data



  Once the raw data is fetched from Apify, we clean it up using the Edit Fields node.

  In this step, we manually select and rename the fields we want to keep:

  Title → {{ $json.title }}

  Address → {{ $json.address }}

  Website → {{ $json.website }}

  Phone → {{ $json.phone }}

  URL → {{ $json.url }}*

  This node lets us keep only the essentials in a clean format, ready for the next steps.
  On the right: a clear and usable table, easy to work with.

  Step 3 – Loop Over Items



  Now that our data is clean (see step 2), we’ll go through it item by item to handle each contact individually.

  The Loop Over Items node does exactly that:

  it takes each row from the table (each contact pulled from Apify) and runs the next steps on them, one by one.

  👉 Just set a Batch Size of 20 (or more, depending on your needs).

  Nothing tricky here, but this step is essential to keep the flow dynamic and scalable.

  Step 4 – Edit Field (again)



  After looping through each contact one by one (thanks to Loop Over Items), we're refining the data a bit more.

  This time, we only want to keep the website.

  We use the Edit Fields node again, in Manual Mapping mode, with just:

  Website → {{ $json.website }}

  The result on the right? A clean list with only the URLs extracted from Google Maps.

  🔧 This simple step helps isolate the websites so we can scrape them one by one in the next part of the flow.

  Step 5 – Scrape Each Website with an HTTP Request



  Let’s continue the flow: in the previous step, we isolated the websites into a clean list. Now, we’re going to send a request to each URL to fetch the content of the site.

  ➡️ To do this, we add an HTTP Request node, using the GET method, and set the URL as:

  {{ $json.website }} This value comes from the previous Edit Fields input

  This node will simply “visit” each website automatically and return the raw HTML code (as shown on the right).

  📄 That’s the material we’ll use in the next step to extract email addresses (and any other useful info).

  We’re not reading this code manually — we’ll scan through it line by line to detect patterns that matter to us.

  This is a technical but crucial step: it’s how we turn a URL into real, usable data. 

  Step 6 – Extract the Email with GPT



  Now that we've retrieved all the raw HTML from the websites using the HTTP Request node, it's time to analyze it.

  💡 Goal: detect the most relevant email address on each site (ideally the main contact or owner).

  👉 To do that, we’ll use an OpenAI node (Message a Model). Here’s how to configure it:

  ⚙️ Key Parameters:
  Model: GPT-4-1-MINI (or any GPT-4+ model available)

  Operation: Message a Model

  Resource: Text

  Simplify Output: ON

  Prompt (message you provide):

  Look at this website content and extract only the email I can contact this business. In your output, provide only the email and nothing else. Ideally, this email should be of the business owner, so if you have 2 or more options, try for most authoritative one. If you don't find any email, output 'Null'.

  Exemplary output of yours:

  name@examplewebsite.com

  {{ $json.data }} 

  Step 7 – Save the Data in Airtable



  Once we’ve collected everything — the business name, address, phone number, website… 

  and most importantly the email extracted via ChatGPT — we need to store all of this somewhere clean and organized.

  👉 The best place in this workflow is Airtable.

  📦 Why Airtable?
  Because it allows you to:

  Easily view and sort the leads you've scraped

  Filter, tag, or enrich them later

  And most importantly… reuse them in future automations

  ⚙️ What we're doing here
  We add an Airtable → Create Record node to insert each lead into our database.

  Inside this node, we manually map each field with the data collected in the previous steps:



  | Airtable Field | Description              | Value from n8n                             |
  | -------------- | ------------------------ | ------------------------------------------ |
  | Title        | Business name            | {{ $('Edit Fields').item.json.Title }}   |
  | Street       | Full address             | {{ $('Edit Fields').item.json.Address }} |
  | Website      | Website URL              | {{ $('Edit Fields').item.json.Website }} |
  | Phone Number | Business phone number    | {{ $('Edit Fields').item.json.Phone }}   |
  | Email        | Email found by ChatGPT   | {{ $json.message.content }}              |
  | URL          | Google Maps listing link | {{ $('Edit Fields').item.json.URL }}     |

  🧠 Reminder: we’re keeping only clean, usable data — ready to be exported, analyzed, or used in cold outreach campaigns (email, CRM, enrichment, etc.).

  ➡️ And the best part? You can rerun this workflow automatically every week or month to keep collecting fresh leads 🔁.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.manualTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6172 characters]

metadata_json:
  {"categories":["lead generation","web scraping","automation","integration","data enrichment"],"complexity":"medium","use_cases":["Collect local business leads (name, phone, website, email) from Google Maps","Build targeted prospect lists for outreach (real estate, restaurants, shops, services)","Automate lead capture into Airtable for CRM/enrichment","Periodic refresh of local lead databases","Verify and extract contact emails from business websites"],"estimated_setup_minutes":30,"required_services":["n8n","Apify (Google Maps Extractor)","OpenAI (GPT API key)","Airtable (account & base with fields)"],"key_features":["Scrapes Google Maps results via Apify actor","Cleans and maps raw extractor fields to usable columns","Batch/loop processing of results to avoid throttling","Fetches each business website HTML via HTTP request","Uses GPT to identify the most relevant email on each site (or return Null if none found)"],"target_audience":["Marketers","Sales teams / SDRs","Local business owners and operators (real estate agents, restaurants, therapists, etc.)"]}


name: Auto-Generate and Auto-Fill Business Documents with Google Sheets & Gmail
author_name: Davide
author_username: n3witalia
categories: []
created_at: 2025-07-07T10:59:29.201Z
updated_at: 2025-07-07T10:59:29.201Z
url: https://n8n.io/workflows/5745
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  This workflow automates the generation and delivery of personalized business documents (e.g., contracts, job offers, invoices, pay slips) in PDF format. The data source is a Google Sheet, and the documents are created using CraftMyPDF, then uploaded to Google Drive and optionally sent via email.

  This workflow is ideal for bulk document generation (contracts, invoices, etc.) with minimal manual intervention.

  Benefits

  Fully Automated**: Once triggered, it handles the whole pipeline end-to-end—no manual editing or document creation needed.
  Customizable**: Works with any type of business document as long as you provide a CraftMyPDF template.
  Scalable**: Processes multiple entries in batch, ideal for HR departments or finance teams.
  Integrated**: Seamlessly connects Google Sheets, CraftMyPDF, Google Drive, and Gmail.
  Trackable**: Updates the original spreadsheet to keep track of which documents have been processed.

  Requirements

  Self-hosted n8n instance (required for some advanced node usage).
  Google Sheet template with columns like: FIRST NAME, LAST NAME, ADDRESS, etc.
  A CraftMyPDF account with a ready-made template.
  Google OAuth2 credentials for Sheets, Drive, and Gmail integrations.

  How It Works  
  Trigger & Data Fetch:  
     The workflow starts with a manual trigger ("When clicking ‘Execute workflow’").  
     It retrieves employee data from a Google Sheet ("Get employees"), filtering rows where the "DONE" column is empty.  

  PDF Generation & Processing:  
     The "Loop Over Items" node processes each employee record individually.  
     The "Create agreement" node uses CraftMyPDF to generate a PDF contract, populating it with employee details (name, address, email, etc.).  
     A conditional node ("Success?") checks if PDF creation was successful.  

  PDF Handling & Notifications:  
     The PDF is fetched ("Get agreement") and uploaded to Google Drive ("Upload agreement") with a filename like [First-Name]-[Last-Name].pdf.  
     An email with the PDF attachment is sent to the employee via Gmail ("Send email with PDF").  

  Tracking & Completion:  
     The Google Sheet row is updated with "x" in the "DONE" column ("Update row") to mark completion.  
     The workflow merges results and loops until all records are processed.  

  Set Up Steps  
  Prerequisites:  
     Use the self-hosted version of n8n (required for this workflow).  
     Clone the provided Google Sheet template.  

  Configure CraftMyPDF:  
     Create an account on CraftMyPDF.  
     Design a PDF template and note its Template ID. Insert this ID in the "Create agreement" node.  

  Credentials Setup:  
     Connect nodes to:  
       Google Sheets (to fetch/update data).  
       Google Drive (to store PDFs).  
       Gmail (to send emails).  
       CraftMyPDF (for PDF generation).  

  Customization:  
     Adjust field mappings in the "Create agreement" node to match your PDF template placeholders.  
     Modify the email template in "Send email with PDF" as needed.  

  Execution:  
     Run the workflow manually. It will process all rows lacking a "DONE" marker, generating PDFs, sending emails, and updating the sheet automatically.  

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

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-craftmypdf.craftMyPdf","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.gmail"]

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

metadata_json:
  {"categories":["automation","document generation","integration","batch processing"],"complexity":"medium","use_cases":["Bulk contract generation and distribution","Automated job offer letters","Invoice and pay slip generation","HR onboarding document workflows","Finance reporting and document delivery"],"estimated_setup_minutes":45,"required_services":["n8n (self-hosted)","Google Sheets","Google Drive","Gmail (Google Workspace)","CraftMyPDF","Google OAuth2 credentials"],"key_features":["Generate PDFs from CraftMyPDF templates populated with Google Sheets data","Batch processing with per-row looping","Upload generated PDFs to Google Drive","Send personalized emails with PDF attachments via Gmail","Mark processed rows in Google Sheet for tracking (DONE flag)"],"target_audience":["HR teams","Finance teams","Operations/administrators managing documents at scale"]}


name: Manage KlickTipp Contacts via Telegram Bot with GPT-4o Agent
author_name: KlickTipp
author_username: KlickTipp
categories: []
created_at: 2025-07-07T11:57:42.512Z
updated_at: 2025-07-07T11:57:42.512Z
url: https://n8n.io/workflows/5747
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  Community Node Disclaimer: This workflow uses KlickTipp community nodes.

  How It Works

  AI Agent and KlickTipp Tools Integration via Telegram:
  This component connects a large language model (LLM), such as Claude or OpenAI, to the KlickTipp contact management platform through Telegram messaging. The AI Agent interprets natural language queries received from Telegram and dynamically maps them to KlickTipp API operations, enabling intuitive and automated contact handling through a familiar messaging interface.

  Key Features

  Telegram & LLM Interaction Setup:
  Captures messages received via Telegram bot as an alternative to the chat message node.
  Maintains conversation state using a memory buffer tied to Telegram chat IDs.
  Interprets user input using an LLM (Claude or OpenAI).
  Routes interpreted commands to specific KlickTipp tools based on detected intent.
  Sends responses back to Telegram users with operation results.


  KlickTipp Integration:
  Complete set of KlickTipp API endpoints included:
  Contact Management:** Add, update, get, list, delete, and unsubscribe contacts.
  Contact Tagging:** Tag, untag, list tagged contacts.
  Tag Operations:** Create, get, update, delete, list tags.
  Opt-In Processes:** List and retrieve opt-in process details.
  Data Fields:** List and get custom data fields.
  Redirects:** Retrieve redirect URLs.


  Use Cases Supported:
  Query contact information via email or name through Telegram messages.
  Identify and segment contacts by city, region, or behavior via Telegram commands.
  Create or update contacts from data provided in Telegram messages.
  Dynamically apply or remove tags to initiate campaigns through Telegram bot interactions.
  Automate targeted outreach based on contact attributes using Telegram as the control interface.

  Setup Instructions

  Install and Configure Nodes:
  Set up a Telegram bot using BotFather and obtain the bot token.
  Configure the Telegram Trigger node in n8n with your bot token.
  Configure the LLM model (e.g., OpenAI or Claude) and memory node if used.
  Connect all required KlickTipp nodes and authenticate using valid API credentials.
  Activate the workflow.


  Define Tagging and Field Mapping:
  Identify which fields and tags are relevant to your use cases.
  Ensure necessary tags and custom fields are already created in KlickTipp.


  Workflow Logic:
  Trigger via Telegram: A message is received by the Telegram bot and passed to the AI Agent.
  Query Handling via LLM Agent: AI interprets the natural language input and determines the action.
  Contact Search & Segmentation: Searches contacts using identifiers (email, address) or criteria.
  Data Operations: Retrieves, updates, or manages contact and tag data based on interpreted command.
  Campaign Preparation: Applies tags or sends campaign triggers depending on query results.
  Response via Telegram: Sends formatted results back to the Telegram user.


  Benefits:
  Mobile-First Interface:** Users can manage KlickTipp contacts directly from Telegram on any device.
  AI-Powered Automation:** Reduces manual contact search and tagging efforts through intelligent processing.
  Scalable Integration:** Built-in support for full range of KlickTipp operations allows diverse use-case handling.
  Data Consistency:** Ensures structured data flows between Telegram, AI, and KlickTipp, minimizing errors.


  Testing and Deployment:
  Use defined Telegram messages such as:
  “Tell me something about the contact with email address X”
  “Tag all contacts from region Y”
  “Send campaign Z to customers in area A”


  Validate expected actions in KlickTipp after message execution and confirm responses in Telegram.


  Notes:
  Customization:** Adjust tag logic, AI prompts, and contact field mappings based on project needs.
  Extensibility:** The template can be expanded with further logic for Google Sheets input or campaign feedback loops

  Resources:  
  Use KlickTipp Community Node in n8n
  Automate Workflows: KlickTipp Integration in n8n

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-klicktipp.klicktippTool","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolCode","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolCode","n8n-nodes-base.telegramTrigger","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.telegram","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.switch"]

workflow_json_compressed:
  [encoded data, 14712 characters]

metadata_json:
  {"categories":["automation","integration","AI","messaging","CRM"],"complexity":"complex","use_cases":["Manage KlickTipp contacts via Telegram messages","Query contact information by email or name","Create or update contacts from chat input","Apply or remove tags to segment audiences","Trigger campaigns or opt-in flows via Telegram commands"],"estimated_setup_minutes":60,"required_services":["n8n (with KlickTipp community nodes)","Telegram bot (BotFather) + bot token","KlickTipp API credentials","LLM provider (OpenAI or Anthropic Claude)"],"key_features":["Telegram trigger and response flow for mobile-first management","LLM agent interprets natural-language commands and maps to API calls","Conversation state via memory buffer tied to Telegram chat IDs","Full KlickTipp contact and tag operations (add, update, get, list, delete, unsubscribe)","Tag management and segmentation, opt-in process and custom field access, redirect retrieval"],"target_audience":["Marketers","CRM administrators","Automation engineers / no-code builders using n8n"]}


name: Create a Slack AI Chatbot with Threads & Thinking UI using OpenRouter & Postgres
author_name: James Francis
author_username: paperjam
categories: []
created_at: 2025-07-07T15:40:56.405Z
updated_at: 2025-07-07T15:40:56.405Z
url: https://n8n.io/workflows/5749
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  Overview

  Slack quietly released an update to their API that allows developers to build "AI Apps & Agents", which is a special classification of apps that have access to several special capabilities including:
  Multiple simultaneous chat threads with one user 
  Loading "three dots" UI while your agent is thinking
  Option for users to pin your app to their top bar for quick chat access

  This workflow demonstrates how to build a Slack agent that takes advantage of all of these features.

  For a full video walkthrough of this workflow, watch this YouTube tutorial.

  Setup Instructions

  All of the below steps are required for this workflow to function properly unless otherwise noted.

  Create a Slack App
  Visit api.slack.com and click "Your Apps"
  Create a new app from scratch and follow the setup instructions
  In the Agents & AI Apps tab, enable the toggle and give your app a brief description
  In the OAuth & Permissions tab, enable the following bot token scopes:
  	assistant:write
  	chat:write
  	channels:read
  	im:history
  Install the app into your workspace and grant the requested permissions
  In your Slack workspace, right click your app's name in the sidebar, click "View app details", and make note of your apps Channel ID - you'll need this later.
  Copy your app's Bot User OAuth Token - you'll need that to create your n8n credentials
  In the Event Subscriptions tab, enable events and paste the workflows PRODUCTION webhook url (from this workflow's trigger node) into the input.
  In the same tab under "Susbcribe to bot events", select message.im

  Create a Postgres database
  In order to save the chat history and give your agent a working memory, you'll need your own Postgres database. You can use Supabase, Neon, or any other Postgres database provider. Once you've added your database's credentials to n8n, you can select those credentials in the Postgres Chat Memory node. This worklow saves all chat history in a table called chat_histories, but you name the table whatever you want.

  Create n8n Credentials
  You'll need to create the following credentials:
  Slack API. Use your Bot User OAuth Token referenced above.
  Bearer Auth. Use the same Bot User OAuth Token. 
  Postgres. Use the connection string or config from your database provider.
  OpenRouter (or any other LLM model for the agent's model node)

  Wire Everything Up
  Now that you've created your Slack app, have your Postgres database, and have created credentials, follow these steps to wire up your workflow:
  In the "On Message Received" trigger, use your Slack API credential and enter your apps Channel ID in the "Channel To Watch" field.
  In the "Set Thinking Status" node, use your Bearer Auth credential.
  In the "Postgres Chat Memory" node, use your Postgres credential.
  In the "Send Reply" node, use your Slack API credential.

  Using the Chatbot
  Once you've completed the setup process and added in your credentials, you'll have a fully functional Slack chatbot complete with threads, loading UI, and the ability to pin your app to your workspace's top bar. 

  Taking the Next Steps
  Now that this skeleton app is in place, it's up to you to add horsepower to the AI agent at the center of it all. Customize the prompts and add whatever tools you'd like. The sky is the limit!

  If you have any questions or feedback about this workflow, or would like me to build custom workflows for your business, email me at n8n@paperjam.agency.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.noOp","n8n-nodes-base.slackTrigger","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.memoryPostgresChat"]

workflow_json_compressed:
  H4sIAAAAAAAAE7VYbW/bOBL+KwT3gO4WoqsXiqIMHHBp2rtmd5tkk3R7u3UQUOQo1kYiVZFO6s35vx8oyy+JnVx7uPuUWBzOy8OZeYa8xw04gcf3uNLWCS3hSOExzqM8FopzHpZFGhdxWkachrwAHoGAXOU5EyzjVERKJJJxlcYqKTIow0hRHhc4wA6athYODjtQ9hzcrD00TVuDA4XHrpvBIsDaKLB4/OkeV95qRhMGRRySPGEhoXGUEy7jgvAiZVAknCYgcYC1aACP8UkL+szMHHTocCocem8U1N7wvPXLf9Ncv9Jck94IqYW+llNR6VHdePHNbhzg1tjKVUbj8SfCwyBi4WWAW9GJBhx01sNjWi/g/10sAiw7UKBdJephcaXsoK16MH04zeyfpn0t57/YP4G/Pnmz1/V/oVPRQod+FA32mr33v0Jne2+iRTDoylkYyVxlhEYyJJQqQbjIJcmzPGVZFBUqzDb6D47QwTVo9xVoiEHuEQQk3oXAwReHx/iv9/foL39Yo0f+A1oscLCFDrZz66B5D9aKa2/5NzNDogMk0BTqtpzVASq7CrSq5wES1lY+7dwITfRE97L1nZhb1IFtjVbI6HqOdCWhnqPSdI1wDhRqRHejzJ1Gd1Pwutu2M21XCQcjvAhw25mmdRfL0BWUlQb8GNt4jW2cqDItAEga5imhkiuSlxknksVRlGcJTZJ4g+2xOWk3uG4gLYSFkV4uboPJwoDSHTCfPumQ0rhIVE7iiOaE5gUjuZSciDKPVQQqTNh2EWg0QI3OQEJ1C+pJ52wt5M1FV11f7yY9CwPunbyDYmrMTd8EZMkyGUFEykQVhIYRkJwmOZFhmUSpDNNClPjpOsEdWFPfwpGyeFyK2vqKd4P58SfcDClyGWA5FVpD7a3e46urrl52iAA3RvlAKh/UrahnfUKdfDi7Ojg9Pb86fHdwfPz256ujN3hPUfbhbtejuCuMOLlhP02jm19+z443KJ570a8tRZVDKWkCpIhkRCiXIeGScULjJKQyS2NG043qwynIG3RUog+2R33/0VTlowOhfDiQJ7tQgKXRqlqjvQX87TrHA1xD6X4dkMMBlsLCOWhv6BZWKPeBirpSYmkeW9dV0uHeRlNUWjjTeQC1P4dts6vOLQomqYozQpUoCZWsJLlQKeGMlUwWLM5S3rcJ6Ja67ldAeFP6er22tK+Ne/ulss7iANtKX9cwhDDwxnZQm3ZUGHdVqWVD6qrr6SbuTalHESSxkESklBLKSkq4hJzkgkYso5JGnH6Dn/DtTm565hMusoiFosxzwgooCOUpJ3kKjEQMeMhlHKc8euTikGplVTvoRquVEXye+VIIng9hKfS0v/MW9vi7Kt7F5U6lxKNNa81zKUtVloSWKiJUliXJcwhJJmIWh1mSliXfKkNw6GJa6ZtKX6NzJ9zMPlkxU+faM/g8A/uIvcKA0HC3cma+qWC/y45fvep7w0ia5pVoq1cbFnLTDoSyIwtubb8BNzU+mNOT84sHXLcIsAWtXhs1X5WS//0OhOqtLj+JmZv6tiRXkF+Dhq6Sh+t21RNVgAuj5qcPnN4O4dP6nIduefWgK25ObFj2h+bPYdhkV+GsNlQWuQHr0Wi0LboE4crZverXq72By0Wwiudg5qYD5XqYX4PooPMfcYCnPSRfE9yh0Q60IwMmK/uibesBwVfejSHxHrX8R3ZXjf+0Tcw/Qi1U0Sr25vPvm4z7sdICLXegnlcuTn56e3z17u3Z2+fpgG4leRkVBURUkTzOKKGQCcJDKohSLC0YlFLEdDvJtUJn0Nbz54n6YVanLAzYY4Iu46RIRCJJwSJOqEpyItIyJFTxVLI0jfI9BL0zxZmZa2dDT7JQg3SbHPNZWRt5Yz9U/Z6JRpPhywSP0aeJRgjdo/4PmvTh+O8TvBrQJjjYrMIX51fv79GP5yfHo2U/qsr599uO/IAWi+UO/+dyohd+MsTfOCT04X3/Ys949OKHUeWgGe3WyqqpDUnch+nr3U2hO9mwa9PdqDu95s51sfQTT1vP+xa5hHqz9rUODWW1CHClZT1T8HOlby7MR9PdlLW5Ww1S/+9pJx4l6/SmnBYso4oUkMeE5sLTZaiIoGWe0UzJtCi2lLtK3szRsXHwdH73MoPI9tST07577zRvaWrPdFmA7yrlCzsJQ99UPCPhcczDfirxfQOP8XffoZ8r60D7+wIS6M17n0AvXx69Pz05uzg4vnj5cozean/5mptZh5ZwiLZ9YdHRG1Rp5KaAJvhwyA1n0Efh5HSCUVlBrUY7V4nNbFgqlTOWKlJkfjYUkSIFp4qwKErKsuBcpOlerKJvByvl/xuw/t6PDcjMHNKmsuDR+gjLi5fsb26FX5tZ6NBQIfY5DGQmZcJTRSKee+IvQpLnYUS4kIWiLGcQyr0YxN+OQRSHAUn3XNd3QWBbIPQ/HoBwIF11Kxyg2gjlx48PRx6Hi2ll0buLi1PkyR91y4ED3VV1jYarzJAtvtYBKePsBK+JFX04WuXTgBxa9oTRKutmzjTCzwZ1PUcdNOYWel62fuvdFDTyKSradnUhfhb6MJMxFDIkhYxDQlNOSVHyjCRRxrkQEaNM7YU++S+gZ2FAoq/JP0q3oKc70B/OrDNN9Scsy7F/kED+Wr88ABi+9PMKoKITlbbIlEtpORWuMG60pcVLLR8ALBJaIWdM7c9iau7gdln0SAM8W8cxjUsRhZwAjSNCacwJ9wxfUCjKnGVlFG8BeWqsu+7ADu9Q0Jhu/hVPL00vuNrs9z6EmO1/iXKiqOF4PQq6q2llnekq6C8iYH0sP8H8Gzhne6JbqzhSAw/KHlmvcZd12sH5Nes4FbPfjtLz3Px5POPq8x6QtogHaa73XLVHyeKyTxINck276zctT8Gi8gD5qXHJ/fuGql7I86iCL3gcLi79rPrwOr5f1TOXkMc6g/W23Se3HfvBxsjDR6S9nu572dnn7xMPDHt17k3U8T0W1VUz/NjSvBvSRm7H272PsUvVPuNn4hqGb//JwkPxh4YWi38DtP66drEWAAA=

metadata_json:
  {"categories":["automation","integration","chatbot","AI","data persistence"],"complexity":"medium","use_cases":["Slack AI assistant for teams","Persistent conversational memory using Postgres","Customer support or knowledge-base agent in Slack","Multi-threaded conversations with loading UI for long responses","Quick-access pinned AI app for workspace"],"estimated_setup_minutes":45,"required_services":["Slack (AI Apps & Agents) with Bot Token and Event Subscriptions","Postgres database (e.g., Supabase, Neon) for chat memory","OpenRouter or other LLM provider","n8n instance (public webhook URL)"],"key_features":["Supports multiple simultaneous Slack threads per user","'Thinking' loading UI (three dots) via Set Thinking Status","Persistent chat history stored in Postgres (chat_histories table)","Uses OpenRouter LLM for agent responses (model node)","Pins app to Slack sidebar for quick access and handles message.im events"],"target_audience":["Developers building Slack integrations","Automation/DevOps engineers","Product teams adding AI assistants to Slack workspaces」「Support/Knowledge-base teams looking to add conversational memory"]}


name: YouTube Lead Generation: Turn Comments into Enriched Prospects with Apify and Gemini AI
author_name: Msaid Mohamed el hadi
author_username: mohamedgb00714
categories: []
created_at: 2025-07-07T17:49:23.011Z
updated_at: 2025-07-07T17:49:23.011Z
url: https://n8n.io/workflows/5751
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  Automated YouTube Leads: Turn Comments into Enriched Prospects

  Workflow Overview

  This cutting-edge n8n workflow is a powerful automation tool designed to revolutionize how businesses and marketers identify and qualify leads directly from YouTube video comments. By leveraging specialized Apify Actors and an intelligent AI agent, this workflow seamlessly transforms raw comment data into comprehensive lead profiles, saving valuable time and resources.

  This workflow automatically:

    Discovers & Scrapes Comments:

        Monitors a Google Sheet for new YouTube video URLs.
        Automatically extracts all comments from specified YouTube videos using a dedicated Apify Actor.
        Marks videos as "scrapped" to avoid reprocessing.

    Intelligent Lead Enrichment:

        Retrieves unprocessed comments from Google Sheets.
        Activates an advanced AI agent (powered by OpenRouter's cutting-edge models) to research comment authors.
        Utilizes Google Search (via Serper API) and specialized Apify scrapers (for website content and Instagram profiles) to find publicly available information like social media links, bios, and potential contact details.
        Generates concise descriptions for each lead based on gathered data.

    Organized Data Storage:

        Creates new entries in a dedicated Google Sheet for each new lead.
        Updates lead profiles with all discovered enriched data (email, social media, short bio, etc.).
        Marks comments as "processed" once their authors have been researched and enriched.

  Key Benefits

  🤖 Full Automation: Eliminates manual data collection and research, freeing up your team for strategic tasks.
  💡 Smart Lead Enrichment: AI intelligently sifts through information to build rich, actionable lead profiles.
  ⏱️ Time-Saving: Instant, scalable lead generation without human intervention.
  📈 Enhanced Lead Quality: Go beyond basic contact info with comprehensive social and professional context.
  📊 Centralized Data: All leads are neatly organized in Google Sheets for easy access and integration.

  Setup Requirements

    n8n Installation:
        Install n8n (cloud or self-hosted).
        Import the workflow configuration.
        Configure API credentials.
        Set up scheduling preferences for continuous operation.
    Google Sheets Credentials:
        A Google Cloud API key with access to Google Sheets.
        Set up OAuth2 authentication in n8n for read/write access to your "youtube leads" spreadsheet (containing "videos", "comments", and "leads" sheets).
    OpenRouter API Access:
        Create an OpenRouter account.
        Generate an API key to access their chat models (e.g., google/gemini-2.5-flash-preview-05-20) for AI agent operations.
    Apify API Access:
        Create an Apify account.
        Generate a personal API token.
        This token is used to run the following Apify Actors:
            mohamedgb00714/youtube-video-comments (for comment extraction)
            mohamedgb00714/fireScraper-AI-Website-Content-Markdown-Scraper (for website content extraction)
            mohamedgb00714/instagram-full-profile-scraper (for Instagram profile details)
    Serper API Key:
        Sign up for an account on Serper.dev.
        Obtain an API key for performing Google searches to find social media profiles and other information.

  Potential Use Cases

    Content Creators: Identify highly engaged audience members for community building or direct outreach.
    Marketing Teams: Discover potential customers or influencers interacting with competitor content.
    Sales Professionals: Build targeted lead lists based on specific interests expressed in comments.
    Market Researchers: Analyze audience demographics and interests by enriching profiles of commenters on relevant videos.
    Recruiters: Find potential candidates based on their expertise or engagement in industry-specific discussions.

  Future Enhancement Roadmap

    CRM Integration: Directly push enriched leads into popular CRM systems (e.g., HubSpot, Salesforce).
    Automated Outreach: Implement automated email or social media messaging for qualified leads.
    Sentiment Analysis: Analyze comment sentiment before enrichment to prioritize positive interactions.
    Multi-Platform Support: Expand comment extraction and lead enrichment to other platforms (e.g., TikTok, Facebook).
    Advanced Lead Scoring: Develop a scoring model based on engagement, profile completeness, and relevance.

  Ethical Considerations

    Data Privacy: Ensure all collected data is publicly available and used in compliance with relevant privacy regulations (e.g., GDPR, CCPA).
    Platform Guidelines: Adhere strictly to YouTube's Terms of Service and Apify's usage policies.
    Transparency: If engaging with leads, be transparent about how their information was obtained (if applicable).
    No Spam: This tool is designed for lead identification, not for unsolicited mass messaging.

  Technical Requirements

    n8n v1.0.0 or higher (recommended for latest features and stability)
    Google Sheets API access
    OpenRouter API access
    Apify API access
    Serper API access
    Stable internet connection

  Workflow Architecture

  [YouTube Video URLs (Google Sheet)]
      ⬇️
  [Schedule/Manual Trigger]
      ⬇️
  [Extract Comments (Apify YouTube Scraper)]
      ⬇️
  [Save Raw Comments (Google Sheet)]
      ⬇️
  [AI Agent (OpenRouter) for Lead Research]
      ⬇️
  [Google Search (Serper) & Web Scraping (Apify FireScraper/Instagram Scraper)]
      ⬇️
  [Save Enriched Leads (Google Sheet)]
      ⬇️
  [Mark Comments Processed (Google Sheet)]

  Connect With Me

  Exploring AI-Powered Lead Generation?
  📧 Email: mohamedgb00714@gmail.com
  💼 LinkedIn: Mohamed el Hadi Msaid

  Transform your YouTube engagement into a powerful lead generation engine with intelligent, automated insights\!

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.googleSheetsTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.code","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 13220 characters]

metadata_json:
  {"categories":["automation","lead generation","data enrichment","web scraping","marketing"],"complexity":"complex","use_cases":["Turn YouTube commenters into qualified leads","Automated enrichment of commenter profiles (social links, bios, contact info)","Build targeted prospect lists for sales/outreach","Discover influencers and engaged audience members for community building","Research audience demographics and interests for market research"],"estimated_setup_minutes":60,"required_services":["n8n (self-hosted or cloud)","Google Sheets / Google Cloud API (OAuth2)","OpenRouter (Gemini-like chat model)","Apify (Actors for YouTube comments, website and Instagram scraping)","Serper (Google Search API)"],"key_features":["Monitors Google Sheet for new YouTube URLs and scrapes all comments via Apify","AI agent (OpenRouter) researches comment authors and generates short bios","Performs web search (Serper) and uses Apify scrapers for website/Instagram extraction","Creates and updates enriched lead records in Google Sheets","Marks videos/comments as scraped/processed to avoid reprocessing and supports scheduling/manual triggers"],"target_audience":["marketers","sales teams / business development","content creators / community managers"]}


name: Transform Old Photos into Animated Videos with FLUX & Kling AI for Social Media
author_name: Juan Carlos Cavero Gracia
author_username: carlosgracia
categories: []
created_at: 2025-07-07T20:07:21.530Z
updated_at: 2025-07-07T20:07:21.530Z
url: https://n8n.io/workflows/5755
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

  Description

  See the transformation in action! Here's an example of what this workflow can achieve:






  This automation template is designed for content creators, social media managers, and anyone looking to breathe new life into old family photos and historical images. It transforms any old black and white or sepia photograph into a colorized, animated video using cutting-edge AI technology, then automatically publishes the results across multiple social media platforms including Facebook, Instagram, YouTube, and X (Twitter).

  The workflow combines powerful AI services to create engaging content from vintage photographs: first enhancing and colorizing the image using FLUX Kontext, then bringing it to life with realistic animations using Kling Video AI, and finally distributing the results across your social media channels automatically.



  Note: The estimated cost per workflow execution is approximately $0.29 USD, covering the AI processing for both image colorization and video animation. The upload-post node only works for self-hosted n8n instances, but you can use the standard HTTP request node for uploading content on n8n Cloud.*

  Who Is This For?
  Content Creators & Social Media Managers:** Transform historical content into engaging videos that capture audience attention and drive engagement across platforms.
  Family History Enthusiasts:** Bring old family photos to life by adding color and motion, creating emotional connections with your audience.
  Marketing Professionals:** Leverage nostalgic content for brand storytelling, using vintage aesthetics to create compelling social media campaigns.
  Digital Artists & Photo Restorers:** Streamline the process of enhancing and sharing restored vintage photographs with automated AI enhancement.
  Social Media Influencers:** Create unique, eye-catching content from historical images that stands out in crowded social feeds.

  What Problem Does This Workflow Solve?
  Creating engaging social media content from old photos typically requires multiple manual steps: photo restoration, colorization, animation, and then individual posting to each platform. This workflow addresses these challenges by:
  Automating Photo Enhancement:** Uses advanced AI (FLUX Kontext) to automatically colorize and enhance old photographs, removing artifacts and improving quality.
  Creating Dynamic Content:** Transforms static images into animated videos using Kling Video AI, making historical photos come alive with natural movements.
  Streamlining Multi-Platform Publishing:** Automatically distributes the final animated videos across Facebook, Instagram, YouTube, and X with a single workflow execution.
  Saving Time & Effort:** Eliminates the need for manual photo editing, video creation, and individual social media posting.

  How It Works
  Photo Upload: Users submit old photographs through a simple web form, with optional custom animation descriptions.
  Image Enhancement: The workflow uploads the photo to imgbb, then sends it to FLUX Kontext AI for colorization and quality enhancement.
  Animation Creation: The colorized image is processed by Kling Video AI to create a 5-second animated video with natural movements.
  Cloud Storage: The final video is automatically saved to Google Drive for backup and easy access.
  Multi-Platform Publishing: The animated video is simultaneously posted to Facebook, Instagram, YouTube, and X using the upload-post service.

  Setup
  FAL.AI API Key: Sign up at fal.ai and add your API key to the HTTP Request nodes for both FLUX Kontext and Kling Video AI services.
  ImgBB API Token: Create a free account at api.imgbb.com to get an API token for image hosting, then update the "Upload Image to imgbb" node.
  Google Drive Connection: Connect your Google Drive account to enable automatic video storage and backup.
  Upload-Post Service: Create an account at upload-post.com to get your API credentials for multi-platform social media posting.
     Important: The upload-post node currently only works with self-hosted n8n instances. For n8n Cloud users, replace the upload-post node with standard HTTP request nodes to publish to each social media platform individually.
  Form Customization: (Optional) Modify the form fields in the "Photo Upload Form" node to collect additional information or customize the user experience.

  Requirements
  Accounts:** n8n, FAL.AI, ImgBB, Google Drive, upload-post.com
  API Keys & Credentials:** FAL.AI API Key, ImgBB API Token, Google Drive OAuth2, Upload-post.com API Token & User ID
  File Types:** Supports JPG, PNG image formats for photo uploads
  Cost:** Approximately $0.29 USD per workflow execution for AI processing

  Transform your old photographs into viral social media content with this powerful AI-driven workflow that handles everything from restoration to distribution automatically.

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-upload-post.uploadPost"]

workflow_json_compressed:
  [encoded data, 5028 characters]

metadata_json:
  {"categories":["automation","media processing","social media","AI/ML"],"complexity":"medium","use_cases":["Colorize and enhance old photos","Create short animated videos from still images","Automated multi-platform social media publishing","Backup generated media to cloud storage","Batch or form-driven user submissions for content creation"],"estimated_setup_minutes":30,"required_services":["n8n (self-hosted for community nodes)","FAL.AI (FLUX Kontext & Kling Video AI)","ImgBB (image hosting)","Google Drive (cloud storage)","upload-post.com (multi-platform publishing)","Facebook/Instagram/YouTube/X accounts (via upload-post or direct APIs)"],"key_features":["AI colorization and image enhancement (FLUX Kontext)","AI-driven image-to-video animation (Kling Video AI)","Web form for user photo uploads","Automatic upload/backup to Google Drive","Simultaneous posting to multiple social platforms via upload-post.com (or HTTP requests)"],"target_audience":["Content creators","Social media managers","Family history enthusiasts and hobbyists preserving photos of relatives/history images','Digital artists and photo restorers','Marketing professionals and social media influencers"]}


name: Personalized Email Automation using Google Docs, Pinecone, GPT-4o and Gmail
author_name: Belgacem Dhiflaoui
author_username: kacemdh
categories: []
created_at: 2025-07-07T22:19:36.319Z
updated_at: 2025-07-07T22:19:36.319Z
url: https://n8n.io/workflows/5757
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  What Problem Does This Solve? 🛠️
  This workflow automates the process of extracting information from a Google Doc, storing it in a Pinecone vector database, and using it to personalize and send emails based on user input via chat. It eliminates the manual steps of gathering recipient data, writing messages, and dispatching emails providing a fully automated, intelligent communication system.

  Perfect for teams that need to:

  Maintain dynamic contact lists

  Personalize bulk or contextual email outreach

  Use chat interfaces to trigger intelligent email actions

  Target Audience:
  Sales teams, marketing departments, HR staff, startup founders, or anyone looking to automate AI-powered communication workflows.

  What Does It Do? 🌟
  Extracts content from a Google Docs document (e.g., a list of contacts or structured notes)

  Splits, embeds, and stores that content in Pinecone for semantic search

  Listens for incoming chat messages using n8n's chatTrigger

  Uses LangChain agents with OpenAI to:

     Search Pinecone for contextually relevant information (e.g., email addresses)

     Compose personalized emails based on instructions

  Sends emails using the Gmail API, triggered dynamically from the AI output
  Key Features 📋
  Google Docs integration for live document data

  Embedding & vector search with Pinecone for AI lookups

  Custom LangChain agents with tool calling logic (search + send)

  Full support for OpenAI models (GPT-4o)

  Personalized email generation with dynamic name and message filling

  Modular design: plug-and-play with other tools like CRMs, Notion, etc.

  Setup Instructions

  Prerequisites 
  n8n Instance:** Self-hosted or cloud instance

  Google Docs Account:** For reading input content

  Pinecone Account:** For storing document data semantically

  OpenAI Account:** For generating embeddings and messages

  Gmail Account:** With Gmail OAuth2 credentials for sending emails

  Installation Steps 📦

  1. Import the Workflow
  Import the provided JSON files into your n8n instance.

   2.Configure Credentials
  Go to n8n &gt; Credentials, and set up:

  Google Docs API**

  OpenAI API**

  Pinecone API**

  Gmail OAuth2**

  3. Set Your Pinecone Index & Namespace
  Ensure you have a working Pinecone index (e.g., n8ndocs) and namespace (e.g., docsmail).

  4. Test the Full Flow

  Run the Google Docs → Pinecone embedding workflow to prepare data.

  Send a message to the chatTrigger endpoint (e.g., "Send an offer to User").

  Check the execution log to verify correct tool usage and Gmail delivery.

  How It Works 🔍

  1. Data Preparation:

  Google Doc content is fetched and chunked.

  OpenAI embeddings are created.

  Data is stored in Pinecone under a specific namespace.

  2. Chat Trigger:

  A webhook captures chat input.

  The LangChain agent interprets the user request.

  The agent uses two tools:

     Vectorstore_mails: Retrieves relevant emails via Pinecone vector search

     send_mail: Uses an internal n8n sub-workflow to send Gmail messages

  3. Mail Generation & Delivery:

  Email is personalized using recipient info (name/email from Pinecone)

  Message follows a clean, friendly format with clear subject and closing

  Delivered via Gmail integration

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.vectorStorePinecone","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.gmailTool","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.toolVectorStore","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.vectorStorePinecone","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDocs"]

workflow_json_compressed:
  [encoded data, 5516 characters]

metadata_json:
  {"categories":["automation","integration","data processing","ai-assisted-communication"],"complexity":"complex","use_cases":["Personalized bulk outreach","Contextual one-off emails via chat","Maintaining dynamic contact lists from documents","Automated email dispatch triggered by chat or webhook"],"estimated_setup_minutes":45,"required_services":["n8n instance (self-hosted or cloud)","Google Docs API/Account","Pinecone account & index","OpenAI (GPT-4o + embeddings)","Gmail account with OAuth2 credentials"],"key_features":["Google Docs ingestion and live document data reading","Chunking, embedding, and storing vectors in Pinecone","Semantic search (vectorstore) to find contact data","LangChain agent with tool-calling (search + send)","GPT-4o for personalized email composition and instructions parsing」「Gmail API integration for sending messages"],"target_audience":["Sales teams","Marketing teams","HR staff recruiting/outreach teams」「Startup founders and founders doing outreach」「Automation engineers and developers building AI workflows"]}


name: Meetup Registration System with PostgreSQL Database & Interactive Giveaway Tool
author_name: Ficky
author_username: ficky
categories: []
created_at: 2025-07-08T00:30:38.343Z
updated_at: 2025-07-08T00:30:38.343Z
url: https://n8n.io/workflows/5758
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:34
description:
  This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

  🎉 n8n Workflow: Meetup Registration & Giveaway Picker

  This n8n workflow is designed to handle both participant registration and giveaway winner selection, fully integrated with a frontend experience.

  📋 Participant Registration Flow

  This part of the workflow automates the registration process for meetup attendees.

  🔄 Steps:
  📝 Participant Form (Webhook Trigger)
     Triggered when a user submits the form.
     Captures fields like nama_lengkap, email, whatsapp, discord_username, and more.

  🛠️ Data Mapping
     Maps raw form inputs into a structured format.
     Supports trimming, validation, and transformation as needed.

  💾 Save to Database
     Performs an upsert operation to store participant info in PostgreSQL.
     Prevents duplicate entries based on unique ID (e.g., WhatsApp or email).

  ✅ Confirmation Screen
     Returns a success message or thank-you page after registration is complete.

  🎁 Giveaway App

  This section serve frontend app to display and select random winners.

  🔄 Steps:
  🌐 Webhook GET (Giveaway App)
     Exposes a public endpoint that delivers a ready-to-use HTML app.
     Can be opened in a browser or projected during the event.

  📥 Fetch Participants
     Executes a SQL query to retrieve all participant records from the database.

  🧮 Format Participant Data
     Redacts personal details (e.g., masks WhatsApp numbers).
     Encodes the id using Base64 for privacy and uniqueness.

  📤 Render Giveaway App
     Returns an HTML-based Single Page Application with the participant list included.
     Allows the host to click a button to pick random winners live.

  ✅ Use Case Highlights

  Streamlined participant collection and storage using n8n workflows
  Secure data handling with redaction and ID encoding
  Frontend integration for a fun, interactive giveaway experience
  Reusable for other community events, workshops, or internal team draws

nodes_used:
  ["n8n-nodes-base.form","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.postgres","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","n8n-nodes-base.postgres","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9260 characters]

metadata_json:
  {"categories":["automation","integration","event management","community"],"complexity":"medium","use_cases":["Meetup/meet-and-greet attendee registration","Live giveaway/random-winner selection for events","Community workshop or meetup attendee management","Internal team draws or prize selection"],"estimated_setup_minutes":45,"required_services":["n8n (self-hosted)","PostgreSQL database","Publicly reachable webhook endpoint (or tunneling like ngrok)"],"key_features":["Webhook form capture for participant data","Data mapping, trimming and validation","Upsert to PostgreSQL with duplicate prevention","Redaction/masking of personal details","Base64 encoding of participant IDs for privacy/uniqueness」「HTML SPA served from webhook for live giveaway UI\",\"Fetch and format participants via SQL query\",\"Random winner selection interactive UI\""],"target_audience":["Event organizers","Community managers","Meetup hosts and volunteers who self-host n8n\",\"Developers/DevOps who maintain self-hosted automations\",\"Product or marketing teams running small events\""]}


name: Gmail to Slack: AI-Scored Upwork Job Alerts with OpenRouter
author_name: James Francis
author_username: paperjam
categories: []
created_at: 2025-07-08T01:37:09.441Z
updated_at: 2025-07-08T01:37:09.441Z
url: https://n8n.io/workflows/5761
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

  Overview
  When applying for freelance jobs on Upwork, minutes matter. The first quality application is more often than not the one that's ultimately selected. 

  Subscribers to Upwork's Freelancer Plus receive email job alerts, but filters are very limited. As a result, it takes a lot of time to manually go through each email and determine if each job fits your criteria.

  This workflow scans your Gmail every few minutes, finds all Upwork job alerts, scores them based on your profile/preferences, and sends a Slack channel message for jobs that are strong potential matches.

  How it works
  Scans Gmail for Upwork job alerts every few minutes
  Extracts all available job data from each email
  Scores the job based on profile information and criteria you provide
  Sends a Slack notification for all jobs that meet a given score threshold

  Disclaimers
  This workflow polls Gmail for new messages every 10 minutes. A workflow execution will be used each time, regardless of whether the Gmail scan finds anything. You may want to adjust this frequency based on the amount of workflow executions you want to use.
  The AI matching process is based only on the information included in the email body (job title, description snippet and metadata). It is against Upwork's Terms of Service to scrape a full job posting. Despite this, the quality of the results in our testing is high for most use cases.

  Required Setup
  Subscribe to Upwork's Freelancer Plus plan to enable job alerts ($19.99/mo at the time of this posting)
  Create Gmail and Open Router (or an LLM provider of your choice) credentials and select them in the Gmail / LLM Model nodes
  Create a Slack app that has at least the chat:write.public and channels:read scopes, install it into your workspace, and use your apps OAuth Token to create a Slack API credential in n8n
  IMPORTANT: In the "Opportuntity Scorer" node, replace the text in between the &lt;my_profile&gt; tags with your freelancer bio. For best results, include as much detail as possible about your skillset, experience, tool familiarity, and job preferences.
  Update the filter with your notification threshold preference(s) and update the Slack channel to send notifications to in the last Slack node

  If you have any questions or feedback about this workflow, or would like me to build custom workflows for your business, email me at n8n@paperjam.agency.

nodes_used:
  ["n8n-nodes-base.markdown","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.gmail","n8n-nodes-base.gmailTrigger","n8n-nodes-base.slack","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.informationExtractor"]

workflow_json_compressed:
  [encoded data, 6040 characters]

metadata_json:
  {"categories":["automation","integration","notifications","AI-assisted sourcing"],"complexity":"medium","use_cases":["Automatically surface relevant Upwork job alerts","Prioritize freelance opportunities using AI scoring","Reduce time spent filtering job notification emails","Notify teams or channels of high-quality leads via Slack"],"estimated_setup_minutes":30,"required_services":["Self-hosted n8n (community nodes used)","Gmail account (for Upwork job alert emails)","Upwork Freelancer Plus (to receive job alert emails)","OpenRouter or another LLM provider (for scoring)","Slack workspace and Slack app with chat:write.public and channels:read"],"key_features":["Polls Gmail for Upwork job alert emails on a schedule","Extracts job metadata from email body","Uses an LLM to score/opportunity-match jobs against your freelancer profile","Filters by score threshold and sends Slack notifications for matches","Configurable profile snippet and notification threshold"],"target_audience":["Freelancers actively applying to Upwork","Agencies and recruiters triaging freelance leads","n8n self-hosted users and automation builders familiar with credentials setup"]}


