# templates

name: Weekly Financial Markets Report: Generate with Gemini AI for Telegram & Discord
author_name: Malik Hashir
author_username: malikx
categories: []
created_at: 2025-07-17T11:35:22.109Z
updated_at: 2025-07-17T11:35:22.109Z
url: https://n8n.io/workflows/6090
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:34
description:
  Purpose & Overview
  This workflow is designed for market analysts, traders, and content creators who need a comprehensive, automated solution for generating weekly market intelligence reports. By aggregating and structuring news and forecasts across all major financial sectors, it streamlines the process of delivering actionable weekly insights for blogs, newsletters, and chat platforms.

  What the Workflow Does
  Aggregates news and analysis from trusted sources for nine key market sections, ensuring broad and deep coverage.
  Integrates economic calendar data for the upcoming week, providing a forward-looking preview of high-impact events.
  Applies date and currency filters to ensure all data is current and relevant.
  Compiles a structured Weekly Report ready for publication or distribution.

  Market Sections Covered
  Last Week Recap:
  Highlights and summarizes the most significant economic events and market moves from the previous week.
  Week Ahead Forecast:
  Outlines upcoming high-impact economic events and market expectations for the days ahead.
  General Market Forecast:
  Provides a broad outlook on global market sentiment and macroeconomic themes.
  Gold Weekly Outlook:
  Offers analysis and forecasts for the gold market, including technical and fundamental drivers.
  Oil Weekly Outlook:
  Delivers insights into oil price trends, supply/demand factors, and key geopolitical influences.
  BTC Weekly Outlook:
  Summarizes major developments and technical perspectives for Bitcoin.
  ETH Weekly Outlook:
  Covers Ethereum market trends, network updates, and technical analysis.
  Indices Weekly Outlook:
  Reviews and forecasts major stock indices, highlighting sector performance and risk sentiment.
  Currency Pairs Outlook:
  In-depth coverage of major FX pairs, including EURUSD, GBPUSD, AUDUSD and more.

  Key Features

  Sub-Workflow for Economic Calendar:
  Automatically fetches and integrates economic calendar updates for the next 4–5 days, enhancing the “Week Ahead” section with the latest data.

  Customizable Filters:
  Adjust date and currency parameters to tailor the report for any audience or market focus.

  Multi-Platform Output:
  The report is formatted for easy sharing as a blog post, newsletter, or direct updates to Telegram and Discord.

  Note: Platform-specific AI summarization nodes can be added to respect character limits (Telegram: 4000, Discord: 2000).

  Use Cases
  Weekly Blog or Newsletter Updates:
  Publish comprehensive market roundups and forecasts with minimal manual work.

  Telegram & Discord Alerts:
  Keep your trading community or team informed with structured, automated weekly updates.

  Market Research & Strategy:
  Use the report as a foundation for deeper analysis, trading plans, or client briefings.

  Setup & Delivery
  Automated aggregation: 
  Set your preferred schedule and let the workflow collect, filter, and compile all relevant data.

  Flexible output: 
  Adapt the workflow for different platforms and audiences as needed.

  How to Set Up
  A comprehensive step-by-step video and written guide is included with your subworkflow file.
  If you need further assistance, personalized setup support is also available.

  This workflow delivers a professional, all-in-one solution for staying ahead of the markets—saving you hours each week and ensuring your updates are always timely, comprehensive, and actionable.

nodes_used:
  ["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-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.manualTrigger","n8n-nodes-base.limit","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.rssFeedRead","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.limit","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.rssFeedRead","n8n-nodes-base.code","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.merge","n8n-nodes-base.rssFeedRead","n8n-nodes-base.set","n8n-nodes-base.limit","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.rssFeedRead","n8n-nodes-base.filter","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.merge","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.code","n8n-nodes-base.filter","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.merge","n8n-nodes-base.rssFeedRead","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.code","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.filter","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.code","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.limit","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.discord","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.convertToFile","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent"]

workflow_json_compressed:
  [encoded data, 8896 characters]

metadata_json:
  {"categories":["automation","integration","data processing","content generation","financial analysis"],"complexity":"complex","use_cases":["Weekly blog or newsletter generation","Telegram & Discord market alerts","Market research and strategy briefs","Investor/client weekly briefings","Automated monitoring of multi-asset market developments"],"estimated_setup_minutes":90,"required_services":["RSS news sources (any trusted feeds)","Google Gemini (lmChatGoogleGemini) or compatible LLM","Economic calendar API/provider (e.g., TradingEconomics/Investing.com)","Telegram API (bot)","Discord webhook/API"],"key_features":["Aggregates and filters news across nine market sections","Sub-workflow to fetch and integrate 4–5 day economic calendar","Date and currency filters for relevance","AI summarization (Gemini) per section with optional platform character-limit adaptations","Structured, publish-ready weekly report outputable as blog, newsletter, Telegram or Discord posts`,`Scheduled automated runs to collect, compile and deliver reports`],"],"target_audience":["Market analysts","Traders and portfolio managers","Content creators and financial bloggers/newsletters managers`,`Community managers for trading groups (Telegram/Discord)`,`Financial researchers and strategists"]}


name: Automated Stripe to KlickTipp: Send Purchase Confirmation Emails via Tagging
author_name: KlickTipp
author_username: KlickTipp
categories: []
created_at: 2025-07-17T12:24:35.263Z
updated_at: 2025-07-17T12:24:35.263Z
url: https://n8n.io/workflows/6092
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Community Node Disclaimer: This workflow uses KlickTipp community nodes.

  Introduction
  This workflow automates Stripe checkout confirmations by capturing transaction data and syncing it into KlickTipp. Upon successful checkout, the contact's data is enriched with purchase details and tagged to trigger a personalized confirmation campaign in KlickTipp. Perfect for digital product sellers, course creators, and service providers seeking an end-to-end automated sales confirmation process.
  Benefits
  Instant confirmation emails**: Automatically notify customers upon successful checkout—no manual processing needed.
  Structured contact data**: Order data (invoice link, amount, transaction ID, products) is stored in KlickTipp custom fields.
  Smart campaign triggering**: Assign dynamic tags to start automated confirmation or fulfillment sequences.
  Seamless digital delivery**: Ideal for pairing with tools like Memberspot or Mentortools to unlock digital products post-checkout.
  Key Features
  Stripe Webhook Trigger**:
    Triggers on Triggers on Checkout Session.completed events events.
    Captures checkout data including product names, order number, and total amount.
  KlickTipp Contact Sync**:
    Adds or updates contacts in KlickTipp.
    Maps Stripe data into custom fields
    Assigns a tag such as Stripe Checkout to initiate a confirmation campaign.
  Router Logic (optional)**:
    Branches logic based on product ID or Stripe payment link.
    Enables product-specific campaigns or follow-ups.
  Setup Instructions
  KlickTipp Preparation
     Create the following custom fields in your KlickTipp account:
     
  | Field Name          | Field Type   |
  |--------------------------|------------------|
  | Stripe \| Products       | Text             |
  | Stripe \| Total          | Decimal Number   |
  | Stripe \| Payment ID     | Text             |
  | Stripe \| Receipt URL    | URL              |

     Define a tag for each product or confirmation flow, e.g., Order: Course XYZ.
  Credential Configuration
       Connect your Stripe account using an API key from the Stripe Dashboard.
       Authenticate your KlickTipp connection with username/password credentials (API access required).
  Field Mapping and Workflow Alignment
     Map Stripe output fields to the KlickTipp custom fields.
     Assign the tag to trigger your post-purchase campaign.
     Ensure that required data like email and opt-in info are present for the contact to be valid.
  Testing and Deployment
  Click on Inactive to activate the scenario.
  Perform a test payment using a Stripe product link.
  Verify in KlickTipp:
     The contact appears with email and opt-in status.
     Custom fields for Stripe are filled.
     The campaign tag is correctly applied and confirmation email is sent.

  ⚠️ Note: Use real or test-mode API keys in Stripe depending on your testing environment. Stripe events may take a few seconds to propagate.
  Campaign Expansion Ideas
  Launch targeted upsell flows based on the product tag.
  Use confirmation placeholders like:
    [[Stripe | Products]]
    [[Stripe | Total]]
    [[Stripe | Payment ID]]
    [[Stripe | Products]]
  Route customers to different product access portals (e.g., Memberspot, Mentortools).
  Send follow-up content over multiple days using KlickTipp sequences.
  Customization
  You can extend the scenario using a switch node to:
  Assign different tags per used payment link
  Branch into upsell or membership activation flows  
  Chain additional automations like CRM entry, Slack notification, or invoice creation.


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

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","CUSTOM.klicktipp","n8n-nodes-base.stickyNote","n8n-nodes-base.stripe","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stripeTrigger"]

workflow_json_compressed:
  [encoded data, 4308 characters]

metadata_json:
  {"categories":["automation","integration","e-commerce","email marketing"],"complexity":"medium","use_cases":["Automatically send purchase confirmation emails after Stripe checkout","Sync Stripe transaction data into KlickTipp contact fields","Trigger product-specific post-purchase campaigns via tags","Deliver digital product access and fulfillment automation","Segment/upsell customers based on purchased product"],"estimated_setup_minutes":30,"required_services":["Stripe","KlickTipp (community node)","n8n instance (webhook endpoint)","Optional: Memberspot or Mentortools for digital delivery"],"key_features":["Stripe webhook trigger for checkout.session.completed events","Map Stripe data (products, total, payment ID, receipt URL) to KlickTipp custom fields","Add/update KlickTipp contacts and assign tags to start campaigns","Optional router/switch logic to branch by product ID or payment link","Supports digital delivery and automated fulfillment sequences"],"target_audience":["Digital product sellers","Course creators","Service providers selling online services or subscriptions (SaaS) | operations teams implementing purchase automations|Marketers managing post-purchase communications"]}


name: Auto-Enrich New CRM Companies with ChatGPT Web Research via Tavily
author_name: CentralStationCRM
author_username: centralstationcrm
categories: []
created_at: 2025-07-17T13:58:25.720Z
updated_at: 2025-07-17T13:58:25.720Z
url: https://n8n.io/workflows/6093
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:34
description:
  Overview
  This template benefits anyone who wants to:
  automate web research on a prospect company
  compile that research into an easily readable note and save the note into CentralStationCRM

  Tools in this workflow
  CentralStationCRM, the easy and intuitive CRM Software for small teams. Here is our API Documentation if you want to customize the workflow.
  ChatGPT, the well-known ai chatbot
  Tavily, a web search service for large language models

  Disclaimer
  Tavily Web Search is (as of yet) a community node. You have to activate the use of community nodes inside your n8n account to use this workflow.

  Workflow Screenshot

  Workflow Description

  The workflow consists of:
  a webhook trigger
  an ai agent node
  an http request node

  The Webhook Trigger
  The Webhook is set up in CentralStationCRM to trigger when a new company is created inside the CRM.

  The Webhook Trigger Node in n8n then fetches the company data from the CRM.

  The AI Agent Node
  The node uses ChatGPT as ai chat model and two Tavily Web Search operations ('search for information' and 'extract URLs') as tools. Additionally, it uses a simple prompt as tool, telling the ai model to re-iterate on the research data if applicable.

  The AI Agent Node takes the Company Name and prompts ChatGPT to "do a deep research" on this company on the web. "The research shall help sales people get a good overview about the company and allow to identify potential opportunities."

  The AI Agent then formats the results into  markdown format and passes them to the next node.

  The CentralStationCRM protocol node
  This is an HTTP Request to the CentralStationCRM API. It creates a 'protocol' (the API's name for notes in the CRM) with the markdown data it received from the previous node.

  This protocol is saved in CentralStationCRM, where it can easily be accessed as a note when clicking on the new company entry.

  Customization ideas
  Even though this workflow is pretty simple, it poses interesting possibilities for customization.

  For example, you can alter the Webhook trigger (in CentralstationCRM and n8n) to fire when a person is created. You have to alter the AI prompt as well and make sure the third node adds the research note to the person, not a company, via the CentralStationCRM API. 

  You could also swap the AI model used here for another one, comparing the resulting research data and get a deeper understanding of ai chat models.

  Then of course there is the prompt itself. You can definitely double down on the information you are most interested in and refine your prompt to make the ai bot focus on these areas of search. Start experimenting a bit!

  Preconditions
  For this workflow to work, you need
  a CentralStationCRM account with API Access
  an n8n account with API Access
  an Open AI account with API Access

  Have fun with our workflow!

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolThink","@tavily/n8n-nodes-tavily.tavilyTool","@tavily/n8n-nodes-tavily.tavilyTool","n8n-nodes-base.httpRequest","n8n-nodes-base.webhook"]

workflow_json_compressed:
  [encoded data, 5044 characters]

metadata_json:
  {"categories":["automation","integration","data enrichment","AI research"],"complexity":"medium","use_cases":["Automatically enrich new CRM company records with web research","Generate readable prospect research notes for sales teams","Centralize research as CRM notes/protocols","Accelerate lead qualification and outreach preparation"],"estimated_setup_minutes":30,"required_services":["CentralStationCRM (API access)","n8n (with community nodes enabled)","OpenAI / ChatGPT (API access)","Tavily Web Search (community node)"],"key_features":["Webhook trigger on new company creation","AI agent combining ChatGPT and Tavily web-search tools","Automated deep web research and summarization into markdown","HTTP request node to create a 'protocol' (note) in CentralStationCRM","Customizable AI prompt and trigger (company vs person)"],"target_audience":["sales teams / SDRs","small business owners using CentralStationCRM","CRM administrators and ops engineers implementing automations\",\"developers integrating AI into workflows"]}


name: Salesforce Lead Capture with GPT-4 Personalized Email & SMS Follow-Up
author_name: Le Nguyen
author_username: leeseifer
categories: []
created_at: 2025-07-17T18:42:17.546Z
updated_at: 2025-07-17T18:42:17.546Z
url: https://n8n.io/workflows/6102
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:34
description:
  How It Works
  This workflow transforms n8n into a smart Web Lead Form alternative to Salesforce's traditional Web-to-Lead, capturing leads, creating Salesforce records, and sending AI-personalized responses via email or SMS.

  Capture Submission**: User submits form data (name, email, phone, description, preference) via n8n's hosted form.
  Create Lead**: Maps data to a new Salesforce Lead.
  Personalize Message**: Uses OpenAI to generate a tailored welcome based on description and preference (detailed for email, concise for SMS).
  Route Outreach**: Branches to send via Twilio SMS or SMTP email depending on preference.

  Set Up Steps
  Setup takes about 15-30 minutes if you have credentials ready. Focus on connecting services; detailed configs are in workflow sticky notes.

  Duplicate this template in n8n.
  Add your Salesforce, OpenAI, Twilio, and SMTP credentials (no hardcoding—use n8n's credential manager).
  Customize form fields if needed and test with sample data.
  Activate and share the form URL on your site.

  n8n Web to Lead Form.json

nodes_used:
  ["n8n-nodes-base.salesforce","n8n-nodes-base.formTrigger","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.switch","n8n-nodes-base.twilio","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","CRM","marketing","AI"],"complexity":"medium","use_cases":["Capture web leads and create Salesforce Lead records","Send AI-personalized welcome/follow-up messages","Route outreach via email or SMS based on lead preference","Replace Salesforce Web-to-Lead with a smarter, customizable form","Automated testing and activation of lead capture form"],"estimated_setup_minutes":20,"required_services":["Salesforce","OpenAI (GPT-4)","Twilio","SMTP email provider","n8n (hosted form / instance)"],"key_features":["Hosted n8n form for lead capture","Creates Salesforce Lead records from form submissions","Uses OpenAI to generate tailored email (detailed) and SMS (concise)","Switch node routes messages based on lead preference","Sends SMS via Twilio or email via SMTP depending on preference"],"target_audience":["sales teams","marketing teams","growth/ops teams (lead automation owners)"]}


name: Automated Abandoned Cart Recovery Emails for Shopify Stores
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-07-18T03:45:49.513Z
updated_at: 2025-07-18T03:45:49.513Z
url: https://n8n.io/workflows/6111
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:34
description:
  Overview

  This n8n template automatically sends personalized recovery emails to customers who abandon their shopping carts. Recover 15-25% of lost sales with intelligent, well-timed follow-up emails that include exact cart contents.
  Use cases: Online stores, e-commerce brands, subscription services, digital product sales, any business with cart abandonment.

  How it works

  Shopify webhook triggers when customer creates cart and begins checkout process. The workflow waits one hour then checks if cart was converted to completed order. If cart remains abandoned, it extracts customer email and cart details. A personalized email is generated with cart contents and direct checkout link. Customer receives gentle reminder and can complete purchase with one click.

  Set up instructions

  The cart creation webhook is used but you can adjust the wait time or add multiple follow-up sequences
  Configure your email service provider in the Send Email node
  Customize email template and messaging to match your brand tone

  Requirements

  Shopify store with cart abandonment tracking
  Email service provider configured in n8n
  Customer email collection enabled in checkout process

  Customising this workflow

  Create multi-email sequences with different timing (1hr, 24hr, 72hr)
  Add discount codes for additional purchase incentive
  Segment messaging by cart value or customer type

nodes_used:
  ["n8n-nodes-base.shopifyTrigger","n8n-nodes-base.wait","n8n-nodes-base.shopify","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.emailSend","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:
  H4sIAAAAAAAAE52WX0/cOBTFv0rkh33Kra7/xfa8UZjuUu0WlVasKsTDtX1DszAJSjIUhOa7rzKwZRYGKLxFiX3yu8fHvr4RTRYz8fuV3Xu/mH+7ao7OPv/z8UCUYsEjidmNaNphpDbx/jROIWKqDDqZFHqjK6xisKnSLtgY0QWXjERdoXFoLVXWVyZ49tbGUHGdxKoULS1YzMTO+51Pewef5nvF7s7h1+JwvntwND/8Vsz/2tn/U5RipNNBzI5PStF2mafHm1tWJaP3BiNgyAqMoQghqwpi1pETIpvE4udvdqkfi92eaeQ8qV5fTG9b38JaFiIN/G743l009fXXvjk95V6U4qIbmrHpWjE7Bl9hqQ2elOIHx+9dd7Z2IlE/wt0LQJTTJOppwSP3g5jdrG7/dcT9sNaRq/KOP4ZESSeC2ucAJmaEmCsPlHWl2cUQXX3P/zc1YyGLP7pl/yT+D2rGB9CV2QZdW2uC9gqyzxkMkwMf6wxJGhM9oXPWvljIu/tScs6ea5ZQZYVg2EugGjNopwnZx0AubCzFd05nRVMXB33mvphfNcM4vLQmD+oy6r+6ftFt7XSUISIo5SSYSjrwKBH0FFVjjEo+3SPu18U6MDuR2ty1z0SmqR+QKfwlMnVPZmqWJjEklgxG6QiEQYH3VilNTMFU92Qfun5BYzFfUHNe7NFITxvHD8Lwa5bpd+YnGmYVvYseSFkDxjkHwYQAOTnC6DHbdU7u0L5wm4tDTt0l99e3hE/C8fR1mvAAcWtcTXBotQ1gfLTT0lcQo7dQq+hSDkkFgy/FVW3EtY6ycr6KEOqQwCRyEDVa4BxCRJ+skbix87r+rD7vfhT7bd097fbYpLPrT93ID/Igp0BI9ch3kbp25HYUMyGejq0KaKMOFhJ6AlNpC4GIQVuHFmVOnjYOuQ9M47Lnofit2O3aujl9NS6WbwT1VSZjKIGsVQDDbIBqKcF5xIgSpcONFL9fDk3Lw1Ac0fmSX03psbT4RlDnMAUfCWStMxisNPggHUhUiEwmWKaNs2o5jN2C++Jjt+xbvn79+lv/Zk8zUu2is+CUUWACKwiq0kAxUMjG+jqre9TbI+ELj8uLV1NO+656I2VAqYILGVLGGgwZBqocQiLLPiUkNBuGflkTFHcIr/VSYWlfu5VOSkFpbC5ZzGo6H7gUA49j056up/IVp+Wkv25GYiYu5aRxeTv/tlsGRxyUnbJMYEJk8KFOoFKMAXW0QUdRThAtp0lqLbzZsGc3YkHNVMLxzfoa83IXXI8vRdNmvhIzXJ2crMr/X2K2iW69JWyVetxHtuk9e6Rv1X3cObfpPtPFthe+1axtys907i3Kq9W/4obhtPkKAAA=

metadata_json:
  {"categories":["automation","e-commerce","marketing","customer retention","email"],"complexity":"medium","use_cases":["Recover abandoned carts for online stores","Increase e-commerce conversion and revenue","Follow-up sequences for subscription and digital product checkouts","Segmented outreach by cart value or customer type"],"estimated_setup_minutes":30,"required_services":["Shopify store with webhooks enabled","Email service provider (SMTP, SendGrid, Mailgun, etc.)","n8n instance"],"key_features":["Shopify webhook trigger on cart/checkout start","Configurable wait/delay before checking conversion","Check if cart converted to completed order","Extract customer email and exact cart contents","Generate personalized recovery email including direct checkout link (optional AI personalization)"],"target_audience":["e-commerce merchants and store owners","Growth/marketing teams focused on retention","Developers/automation engineers implementing workflows for stores\",\"Agencies managing e-commerce conversions"]}


name: Shopify Review Aggregator: Trustpilot, Google, Facebook to Google Sheets
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-07-18T04:05:19.162Z
updated_at: 2025-07-18T04:05:19.162Z
url: https://n8n.io/workflows/6112
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:34
description:
  Multi-Platform Review Collector for n8n: Trustpilot + Google + Facebook Automation

  How it works
  The schedule triggers daily review collection from configured platforms and connects to multiple review platform APIs to download latest reviews. The workflow normalizes review data into consistent format with rating, text, date, source, and customer name. It removes duplicates and stores centralized database in Google Sheets creating comprehensive review repository for analysis and response management.
  Trigger: Daily schedule (10 AM)
  Output: Updated review database
  Timing: Daily sync
  Frequency: Once per day
  Data Flow:
  Trustpilot → API call → Raw reviews
  Google Reviews → API call → Raw reviews
  Facebook → API call → Raw reviews
  ↓
  Normalize format → Remove duplicates
  ↓
  Google Sheets → Centralized database

  Set up instructions

  Set up Shopify credentials in n8n: API Key, Password, Shop Subdomain, and Shared Secret
  Obtain API credentials for each review platform you want to monitor (Trustpilot, Google Reviews, Facebook)
  Configure HTTP Request nodes with proper API endpoints and authentication headers for each platform
  Set up Google Sheets credentials and create a spreadsheet with columns: Source, Rating, Review Text, Customer Name, Date, Product ID, Review ID
  The schedule trigger runs daily at 10 AM but feel free to adjust frequency based on review volume
  Update the Code node with proper data mapping for each review platform's API response format

  Test API connections individually before running the full workflow to ensure all platforms return data correctly

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

workflow_json_compressed:
  H4sIAAAAAAAAE62W207cSBCGX8Xqi71yoT4f5o5NACGRgICFlRAXfageLGZs1vaQEMS7rzxJGDKMAyS5s+Suv7/+u7qq7kmVyISc+QPx7/Z5M+9uz00VAinJHHtPJvekqrve1xH3h3WcUhq1pIZFTq0UmurgVNTCOBUCNc5EyajQVBqqlNfKauksWqWC05gjeShJ7edIJuTDPwen+3B0sH26e3j8oTjeOdvfOS+29/aOd/a2Tw+PSUl6P+3I5OKyJHWTcPi8/4prpPYpRAUegwVJcwKPNIIXOTnU2QflyeNO7301uyuO8bbCT8XJXR0H6bub4Vdta1hqQ/AdbnXxCtNihqdtNZ1iS0py03RVXzU1mVyAtbQUkl6W5Ma3fo49th2Z3D98VTvDtlsuZFv8ofwGmkRUXhgEF4UDGSwDr4MFaxRPHinHyFege9gXR22TFrHvxhmvmpsq362xaf06tkcyz1xOVDAwzlmQNkmwSiaIQYTEhTHa6hXZLvbxqjhtF11/U82a/pub45RXfX9zjP8tsOvXSKWkJX+ZVD5xMRqluBMcXM4JpLIJHE0JrDXaKB2RMr7Outc00xn+JucrHH3KmaJAa1EBRaVAeuXAOysgWia8Ftym5Nc5d33E0DTXv0kq30YqZTKZJgox0ABSGwo+OQFBobBc6hS5XJF+bNq5n1VfvttZvPe9HwWNTcI1Qs5f5eWKjzFurJXDiw4GZBQMXBAJpOQYZMQQJa743l1hvC6q/N3DYrdZ1GkUsMo/4r2RzTEupLUCZLQ4mE/BMamBGhepkTpnbVZsJ33TPqbh0riBYZRtukzbkyvEZQl4QvlKD+WWeiQ1XjCaGYVkB1KFAQJjHGhUjlmD0jO6Ij1v2us8az4V+3VuxstPX8Xru49Nv37HbABk/BkgiU3dY92TCSHj5UhQZXgUCoTICDJIBjZoATSipdRh0Co9fTq+X7TYFX8V75o6V9M349LyF0G9pXEgAkodBZl5Bp+sB0uVzy6paMKTuvn3oqtq7LrizM8W47c+RmlpqegvgrqhhieTwAaPIAULECSXkJkTMVmblBMr0KOZ73PTzgdLd2fNp7ffv+K01L/IanVImWoGXPqhcHIEJ5CDktGoaLTl/Enh3D7aL4ZKWLU4x/pnrXKEdcjU5y/p56iXJfGxr26RTLKfdViSDvu+qqfLUPyMcTGoH7YJWzIht2zQuP0avxydhDLZOIGgqfAghc1gHUdgmBRngkfrh8SJTV1jHKSWwj+MBJN7MvfVcIKL++VI9KrOvAwpSVUn/EwmdDD9h9ixTvlS3HjnWo+8vHwoN0xhm46zeQTaKLiRfpPmC+1ro/jmmE3qLzWfjfIjQZv0X2ogP/Hm2Q39KXdGk+7PbPDw8D/vJh1NlwwAAA==

metadata_json:
  {"categories":["automation","integration","data processing","customer feedback"],"complexity":"medium","use_cases":["Aggregate reviews from multiple platforms","Create centralized review database for reporting","Monitor brand/product reputation","Automate response/workflow triggers based on reviews","Feed review data to analytics or BI tools"],"estimated_setup_minutes":45,"required_services":["n8n","Trustpilot API","Google Reviews / Google Places / Google My Business API","Facebook Graph API (Pages)","Shopify (API credentials)","Google Sheets (API / account)"],"key_features":["Scheduled daily collection of reviews","API-based fetch from Trustpilot, Google, Facebook","Normalization to consistent schema (rating, text, date, source, customer)","Duplicate detection and removal","Centralized storage in Google Sheets with configurable columns (Source, Rating, Review Text, Customer Name, Date, Product ID, Review ID)"],"target_audience":["E-commerce managers","Customer success teams","Marketers monitoring reputation and feedback trends`,`Data analysts consolidating review data`,`Developers/automation engineers integrating review platforms"]}


name: End-to-End Blog Generation for WordPress with LLM Agents&Image - GPT-5 Optimized
author_name: Mohamed Abdelwahab
author_username: mohelwah
categories: []
created_at: 2025-07-18T05:21:23.096Z
updated_at: 2025-07-18T05:21:23.096Z
url: https://n8n.io/workflows/6117
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  🧠 n8n Blog Automation Workflow — GPT-5 Optimized

  This is a ready-to-use, single workflow — you can copy and paste it directly into n8n and start working.  
  It handles end-to-end SEO blog automation with triggers, orchestration, AI-powered writing, metadata, tags, excerpts, WordPress publishing, and Google Sheets updates.

  📌 Overview

  The system accepts blog parameters either from a form submission or from a Google Sheet row (via scheduled trigger), dynamically fetches WordPress categories, and produces a complete, publication-ready post through an orchestrated sequence of GPT-5 agents.  
  Each agent executes once in a strict order with clearly defined responsibilities.

  Core Capabilities
  Real-time search and fact retrieval (OpenRouter / Perplexity Sonar)  
  SEO-focused outline planning  
  Structured section creation  
  Expert-level section writing with inline HTML citations  
  Editorial refinement into cohesive, polished HTML  
  Metadata, excerpt, and featured-image prompt generation  
  Automated category, tag creation/update, and excerpt update  
  Draft publishing to WordPress  
  Updates the corresponding Google Sheet row with created = yes
  🔁 Triggers

  1. Form Trigger
  Collects:  
  Keywords  
  Word count  
  Number of sections  
  Writing style  
  Website URL  
  About Website (used for context)  
  Featured image toggle  

  2. Google Sheets + Schedule Trigger
  Automatically pulls rows on schedule from a Google Sheet with the following columns:  
  Keywords  
  wordCount  
  Number of sections  
  Generate a featured image  
  Writing Style  
  Website  
  About Website  
  created → initially set to no, automatically updated to yes once the blog post is created and uploaded to WordPress.  

  🧠 Orchestration Agent (GPT-5)

  Central Director agent optimized for GPT-5 that coordinates the pipeline:

  GetOnlineInfo — Current Q&A and search-driven insights  
  OutlinePlanner — SEO-structured Table of Contents  
  createSections — ToC → detailed section definitions  
  SectionsWriter — Expert, citation-rich content  
  Editor — Full HTML assembly, SEO and legal compliance  
  MetaInfo — Title, slug, excerpt, meta description, category selection  
  Tags Agent — Creates or updates SEO-friendly WordPress tags  
  ImagePrompt — Realistic cover image prompt + alt text (if enabled)  
  ✍️ Writing Flow

  Input parsing (from Form or Google Sheets row)  
  Real-time data retrieval  
  SEO-optimized outline creation  
  Section breakdown with clear descriptions  
  Detailed section drafting with verified sources  
  Editorial polishing into publish-ready HTML  
  Metadata and excerpt generation (title, slug, description, category)  
  Tag creation and update in WordPress  
  Optional image prompt creation and upload  
  Automatic WordPress draft publishing with excerpt and tags updated  
  Google Sheet row update — set created = yes  
  ✅ Output Format

  {
    "toc": "Table of Contents",
    "post_html": "&lt;final HTML content&gt;",
    "meta_data": {
      "title": "...",
      "slug": "...",
      "excerpt": "...",
      "category_id": 0
    },
    "image_data": {
      "image_prompt": "...",
      "alt_text": "..."
    },
    "tags": [
      {"name": "...", "description": "..."}
    ],
    "ready": true
  }

  🌐 WordPress Integration

  Authenticated API calls to /wp-json/wp/v2/posts, /wp-json/wp/v2/media, and /wp-json/wp/v2/tags  
  Draft mode publishing with category & author assignment  
  Featured image creation, resizing, and metadata linking (if enabled)  
  Automatic creation and update of tags  
  Automatic creation and update of excerpts  

  🧩 Setup Instructions

  1. Required Credentials
  WordPress API credentials  
  OpenAI API key  
  OpenRouter API key (optional)  
  Google Sheets API credentials (if using scheduled trigger)  

  2. Sub-Workflows Required
  OutlinePlanner  
  createSections  
  SectionsWriter  
  Editor  
  MetaInfo  
  Tags Agent  
  ImagePrompt (if enabled)  

  3. Dynamic Inputs
  Categories fetched via WP REST API and shown in the form  
  Tags generated and updated dynamically by Tags Agent  
  Excerpt automatically created and updated in WordPress  
  Image creation can be toggled (true / false)  

  📸 Optional Image Pipeline

  If enabled:  
  Generate image prompt and alt text  
  Create realistic cover image (1024x1024)  
  Resize and upload image to WordPress  
  Set image metadata and assign featured image  

  💡 Notes

  Workflow is production-ready — just copy-paste into n8n as a single workflow.  
  GPT-5 prompts embedded in each agent ensure high-quality, context-aware output  
  All HTML, JSON, excerpts, and tags are validated before publication  
  Modular sub-workflows allow isolated testing and debugging  
  Workflow supports legal accuracy, SEO performance, and dynamic web data responsiveness  

nodes_used:
  ["@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.editImage","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.stopAndError","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.formTrigger","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.wordpress","n8n-nodes-base.wordpress","@n8n/n8n-nodes-langchain.agentTool","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agentTool","@n8n/n8n-nodes-langchain.agentTool","@n8n/n8n-nodes-langchain.agentTool","@n8n/n8n-nodes-langchain.agentTool","@n8n/n8n-nodes-langchain.agentTool","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4144 characters]

metadata_json:
  {"categories":["automation","content-generation","integration","seo"],"complexity":"complex","use_cases":["End-to-end automated blog post creation and publishing to WordPress","Scheduled bulk post generation from Google Sheets","Form-triggered, on-demand blog creation","SEO-focused outline and content generation with citations","Automated featured image prompt generation and upload"],"estimated_setup_minutes":60,"required_services":["WordPress REST API (site with credentials)","OpenAI API (GPT-5) or compatible LLM endpoint","OpenRouter / Perplexity Sonar (optional for real-time search/facts)","Google Sheets API (if using scheduled trigger)","Image-generation service or API (optional for featured image)"],"key_features":["Form and scheduled Google Sheets triggers","Orchestrated GPT-5 agent pipeline (outline, sections, editor, meta, tags, image)","Real-time search and fact retrieval integration","SEO-optimized outline and section generation with inline citations","Automatic WordPress draft publishing, tag/category management, and featured image handling (optional)  — plus excerpt/meta update and Google Sheet row update"],"target_audience":["content marketers","SEO specialists","blogging teams and agencies producing high-volume content automation workflows with developers/admins responsible for integration"]}


name: Automate GitHub, JIRA Release Notes with Google Gemini & Notification Over Email
author_name: Intuz
author_username: intuz
categories: []
created_at: 2025-07-18T09:38:49.318Z
updated_at: 2025-07-18T09:38:49.318Z
url: https://n8n.io/workflows/6129
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  This n8n template from Intuz provides a complete and automated solution for creating and distributing sophisticated release notes. 

  It connects to GitHub and JIRA to gather data from recent commits and completed tickets, using specific keywords or labels to identify key features for inclusion. 

  This information is then processed by Google Gemini to automatically generate well-written, human-like release notes, which are then distributed via email to stakeholders, creating a complete, end-to-end communication pipeline for every new software release.

  This template is perfect for development teams looking to streamline their release process, ensure consistent communication, and eliminate the manual effort of writing release notes.

  How to use

  1. Set up Credentials:

  GitHub
  JIRA (Software Cloud API)
  Google Gemini (or another PaLM/LLM provider)
  Your SMTP email server.

  2. Configure the GitHub Trigger:

  Select the Github Trigger node.
  In the Repository Owner field, enter your GitHub username or organization name.
  In the Repository Name field, select the repository you want to monitor.

  3. Verify the JIRA Integration:

  Important:** This workflow assumes your commit messages contain a JIRA key (e.g., "PROJ-123: Fix login bug").
  Select the first Code node. It uses a regular expression ([A-Z]+-\\d+)/i to find JIRA keys. Adjust this expression if your team uses a different format.
  Select the Get an issue node and ensure your JIRA credentials are correctly configured.

  4. Customize the AI Prompt:

  Select the Basic LLM Chain node. You can edit the prompt to change the tone, style, or structure of the generated HTML release note to match your company's standards.


  5. Configure Email Notifications:

  Select the Send email node.
  Update the To Email field with the recipient's email address (e.g., a team distribution list or a stakeholder's email).
  Customize the From Email and Subject line as needed.

  6. Activate Workflow:

  Save your changes and activate the workflow. Now, every push to your configured repository will trigger the automated generation and sending of release notes.

  Required Tools

  GitHub: To trigger the workflow on code pushes.
  JIRA: To fetch details about the tasks and bugs included in the release.
  Google Gemini: To intelligently generate the release note content. (You can swap this for another LLM supported by n8n).
  SMTP Provider: To send the final release note via email.

  Connect with us

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

  For Custom Worflow Automation
  Click here- Get Started

nodes_used:
  ["n8n-nodes-base.githubTrigger","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.emailSend","n8n-nodes-base.jira","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5008 characters]

metadata_json:
  {"categories":["integration","automation","communication","ai/ml","developer tooling"],"complexity":"medium","use_cases":["Automate generation of release notes from commits and JIRA issues","Aggregate commit history and completed tickets for a release","Use an LLM to create human-readable HTML release notes","Distribute release notes to stakeholders via email","Enforce consistent release communication and reduce manual effort"],"estimated_setup_minutes":30,"required_services":["n8n","GitHub","JIRA (Software Cloud API)","Google Gemini or other PaLM/LLM provider","SMTP email provider"],"key_features":["Trigger on GitHub pushes to collect recent commits","Extract JIRA keys from commit messages with regex","Fetch issue details from JIRA","Generate polished HTML release notes via Google Gemini/LLM","Customizable AI prompt/tone/structure (Basic LLM Chain) to match company style"],"target_audience":["Development teams","Release managers","DevOps engineers/automation engineers\",\"Engineering managers"]}


name: 🤖 Build a Documentation Expert Chatbot with Gemini RAG Pipeline
author_name: Lucas Peyrin
author_username: lucaspeyrin
categories: []
created_at: 2025-07-18T11:49:47.778Z
updated_at: 2025-07-18T11:49:47.778Z
url: https://n8n.io/workflows/6137
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  How it works

  This template is a complete, hands-on tutorial for building a RAG (Retrieval-Augmented Generation) pipeline. In simple terms, you'll teach an AI to become an expert on a specific topic—in this case, the official n8n documentation—and then build a chatbot to ask it questions.

  Think of it like this: instead of a general-knowledge AI, you're building an expert librarian.

  The workflow is split into two main parts:

  Part 1: Indexing the Knowledge (Building the Library)
      This is a one-time process you run manually. The workflow automatically scrapes all pages of the n8n documentation, breaks them down into small, digestible chunks, and uses an AI model to create a special numerical representation (an "embedding") for each chunk. These embeddings are then stored in n8n's built-in Simple Vector Store. This is like a librarian reading every book and creating a hyper-detailed index card for every paragraph.

      Important: This in-memory knowledge base is temporary. It will be erased if you restart your n8n instance, and you will need to run the indexing process again.

  Part 2: The AI Agent (The Expert Librarian)
      This is the chat interface. When you ask a question, the AI agent doesn't guess the answer. Instead, it uses your question to find the most relevant "index cards" (chunks) from the knowledge base it just built. It then feeds these specific, relevant chunks to a powerful language model (Gemini) with a strict instruction: "Answer the user's question using ONLY this information." This ensures the answers are accurate, factual, and grounded in your provided documents.

  Set up steps

  Setup time: 2 minutes (plus 15-20 minutes for indexing)

  This template uses n8n's built-in tools, removing the need for an external database. Follow these simple steps to get started.

  Configure Google AI Credentials:
      You will need a Google AI API key for the Gemini models.
      In your n8n workflow, go to any of the three Gemini nodes (e.g., Gemini 2.5 Flash).
      Click the Credential dropdown and select + Create New Credential.
      Enter your Gemini API key and save.

  Apply Credentials to All Nodes:
      Your new Google AI credential is now saved. Go to the other two Gemini nodes (Gemini Chunk Embedding and Gemini Query Embedding) and select your newly created credential from the dropdown list.

  Build the Knowledge Base:
      Find the Start Indexing manual trigger node at the top-left of the workflow.
      Click its "Execute workflow" button to start the indexing process.
      ⚠️ Be Patient: This will take 15-20 minutes as it scrapes and processes the entire n8n documentation. You only need to do this once per n8n session. If you restart n8n, you must run this step again.

  Chat with Your Expert Agent:
      Once the indexing is complete, Activate the entire workflow using the toggle at the top of the screen.
      Open the RAG Chatbot chat trigger node (bottom-left) and copy its Public URL.
      Open the URL in a new tab and start asking questions about n8n! For example: "How does the IF node work?" or "What is a sub-workflow?".

nodes_used:
  ["@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.removeDuplicates","n8n-nodes-base.filter","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.httpRequest","n8n-nodes-base.html","n8n-nodes-base.splitOut","n8n-nodes-base.removeDuplicates","n8n-nodes-base.executeWorkflow","n8n-nodes-base.httpRequest","n8n-nodes-base.html","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.vectorStoreInMemory","@n8n/n8n-nodes-langchain.vectorStoreInMemory"]

workflow_json_compressed:
  [encoded data, 16140 characters]

metadata_json:
  {"categories":["automation","knowledge management","conversational AI","document processing"],"complexity":"medium","use_cases":["Build a documentation-specific chatbot (RAG)","Internal knowledge base / help desk automation","Developer onboarding and FAQ search","Accurate, source-grounded Q&A over product docs","Prototyping retrieval-augmented generation pipelines"],"estimated_setup_minutes":20,"required_services":["n8n instance (cloud or self-hosted)","Google AI (Gemini) API key / Google Cloud AI credentials","Internet access to scrape the n8n documentation and serve the chat endpoint"],"key_features":["Scrapes and indexes n8n documentation into small chunks","Creates embeddings with Gemini and stores them in n8n's in-memory Simple Vector Store","Retrieval-Augmented Generation: retrieves relevant chunks and passes only those to Gemini for grounded answers","Two-part workflow: one-time manual indexing + live chat agent","Uses text splitting, duplicate removal, and memory buffer nodes to improve retrieval quality and context handling​ (temporary in-memory KB)"],"target_audience":["Developers and engineers using n8n","Documentation teams and technical writers","Support and customer success teams needing quick accurate answers from docs​','Automation / DevOps engineers prototyping AI-enabled workflows"]}


name: Set DevOps Infrastructure with Docker, K3s, Jenkins & Grafana for Linux Servers
author_name: Oneclick AI Squad
author_username: oneclick-ai
categories: []
created_at: 2025-07-18T12:02:20.068Z
updated_at: 2025-07-18T12:02:20.068Z
url: https://n8n.io/workflows/6140
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  This automated n8n workflow delivers an instant DevOps toolkit by installing Docker, K3s, Jenkins, Grafana, and more on a Linux server within 10 seconds. It optimizes performance, enhances security, and provides ready-to-use templates for DevOps projects.

  Main Components
  Configure Parameters** - Defines server details, tool versions, and credentials
  System Preparation** - Updates the system and installs base packages
  Install Docker** - Deploys Docker Engine and Docker Compose
  Install Kubernetes** - Sets up K3s cluster with kubectl, Helm, and k9s
  Install Jenkins** - Configures Jenkins CI/CD server with Docker integration
  Install Monitoring** - Deploys Prometheus and Grafana using Helm charts
  Create DevOps User** - Establishes a dedicated user with appropriate permissions
  Security Configuration** - Implements firewall, VS Code, and Terraform
  Final Configuration** - Sets up sample projects and configuration files
  Setup Complete** - Provides a summary and access details

  Essential Prerequisites
  Linux server with SSH access
  Root-level administrative privileges

  Customization Guide
  Adjust tool versions or credentials in the Configure Parameters node
  Modify the number of nodes or security settings as needed

  Features
  🔧 Core DevOps Tools Installed:
    Docker - Container platform with Docker Compose
    Kubernetes - K3s (lightweight) with kubectl and Helm
    Jenkins - CI/CD automation server
    Prometheus - Monitoring and alerting
    Grafana - Visualization and dashboards
  ⚡ Optimizations Made:
    Streamlined Commands - Combined multiple operations into single bash scripts
    Reduced Nodes - 10 nodes vs 12 in original (more efficient)
    Better Error Handling - Each step includes verification
    Cloud-Ready - Includes AWS CLI, Azure CLI, and Google Cloud SDK
    Security First - Proper firewall configuration and user permissions

  Parameters to Configure
  server_host: Your Linux server IP address
  server_user: SSH username (typically 'root')
  server_password: SSH password
  docker_version: Docker version to install
  k3s_version: K3s version to install
  username: DevOps username
  user_password: Password for the DevOps user

  How to Use
  Copy the JSON code from the artifact
  Open your n8n workspace
  Select "Import from JSON" or "+" → "From JSON"
  Paste the JSON code
  Configure parameters in the "Configure Parameters" node with your server details
  Run the workflow

  Workflow Actions
  Install: Deploys Docker, K3s, Jenkins, Prometheus, and Grafana with optimizations
  Create User: Sets up a DevOps user with necessary permissions
  Configure: Applies security settings and provides templates

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

workflow_json_compressed:
  [encoded data, 6712 characters]

metadata_json:
  {"categories":["automation","infrastructure provisioning","CI/CD","monitoring"],"complexity":"complex","use_cases":["Bootstrap DevOps toolchain on a new Linux server","Rapidly provision lightweight Kubernetes (K3s) clusters for testing","Deploy Jenkins-based CI/CD with Docker integration","Install monitoring stack (Prometheus + Grafana) and dashboards","Prepare secure DevOps user and firewalled environment for projects"],"estimated_setup_minutes":15,"required_services":["Linux server with SSH and root access","Internet access to download packages and container images","Helm chart repositories (e.g., Bitnami/Stable)","Docker Hub or other container registries (optional)","Cloud provider CLIs (AWS CLI, Azure CLI, Google Cloud SDK) - optional"],"key_features":["Installs Docker Engine and Docker Compose","Deploys K3s (lightweight Kubernetes) with kubectl, Helm, and k9s","Configures Jenkins CI/CD server with Docker integration","Deploys Prometheus and Grafana via Helm charts","Creates dedicated DevOps user and configures firewall/security settings"],"target_audience":["DevOps engineers","Site Reliability Engineers (SREs)","Systems administrators/sysadmins provisioning servers quickly」「Developers who need a local/remote DevOps sandbox"]}


name: Automate Income and Expense Tracking in Google Sheets via Telegram
author_name: Fahmi Oktafian
author_username: fahmi3322
categories: []
created_at: 2025-07-18T17:28:39.101Z
updated_at: 2025-07-18T17:28:39.101Z
url: https://n8n.io/workflows/6147
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who’s it for
  This template is perfect for freelancers, small business owners, or financial assistants who want to record and approve financial transactions like income and expenses directly from Telegram, without opening a spreadsheet manually.

  It’s also useful for teams that require a supervisor to approve expenses before they’re finalized.

  What it does
  This workflow allows users to:

  Start a conversation via Telegram using the /start command.
  Choose to record an income or expense.
  Submit transaction data using a structured format.
  Store the data into Google Sheets in real time.
  For expenses, automatically notify a supervisor for approval.
  The supervisor can Approve ✅, Reject ❌, or View Details 👁.
  Sends feedback to the user based on supervisor action.

  🔧 How it works

  Telegram Bot Trigger: Captures user input via message or inline button callback.
  Message Detection Logic: Differentiates between text input and button interactions.
  Switch Node: Routes the message type:
     /start: Displays income/expense buttons.
     Input text: Validates formatting and parses data.
     Callback: Handles approval/rejection process.

  Google Sheets Integration: Appends or updates entries in different sheets based on the data type.

  Notifications:

     User gets feedback (recorded, pending, approved, rejected).
     Supervisor receives inline button options for approval.

  Google Sheets Details
  You will need a Google Sheet with the following two worksheets:

  Sheet 1: income
  Sheet 2: Sheet1 (Default tab for expenses)

  📱 Telegram Setup Instructions

  Create a bot using @BotFather.
  Save the bot token.
  Go to n8n Credentials → Telegram API and add:
     Access Token = your bot token
  In Telegram, send /start to your bot.
  Make sure your bot has enabled privacy mode (or disabled, if used in a group).


  💡 For the approval flow, update the node Send Approval Request with the correct chatId of the supervisor's Telegram account. You can hardcode a static ID (e.g., "123456789") or pull from a variable if dynamic.

  🛠 Requirements

  | Tool                       | Description                         |
  | -------------------------- | ----------------------------------- |
  | n8n (Cloud or Self-hosted) | Use latest stable version           |
  | Telegram Bot               | For user input and notifications    |
  | Google Sheets              | To store income and expense records |
  | Google OAuth2 Credentials  | Required for Google Sheets node     |

  ⚙️ How to customize the workflow

  Change the chat ID for supervisors in the node Send Approval Request.
  Modify the text or add new buttons in the inline keyboard node.
  Update Google Sheet ID and tab names if you’re using different sheets.
  Customize the approval logic, for example, route to different teams.

  ✅ Setup Steps

  Import the workflow JSON into your n8n instance.
  Configure Telegram API credential with your bot token.
  Connect your Google Sheets OAuth2 credential.
  Replace Google Sheet document ID and tab names with your own (via UI or “Expression” mode).
  Deploy and activate the workflow.

nodes_used:
  ["n8n-nodes-base.telegramTrigger","n8n-nodes-base.code","n8n-nodes-base.switch","n8n-nodes-base.switch","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.switch","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.telegram","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":["automation","integration","finance","notifications","approval workflows"],"complexity":"medium","use_cases":["Record income and expenses via Telegram","Mobile-first bookkeeping for freelancers and small businesses","Supervisor approval workflow for expenses","Real-time updates to Google Sheets","Quick expense reporting without opening spreadsheets"],"estimated_setup_minutes":30,"required_services":["n8n (Cloud or self-hosted)","Telegram Bot API (Bot created via @BotFather)","Google Sheets (Google Drive)","Google OAuth2 credentials for Sheets access"],"key_features":["Telegram /start entry point with inline buttons","Parse and validate structured transaction text","Append and update rows in separate Google Sheets tabs (income vs expenses)","Supervisor approval flow with inline Approve/Reject/View buttons","Send user feedback notifications based on approval status (recorded, pending, approved, rejected)」「Configurable supervisor chatId and customizable inline keyboard/buttons」「Switch node routing for different message types (commands, text, callbacks)」「Works in real time with immediate sheet updates"],"target_audience":["Freelancers","Small business owners","Financial assistants/bookkeepers with mobile workflows」「Team leads or supervisors approving expenses」「n8n users and workflow builders"]}


name: Publish LinkedIn & X Posts with Telegram Bot, Gemini AI & Vector Memory
author_name: Gregory
author_username: gregory
categories: []
created_at: 2025-07-18T17:34:29.119Z
updated_at: 2025-07-18T17:34:29.119Z
url: https://n8n.io/workflows/6148
scraped_at: 2025-09-14 19:11:00
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.

  Overview

  This is a Telegram Bot capable of receiving information from the user in the form of text messages, voice messages, images or documents (e.g., presentations, PDFs, HTML pages), and publishing posts to the user's social platforms.

  The bot always sends the user a draft of the post for verification before publishing it.

  The bot saves relevant information to its long-term memory (vector store), so you don't need to repeat it in every interaction (e.g., who you are, your company, product, etc.).

  This template supports creating posts in LinkedIn and X.

  Setup

  Requirements
  To use this template your will need:
  Google's AI Studio API key. Get one here: https://aistudio.google.com/app/apikey
  Telegram Bot API key. You receive one when you register a new Telegram Bot via @BotFather bot in Telegram.
  LinkedIn API key. Follow the instructions here to create one: https://docs.n8n.io/integrations/builtin/credentials/linkedin/
  X API key. Follow the instructions here to create one: https://docs.n8n.io/integrations/builtin/credentials/twitter/

  Step-by-step instruction
  Import this template
  Create a new Telegram Bot or get an API key for existing one.
  Configre Telegram nodes with Telegram API key.
  Obtain a Google's AI Studio API key. Set it in "Describe document", "Describe audio" and "Google Gemini Chat Model".
  Create an API key for LinkedIn.
  Create an API key for X.
  Set our LinkedIn key in "Create post in LinkedIn" nodes.
  Set your X key in "Create X (Twitter) post" node.

  Other
  Bright-colored notes in the template highlight information that needs to be set before launching the template.

nodes_used:
  ["n8n-nodes-base.telegramTrigger","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","n8n-nodes-base.telegram","n8n-nodes-base.twitterTool","@n8n/n8n-nodes-langchain.memoryManager","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.extractFromFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.linkedInTool","n8n-nodes-base.linkedInTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.vectorStoreInMemory","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.telegram","n8n-nodes-base.telegram"]

workflow_json_compressed:
  [encoded data, 9080 characters]

metadata_json:
  {"categories":["automation","social media","integration","AI","content creation"],"complexity":"complex","use_cases":["Automated multi-platform social post creation and publishing","Convert user-provided text/voice/images/documents into social post drafts","AI-assisted drafting and verification workflow via Telegram","Long-term user/company context storage using vector embeddings","Repurposing documents/presentations into LinkedIn/X posts"],"estimated_setup_minutes":45,"required_services":["n8n self-hosted instance (community nodes support)","Google AI Studio (Gemini) API key","Telegram Bot API key","LinkedIn API key","X (Twitter) API key","Vector store / vector database for long-term memory (self-hosted or third-party)"],"key_features":["Accepts text, voice, images and document uploads via Telegram","Uses Google Gemini to describe/transcribe content and generate post drafts","Sends draft to user for verification before publishing","Publishes posts to LinkedIn and X","Stores and retrieves long-term context in a vector memory (embeddings) to avoid repeated info requests"],"target_audience":["Marketers","Social media managers","Content creators and community managers\",\"Developers/technical users who self-host n8n"]}


name: Auto Germany Apartment Search & Apply with Immobilienscout24 & Google Services
author_name: Abbas Ali
author_username: abbas12142
categories: []
created_at: 2025-07-18T19:28:42.194Z
updated_at: 2025-07-18T19:28:42.194Z
url: https://n8n.io/workflows/6150
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  This n8n workflow automatically finds apartments for rent in Germany, filters them by your city, rent budget, and number of rooms, and applies to them via email. Each application includes:
  A personalized German cover letter
  Schufa report (fetched dynamically from Google Drive)
  Recent salary slips (also fetched from Google Drive)

  The workflow runs daily at a scheduled time, emails landlords or agencies automatically, and logs every application into a Google Sheet for tracking.

  How It Works
  Scheduled Trigger – Runs every day at 9 AM (adjustable).
  Fetch Listings – Uses immobilienscout24 API (or similar) to pull rental listings for your selected city.
  Filter Listings – Keeps only listings matching your CITY, MAX_RENT, and ROOMS settings.
  Fetch Documents – Retrieves your Schufa report and salary slips from Google Drive (no need for local hosting).
  Generate Cover Letter – Creates a personalized German-language letter per apartment.
  Send Email Application – Sends the email to the landlord or agent with cover letter + documents attached.
  Log Applications – Saves each application (title, address, rent, date) in a Google Sheet.

  How to Use
  Import the workflow JSON into n8n.
  Set environment variables in n8n (for security):
  	immobilienscout24_TOKEN: Your immobilienscout24 API token
  	immobilienscout24_LISTING_ACTOR: Actor ID for your preferred rental listing scraper (or custom)
  	MY_EMAIL:  Your sender email address (SMTP configured in n8n)
  	SCHUFA_FILE_ID:  Google Drive File ID for your Schufa PDF
  	SALARY_FILE_ID: Google Drive File ID for your Salary Slips PDF
  	APPLICATION_SHEET_ID: Google Sheet ID to log applications
  Authenticate Google Drive and Google Sheets (OAuth2 in n8n).
  Customize search filters in the Set Config node:
  	CITY (e.g., Berlin)
  	MAX_RENT (e.g., 1200)
  	ROOMS (e.g., 2)
  Activate the workflow – It will run daily at the configured time and send applications automatically.
  Check your Google Sheet – Every application will be logged for tracking.

  Requirements
  An immobilienscout24 account (or another apartment listing API, can be substituted).
  A Google account (for Drive and Sheets integration).
  A Schufa report (PDF) uploaded to Google Drive.
  Recent salary slips (PDF) uploaded to Google Drive.
  An SMTP-configured email account for sending applications.
  n8n instance (self-hosted or cloud) with:
  	Google Drive and Google Sheets credentials configured
  	Environment variables set for tokens and file IDs
  	A working email SMTP setup

nodes_used:
  ["n8n-nodes-base.cron","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.function","n8n-nodes-base.function","n8n-nodes-base.function","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.function","n8n-nodes-base.emailSend","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  [encoded data, 4520 characters]

metadata_json:
  {"categories":["automation","integration","real estate","email automation","document management"],"complexity":"complex","use_cases":["Automatically find and apply to rental listings in Germany","Filter listings by city, max rent and number of rooms","Attach Schufa and salary slips from Google Drive to applications","Generate personalized German cover letters for each application","Log every application into a Google Sheet for tracking"],"estimated_setup_minutes":45,"required_services":["Immobilienscout24 API (or substitute apartment listing API)","Google Drive (OAuth)","Google Sheets (OAuth)","SMTP email provider (configured in n8n)","n8n instance (self-hosted or cloud)"],"key_features":["Scheduled daily search trigger","API-based listing fetch and filtering (CITY, MAX_RENT, ROOMS)","Dynamic retrieval of Schufa and salary PDFs from Google Drive","Personalized German cover letter generation per listing","Automated email sending with attachments to landlords/agents (SMTP) and logging to Google Sheets"],"target_audience":["Renters searching for apartments in Germany","n8n users / automation builders","Technical users comfortable configuring APIs, OAuth and SMTP"]}


name: Make Every Product Photo Look Like a Luxury Ad Fully Automated AI + google drive
author_name: ARRE
author_username: arre
categories: []
created_at: 2025-07-18T19:58:18.885Z
updated_at: 2025-07-18T19:58:18.885Z
url: https://n8n.io/workflows/6151
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  Watch the video to better understand this workflow :
  ARRE-automation

  Good to know:
  This workflow automatically processes product images from Google Drive, generates AI-powered background prompts using multiple AI models (ChatGPT, Claude, or Groq), creates professional background scenes using Pixelcut.ai, and saves enhanced images back to your Google Drive. Perfect for e-commerce businesses and product photography workflows.

  Who is this for?

  ➖E-commerce store owners who need professional product backgrounds
  ➖Product photographers looking to automate background generation
  ➖Marketing teams creating consistent product imagery
  ➖Small businesses wanting to enhance their product photos without expensive studio setups
  ➖Anyone who needs to quickly transform transparent product images into commercial-ready photos

  What problem is this workflow solving?

  This workflow solves the challenge of creating professional product photography backgrounds at scale. Instead of manually editing each product image or setting up expensive photo shoots, it automatically generates contextually appropriate backgrounds for your products using AI technology. It eliminates the time-consuming process of background creation while maintaining professional quality and consistency across your product catalog.

  What this workflow does:

  ✅Automatically fetches product images from your Google Drive folder
  ✅Downloads transparent/background-free product images
  ✅Uses advanced AI models (ChatGPT, Claude, or Groq) to generate intelligent background prompts based on product analysis
  ✅Creates professional backgrounds using Pixelcut.ai API with AI-generated or custom prompts
  ✅Saves enhanced product images back to Google Drive with organized naming
  ✅Processes multiple images in batch automatically

  How it works:

  1️⃣Google Drive node searches for PNG product images in your specified folder
  2️⃣Binary download node retrieves the actual image files for processing
  3️⃣Optional AI agent analyzes products using your chosen AI model (OpenAI GPT-4, Claude, or Groq) and generates appropriate background prompts
  4️⃣Pixelcut.ai API processes images and adds professional backgrounds using AI-generated or manual prompts
  5️⃣Enhanced images are automatically saved back to Google Drive with "enhanced-" prefix

  How to use:

  Set up Google Drive OAuth2 credentials in n8n
  Create a Pixelcut.ai account and get your API key
  Configure your source folder ID in the Google Drive nodes
  Set up your output folder ID for enhanced images
  Choose and configure your preferred AI model credentials (OpenAI for ChatGPT, Anthropic for Claude, or Groq)
  Replace placeholder API keys with your actual credentials
  Execute the workflow to process your product images

  Requirements:

  ✅n8n instance (cloud or self-hosted)
  ✅Google Drive account with OAuth2 access
  ✅Pixelcut.ai API account and key
  ✅Product images in PNG format (transparent backgrounds recommended)
  ✅AI API credentials for automatic prompt generation (choose from):
     OpenAI API (for ChatGPT/GPT-4)
     Anthropic API (for Claude)
     Groq API (for fast inference)
  ✅Basic understanding of n8n workflows

  Customizing this workflow:

  🟢Modify the image format filter to support JPG, WEBP, or other formats
  🟢Switch between different AI models (ChatGPT, Claude, Groq) for prompt generation
  🟢Customize background prompts for different product categories
  🟢Add background removal step for products with existing backgrounds
  🟢Switch to different AI background services (Deep-Image.ai, Remove.bg, etc.)
  🟢Configure different AI model parameters for varied prompt creativity
  🟢Add image resizing or quality optimization steps
  🟢Create multiple output folders for different product categories
  🟢Add error handling and retry mechanisms for failed processes
  🟢Implement A/B testing with different AI models for prompt quality comparison

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

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

metadata_json:
  {"categories":["automation","image-processing","e-commerce","AI-enhancement","integration"],"complexity":"medium","use_cases":["Automated product photo background generation","Batch enhancement of e-commerce catalogs","Consistent marketing/product imagery creation","Replacing manual/photo-studio background work","A/B testing AI prompts for visual styling"],"estimated_setup_minutes":30,"required_services":["Google Drive (OAuth2)","Pixelcut.ai API","One AI prompt model (OpenAI GPT-4/ChatGPT, Anthropic Claude, or Groq)","n8n instance (cloud or self-hosted)"],"key_features":["Automatically finds and downloads PNG product images from Google Drive","AI-driven background prompt generation (supports ChatGPT/Claude/Groq)","Creates professional backgrounds via Pixelcut.ai API","Batch processing of multiple images","Saves enhanced images back to Google Drive with organized naming (e.g., enhanced- prefix)"],"target_audience":["E-commerce store owners","Product photographers","Marketing teams and creatives focusing on product imagery consistency」「Small businesses and sellers who lack in-house studio resources"]}


name: Multi-Source News Curator with Mistral AI Analysis, Summaries & Custom Channels
author_name: Hybroht
author_username: hybroht
categories: []
created_at: 2025-07-18T22:44:28.618Z
updated_at: 2025-07-18T22:44:28.618Z
url: https://n8n.io/workflows/6157
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:34
description:
  Flexible News Curator - Multi-Sources, AI Analysis, Summaries, Translation, and Settable Channels

  🎬 Overview

  The Flexible News Curator workflow can automate the collection, filtering, AI-driven analysis, and summarization of news from diverse sources of your interest. Using customizable search themes, RSS feeds, and (optional) video descriptions, it delivers concise, quality news summaries via configurable channels. This workflow is designed to help reduce information overload and keep you updated effortlessly.

  Click the image below to watch the video guide:

  ✨ Features

  Multi-Source News Aggregation**: Collect news from customizable RSS feeds, SerpAPI, and Video Channel Feeds (if enabled).
  AI-Powered News Selection \& Summarization**: Uses advanced AI agents (Mistral Cloud Chat Model by default) to select, analyze, and summarize top news.
  Quality Assurance Step**: Optional AI-powered filtering to improve news selection quality before analysis.
  Multi-Language Translation \& Tone Customization**: Translate summaries and customize tone for localized or tailored consumption.
  Multi-Channel Delivery**: Send outputs via Email, Telegram, WhatsApp, Webhook, or save to disk.
  Advanced Filtering**: Regex-based filtering on URLs, titles, and content to exclude unwanted articles.
  Sub-Workflow Architecture**: Modular handling of video transcripts, content retrieval, multi-theme searching, and more.
  Flexible Scheduling \& Trigger Options**: Supports schedule-based triggering, email (IMAP) triggers, and webhook-based activation.
  (Optional) Video Search**: Video content descriptions via Video Channel Feeds.

  👤 Who is this for?

  This workflow benefits professionals, researchers, marketers, and anyone who needs to stay informed about specific news themes without wasting time on irrelevant information or reading too many news to select the most interesting ones.

  💡 What problem does this solve?

  The workflow tackles the challenge of information overload by automatically filtering, summarizing, and delivering the essential news tailored to your interests and preferences. It integrates various data sources and channels for comprehensive yet efficient news consumption. Ideal use-cases include:

  Monitoring breakthroughs in research fields
  Receiving daily business opportunity updates (e.g., real estate)
  Lower the cognitive load required to follow your favorite news
  Translating news summaries to your chosen language

  🔍 What this workflow does

  The workflow gathers news from RSS feeds, search engines, and social media, then:

  Filters duplicates and irrelevant content via custom regex filters and date ranges.
  Applies optional AI-powered Quality Assurance for headline evaluation.
  Selects top news articles with AI analysis focused on user-defined criteria and audience.
  Summarizes individual articles using AI summarization agents, ensuring structured, consistent outputs.
  Optionally translates and adjusts the tone of summaries.
  Distributes summaries through configured channels such as email, social media, messaging apps, or webhook calls.

  🔄 Workflow Steps

  1. News Gathering

  Fetch news using RSS feeds, SerpAPI search, and optionally video channel feeds.
  Standardize output structures for seamless merging.
  Employ sub-workflows for video transcript retrieval and looping over custom RSS feed lists.

  2. Filtering

  Remove duplicates and news outside the specified date range.
  Exclude articles matching user-defined keywords via regex filters in URLs, titles, and content.
  Limit the number of news articles for AI analysis.

  3. News Selection

  Optionally invoke an AI Quality Assurance agent to pre-filter headlines.
  Aggregate news for AI analysis.
  Select and summarize top news articles with AI agents using customizable criteria.
  Parse AI responses into defined JSON structures to ensure consistent data.

  4. News Summarization

  Prepare individual article content.
  Summarize content with AI agents and validate structured output.

  5. Sender Preparation

  Combine general summaries with selected top news summaries.
  Format final summaries as text and HTML suitable for delivery.
  Optionally apply translation and tone adjustment.

  6. Sending

  Deliver summaries through selected channels (Email, Telegram, WhatsApp, Webhook).
  Optionally save the output to disk as JSON.

  📌 Expected Input / Configuration

  The workflow is primarily configured via the Configure Workflow Args node or the Global Variables custom node, with these key parameters:

  | Parameter | Description | Type |
  | :-- | :-- | :-- |
  | search_themes | List of keywords/themes to search in SerpAPI | List of strings |
  | datetime_delta | Number of days back to include news from; e.g., 0 = today | Integer |
  | link_censor | Regex to exclude unwanted URLs | Regex string |
  | title_censor | Regex to exclude unwanted titles | Regex string |
  | content_censor | Regex to exclude unwanted content | Regex string |
  | use_qa | Flag to enable AI Quality Assurance for headline filtering | Boolean |
  | max_news_analysis | Max number of articles sent to News Analyzer | Integer |
  | qa_max_news | Number of headlines the QA Agent analyzes | Integer |
  | qa_max_top_news | Number of headlines selected by QA Agent | Integer |
  | qa_check_criteria | Criteria used by QA Agent to discard low-quality headlines | List of strings |
  | qa_select_criteria | Criteria used by QA Agent to rank/select the best headlines | List of strings |
  | news_focus | What the News Analyzer should focus on while selecting news | String |
  | news_target_audience | Target audience description for the News Analyzer | String |
  | news_criteria | Instructions for the News Analyzer to identify relevant news | List of strings |
  | language | Language for news summaries; triggers translation if not English | String |
  | translator_tone | Tone for translation (e.g., casual, professional) | String |
  | translator_notes | Additional instructions for the translator | String |
  | email_sender | Email address used for sending (via SMTP) | String |
  | email_recipients | Recipient email addresses (comma-separated) | String |
  | email_subject | Email subject line | String |
  | telegram_chat_id | Telegram chat ID for sending notifications | String |
  | phone_number | Phone number for WhatsApp messages | String |
  | rss_feeds | Custom list of RSS feeds (objects with link and needs_content_search properties) | JSON array of objects |
  | video_rss_feeds | Custom list of video RSS feeds | JSON array of objects |
  | enable_video_search | Enable/disable video search functionality | Boolean |
  | enabled_senders | List of enabled delivery channels (email, telegram, whatsapp, webhook, save-to-disk) | List of strings |

  Hint: To add or combine keywords in censors, use the pattern "keyword1|keyword2|keyword3".

  📦 Expected Output

  Structured JSON containing a general news summary, top news with summaries, and metadata, suitable for your preferred channel delivery.

  📌 Example



  An example that includes workflow parameters is provided in a note within the workflow.

  ⚙️ n8n Setup Used

  n8n version:** 1.100.1
  n8n-nodes-serpapi:** 0.1.6
  n8n-nodes-globals:** 1.1.0
  LLM Model:** mistral-small-latest (API)
  IMAP:** imap.gmail.com (Port 993)
  Platform:** Podman 4.3.1 on Linux
  Date:** 2025-07-15

  ⚡ Requirements to Use / Setup

  Self-hosted n8n instance.
  (This workflow contains community nodes that are only compatible with the self-hosted version of n8n.)
  Install necessary custom nodes:
      n8n-nodes-serpapi
      n8n-nodes-globals (or use Edit Field (Set) node instead)
  Configure all sub-workflows bundled within this template (see Sub-Workflows Guide).
  Provide valid credentials to nodes for SerpAPI, Telegram, WhatsApp, Mistral Cloud Chat API, and SMTP (for email).
  Custom RSS feed list must be set by you in the workflow args.
  You must either install the SerpAPI custom node or deactivate it.

  ⚠️ Notes, Assumptions \& Warnings

  The workflow timeout is set to 30 minutes by default; adjust depending on your setup and workload.
  Duplicate removal is applied, but occasional overlaps might still appear depending on feed sources.
  This workflow assumes familiarity with n8n, RSS feeds, API key management and regex expressions.
  Video search only works for configured video channels; remember to respect the rights of these channels.
  Using AI agents (Mistral or substitute LLMs) requires access to their API services and keys.
  Out-of-the-box customization is done via the Global Variables node or direct workflow argument edits.

  ℹ️ 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. For questions, support, or feature requests, reach out via contact@hybroht.com.

  ❓ Questions & Issues

  We will answer any questions, provided they are related to this workflow.

  Please contact us if there is any bug/issue with this workflow. We will assist you.

  ⚖️ Warranty & Legal Notice

  You can view the full license terms here. Please review them before making your purchase.

  By purchasing this product, you agree to these terms.

nodes_used:
  ["n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.filter","n8n-nodes-base.limit","@n8n/n8n-nodes-langchain.lmChatMistralCloud","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.merge","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.markdown","n8n-nodes-base.executeWorkflow","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.code","n8n-nodes-base.executeWorkflow","n8n-nodes-base.splitInBatches","n8n-nodes-base.filter","n8n-nodes-base.if","n8n-nodes-base.executeWorkflow","n8n-nodes-base.rssFeedRead","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-globals.globalConstants","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.markdown","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.stopAndError","n8n-nodes-base.switch","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitOut","n8n-nodes-base.if","n8n-nodes-base.removeDuplicates","n8n-nodes-base.set","n8n-nodes-base.rssFeedRead","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.if","n8n-nodes-base.aggregate","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.manualTrigger","n8n-nodes-globals.globalConstants","n8n-nodes-base.code","n8n-nodes-base.emailReadImap","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.readWriteFile","n8n-nodes-base.function","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.emailSend","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.whatsApp","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.sort","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.code","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.xml","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-serpapi.serpApi","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.executeWorkflow","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflow"]

workflow_json_compressed:
  [encoded data, 10340 characters]

metadata_json:
  {"categories":["automation","integration","data processing","content curation","AI / NLP"],"complexity":"complex","use_cases":["Continuous topic monitoring (research, industry news)","Daily business opportunity alerts (e.g., real estate leads)","Reducing information overload with curated summaries","Multilingual news distribution and localization","Aggregating and summarizing video descriptions/transcripts"],"estimated_setup_minutes":90,"required_services":["n8n (self-hosted with community/custom nodes)","SerpAPI (or search API equivalent)","Mistral Cloud (Mistral AI) or substitute LLM API","IMAP (email trigger) and SMTP (email sending)","Telegram API","WhatsApp API / provider","Webhook endpoints (optional)","Video channel RSS / YouTube feeds (optional)"],"key_features":["Multi-source aggregation: RSS, SerpAPI, optional video feeds","AI-powered headline QA, selection and structured summarization","Optional translation and tone customization","Regex-based filtering (URLs, titles, content) and deduplication","Modular sub-workflows for transcripts, content retrieval and looping feeds"],"target_audience":["Researchers and analysts","Marketers and content teams","Developers / automation engineers using n8n self-hosted instances"]}


name: Automate Google Business Profile Posts with GPT-4 & Google Sheets
author_name: Muhammad Qaisar Mehmood
author_username: qaisar
categories: []
created_at: 2025-07-19T08:11:14.468Z
updated_at: 2025-07-19T08:11:14.468Z
url: https://n8n.io/workflows/6165
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-30 08:33:37
description:
  This powerful n8n workflow automatically generates and publishes Google Business Profile (GMB) posts using topics listed in a Google Sheet.  
  It uses OpenAI to write SEO-optimized post descriptions and generate AI images based on the topic — then posts them directly to your GMB profile and marks them as published in the sheet.

  🎯 Use Case  
  Perfect for:

  Digital marketers managing local SEO  
  Agencies automating content for clients  
  Businesses regularly posting to GMB  
  Teams managing editorial calendars via Google Sheets

  ⚙️ Workflow Overview  

  | 🧩 Node                        | 🔧 Purpose |
  |-------------------------------|------------|
  | 🕘 Schedule Trigger        | Runs daily at 9AM (configurable) |
  | 📄 Get Unpublished Row     | Reads a row from Google Sheet where Status is not marked "Published" |
  | ✍️ Generate Post Text      | Uses OpenAI (GPT-4) to write a compelling, local-business optimized post |
  | 🖼 Generate Post Image     | Uses DALL·E or similar to create an image matching the topic |
  | 📬 Post to GMB             | Publishes the generated content to your Google Business Profile |
  | ✅ Update Sheet            | Marks the status as "Published" in the Google Sheet |

  📄 Google Sheet Format

  | Column Name | Description |
  |-------------|-------------|
  | Topic       | The subject or idea for the GMB post |
  | Status      | Should be blank or "Unpublished" to trigger the flow |
  | Date        | (Optional) Posting schedule or note |
  | Notes       | (Optional) Internal info — not used in the automation |

  🔐 Google My Business API Setup

  1. Google Cloud Configuration  
  Go to Google Cloud Console  
  Enable the Google My Business API  
  Create OAuth2 Client ID and Client Secret  
  Add this required scope:  
  2. Request for GMB Quota  

  You need to request for GMB (Google Business Profile) API Quota from here, beacuse by deafult it  sets to zero:  https://support.google.com/business/contact/api_default
  3. n8n Credential Setup  
  In n8n, go to Credentials &gt; Google OAuth2  
  Use your Client ID and Client Secret  
  Use this credential in GMB-related nodes  

  🧠 OpenAI Prompt Customization

  Modify the prompt in the OpenAI node to match your brand’s voice:

  Example Prompt  
  Write a short, engaging Google Business Post about: "{{ $json.topic }}".  
  Make it suitable for a local audience and include a subtle call to action.

  🧪 Optional Enhancements

  Add If node to delay publishing on certain days  
  Use Slack or Email notifications to alert before/after posting  
  Use Multiple Businesses by adding a Router or Switch node per GMB account  

  ✅ Benefits

  🔁 Fully automated GMB posting  
  ✍️ SEO-optimized, AI-written content  
  🖼 Matching images for visual engagement  
  📊 Maintains a content log via Google Sheets  
  🧠 Easily customizable prompt logic and schedule  

nodes_used:
  ["n8n-nodes-base.googleSheets","n8n-nodes-base.googleBusinessProfile","n8n-nodes-base.googleSheets","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  H4sIAAAAAAAAE52UXW/TMBSG/0rkK5DiEn/GzhUbiLGLiYkBN1OFju3jNqJ1qiTVQFX/O0rpyLZ2H3CbvOf1c95z7A1ZYg+k2pA6dT0kj+eBVMRKATZyrziUEYRTAj1HbQqhLdPKiuBRRCZNqbQQpbOSa1YiAAoXSgFkm5PUBOxIdb0h9WBZailDWSjq0SsqReEoKB1pdE6aUjIHMpKcJFgiqcgZ9tnXtFq7Rd3NMWSfmxuSk/7XaviZTKI7d+qgw8msaWYLvJoj9h3Jyarp6r5uEqmuqbI858ZMc7KCFpbYY9uRarP9Y/UN224nlBO9zfec6FgIOhpqpFNUKhOpU45RzktppQQvNIycl03XZ32TnV2cPsN3uu7qhF132TaxXuB9UMXNSzjZX0qFmqsoLY0oI5XRFtRYpahkVhpt0JVCjJQX0P7IoMsub/P8jyxL9c9RFlzYIgRNCwSg0ihOnTSWBs8jM95LzcMIeeXnGNYLzL609WyGLXsUstsr98LBoumHXSNX2N+WZ6/ew6+sabOPzbp9PckebIaV8pF2dl7n6cOiuSFV367x4RAmfFwWU4D10lEvSkVl4R11hllqLUpbFAFCvDOGk/PsZIapHxt7m0x6M3a3gDTzc6jTBPa6u8is1DnTzw2AT8Yt4dJHFh2jCpmgMkhGwSmgBgKCcahjKEe8TytMJ+fZuzn02UUTcPECzsVykO8q62O45bO8Q5zTnPgmJfRD7SAao6o2ZAn1YHi92T0pj126nSondQr4k1TFdjrd5veUx5yeuBhH/Q4jqjYE6u9DIGuY4f7bnRMOZ34gf3jI4UU4hv7kC3kU/ljFMedD5CN22+1v1V/JqTsGAAA=

metadata_json:
  {"categories":["automation","marketing","content creation","integration"],"complexity":"medium","use_cases":["Automate local SEO posts for Google Business Profile","Bulk-create and schedule GMB posts from a topic sheet","Agency workflow to generate client content at scale","Teams managing editorial calendars for local listings"],"estimated_setup_minutes":30,"required_services":["Google Sheets","Google Business Profile (GMB) / Google My Business API","OpenAI (GPT-4 and image generation)","Google account with GMB access"],"key_features":["Generate SEO-optimized post descriptions with GPT-4","Create AI images for posts","Automatically publish posts to Google Business Profile","Mark items as published in Google Sheet","Scheduled, recurring posting"],"target_audience":["Digital marketers","Local SEO specialists","Marketing agencies managing multiple clients\",\"Small businesses managing local listings\",\"Content/editorial teams"]}


name: Gmail Assistant with Full Gmail history RAG using OpenAI
author_name: Zain Ali
author_username: zain104
categories: []
created_at: 2025-07-19T08:43:11.786Z
updated_at: 2025-07-19T08:43:11.786Z
url: https://n8n.io/workflows/6169
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  🧠 RAG with Full Gmail history + Real time email updates in RAG using OpenAI & Qdrant

  &gt; Summary:  
  &gt; This workflow listens for new Gmail messages, extracts and cleans email content, generates embeddings via OpenAI, stores them in a Qdrant vector database, and then enables a Retrieval‑Augmented‑Generation (RAG) agent to answer user queries against those stored emails. It’s designed for teams or bots that need conversational access to past emails.

  🧑‍🤝‍🧑 Who’s it for
  Support teams** who want to surface past customer emails in chatbots or help‑desk portals  
  Sales ops** that need AI‑powered summaries and quick lookup of email histories  
  Developers** building RAG agents over email archives  

  ⚙️ How it works / What it does
  Trigger  
     Gmail Trigger polls every minute for new messages.  
  Fetch & Clean  
     Get Mail Data pulls full message metadata and body.  
     Code node normalizes the body (removes line breaks, collapses spaces).  
  Embed & Store  
     Embeddings OpenAI node computes vector embeddings.  
     Qdrant Vector Store inserts embeddings + metadata into the emails_history collection.  
  Batch Processing  
     SplitInBatches handles large inbox loads in chunks of 50.  
  RAG Interaction  
     When chat message received → RAG Agent → uses Qdrant Email Vector Store as a tool to retrieve relevant email snippets before responding.  
  Memory  
     Simple Memory buffer ensures the agent retains recent context.  

  🛠️ How to set up
  n8n Instance  
     Deploy n8n (self‑hosted or via Coolify/Docker).  
  Credentials  
     Create an OAuth2 credential in n8n for Gmail (with Gmail API scopes).  
     Add your OpenAI API key in n8n credentials.  
  Qdrant  
     Stand up a Qdrant instance (self‑hosted or Qdrant Cloud).  
     Note your host, port, and API key (if any).  
  Import Workflow  
     In n8n, go to Workflows → Import → paste the JSON you provided.  
     Ensure each credential reference (Gmail & OpenAI) matches your n8n credential IDs.  
  Test  
     Click Execute Workflow or send a test email to your Gmail.  
     Monitor n8n logs: you should see new points in Qdrant and RAG responses.  

  📋 Requirements
  n8n** (Self-hosted or Cloud)  
  Gmail API** enabled on a Google Cloud project  
  OpenAI API** access (with Embedding & Chat endpoints)  
  Qdrant** (hosted or cloud) with a collection named emails_history  

  🎨 How to customize the workflow
  Change Collection Name**  
    Update the qdrantCollection.value in all Qdrant nodes if you prefer a different collection.  
  Adjust Polling Frequency**  
    In the Gmail Trigger node, switch from everyMinute to everyFiveMinutes or a webhook‑style trigger.  
  Metadata Tags**  
    In Enhanced Default Data Loader, tweak the metadataValues to tag by folder, label, or sender domain.  
  Batch Size**  
    In SplitInBatches, change batchSize to suit your inbox volume.  
  RAG Agent Prompt**  
    Customize the systemMessage in the RAG Agent node to set the assistant’s tone, instruct on date handling, or add additional tools.  
  Additional Tools**  
    Chain other n8n nodes (e.g., Slack, Discord) after the RAG Agent to broadcast AI answers to team channels.  

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

workflow_json_compressed:
  [encoded data, 4240 characters]

metadata_json:
  {"categories":["automation","integration","data processing","AI/ML","knowledge management"],"complexity":"complex","use_cases":["Provide conversational access to historical emails (RAG)","Surface past customer emails in chatbots or help‑desk portals","Generate AI summaries and quick lookup of email histories","Real‑time ingestion and retrieval of new emails for agents/bots"],"estimated_setup_minutes":45,"required_services":["n8n (self‑hosted or cloud)","Gmail API (OAuth2)","OpenAI API (Embeddings & Chat)","Qdrant (self‑hosted or cloud)"],"key_features":["Polls Gmail for new messages and fetches full mail data","Cleans and normalizes email bodies","Creates embeddings with OpenAI and stores them in Qdrant","Batch processing for large inboxes","RAG agent that retrieves relevant email snippets before responding (uses Qdrant as vector store)​ and retains recent context via simple memory buffer​"],"target_audience":["Support teams","Sales operations teams","Developers building RAG agents over email archives"]}


name: Send Bulk WhatsApp Messages from Google Sheets using WasenderAPI
author_name: SpaGreen Creative
author_username: spagreen
categories: []
created_at: 2025-07-19T13:58:13.116Z
updated_at: 2025-07-19T13:58:13.116Z
url: https://n8n.io/workflows/6175
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  WhatsApp Bulk Message Broadcast From Google Sheet (Unofficial API)

  Who’s it for

  This workflow is designed for marketers, small business owners, freelancers, and support teams who want to automate WhatsApp messaging using a Google Sheet without paying for the WhatsApp Business API. Ideal for those who need a budget-friendly and scalable bulk messaging solution using their personal or business WhatsApp number.

  How it works / What it does

  This workflow reads a Google Sheet for rows where the Status column is set to pending, sends a message via the connected WhatsApp number using the WasenderAPI, and updates the message status to sent. It repeats this process every 10 seconds while maintaining a safe API rate limit.

  How to set up

  Duplicate the Sample Sheet: Use this format Sample Sheet.
  Fill contacts: Add WhatsApp numbers, names, and messages. Set the Status column to pending.
  Connect Google Sheets in the n8n node.
  Subscribe to WasenderAPI and get your API key.
  Paste API Key into the HTTP node (if using unofficial API).
  Activate your workflow in n8n.

  Requirements

  Google Sheets API credentials
  A configured Google Sheet
  WhatsApp (Personal or Business)
  WasenderAPI.com subscription (approx. $6/month)
  n8n setup with credentials for Google Sheets

  How to customize the workflow

  Add delay**: Insert a Wait node if you want to add custom time gaps between messages.
  Change message format**: Modify the HTTP/Send Template node to send different message types (text, media, etc.).
  Personalize content**: Use dynamic data from sheet columns (e.g., name, image URL).
  Add error handling**: Insert a Set or IF node after the WhatsApp send node to capture and log failed deliveries.

  Workflow Highlights

  Triggers every 5 Minutes
  Reads pending messages from Google Sheets
  Sends WhatsApp messages using WasenderAPI or WhatsApp Cloud API
  Updates each row’s Status to sent

  Support & Community

  Need help setting up or customizing the workflow? Reach out here:

  WhatsApp: Chat with Support  
  Discord: Join SpaGreen Server  
  Facebook Group: SpaGreen Community  
  Website: SpaGreen Creative  
  Envato: SpaGreen Portfolio

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

workflow_json_compressed:
  H4sIAAAAAAAAE62VW2/bRhCF/wqxz1xjd7lXvjlG3bpIatVyGqCGH/YylNhQS4VcyTEE/feAtGvJjuQ4Rd8EaXjmO0czww2qAyoR/TtOru7/mfDfyeyLmNyhHC0gWVRuUB37ZKOHi6GOaVqB1gWhDBQDZ4XyStEggquUL2ihvS0qKGRReOEss6GSVBrNqGYiBI5ylGCxbGyCsw5CP4W0Wp61i2UDCQIqU7eCbY6iXQAq0a9tO2sgm84BUp+lNvs0t6k/XS6zd6vmc/YB+t7O6jjL1rXNPsa2qmpf2yY7nVwMjeysR+XNbY5iG2D4uHkwS0ihtCSAKxc45tIQrIksMDjDPbU2SB7QE8Q5JD/PTpsmm0AMQ7c/V9DV0GdV2+0Yhob3y+GBqCMeO2JneziZjSYePKAcLdu+TnUbUXnDdV6w2xwtbWcXkKDrUbkZ3LcJ+ot43rR3qKxs00OOOkjd/WU8t3Xz9N3Q7y/o+lGNn8ht/q/BgoWCcopZoBJzRwR2hlfYcKYYEK8kZTuDZ3MbZ5BNk02QtVV21d71WR2zKcT0H1wZynIqD9g6ihsslcwpg6nngDknAtsgNAbiTVUFxUModrjv23aZXa6hyy4SLPqjhP2yqdNFfGeTn8MLRsGORA9fwa8SXEYPh2MunqgrqrS1hcQajMHcUINNwQguJC+Y5UQ4L3bUn2x9PMy7hx/3Q2Q6p2YgvAM3b9vP4/YpEI466zBoXmBeKY41lwwzVynBJGFUAPpB8PSEPlmginGjuMYkeIs5sQFbUgXMmJOGa0IF7C3C+3rxiofm8dc9E4Vgh1N+DrTD0RaUcBrT4A3mLgRsdJDYcUZtxaWhldnhXHf1bAZd9ssauvtMZB/quEpwfBz8HMKqgcfHnpNipt6EesJ2Q2uYE8A0ZkowzI1SWAdbYRqk8VYRp3y1g52m2n++z/5oE9DjiGPRUPOCjrKC5Zib77YK+TamYU1LhI7nqqzwXFmC7TA73BiGtZQOC2EoA8sK6/fOwRRieDxrkH3sh4P32/X1JLuCLyvojw/APKXlrmYPXxXycZZ/etv4Cdve5sj6VK93JT2kVMfZGMCDRN3Gyy5Ah0q0pkMS6weFcWuI8JJTKrATzmGuncbWe44ZMRQ48dIFgvIhygh+kBqFx4UtN2hh68HEzWZ8i7x2f8bKHNUxwFdUku3t7TZ/XJr/QedF9SHFtx3y7+TzncKb//uDjEc28hDqT79UDzZ81fBe27H4R94OYT6/2gcZ3urk4Ag8v6gH9Lfbbz8KeDihCQAA

metadata_json:
  {"categories":["automation","messaging","integration","marketing"],"complexity":"medium","use_cases":["Bulk WhatsApp broadcasts from a spreadsheet","Lead follow-ups and outreach","Appointment reminders and notifications","Order updates and delivery notifications","Customer support message automation"],"estimated_setup_minutes":15,"required_services":["Google Sheets API / Google account","n8n instance with Google Sheets credentials","WasenderAPI (unofficial WhatsApp API) subscription","WhatsApp account (personal or business)"],"key_features":["Reads rows with Status=pending from Google Sheets","Sends messages via WasenderAPI (configurable to WhatsApp Cloud API)","Updates spreadsheet Status to sent after delivery","Scheduled trigger (every 5 minutes) with safe rate limiting","Supports personalization using sheet columns (name, image URL, etc.)','Configurable delay and basic error handling hooks"],"target_audience":["marketers","small business owners","freelancers/solopreneurs','support teams"]}


name: Daily Email Digest with GPT-4 Summaries to Google Docs
author_name: Michael Gullo
author_username: mgullo
categories: []
created_at: 2025-07-19T17:40:17.830Z
updated_at: 2025-07-19T17:40:17.830Z
url: https://n8n.io/workflows/6180
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  A Customizable n8n Automation That Turns Your Inbox Into A Daily Digest.
  The goal of this workflow is to offer a highly customizable foundation that users can tailor to fit their specific platform and setup. While the current version uses Gmail, it can easily be adapted to work with other providers by replacing the email node with alternatives such as IMAP Email Trigger, Microsoft Outlook, or any compatible Email node.

  This workflow can also be extended to work with platforms like Telegram, WhatsApp, or any service that supports bots and n8n integration. The core objective is to generate scheduled email summaries whether it’s the most recent email, emails from a specific sender, or all emails received within a day.

  I built this workflow as a flexible building block for anyone looking to develop a more advanced email agent. It’s designed to reduce the mental load of reviewing emails each day by automatically delivering a summarized version of your inbox.

  Currently, the summary is saved to Google Docs, chosen for its simplicity and accessibility. However, users can easily modify this to integrate with other document management systems or destinations.

  I plan to continue updating and expanding this workflow to better serve the needs of users. If you have suggestions, ideas, or feedback, I’d love to hear them your input helps make this tool even more useful.

  Workflow Components 
  Schedule Node – Triggers the workflow daily at a specified time.

  Gmail: Get Messages Node – Retrieves the latest email. Can be changed for any amount of emails.

  Limit Node – Ensures only one or any number emails is processed at a time.

  If Node – Checks if any emails were retrieved.

  Code Node – Cleans and formats the email content.

  Code Node – Provides a fallback message if no emails are found.

  OpenAI Summary Node – Summarizes the email using CharGPT.

  Create Google Doc Node – Creates a new Google Document for the summary.

  Update Google Doc Node – Inserts the summarized content into the document.

  Expanding The Workflow
  This workflow is fully modular and easy to extend. To send summaries via Telegram, Slack, or any other emails simply add the respective node after the summary is generated and connect your bot or webhook credentials. To use Outlook instead of Gmail, just swap the email input node with the Microsoft Outlook node or an IMAP Email Trigger, depending on your preferred setup.


  Need Help? Have Questions?
  For consulting and support, or if you have questions, please feel free to connect with me on LinkedIn  or via email. 

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.limit","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleDocs","n8n-nodes-base.googleDocs"]

workflow_json_compressed:
  [encoded data, 4724 characters]

metadata_json:
  {"categories":["automation","integration","data processing","AI summarization"],"complexity":"medium","use_cases":["Daily email digest / inbox triage","Automated email summarization with GPT-4","Archiving summaries to Google Docs","Sending summaries to chat apps or other destinations (Slack, Telegram)","Building a customizable email agent foundation"],"estimated_setup_minutes":20,"required_services":["n8n instance","Gmail (or IMAP / Microsoft Outlook as alternative)","OpenAI (GPT-4 / Chat API)","Google Docs (Google Drive account)","Optional: Telegram, Slack, or other messaging APIs for delivery"],"key_features":["Scheduled daily trigger","Fetches emails (configurable amount / sender filters)","Email content cleanup and fallback handling via Code nodes","GPT-4 based summarization","Creates and updates Google Docs with summary output(s)"],"target_audience":["busy professionals / knowledge workers","team leads and managers","automation engineers and developers building email agents"]}


name: Verify WhatsApp Numbers in Bulk using Google Sheets & WasenderAPI
author_name: SpaGreen Creative
author_username: spagreen
categories: []
created_at: 2025-07-19T21:20:43.959Z
updated_at: 2025-07-19T21:20:43.959Z
url: https://n8n.io/workflows/6183
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:34
description:
  Bulk WhatsApp Number Verification via Unofficial API

  Who’s it for

  This workflow is perfect for marketers, CRM managers, support teams, and data verification agents who need to bulk-check WhatsApp number validity without using the official WhatsApp Business API. It is ideal for teams seeking an affordable and scalable way to clean or validate phone number lists from Google Sheets.

  Overview

  This n8n workflow verifies unlimited WhatsApp numbers from a Google Sheet using your own WhatsApp number through the WasenderAPI.com platform.

  How it works / What it does

  Fetches real-time data from Google Sheets  
  Verifies if a number is registered on WhatsApp  
  Implements delay and batch processing to maintain rate limits  
  Updates verification status back to the Google Sheet  

  Requirements

  Before setting up the workflow, ensure you have:

  An active WhatsApp Account (Personal or Business)  
  Google Sheets API configured within your n8n instance  
  A properly structured Google Sheet, like a sample sheet(Included with the workflow template)
  A WasenderAPI.com subscription (starting from ~$6/month)  

  Google Sheet Format

  Use this sample sheet as your base.

  | WhatsApp No   | Verified/Unverified | Status     |
  |---------------|---------------------|------------|
  | +8801XXXXXXX  | (empty)           | (empty)  |

  &gt; Ensure the Status column is initially blank for unverified rows.

  How to set up

  Step 1: Connect to Google Sheets
  Add a Google Sheets node.
  Authenticate with your Google account.
  Select your target document and worksheet.
  Apply a filter to only select rows where Status is empty.

  Step 2: Loop Through Rows with Delay
  Add a SplitInBatches or Code node to process 5 rows at a time.
  Add a Wait node (set to 5 seconds) between each request to respect API limits.

  Step 3: Verify Number via HTTP Request
  Add an HTTP Request node
  Method: POST
  URL: https://app.wasenderapi.com/api/send-message
  Headers:
    Content-Type: application/json
    Authorization: Bearer YOUR_API_KEY
  Workflow Highlights

  Triggers every 5 Minutes
  Reads pending contact from Google Sheets
  Verify WhatsApp number using WasenderAPI or WhatsApp Cloud API
  Updates each row’s Status to Checked

  Support & Community

  Need help setting up or customizing the workflow? Reach out here:

  WhatsApp: Chat with Support  
  Discord: Join SpaGreen Server  
  Facebook Group: SpaGreen Community  
  Website: SpaGreen Creative  
  Envato: SpaGreen Portfolio

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

workflow_json_compressed:
  H4sIAAAAAAAAE7WWTXPbNhCG/woHZ66HAPGpm60kU7Vp7ImdpE3GB3wsJMYSqZKQHI9H/z1D2bVkl4rddHrhhYt3n3exWOCWVIGMyHh1svgzvfvauPOTsz/GieRkgcmS0S2p6i7Z2uOkj2OaRtS6LChDxdBZobxSNIjgovIlLbW3ZcRSlqUXzjIboqTSaEY1EyFwkpOEi+XcJhy3GLpzTKvluFks55gwkFFqV7jJSW0XSEbkZDW/yj7NbOqOl8vs3WrhsM0+YlvFm2xd2exD3cRY+crOs+OzSa9tpx0Zfbm9M6U/fP7t+vXy42z96+ztq8VX8iD8CtckJ75FmzAcp95YwQQUCqi5oGokipHgR0yqzyQnq2V4PmxzmZO6CbiXvuQ2Cq8LiIxK4KXm4ApUgExILcvghTc7pLdNs8xO19hmk4SLrjdzs+x/1LqGrTI42+FRt5xXaVKf2ORn2Ictm65KVVOT0RfBdF6yy5wsbWsXmLDtyOh2kxP8hn6V8LT2SEbRzju8k/+IbbddWm7yv6mtlVEwBUx5CbxwAgxDAYyWygjnFIt+R/3JVukg6vXdzz1AKqnMdXGZk2t0s6a52jaVlVwIXTIIXnDgLgrQihYgXfReCVYWLJJ/mnpkgB7RBwuFMc4wp8HwkgHHgGAFZ+CNLKLU0cWwZ+FttfiBh/n93z0TpWDDVX4M9ICDTHPmlAUvogUepQPrtYZCU+2YQlk6vsO5aKvpFNvs9Rrbm0xkv1f1KuHhdvAzDKs53i97TApMvQj1iD3AWiPR80BBC/TAKY1gqUKQKniDKiCWcgd7nip/dZO9axLSw4jboD7mCR1lJcuBG/kUkPimTlj3B44criujvKCRMihKJ4BHKsBFTaHgkdHCq2A93aFO4kHAKj4GM7LIuX6uamyvalIaoZ13wAJzwIORoLV2UCiplKWGiULsUN5g8rPseD7PzrAOVT3Nxk2drE9dFpv7AVfV04O806aZzvF8hpieDAB+4PzXTcJuUr+ZN9cP57/F1N6c1m9sNR+eCfxI7gxSrpk1EqI1rDdYgCkkBRFU1GVZmtLZncH7Ef10cn/oeq+/XFycZe/xrxV2h4/dLKXlLmbPoZJ6eG+eHXF8b780omchRqDSeuBKGjCCIggdysh0CN7jXpdjys6TTavDU9k34Ul3U6p5DttZ9+M2eoCizDGMWgIyVwAXVIJx1INlBqMyPgohh6AOn7wDVJK/HKpQoTROC+AyeOCCR3DCMlAopGDeeKX2Ons8s/UUt1yYNTF731x3WVVn4xn6Kww/0dGUFzp/vop9r17mxPpUrXf732FKVT3djpS7/qia+rQN2JIRWdN+tqzvFLb3EOcuxlIHMCE44FJw0JxZ8DFyV0hNFWX9s6Gpa/S91FZ4EvvvwlY97pfb7SvgQNNsg3JS1QG/kVGxucyH4ukPFlxu8rs7dyjlwSfEoMzdvfffdfaMDom9uCWeEaf/g/pTo3sZ9rfmJ8bZYLoDV/uQr399RQwmfK46Q5kfv+gGZV8KN9hbj19bg/ovr/dQhv2LfkB+s/kOXI7nWvMMAAA=

metadata_json:
  {"categories":["automation","data verification","integration","CRM","productivity"],"complexity":"medium","use_cases":["Bulk-validate WhatsApp numbers before marketing campaigns","Clean and maintain CRM contact lists","Verify contacts before importing into sales tools","Support team contact validation","Automated contact hygiene for outreach/cold messaging"],"estimated_setup_minutes":20,"required_services":["Google Sheets (Google API access / Google account)","WasenderAPI.com (subscription / API key)","Active WhatsApp account (Personal or Business) connected to WasenderAPI)","n8n instance (self-hosted or cloud)","Optional: WhatsApp Cloud API (if used instead of WasenderAPI)"],"key_features":["Bulk verification of WhatsApp registration from Google Sheet rows","Scheduled trigger (every 5 minutes) to process pending rows","Batch processing (SplitInBatches) to handle groups of rows","Rate-limit handling via Wait/Limit nodes","HTTP Request node to call WasenderAPI for verification (POST with API key auth)"],"target_audience":["marketers","CRM managers","support teams / ops agents doing data verification"]}


name: Jarvis: AI Personal Assistant with Multi-Agent Network via WhatsApp
author_name: Gain FLow AI
author_username: gain-flow
categories: []
created_at: 2025-07-19T22:32:53.438Z
updated_at: 2025-07-19T22:32:53.438Z
url: https://n8n.io/workflows/6186
scraped_at: 2025-09-29 22:37:33
metadata_generated_at: 2025-09-30 08:33:37
description:
  Think of this workflow as your very own J.A.R.V.I.S., the ultimate AI personal assistant, capable of handling a vast array of tasks just like Tony Stark's legendary AI!

  Overview

  This n8n workflow creates a highly intelligent, multi-agent AI system designed to act as your all-in-one personal assistant. At its core is Jarvis, the central AI, who smartly understands your requests and delegates them to specialized "supervisor" AIs. These supervisors then activate their own "sub-agents" (smaller AI workflows) to perform specific tasks, covering everything from managing your work to helping with your personal life and getting you the information you need.

  Use Case

  This powerful workflow is perfect for anyone who wants to automate and streamline almost any digital task. Imagine having an assistant who can:

  Boost Productivity:** Manage your calendar, create and update documents (Google Docs, Sheets, Drive), handle tasks (ClickUp, Google Tasks), and keep your customer data organized (Zoho CRM, Airtable).
  Master Communication:** Draft and search emails, send messages on Slack, and even manage your X (Twitter) interactions.
  Handle Publishing & Content:** Create images, post on social media (Facebook, X, LinkedIn, Instagram), and manage your WordPress content.
  Provide Smart Insights:** Perform deep online research, analyze SEO trends, check financial markets, and gather website performance data from Google Analytics.
  Manage Your Lifestyle:** Keep track of your meal plans and habits in Notion, and even help you with travel planning.

  This system is designed to intelligently choose the best tool for each part of your request, making complex tasks simple.

  How It Works

  It all starts with your input, delivered via WhatsApp. Whether you send a text message, an audio note (which gets transcribed), an image, or a document (from which data like invoices can be extracted), the workflow processes it to understand your need.

  This input then goes to Jarvis, the central AI. Donna acts like a super-smart manager. It quickly figures out which "supervisor" agent is best for your request:
  Productivity Supervisor:** For anything work-related – documents, calendars, tasks, or CRM.
  Communication Supervisor:** For emails, Slack, or X (Twitter).
  Lifestyle Supervisor:** For personal organization like meals or travel.
  Insights Supervisor:** For research, SEO, financial data, or website analytics.
  Publishing Supervisor:** For social media posting, images, or WordPress.

  Donna then hands off your request to the chosen supervisor. Each supervisor, in turn, uses its own set of specialized "sub-agents" (individual n8n workflows) to get the job done. For example, if you ask Donna to "find me flight information," she directs it to the "Lifestyle Supervisor," which then uses the "Travel Agent" to look up flights. The results are then sent back to you directly through WhatsApp. This "Agent as a Tool" setup means complex tasks are broken down and handled by the right expert AI.

  How to Set It Up

  Individual Agent Workflows: This system is built with many specialized AI "agents" working together. To get started, you'll need to set up a separate n8n workflow for each of the individual agents (like "Notion Agent," "Email Agent," "SEO Agent," etc.).
  Connect Agents: Once created, these individual agent workflows must be correctly linked to their designated "call workflow" tools within the main supervisor workflows. This tells Donna and her supervisors which tools to use for each task.
  Credentials: Make sure you've properly connected all necessary accounts and API keys (like Google, OpenAI, Slack, Airtable, etc.) within their respective agent workflows.
  Activate: After setting up and linking all parts and adding your credentials, activate this main workflow.

  For more detailed setup instructions, please refer to our Detailed Setup Guide. If you need any further help, don't hesitate to email us at info.gainflow@gmail.com.

nodes_used:
  ["@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.whatsApp","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.whatsAppTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.extractFromFile","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.extractFromFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleDriveTool","n8n-nodes-base.googleDriveTool","n8n-nodes-base.googleDriveTool","n8n-nodes-base.googleDriveTool","n8n-nodes-base.googleDriveTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleDocsTool","n8n-nodes-base.googleDocsTool","n8n-nodes-base.googleDocsTool","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.clickUpTool","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.clickUpTool","n8n-nodes-base.clickUpTool","n8n-nodes-base.clickUpTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleDriveTool","n8n-nodes-base.googleSheetsTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.zohoCrmTool","n8n-nodes-base.zohoCrmTool","n8n-nodes-base.zohoCrmTool","n8n-nodes-base.zohoCrmTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolCalculator","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolCalculator","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleAnalyticsTool","n8n-nodes-base.googleAnalyticsTool","n8n-nodes-base.googleAnalyticsTool","n8n-nodes-base.googleAnalyticsTool","n8n-nodes-base.googleAnalyticsTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolCalculator","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.twitterTool","n8n-nodes-base.twitterTool","n8n-nodes-base.twitterTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.slackTool","n8n-nodes-base.slackTool","n8n-nodes-base.slackTool","n8n-nodes-base.slackTool","n8n-nodes-base.slackTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.slackTool","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.wordpressTool","n8n-nodes-base.wordpressTool","n8n-nodes-base.wordpressTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.notionTool","n8n-nodes-base.notionTool","n8n-nodes-base.notionTool","n8n-nodes-base.notionTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleTasksTool","n8n-nodes-base.googleTasksTool","n8n-nodes-base.googleTasksTool","n8n-nodes-base.googleTasksTool","n8n-nodes-base.googleTasksTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent"]

workflow_json_compressed:
  [encoded data, 13516 characters]

metadata_json:
  {"categories":["automation","AI/ML","communication","integration","productivity"],"complexity":"complex","use_cases":["Personal AI assistant accessible via WhatsApp","Multi-agent orchestration (supervisors + sub-agents) for task delegation","Scheduling and calendar management","Document retrieval and context-aware responses (Google Drive)","Analytics queries and reporting (Google Analytics integration) / data lookup tasks via APIs"],"estimated_setup_minutes":240,"required_services":["n8n self-hosted or cloud instance","WhatsApp Business API (or Twilio WhatsApp)","LLM provider (OpenAI, Anthropic, etc.)","Google Workspace APIs (Drive, Calendar, Analytics)","Webhooks / HTTP endpoints for external tools","Persistent storage/memory (n8n credentials or external DB)","Optional: hosting for webhook endpoints and any custom tools"],"key_features":["Central AI (Jarvis) that delegates to supervisor and sub-agent networks","Extensive AI/ML node usage with windowed memory buffers for context","Tool orchestration (HTTP/tool workflow nodes) to call external APIs","WhatsApp messaging integration for conversational access","Google Drive/Calendar/Analytics integrations for document, schedule and analytics tasks"],"target_audience":["Developers and automation engineers","Advanced n8n users and integrators","AI enthusiasts building conversational assistants or agent systems"]}


name: Automated Project Kickoff with Dropbox MCP, OpenAI, Slack & Gmail
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2025-07-20T05:05:26.803Z
updated_at: 2025-07-20T05:05:26.803Z
url: https://n8n.io/workflows/6191
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  The Project starter bot takes the hassle out of launching projects by automatically creating a well-structured folder system in Dropbox and sending timely notifications through Slack and Gmail. By combining n8n's intelligent automation and seamless integration with Dropbox, Slack, and Gmail, this workflow streamlines project setup, saving you time and keeping everyone in the loop effortlessly.

  💡 Why Use Project Starter Bot?

  Save Time: Cut down on the tedious manual folder creation by automating nested project directories instantly.

  Avoid Mistakes: Eliminate human error when organizing project files and ensure every necessary sub-folder exists.

  Boost Team Collaboration: Notify your team immediately via Slack and Gmail once the project folders are ready, so no one's left out of the loop.

  Gain an Edge: Impress clients and colleagues with your rapid and professional project kickoff process – no coffee breaks needed!

  ⚡ Perfect For

  Project Managers:** Keep your projects organized from day one without lifting a finger
  Creative Teams:** Focus on creativity while the bot handles folder setup and notifications
  Freelancers & Agencies:** Accelerate project launches and maintain consistency across clients

  🔧 How It Works

  ⏱ Trigger: When you send a chat message requesting a new project folder
  📎 Process: The bot creates the main project folder and five standardized sub-folders in Dropbox
  🤖 Smart Logic: It verifies success and asks if you want to send notifications before proceeding
  💌 Output: Sends a Slack message in the #projects channel and an email via Gmail confirming the setup
  🗂 Storage: All folders are neatly organized inside Dropbox ensuring your files are easy to find

  🔐 Quick Setup

  Import JSON file to your n8n instance
  Add credentials:
     Dropbox OAuth2
     Slack API token
     Gmail OAuth2
  Customize: Adjust folder names or project path if needed
  Update: Change Slack channel URL or Gmail recipient details
  Test: Run with a sample project name to see folders and notifications in action

  🧩 Requirements

  Active n8n instance
  Dropbox OAuth2 credentials
  Slack API token with chat permissions
  Gmail OAuth2 credentials

  🛠️ Level Up Ideas

  Integrate with project management tools like Jira or Trello for automated task creation
  Add personalized email templates with dynamic project details
  Use AI-powered chatbots to handle more complex project setup conversations

  🧠 Nodes Used

  When chat message received
  AI Agent
  Dropbox create folder
  Send a message in Slack
  Send a message in Gmail
  Simple Memory (for context)
  MCP triggers and clients

  📋 Details

  Made by: khaisa Studio  
  Tags: Project Management, Automation, Dropbox, Slack, Gmail  
  Category: Workflow Automation  
  Need custom work? Contact Me

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.dropboxTool","n8n-nodes-base.dropboxTool","n8n-nodes-base.dropboxTool","n8n-nodes-base.dropboxTool","n8n-nodes-base.dropboxTool","n8n-nodes-base.dropboxTool","n8n-nodes-base.dropboxTool","n8n-nodes-base.dropboxTool","n8n-nodes-base.dropboxTool","n8n-nodes-base.dropboxTool","n8n-nodes-base.dropboxTool","n8n-nodes-base.gmailTool","@n8n/n8n-nodes-langchain.mcpTrigger","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.mcpClientTool","n8n-nodes-base.slackTool","@n8n/n8n-nodes-langchain.lmChatAzureOpenAi","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5196 characters]

metadata_json:
  {"categories":["automation","integration","project management","collaboration","notifications"],"complexity":"medium","use_cases":["Automated project folder creation in Dropbox","Immediate team notifications via Slack and email","Standardizing project folder structures and onboarding","Reducing human error in file organization","Triggering project setup from chat/agent interactions"],"estimated_setup_minutes":15,"required_services":["n8n instance","Dropbox (OAuth2)","Slack (API token with chat permissions)","Gmail (OAuth2)","LLM provider credentials (OpenAI / Azure OpenAI / Google Gemini)","MCP trigger/client credentials (as used in the workflow)"],"key_features":["Creates main project folder plus standardized nested subfolders in Dropbox","Chat-triggered workflow start using an AI Agent","Optional confirmation step before sending notifications","Sends Slack channel message and Gmail notification upon completion","Uses Simple Memory / context to manage conversational state"],"target_audience":["Project managers","Creative teams","Freelancers & agencies handling client projects as templates for consistency"]}


name: Sequential Google Sheets Data Processing with Execution Control
author_name: Viktor Klepikovskyi
author_username: vklepikovskyi
categories: []
created_at: 2025-07-20T07:30:25.300Z
updated_at: 2025-07-20T07:30:25.300Z
url: https://n8n.io/workflows/6196
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Preventing Simultaneous Executions of Scheduled Workflows

  This n8n template provides a robust solution for processing data from Google Sheets in a controlled manner, specifically designed to prevent simultaneous executions of a scheduled workflow. This is crucial for maintaining data integrity, avoiding race conditions, and ensuring that your automated processes handle data sequentially.

  What This Workflow Does and Why It's Important

  Many automated tasks involve processing a list of items, like rows in a Google Sheet. If a workflow is scheduled to run every minute, but a single run takes longer than a minute to complete, you could end up with multiple instances of the same workflow running concurrently. This can lead to:

  Data Duplication**: Processing the same row multiple times.
  Data Corruption**: Inconsistent updates or overwrites.
  Resource Exhaustion**: Overloading your systems or API rate limits.

  This template solves this by leveraging n8n's workflow runtime timeout feature. By setting the workflow's runtime timeout to be equal to or slightly less than its scheduled execution frequency, you ensure that only one instance of the workflow can run at any given time. Once a workflow run successfully completes, it updates a status in your Google Sheet, marking the processed rows and preventing them from being picked up again in subsequent runs. This guarantees sequential, reliable data processing and avoids conflicts.

  Step-by-Step Setup Instructions

  Import the Template: Import this workflow into your n8n instance.
  Google Sheets Credential: Ensure you have a Google Sheets credential configured in n8n and connected to the Google Sheets nodes within the workflow.
  Specify Spreadsheet and Sheet Name: In the "Google Sheet" node, update the Spreadsheet ID and Sheet Name to point to your specific Google Sheet. You can use this example Google Sheet for reference.
  Configure Processing Logic: Customize the nodes between the "Read Google Sheet" and "Update Google Sheet" steps to perform your desired data processing logic (e.g., sending emails, updating a CRM, making API calls).
  Set Up Schedule: Activate the workflow and configure its trigger (e.g., "Cron" node) to run on your desired schedule.
  Configure Workflow Timeout: In your n8n workflow settings, set the Workflow Timeout to a value equal to or slightly less than your scheduled execution frequency (e.g., if scheduled every 5 minutes, set timeout to 4 minutes 50 seconds).

  More details in my n8n tips blog.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.wait","n8n-nodes-base.set","n8n-nodes-base.wait","n8n-nodes-base.wait"]

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

metadata_json:
  {"categories":["automation","integration","data processing"],"complexity":"medium","use_cases":["Sequential processing of Google Sheets rows","Preventing concurrent/simultaneous workflow executions","Idempotent ETL from spreadsheets to downstream systems (CRM, DB, APIs)","Batch processing and marking processed rows to avoid duplication","Protecting against API rate-limit and resource exhaustion"],"estimated_setup_minutes":15,"required_services":["Google Sheets (Google account with Sheets access)","n8n (self-hosted or n8n.cloud)"],"key_features":["Uses n8n workflow runtime timeout to prevent simultaneous runs","Reads and updates Google Sheets to mark processed rows","Split-in-batches processing for controlled throughput","Scheduled trigger (Cron) for periodic execution","Idempotent processing to avoid duplicates and race conditions"],"target_audience":["automation engineers","developers","data engineers/analysts working with spreadsheets as a source of truth"]}


name: Reactivate Solar Leads with AI-Powered SMS, Email & Google Sheets Automation
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-07-21T05:04:43.375Z
updated_at: 2025-07-21T05:04:43.375Z
url: https://n8n.io/workflows/6213
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  ⚡ Solar Lead Reactivation Automation

  This workflow helps solar sales teams reactivate cold leads automatically using value-first SMS follow-ups, AI-powered sentiment detection, real-time alerts, and CRM tracking.

  It’s designed to recover lost revenue, reduce manual outreach, and book more consultations—on autopilot.

  ✅ What It Does:
  Monitors your Google Sheet for leads marked "Ready for Reactivation"
  Sends personalized SMS messages via Twilio based on savings & ZIP code
  Waits and escalates: Follow-up SMS → Email → Final urgency SMS
  Parses all SMS replies using AI sentiment detection
  Updates your Google Sheet with status, response, and timestamps
  Sends Telegram alerts for hot leads or unclear replies
  Updates HubSpot CRM (optional)

  🛠️ Setup Steps:
  Import the workflow into your n8n instance
  Connect your accounts:
  Google Sheets
  Twilio (SMS)
  Telegram (optional)
  HubSpot (optional)
  Use the included Google Sheet template and paste your leads
  In Twilio, set your webhook to:
  https://your-n8n-domain/webhook/sms-reply-handler
  Method: POST
  Set lead status to “Ready for Reactivation” and watch automation begin!
  💼 Requirements:
  Twilio account with SMS credits
  Google Sheet with columns like: Lead Name, Phone, ZIP Code, etc.
  Optional: Telegram Bot for alerts, HubSpot CRM token
  Need help? Contact: David@daexai.com
  For advanced setups or white-label solar workflows, reach out.

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.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.twilio","n8n-nodes-base.wait","n8n-nodes-base.twilio","n8n-nodes-base.wait","n8n-nodes-base.emailSend","n8n-nodes-base.wait","n8n-nodes-base.twilio","n8n-nodes-base.wait","n8n-nodes-base.twilio","n8n-nodes-base.googleSheets","n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.openAi","n8n-nodes-base.twilio","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets"]

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

metadata_json:
  {"categories":["automation","sales","lead_management","communications","crm_integration"],"complexity":"complex","use_cases":["Reactivate cold solar leads automatically","Personalized SMS outreach based on ZIP/savings","Multi-step escalation (SMS → Email → final SMS)","AI-powered sentiment parsing of replies","Real-time alerts for hot or unclear leads"],"estimated_setup_minutes":30,"required_services":["n8n instance","Google Sheets","Twilio (SMS)","OpenAI or other AI/ML sentiment service","Telegram (optional, for alerts)","HubSpot (optional, for CRM updates)"],"key_features":["Monitors Google Sheet for leads flagged 'Ready for Reactivation'","Sends personalized SMS messages via Twilio using ZIP and savings data","Automated follow-up sequence with escalation to email and urgency SMS","Parses inbound SMS replies with AI sentiment detection","Updates Google Sheet with status, responses and timestamps automatically」「Sends Telegram alerts for hot or ambiguous replies」「Optional HubSpot CRM updates to keep records in sync"],"target_audience":["Solar sales teams and SDRs","Field operations/managers at solar installers","Sales and marketing teams focused on lead recovery and appointment booking」「Automation engineers / n8n implementers who integrate APIs and webhooks"]}


name: 🧑‍🎓 Test Your JSON Skills with Interactive Challenges and Instant Feedback
author_name: Lucas Peyrin
author_username: lucaspeyrin
categories: []
created_at: 2025-07-21T13:58:59.098Z
updated_at: 2025-07-21T13:58:59.098Z
url: https://n8n.io/workflows/6232
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  How it works

  This template is a hands-on, practical exam designed to test your understanding of the fundamental JSON data types. It's the perfect way to solidify your knowledge after learning the basics.

  Think of it as the "driver's test" that comes after the "theory lesson". You'll be given a series of tasks, and the workflow will automatically check your answers, providing instant feedback.

  The test is broken down into six sequential challenges, each focusing on a core data type:
  String: Writing text values correctly.
  Number: Using integers and decimals.
  Boolean: Working with true and false.
  Null: Representing a non-existant value.
  Array: Creating ordered lists of data.
  Object: Building nested key-value structures.

  For each challenge, you'll modify a Set node with the correct JSON syntax. When you execute the workflow, a corresponding IF node will validate your input. A green path means you passed and can move to the next challenge. A red path means you need to try again!

  Set up steps

  Setup time: &lt; 1 minute

  This workflow is a self-contained test and requires no setup or credentials.

  Read the instructions on the main sticky note to understand the goal.
  Start with the first challenge, "Test - String". Activate and modify the node according to the instructions on the purple sticky note next to it.
  Click "Execute Workflow".
  If the execution path is green, you've passed! You can move on to the next "Test" node in the sequence to continue. If the path is red, read the hint in the error message and try again.
  Repeat the process until you reach the final success message.

  Good luck!

nodes_used:
  ["n8n-nodes-base.html","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stopAndError","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.stopAndError","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stopAndError","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stopAndError","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.stopAndError","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.stopAndError","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9656 characters]

metadata_json:
  {"categories":["education","training","testing","data validation"],"complexity":"simple","use_cases":["Learn and practice JSON data types","Hands-on assessment for beginners","Onboarding or refresher for developers","Interactive training for instructors or bootcamps"],"estimated_setup_minutes":100,"required_services":[],"key_features":["Six sequential challenges covering String, Number, Boolean, Null, Array, Object","Interactive Set-node editing with IF-node validation","Instant pass/fail feedback via green/red execution paths","Self-contained workflow — no credentials or external APIs required","Includes hints and error messages to guide learners"],"target_audience":["Beginners learning JSON","Developers needing a quick refresher","Instructors and trainers building exercises or assessments"]}


name: 🧑‍🎓 Test Your Data Access Techniques with Progressive Expression Challenges
author_name: Lucas Peyrin
author_username: lucaspeyrin
categories: []
created_at: 2025-07-21T15:11:06.302Z
updated_at: 2025-07-21T15:11:06.302Z
url: https://n8n.io/workflows/6236
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  How it works

  This template is a hands-on, practical exam designed to help you master n8n Expressions—the key to accessing and manipulating data in your workflows.

  If the 🎓 Expressions Tutorial Template was the theory lesson, this is the practical driving test. You'll learn how to navigate through complex data structures to get the exact piece of information you need. All challenges will reference a single "Source Data" node, which acts as our data "map".

  The test is a series of six sequential challenges that build in complexity:
  Basic Access: Getting a simple value from an object.
  Array Access: Targeting a specific item in a list.
  Nested Object Access: Reaching data inside another object.
  Array of Objects: Combining array and object skills to get a specific value from a list of objects.
  Using JavaScript: Applying simple JavaScript functions (like .toUpperCase()) to your data.
  Combining Text & Expressions: Creating dynamic strings that mix static text with data from previous nodes.

  For each challenge, you'll write an expression in a "Test" node. When you execute the workflow, an IF node will instantly validate your answer, giving you a green path for success or a red path with a hint if you need to try again.

  Set up steps

  Setup time: &lt; 1 minute

  This workflow is a self-contained test and requires no setup or credentials.

  Read the instructions on the main sticky note to understand the goal.
  Start with the first challenge, "Test - Basic Access". Modify the node by writing the correct expression in the value field, according to the instructions on the purple sticky note.
  Click "Execute Workflow".
  If the execution path is green, you've passed! The next "Test" node in the sequence will automatically be enabled for you to continue. If the path is red, read the hint in the error message and try again.
  Repeat the process until you reach the final success message and become an expressions pro.

  Good Luck!

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.stopAndError","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.stopAndError","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.stopAndError","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.stopAndError","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.stopAndError","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.stopAndError","n8n-nodes-base.html","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9856 characters]

metadata_json:
  {"categories":["education","training","workflow testing","data processing"],"complexity":"simple","use_cases":["Learn and practice n8n Expressions","Validate expression-based logic","Onboard new n8n users","Instructor-led exercises or self-paced training"],"estimated_setup_minutes":10.5,"required_services":[],"key_features":["Six progressive, hands-on expression challenges","Single Source Data node as the data map","Instant pass/fail validation via IF nodes","Covers basic access, arrays, nested objects, arrays of objects, JS functions, and string composition","Self-contained workflow requiring no credentials or external services"],"target_audience":["n8n beginners","citizen automators","developers learning n8n expressions"]}


name: LinkedIn Job Search: Auto-Match Resume with AI + Cover Letter & Telegram Alerts
author_name: Hojjat Jashnniloofar
author_username: jashnniloofar
categories: []
created_at: 2025-07-21T16:02:16.951Z
updated_at: 2025-07-21T16:02:16.951Z
url: https://n8n.io/workflows/6239
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  Overview
  This n8n templates helps you to authomatically search Linkeding jobs. It uses AI (Gemini or OpenAPI) to match your resume with each job description and write a sample cover letter for each job and update the job google sheet. You can receive daily matched linkedin job alerts by telegram.
  Prerequisites
  AI API Key from one model like:
  	Google Gemini
  	OpenAI 
  Telegram Bot Token - Create via @BotFather
  Google Sheets - OAuth2 credentials
  Google Drive - OAuth2 credentials
  Setup
  1. Upload your resume
  Upload your CV in PDF format in google drive and configure google drive node to read your resume from list of google drive files. You need to configure Google Drive OAuth2 and grant access to your drive before that. You can find useful infomration about how to configure Googel OAuth2 API key in n8n documents.
  2. Create Google sheet
  You need to create a google sheet document consist of two sheets, one sheet for define job filter criteria and second sheet to store job search result. You can download this Google Sheet Template and copy in your personal space. Then you can add your job filter in Google sheet. You can search job by keywords, location, remote type, job type and easy apply.
  You need to configure Google Sheet OAuth2 and grant access to your drive before that.
  3. Conifgure Telegram Bot
  You need to create a new Telegram Bot in @BotFather and insert API Key in Telegram node and you need to TELEGRAM_CHAT_ID to your telegram ID.

nodes_used:
  ["n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.extractFromFile","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","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.set","n8n-nodes-base.html","n8n-nodes-base.set","n8n-nodes-base.html"]

workflow_json_compressed:
  [encoded data, 7620 characters]

metadata_json:
  {"categories":["automation","integration","data processing","recruitment","AI"],"complexity":"complex","use_cases":["Automatically search LinkedIn job listings based on user-defined filters","Match an uploaded resume to job descriptions using AI","Generate tailored sample cover letters for each matched job","Log and update job search results in Google Sheets","Send daily matched job alerts via Telegram"],"estimated_setup_minutes":45,"required_services":["Google Gemini or OpenAI (AI API key)","Telegram (Bot token and chat ID)","Google Sheets (OAuth2)","Google Drive (OAuth2)","LinkedIn (job search / scraping or API access)"],"key_features":["Automated LinkedIn job search driven by sheet-defined filters (keywords, location, remote type, job type, easy apply)","AI-based resume-to-job matching","Auto-generated sample cover letters per job using AI","Resume read from Google Drive (PDF)","Results persisted and tracked in Google Sheets (two-sheet setup: filters + results)"],"target_audience":["Job seekers","Career coaches","Recruiters looking to pre-screen matches or draft outreach messages quickly"]}


name: 🎓 Optimize Speed-Critical Workflows Using Parallel Processing (Fan-Out/Fan-In)
author_name: Lucas Peyrin
author_username: lucaspeyrin
categories: []
created_at: 2025-07-22T00:31:26.948Z
updated_at: 2025-07-22T00:31:26.948Z
url: https://n8n.io/workflows/6247
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  How it works

  This template is a hands-on tutorial for one of the most advanced and powerful patterns in n8n: asynchronous parallel processing, also known as the Fan-Out/Fan-In model.

  When should you use this?
  Use this pattern when speed is your top priority and you have multiple independent, long-running tasks. Instead of running them one after another (which is slow), this workflow runs them all at the same time and waits for them all to finish.

  We use a Construction Project analogy to explain the architecture:
  The Main Workflow (Top):* This is the *Project Manager**. It defines the project, assigns all the tasks to specialist teams, and then pauses, waiting for a final report.
  The Sub-Workflow (Bottom):* This represents the *Specialist Teams**. It's a single, reusable workflow that can perform any task it's assigned.
  Static Data (The Brains):* A hidden *Project Dashboard** is used to track the status of every task in real-time.

  The process follows three key phases:
  Fan-Out: The Project Manager starts multiple sub-workflows at once without waiting for them to finish.
  Asynchronous Execution: Each Specialist Team works on its task independently and in parallel. When a team finishes, it updates its status on the Project Dashboard.
  Fan-In: The Project Manager, which has been paused by a Wait node, is only resumed when the Project Dashboard confirms that all tasks are complete. It then receives the aggregated results from all the parallel tasks.

  Set up steps

  Setup time: &lt; 1 minute

  This workflow is a self-contained tutorial. The only setup required is to configure the AI model.

  Configure Credentials:
      Go to the The AI Specialist node in the sub-workflow (bottom flow).
      Select your desired AI credential (Gemini in that case).
  Execute the Workflow:
      Click the "Execute Workflow" button on the Start Project node.
  Explore and Learn:
      Follow the execution path to see how the main workflow fans out, and how the sub-workflow is called multiple times.
      Click on each node and read the detailed sticky notes to understand its specific role in this advanced pattern.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.switch","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.wait","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.executeWorkflow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.executeWorkflow","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9660 characters]

metadata_json:
  {"categories":["automation","orchestration","performance optimization","integration"],"complexity":"complex","use_cases":["Speed-critical workflows with multiple independent long-running tasks","Parallel API calls or data enrichment","Batch processing or ETL jobs","Parallel ML inference or content generation","Orchestrating microservices or worker jobs"],"estimated_setup_minutes":100,"required_services":["n8n (sub-workflows, Execute Workflow/Wait nodes)","AI model credential (e.g., Google Gemini or another LLM)"],"key_features":["Fan-Out / Fan-In asynchronous parallel processing pattern","Reusable sub-workflow acting as worker/specialist","Centralized status tracking via static data (project dashboard)","Wait node-based synchronization to resume when all tasks complete","Scales to many independent, long-running tasks for speed optimization\",\"Includes in-workflow tutorial/sticky notes for learning"],"target_audience":["Developers","Automation / Integration Engineers","Solution Architects','Data Engineers','ML Engineers"]}


name: Build Your First AI Agent
author_name: Lucas Peyrin
author_username: lucaspeyrin
categories: []
created_at: 2025-07-22T12:14:21.343Z
updated_at: 2025-07-22T12:14:21.343Z
url: https://n8n.io/workflows/6270
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 19:22:26
description:
  How it works

  This template launches your very first AI Agent —an AI-powered chatbot that can do more than just talk— it can take action using tools.

  Think of an AI Agent as a smart assistant, and the tools are the apps on its phone. By connecting it to other nodes, you give your agent the ability to interact with real-world data and services, like checking the weather, fetching news, or even sending emails on your behalf.

  This workflow is designed to be the perfect starting point:
  The Chat Interface:** A Chat Trigger node provides a simple, clean interface for you to talk to your agent.
  The Brains:** The AI Agent node receives your messages, intelligently decides which tool to use (if any), and formulates a helpful response. Its personality and instructions are fully customizable in the "System Message".
  The Language Model:* It uses *Google Gemini** to power its reasoning and conversation skills.
  The Tools:** It comes pre-equipped with two tools to demonstrate its capabilities:
      Get Weather: Fetches real-time weather forecasts.
      Get News: Reads any RSS feed to get the latest headlines.
  The Memory:** A Conversation Memory node allows the agent to remember the last few messages, enabling natural, follow-up conversations.

  Set up steps

  Setup time: ~2 minutes

  You only need one thing to get started: a free Google AI API key.

  Get Your Google AI API Key:
      Visit Google AI Studio at aistudio.google.com/app/apikey.
      Click "Create API key in new project" and copy the key that appears.

  Add Your Credential in n8n:
      On the workflow canvas, go to the Connect your model (Google Gemini) node.
      Click the Credential dropdown and select + Create New Credential.
      Paste your API key into the API Key field and click Save.

  Start Chatting!
      Go to the Example Chat node.
      Click the "Open Chat" button in its parameter panel.
      Try asking it one of the example questions, like: "What's the weather in Paris?" or "Get me the latest tech news."

  That's it! You now have a fully functional AI Agent. Try adding more tools (like Gmail or Google Calendar) to make it even more powerful.

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.rssFeedReadTool","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6520 characters]

metadata_json:
[cell repeats an earlier one in this file: 210 characters]


name: Track Top Social Media Trends with Reddit, Twitter, and GPT-4o to SP/Drive
author_name: plemeo
author_username: plemeo
categories: []
created_at: 2025-07-22T13:14:05.038Z
updated_at: 2025-07-22T13:14:05.038Z
url: https://n8n.io/workflows/6272
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who’s it for  
  Content creators, marketers, journalists, and product teams who need a quick, automated snapshot of what the internet is talking about—served as a ready-to-use spreadsheet every morning.

  How it works / What it does  
  Manual Trigger / Cron starts the flow.  
  Set Config picks today’s date and a topic keyword (default “Artificial Intelligence”).  
  API calls gather trend data:  
     • Reddit API → /r/artificial “hot” posts.  
     • Twitter (X) Trends via our own plemeo endpoint or any other social API.  
     (Add additional sources before the Merge Data node—Instagram, YouTube, TikTok, etc.)  
  Aggregate Content concatenates raw titles; AI Agent (GPT-4o) analyses them and returns the top 5 trends in JSON.  
  Prepare Excel formats each trend into rows; Create Excel turns them into an .xlsx file.  
  Upload the file to SharePoint (swap for Google Drive, Dropbox, S3—just replace the node).  

  How to set up  
  Import the template into n8n (cloud or self-hosted).  
  Create credentials: Reddit OAuth2, OpenAI, and your preferred storage (SharePoint, Drive, etc.).  
  In Set Config choose your default topic; adjust the cron schedule if required.  
  If you’re using Google Drive/Dropbox: delete the SharePoint node and add the corresponding upload node instead.  
  (Optional) Add more APIs—duplicate Merge Data inputs and map their results in Aggregate Content.  
  Save & activate. A spreadsheet called social-media-trends.xls appears in your target folder each run.

  Requirements  
  n8n 1.33 +  
  Reddit app (OAuth2)  
  OpenAI account
  One storage credential: SharePoint, Google Drive, Dropbox, or any other supported provider

  How to customize  
  Change the number of trends: edit the limit in Aggregate Content and the prompt in AI Agent.  
  Want CSV instead of Excel? Swap Create Excel for Spreadsheet File → to File (CSV).  
  Push trends to Slack/Teams: branch after Prepare Excel and add a chat node.  
  Fully serverless? Trigger via webhook instead of manual/cron.

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

workflow_json_compressed:
  H4sIAAAAAAAAE52W227cNhCGX0XgVQtoHJ7Ew17VddLCFzk0NhoggVGMyOFaya6kauk4gWEgj9G+Xp6k0Ma1FVub2Lnd/fXzI4cz/C9YE9mCvXqyeS7j+dsDfGaenf9xzEq2poxsccGadpOxDXQ46mRIVkstfZCkiDRVKDk3Pqro0FaSu0p4xVXtjE5cGrReG00JrTR19BUrWaZ1v8JMBwPFzRHls/6gW/cryhTZIg9ndFmyFtfEFmz8o1lRkbu+2HShwRWsKTZY5IHauClyV2z6gTBuToly0bXF0SkO9KJr2lz81A3F46F5T48eD11fdx9+HhfH5YYt3lx82fV5//Swf3LU/vq6jy8O+rfseuWnOLyj3LRLVrIwEGaK+3ncP5cVcANcHQuxUG6h7B6X/DUr2Vkfvy+7PClZ20WaQKCOkYvaQ2WjAS1SAm8UB1EHI61J2kW8AXtJMTa52H9xOO7mYz/+1roWtqZQ44b2TnPuX9LfZ7TJrGR9t2ly07Vs8QaUMqV2JyXrccA1ZRo2bHFx+cXoTxo2W526LK/QUuSK2yqBJSlBO3RQe4lASXmLNlpNZnJmNCypeIwZd6KtR8ktKG9K4eX3oOSeuMaqqxiViQZQ2Aq08RU45BI4eSmVrQOP6gZrf7kcaImZioOuzdTmnXShi7fgHL8X2zUZopQuSAOJag06egJfqQpkRFlrRGVUdUP2YqAeByqefAi0egCV4e6BWBGNTx5B1d6DDlqAdzGBTxSl0d4Jp2+wDrb3/TtUk777rVndPjYlHwaYTEwyJQ0pcgOaWwX1SIlWRBmM0FzwSUUPi/3lV4X8pXXtoxvCFbbLcIpNu4dXugmcdK4EYe4P51MQlQwE2pABXQUJLqoEVqInpVNVq0mDPu+p3T8sDk4xF0+7OD3CnZSr9Sjfftnchb3HSYq9G1zFJVWiJqhJCtDOKaiNRJAiuBRM0AEnxX51Sm0RVk1417TL4vOnf558oHCWqTjvhndp1Z1//vTv7nbG9gxXx0OzXNJwq62tuR/5NXcwsgqhcoAaETT3HHytBFQqeJkiuqjsZNg0Yeg2XcqTkb+b83/xV9oJreD6Xp0uJqPRymgiQZRVBF3XAryUNTjUiUcVbR0ml+J3ysXxeZMzDcXx9u36wemtJP8eo57cBStIY+I1+Mon0I7GeVRpsCpyh0JhHeQN5RHlcUamZrm77ek2VWXudXJqT19TVV5UaMfLiQFBJ5fAeUkQk6hkDLL2OOn2o9yEdx+LZ12m3VhbzZVkSjdOIpD8zpvHwtVbsGBsd5HJam9jdFBZiqBTiuA1Kkh8LLiLqIKeBRUPJhVClmOFfwyUCy4SrwwIE8YMUSOgDwFCZa2LKqDRcRZUPhjUSl6CEHcKfj9Q5YM12msQaDRoWxnwSXJwInBng9RKy1lQ9UOgyumHcZ6UDENu3hNbJFxtqGQbymMO3H5K29nYdO3zIdLAFuy9GD3ef/l+G5A9V0pG5yGG7fSNCK5yNRhfRWl8cMqPkSl0bUthtNoaX79oiwu2xmbEf3OxDYq7Y8JWV7KmjfSBLfjlycllOc1gc1bfyEKzdpO0OWc3l/hmfSaTZc5nLtTe9imv1d8aprOrfxVoZvfxzcdk1vProsyZzseoWbO7ZZkt3p3YM2t2N4AsLhg2f41x4wyXdPXbN43vyG8vMlODH7sg4ovfvWLI3Apzb9bMsVxe/gd93zlz6Q4AAA==

metadata_json:
  {"categories":["automation","integration","data processing","social media monitoring","reporting"],"complexity":"medium","use_cases":["Daily social media trend reports","Content ideation and headline generation","Social listening and market research","Briefs for product/marketing teams or newsletters","Automated archival of trending topics for analysis"],"estimated_setup_minutes":30,"required_services":["n8n (v1.33+)","Reddit API (OAuth2)","OpenAI (GPT-4o) or compatible LLM endpoint","Twitter/X API or custom trends endpoint (e.g., plemeo)","Storage provider: SharePoint OR Google Drive OR Dropbox OR S3","Optional: Instagram/YouTube/TikTok APIs if adding more sources"],"key_features":["Cron/manual trigger to run daily or on demand","Fetches hot posts from Reddit and trends from Twitter/X (extendable to other platforms)","Aggregates and concatenates raw post titles/content","AI analysis (GPT-4o) extracts top N trends and returns structured JSON","Formats trends into spreadsheet rows and creates .xlsx file (or CSV if swapped out)
  Upload to configurable storage (SharePoint/Drive/Dropbox/S3)"],"target_audience":["Content creators","Marketers","Journalists and editors"]}


name: Daily Business News Briefings with NewsAPI & GPT-4 Insights to Slack
author_name: James Carter
author_username: arioloop
categories: []
created_at: 2025-07-22T13:21:21.265Z
updated_at: 2025-07-22T13:21:21.265Z
url: https://n8n.io/workflows/6273
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  This n8n workflow automatically fetches trending news articles based on your chosen country, category, and keyword — then enriches the data with AI-powered business insights before posting a concise summary to Slack.

  Ideal for sales teams, executives, marketers, or anyone who wants fast, actionable news briefings directly in their Slack workspace.

  ⸻

  Who it’s for

  Executives, analysts, sales teams, or marketing professionals who want curated, AI-enhanced news summaries tailored to business opportunities, risks, and trends — delivered automatically to Slack.

  ⸻

  How it works / What it does
  A Schedule Trigger runs on a daily, weekly, or custom frequency.
  It queries the NewsAPI to retrieve top headlines by country, category, or keyword.
  Headlines are formatted and enriched with your configured query context.
  The AI model (GPT-4) analyzes articles and summarizes key insights, categorizing them as Opportunities, Risks, or Trends.
  Finally, the summarized insights are posted directly into a Slack channel of your choice.

  ⸻

  How to set up
  Set your schedule frequency in the Schedule Trigger node.
  Configure your preferred country, category, and keyword in the Inject Config node.
  Add your NewsAPI Key inside the Fetch News Articles node.
  Connect your Slack credentials in the Post to Slack node.
  Optional: Adjust the AI prompt for more tailored analysis.

  ⸻

  Requirements
  A NewsAPI account to fetch headlines.
  An OpenAI API key for GPT-4 summarization.
  A Slack workspace and connected credentials via n8n.

  ⸻

  How to customize the workflow
  Change the country, category, or keyword in the Inject Config to focus on specific markets or sectors.
  Adjust the AI prompt in the GPT node to prioritize certain insights like ESG factors, M&A activity, or market sentiment.
  Extend the workflow to log results to Google Sheets, email summaries, or send SMS alerts.
  Replace the Schedule Trigger with a Webhook if you want to trigger summaries on demand.

  This template is designed to be modular, making it easy to adapt for competitive intelligence, investment tracking, or industry news curation.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","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, 5264 characters]

metadata_json:
  {"categories":["automation","integration","data processing","AI enrichment"],"complexity":"medium","use_cases":["Daily executive news briefings","Competitive intelligence and market monitoring","Sales/lead discovery and opportunity alerts","Marketing trend tracking and PR monitoring","Automated industry summaries for teams"],"estimated_setup_minutes":15,"required_services":["NewsAPI (API key)","OpenAI (GPT-4 API key)","Slack workspace and credentials","n8n instance"],"key_features":["Scheduled retrieval of top headlines by country, category, or keyword","AI-powered summarization and classification into Opportunities, Risks, and Trends","Configurable prompt/context for tailored analysis","Automated posting of concise summaries to Slack channels","Modular workflow allowing extensions (Google Sheets logging, email, SMS) or webhook triggering"],"target_audience":["Executives","Analysts","Sales teams (business development)‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎)‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎] , "]}


name: Auto-Generate SEO Content from Trends with GPT-4o, FAL AI & Multi-Storage
author_name: plemeo
author_username: plemeo
categories: []
created_at: 2025-07-22T14:19:31.140Z
updated_at: 2025-07-22T14:19:31.140Z
url: https://n8n.io/workflows/6278
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who's it for  
  Content creators, SEO specialists, and marketing teams who want to automatically generate SEO-optimized content based on trending topics—complete with AI-generated images, optional videos, and ready-to-publish HTML.

  How it works / What it does  
  Webhook receives a request with use case and video preferences.  
  Get Trends XLSX downloads a spreadsheet (created by the Social Media Trends workflow) from SharePoint.  
  Select Topic from Trends randomly picks one trending topic from the spreadsheet.  
  AI Agent (GPT-4o) generates bilingual newsletter content about the selected trend.  
  Get Newsletter Template fetches your HTML template; Build Newsletter injects the AI content.  
  Optional creative assets:  
     • Pollinations AI → generates a 1080 × 1350 image.  
     • FAL AI → creates video from the image + Lyria2 audio → merged via FFmpeg.  
  Gmail Approval sends the draft for review; continues only on approval.  
  Upload all files (HTML + JPG + video URL) to your chosen storage provider.

  How to set up  
  Import the template into n8n (cloud or self-hosted).  
  Create credentials: OpenAI, Microsoft 365 (SharePoint), Gmail, and FAL AI.  
  Upload your HTML newsletter template to SharePoint (see yellow sticky note for required placeholders).  
  Ensure you have a trends spreadsheet (from the Social Media Trends workflow) in your SharePoint folder.  
  Update Configuration Settings with your ENV_* variables.  
  Activate the workflow and POST to the webhook: { "text": "usecase: blog post, include_video: true" }.

  Requirements  
  n8n 1.33 +  
  OpenAI account 
  Microsoft 365 tenant (SharePoint)  
  Gmail account  
  FAL AI API Key (for video generation)  
  A trends spreadsheet (from the Social Media Trends workflow)

  How to customize  
  Change storage provider: replace SharePoint upload nodes with Google Drive, Dropbox, or S3.  
  Modify topic selection: edit Select Topic from Trends for different selection logic.  
  Adjust content tone: tweak the prompt in Prepare Newsletter Data.  
  Skip video generation: set include_video: false in the webhook request.

nodes_used:
  ["n8n-nodes-base.spreadsheetFile","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.gmail","n8n-nodes-base.set","n8n-nodes-base.convertToFile","n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.extractFromFile","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4228 characters]

metadata_json:
  {"categories":["automation","content creation","AI","marketing","integration"],"complexity":"complex","use_cases":["Automatically generate SEO-optimized articles/newsletters from trending topics","Produce bilingual newsletter copy ready to inject into HTML templates","Generate AI images and optional short videos for content","Run human approval workflow before publishing","Store final assets (HTML, images, video links) in cloud storage for publishing"],"estimated_setup_minutes":45,"required_services":["n8n (self-hosted or cloud) v1.33+","OpenAI (GPT-4o) API","Microsoft 365 (SharePoint) account","Gmail account (for approval emails)","FAL AI API (video generation and Lyria2 audio)","Pollinations (AI image generation) or equivalent image API","FFmpeg (for merging audio/video) accessible to the n8n runtime","Cloud storage provider (SharePoint by default; can replace with Google Drive, Dropbox, or S3)"],"key_features":["Webhook-triggered workflow to kick off content generation","Selects a random trending topic from a SharePoint-hosted XLSX","GPT-4o AI Agent generates bilingual SEO-optimized content","Injects AI content into an HTML newsletter template","Optional AI-generated image (Pollinations) and AI video (FAL AI + Lyria2 audio) merged via FFmpeg"],"target_audience":["Content creators","SEO specialists","Marketing teams and managers (newsletters, blogs, social content owners)"]}


name: N8N Documentation Expert Chatbot with OpenAI RAG Pipeline
author_name: Ayham Joumran
author_username: ayhamjo7
categories: []
created_at: 2025-07-22T15:34:33.023Z
updated_at: 2025-07-22T15:34:33.023Z
url: https://n8n.io/workflows/6281
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  How It Works

  This template is a complete, hands-on tutorial for building a RAG (Retrieval-Augmented Generation) pipeline. In simple terms, you'll teach an AI to become an expert on a specific topic—in this case, the official n8n documentation—and then build a chatbot to ask it questions.

  Think of it like this: instead of a general-knowledge AI, you're building an expert librarian.

  🔧 Workflow Overview

  The workflow is split into two main parts:

  Part 1: Indexing the Knowledge (📚 Building the Library)

  This is a one-time process you run manually. The workflow will:

  Automatically scrape all pages of the n8n documentation.
  Break them down into small, digestible chunks.
  Use an AI model to create a numerical representation (an embedding) for each chunk.
  Store these embeddings in n8n's built-in Simple Vector Store.

  &gt; This is like a librarian reading every book and creating a hyper-detailed index card for every paragraph.

  &gt; ⚠️ Important: This in-memory knowledge base is temporary. It will be erased if you restart your n8n instance. You'll need to run the indexing process again in that case.

  Part 2: The AI Agent (🧠 The Expert Librarian)

  This is the chat interface.

  When you ask a question:

  The AI agent doesn't guess the answer.
  It searches the knowledge base to find the most relevant “index cards” (chunks).
  It feeds those chunks to a language model (Gemini) with strict instructions:
     &gt; “Answer the user's question using ONLY this information.”

  This ensures answers are accurate, factual, and grounded in your documents.

  🚀 Setup Steps

  &gt; Total setup time: ~2 minutes  
  &gt; Indexing time: ~15–20 minutes

  This template uses n8n’s built-in tools, so no external database is needed.

  1. Configure OpenAI Credentials

  You’ll need an OpenAI API key (for GPT models).
  In your n8n workflow:
    Go to any of the three OpenAI nodes (e.g., OpenAI Chat Model).
    Click the Credential dropdown → + Create New Credential.
    Enter your OpenAI API key and save.

  2. Apply Credentials to All Nodes

  Your new credential is now saved.
  Go to the other two OpenAI nodes (e.g., OpenAI Embeddings) and select the newly created credential from the dropdown.

  3. Build the Knowledge Base

  Find the Start Indexing manual trigger node (top-left of the workflow).
  Click the Execute Workflow button to start indexing.

  &gt; ⚠️ Be patient: This takes 15–20 minutes to scrape and process the full documentation.  
  &gt; You only need to do this once per n8n session.

  4. Chat With Your Expert Agent

  After indexing completes, activate the entire workflow (toggle at the top).
  Open the RAG Chatbot chat trigger node (bottom-left).
  Copy its Public URL.
  Open it in a new tab and ask questions about n8n!

  Example questions:

  "How does the IF node work?"
  "What is a sub-workflow?"

  👤 Credits

  All credits go to Lucas Peyrin  
  🔗 lucaspeyrin on n8n.io

nodes_used:
  ["@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.removeDuplicates","n8n-nodes-base.filter","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.html","n8n-nodes-base.splitOut","n8n-nodes-base.removeDuplicates","n8n-nodes-base.executeWorkflow","n8n-nodes-base.httpRequest","n8n-nodes-base.html","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.vectorStoreInMemory","@n8n/n8n-nodes-langchain.vectorStoreInMemory","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.embeddingsOpenAi"]

workflow_json_compressed:
  [encoded data, 15356 characters]

metadata_json:
  {"categories":["AI & NLP","Knowledge Management","Chatbot / Support","n8n Automation"],"complexity":"medium","use_cases":["Build an expert chatbot over n8n documentation","Internal knowledge base / docs search","Customer support automation and FAQ answering","Onboarding and developer help for n8n users","Proofs and demos of RAG pipelines"],"estimated_setup_minutes":20,"required_services":["OpenAI (API key for embeddings and chat models)","n8n instance (uses built-in Simple Vector Store)","Internet access to scrape the n8n documentation"],"key_features":["Automated scraping of n8n documentation","Text chunking and embedding generation","In-memory vector store for retrieval","Retrieval-Augmented Generation (RAG) chat flow","Chatbot interface with public webhook URL for queries only using retrieved docs as source of truth (grounded answers) – no hallucination policy enforced in prompts (answers must use only provided chunks) - manual indexing trigger to rebuild index as needed"],"target_audience":["n8n users and maintainers","Developers and automation engineers","Technical writers and documentation teams supporting n8n users and contributors"]}


name: Email Support Agent w/ Gemini & GPT fallback using Gmail + Google Sheets
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-07-22T20:42:47.912Z
updated_at: 2025-07-22T20:42:47.912Z
url: https://n8n.io/workflows/6287
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  📧 Master Your First AI Email Agent with Smart Fallback!

  Welcome to your hands-on guide for building a resilient, intelligent email support system in n8n! This workflow is specifically designed as an educational tool to help you understand advanced AI automation concepts in a practical, easy-to-follow way.

  🚀 What You'll Learn & Build:

  This powerful template enables you to create an automated email support agent that:

  Monitors Gmail** for new customer inquiries in real-time.
  Processes requests** using a primary AI model (Google Gemini) for efficiency.
  Intelligently falls back to a secondary AI model** (OpenAI GPT) if the primary model fails or for more complex queries, ensuring robust reliability.
  Generates personalized and helpful replies** automatically.
  Logs every interaction** meticulously to a Google Sheet for easy tracking and analysis.

  💡 Why a Fallback Model is Game-Changing (and Why You Should Learn It):

  Unmatched Reliability (99.9% Uptime):** If one AI service experiences an outage or rate limits, your automation seamlessly switches to another, ensuring no customer email goes unanswered.
  Cost Optimization:** Leverage more affordable models (like Gemini) for standard queries, reserving premium models (like GPT) only when truly needed, significantly reducing your API costs.
  Superior Quality Assurance:** Get the best of both worlds – the speed of cost-effective models combined with the accuracy of more powerful ones for complex scenarios.
  Real-World Application:** This isn't just theory; it's a critical pattern for building resilient, production-ready AI systems.

  🎓 Perfect for Beginners & Aspiring Automators:

  Simple Setup:** With drag-and-drop design and pre-built integrations, you can get this workflow running with minimal configuration. Just add your API keys!
  Clear Educational Value:** Learn core concepts like AI model orchestration strategies, customer service automation best practices, and multi-model AI implementation patterns.
  Immediate Results:** See your AI agent in action, responding to emails and logging data within minutes of setup.

  🛠️ Getting Started Checklist:

  To use this workflow, you'll need:

  A Gmail account with API access enabled.
  A Google Sheets document created for logging.
  A Gemini API key (your primary AI model).
  An OpenAI API key (your fallback AI model).
  An n8n instance (cloud or desktop).

  Embark on your journey to building intelligent, resilient automation systems today!

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmailTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail"]

workflow_json_compressed:
  [encoded data, 7204 characters]

metadata_json:
  {"categories":["automation","integration","customer support","AI"],"complexity":"medium","use_cases":["Automated email support and reply generation","Multi-model AI orchestration with primary + fallback","Cost-optimized AI handling (use cheaper model first)","Logging and tracking support interactions for analysis","Educational template to learn AI automation patterns"],"estimated_setup_minutes":15,"required_services":["Gmail (API access)","Google Sheets","Google Gemini API key","OpenAI API key (GPT)","n8n instance"],"key_features":["Real-time Gmail monitoring for new inquiries","Primary AI processing with Google Gemini","Intelligent fallback to OpenAI GPT when needed","Automatic personalized reply generation","Interaction logging to Google Sheets for auditing/analytics','Low-code drag-and-drop workflow for quick setup"],"target_audience":["Beginners learning AI automation","Automation engineers and makers","Customer support teams implementing auto-responses for email workflows','Developers building resilient multi-model systems"]}


name: Company Website Chatbot Agent (RAG, Calendar integrations)
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-22T22:31:19.662Z
updated_at: 2025-07-22T22:31:19.662Z
url: https://n8n.io/workflows/6290
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Company Website Chatbot Agent

  Overview
  This workflow implements a modular Website AI Chatbot Assistant capable of handling multiple types of customer interactions autonomously. Instead of relying on a single large agent to handle all logic and tools, this system routes user queries to specialized sub-agents—each dedicated to a specific function.

  By using a manager-style orchestration layer, this approach prevents overloading a single AI model with excessive context, leading to cleaner routing, faster execution, and easier scaling as your automation needs grow.

  How It Works

  1. Chat Trigger  
  The flow is initiated when a chat message is received via the website widget.

  2. Manager Agent (Ultimate Website AI Assistant)  
  The central LLM-based agent is responsible for parsing the message and deciding which specialized sub-agent to route it to.
  It uses an OpenAI GPT model for natural language understanding and a lightweight memory system to preserve recent context.

  3. Sub-Agent Routing  
  calendarAgent: Handles availability checks and books meetings on connected calendars.  
  RAGAgent: Searches company documentation or FAQs to provide accurate responses from your internal knowledge base.  
  ticketAgent: Forwards requests to human support by generating and sending support tickets to a designated email.

  Setup Instructions

  Embed the Chatbot  
     Use a custom HTML widget or script to embed the chatbot interface on your website.  
     Connect the frontend to the webhook that triggers the When chat message received node.

  Configure Your OpenAI Key  
     Insert your API key in the OpenAI Chat Model node.  
     Adjust the model parameters for temperature, max tokens, etc., based on how formal or creative you want the bot to be.

  Customize Sub-Agents  
     calendarAgent: Connect to your Google or Outlook calendar.  
     RAGAgent: Link to a vector store or document database via API or native integration.  
     ticketAgent: Set the destination email and format for ticket generation (e.g. via SendGrid or SMTP).

  Deploy in Production  
     Host on n8n Cloud or your self-hosted instance.  
     Monitor usage through the Executions tab and refine prompts based on user behavior.

  Benefits

  Modular system with dedicated logic per function  
  Reduces token bloat by offloading complexity to sub-agents  
  Easy to scale by adding more tools (e.g. CRM, analytics)  
  Fast and responsive user experience for customers on your site  
  Cleaner code structure and easier debugging

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

workflow_json_compressed:
  [encoded data, 5004 characters]

metadata_json:
  {"categories":["automation","conversational AI","customer support","knowledge management","scheduling"],"complexity":"complex","use_cases":["Website customer support chatbot","Automated meeting scheduling and availability checks","Answering product/FAQ questions via RAG from internal docs","Escalating requests by creating support tickets","Modular routing of user requests to specialized agents"],"estimated_setup_minutes":90,"required_services":["OpenAI (GPT) API","Google Calendar or Microsoft Outlook Calendar API","Vector store / document DB for RAG (e.g., Pinecone, Weaviate, or similar)","Email service or SMTP (e.g., SendGrid) for ticket notifications","Website webhook/frontend to receive/send chat messages","n8n instance (Cloud or self-hosted)"],"key_features":["Manager-style LLM router that delegates to specialized sub-agents","RAG agent for retrieval-augmented answers from internal docs","Calendar agent for availability checks and booking","Ticket agent to forward issues to human support via email","Lightweight memory buffer to preserve recent context per session/agent routing over time-state isolation to avoid token bloat"],"target_audience":["Developers/automation engineers","Customer support teams","Product managers/owners of web properties with chat interfaces"]}


name: Automated Job Extraction & Publishing with RAG, Jina AI and OpenAI to WordPress
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2025-07-23T04:30:55.957Z
updated_at: 2025-07-23T04:30:55.957Z
url: https://n8n.io/workflows/6299
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  Auto repost job with RAG is a workflow designed to automatically extract, process, and publish job listings from monitored sources using Google Drive, OpenAI, Supabase, and WordPress. This integration streamlines job reposting by intelligently extracting relevant job data, mapping categories and types accurately, managing media assets, and publishing posts seamlessly.

  💡 Why Use Auto repost job with RAG?

  Automated Publishing: Slash manual entry time by automating job post extraction and publication, freeing hours every week.

  Error-Resistant Workflow: Avoid incomplete job posts with smart validation checks to ensure all necessary fields are ready before publishing.

  Consistent Content Quality: Maintain formatting, SEO, and style consistency backed by AI-driven article regeneration adhering strictly to your guidelines.

  Competitive Edge: Get fresh jobs live faster than your competitors without lifting more than a finger—because robots don't take coffee breaks!

  ⚡ Perfect For

  Recruiters & HR Teams: Accelerate your job posting funnel with error-free automation.

  Content Managers: Keep your job boards fresh with AI-enriched standardized listings.

  Digital Marketers: Automate content flows to boost SEO and engagement without the headache.

  🔧 How It Works

  ⏱ Trigger: Job link inputs via Telegram.

  📎 Process: Auto-download of job documents, data extraction using Jina AI and OpenAI's GPT-4 model to parse content and metadata.

  🤖 Smart Logic: AI agent regenerates articles based on strict RAG dataset rules; category & job type IDs mapped to match WordPress taxonomy; fallback attempts with default images for missing logos.

  💌 Output: Job posts formatted and published to WordPress; success or failure updates sent back via Telegram notifications.

  🗂 Storage: Uses Supabase vector store for document embedding and retrieval related to formatting rules and job data.

  🔐 Quick Setup

  Import the provided JSON workflow into your n8n instances
  Add credentials: Google Drive OAuth, OpenAI API, Supabase API, Telegram API, WordPress API
  Customize: Set your Google Drive folder ID, WordPress endpoints, and Telegram chat IDs
  Update: Confirm default logo URLs and fallback settings as needed
  Test: Submit a new job link via Telegram or add a file to the watched Drive folder

  🧩 You'll Need

  Active n8n instances
  Google Drive Account with OAuth2 credentials
  OpenAI API access for GPT-4 processing
  Supabase account configured for vector storage
  WordPress API credentials for job listing publishing
  Telegram Bot for notifications and job link inputs

  🛠️ Level Up Ideas

  Integrate Slack, Gmail or Teams notifications for teams visibility
  Add a sentiment analysis step to prioritize certain jobs
  Automate social media posting of new job listings for wider reach

  Made by: Khmuhtadin  
  Tags: automation, job-posting, AI, OpenAI, Google Drive, WordPress  
  Category: content automation  
  Need custom work? Contact me

nodes_used:
  ["n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.telegramTrigger","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.memoryPostgresChat","n8n-nodes-base.jinaAi","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.errorTrigger","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  [encoded data, 18228 characters]

metadata_json:
  {"categories":["automation","integration","content automation","AI"],"complexity":"complex","use_cases":["Automated job-post extraction and reposting","AI-driven content standardization and regeneration (RAG)","Media asset handling and fallback for missing logos","Publishing job listings to WordPress with taxonomy mapping","Notifications and monitoring via Telegram"],"estimated_setup_minutes":60,"required_services":["n8n instance","Google Drive (OAuth)","OpenAI (GPT-4)","Jina AI","Supabase (vector store)","WordPress API","Telegram Bot API"],"key_features":["Automated download and extraction of job documents","RAG-based article regeneration using embeddings and Supabase","Category and job-type mapping to WordPress taxonomy","Fallback image handling and media management","Validation checks to prevent incomplete posts before publishing','Telegram notifications for success/failure and trigger inputs"],"target_audience":["Recruiters & HR teams","Content managers","Digital marketers automating job boards / SEO posts"]}


