# templates

name: CYBERPULSE AI GRC: Vendor Risk Evaluator
author_name: Adnan Tariq
author_username: adnantariq
categories: []
created_at: 2025-08-26T01:06:25.458Z
updated_at: 2025-08-26T01:06:25.458Z
url: https://n8n.io/workflows/7860
scraped_at: 2025-09-14 11:38:21
description:
  Description

  Automates the intake, classification, and documentation of third-party vendors.
  Evaluates vendor function, data access level, certification status, and applies AI-driven risk tiering (Low, Standard, Critical).
  Ensures standardized onboarding and scalable due diligence.

  Who It’s For

  Compliance and procurement teams onboarding vendors

  GRC consultants managing supply chain risk

  Security leads needing traceable vendor evidence

  Audit teams validating third-party controls

  How It Works

  Trigger via intake form or webhook

  AI engine assigns vendor risk tier based on context (certification, access type, data sensitivity)

  If certifications (ISO 27001, SOC 2, IRAP, PCI DSS) are missing, status is flagged

  Scorecard is formatted automatically with vendor details, risk tier, and timestamp

  Logs results to Google Sheets for audit-ready evidence

  Sends instant alerts for high-risk or uncertified vendors

  Requirements

  Google Sheets (OAuth2) connected for logging

  Gmail/SMTP node for automated alerts (optional)

  Intake form/webhook for vendor submissions

  Mandatory fields in vendor intake:

  Vendor Name

  Function

  Data Access

  Access Type (Read/Write/API)

  Certification (if any)

  Owner (GRC)

  File Templates

  Vendor_Risk_Log.xlsx (auto-created sheet with audit-ready logs)

  Intake form (customizable, connects via webhook)

  Customization Tips

  Modify AI prompt logic to reflect internal risk appetite

  Add more certification checks (e.g., ISO 27701, FedRAMP)

  Adjust alert thresholds (e.g., auto-notify only for Critical tier)

  Extend integration to Slack/Teams or SIEM for escalation

  Link logs to a dashboard for executive reporting

  Compliance

  ISO/IEC 27001: Controls A.15.1.1, A.15.1.2 (supplier relationships and information security)

  SOC 2: Vendor management and risk classification

  NIST 800-53: SR-3, SR-5 (supply chain risk and contractual requirements)

  Essential Eight: Supports control validation via vendor documentation logging

  Provides timestamped, structured logs suitable for external audits

  Setup Instructions

  Deploy the provided intake form or connect your own vendor submission process to the webhook.

  Connect Google Sheets to store vendor logs (Vendor_Risk_Log.xlsx).

  Connect Gmail/SMTP node for notifications (optional).

  Customize AI prompt and certification logic if needed.

  Run intake tests to validate risk tier assignment.

  Confirm vendor logs and alerts are recorded correctly.

  Supports

  ISO 27001 Information Security

  SOC 2 Compliance

  PCI DSS v4.0

  NIST CSF / 800-53

  ACSC Essential Eight
  https://cyberpulsesolutions.com

nodes_used:
  ["n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WU3W7bRhCFX4XYi14IHHX/uFzyqq7rJEoau7GVoI3hi+XurERYIhWSkq0KAvIOfcM+SUFathRbtgz0mmdnvnM4MyuSO5KSt0n06Y05n/z1QQxPbpc3JCRTbAxJVyQvfElS0uv1Lo5OB8PB15Pfer0eWYekMFNs354fBx9LN59gINLgCxaurILzvL4OThZmMjdNWZGQNGZUk/Ryddcvfv9uvNTLXwcfv536+Vkr2FQbVsZeB8NqXjfBTXBcFj53WFgkIbEVmgbdUUNSwimPgGqgYkhFykUqRF/HyVcSkvnMHZatww3J51n0+duf7w1/Jz8s/k7iLcnRvCmD4TivHPxhqmbZeXoZg6cR74tIHsDYytZXISlKhzvReEad4jYCSrkBaTmDLBYKDPcscYZlUSK2kKd4cx/5oGjMdZtTs5y1nwpdQFcbMlNj/wazcVm2BmZlnTd5WZD0EhSXIbBYXYVkIxi0EFHiraPWgrKZBMlEAlkccxDUKJFwjlnUJjUzlZlig1VN0tX6rvMXrOquOH/I2CrGjXQMfOw1SI8MNKMRaJ5wE7tESWZ3ch8E/37/526ChjlWwUnd5NP7Mbrz9kuhi5+3BiemGNmxyYt+OcPiKH9kUlJ6b/JFYtbXD8yGOhkb50C5mIGMhAdNmQSPHEXMpbUet8zHWDXB8RjtNVYd/cntLK+WwU/BsAV+7p/k/jGpfhUo72/DlYrpGDMPKnMUpPMJJFTF4LwWClmmXSa3oG/KamqaDnEzNhe2rNCayj1LWWPzIyZL+KswRV8+YDqjuVQ2g8TFEciYc9AuQbAUZURRKMl2xvr3ctQxvi3L0QSDizF2DPv5Rp2o09Q/gkolQ+BaHwKVffUAyrxIKKcCNDMxSJVgm6cCz1GqJDOSqmhnWCftn+9Qz4+Ds5uindepySfP026+PsaU+tEOesGE4MpCwmIHMqMImfQGnIgFo5pptNnBHeyzB2NoUDoUDCQVCJI7CkY7DpzFGHtuvVVua+yiye31Mjgtm+fHt+40G8mOH93um1BPYie2LBos2otInuxeewqNbfIFktSbSY0hqbFp8mLUPcVbtPO2/lnlsCIpWbC2xuLufRcYuoxxbjKIpTQgdeYhM5pBpLQXWWSiJFHt/S6LAm1bqiv89IKmKzI1eWvkctVd51cepe5RSPLC4S1J6frqah3un+SdDp3oher7YF57bfYCvXQB9jV7eRUftwi3iR3ejL18B8ztQ3zVUXvSLPy/Ba7W6/V/fRcBkEAJAAA=


name: Automate YouTube Video SEO Tagging with GPT and Slack Notifications
author_name: Trung Tran
author_username: trungtran
categories: []
created_at: 2025-08-26T06:38:04.761Z
updated_at: 2025-08-26T06:38:04.761Z
url: https://n8n.io/workflows/7881
scraped_at: 2025-09-14 11:38:22
description:
  AI-Powered YouTube Auto-Tagging Workflow (SEO Automation)
  Watch the demo video below:

  &gt; Supercharge your YouTube SEO with this AI-powered workflow that automatically generates and applies smart, SEO friendly tags to your new videos every week. No more manual tagging, just better discoverability, improved reach, and consistent optimization. Plus, get instant Slack notifications so your team stays updated on every video’s SEO boost.
  Who’s it for
  YouTube creators, channel admins, and marketing teams who publish regularly and want consistent, SEO-friendly tags without manual effort.  
  Agencies managing multiple channels who need an auditable, automated tagging process with Slack notifications.

  How it works / What it does
  Weekly Schedule Trigger  
     Runs the workflow once per week.

  Get all videos uploaded last week  
     Queries YouTube for videos uploaded by the channel in the past 7 days.

  Get video detail  
     Retrieves each video’s title, description, and ID.

  YouTube Video Auto Tagging Agent (LLM)  
     Inputs: video.title, video.description, channelName.  
     Uses a SEO-specialist system prompt to generate 15–20 relevant, comma-separated tags.

  Update video with AI-generated tags  
     Writes the tags back to the video via YouTube Data API.

  Inform via Slack message  
     Posts a confirmation message (video title + ID + tags) to a chosen Slack channel for visibility.

  How to set up
  YouTube connection
     Create a Google Cloud project and enable YouTube Data API v3.
     Configure OAuth client (Web app / Desktop as required).
     Authorize with the Google account that manages the channel.
     In your automation platform, add the YouTube credential and grant scopes (see Requirements).

  Slack connection
     Create or use an existing Slack app/bot.
     Install to your workspace and capture the Bot Token.
     Add the Slack credential in your automation platform.

  LLM / Chat Model
     Select your model (e.g., OpenAI GPT).  
     Paste the System Prompt (SEO expert) and the User Prompt template:
       Inputs: {{video_title}}, {{video_description}}, {{channel_name}}.
       Output: comma-separated list of 15–20 tags (no #, no duplicates).

  Node configuration
     Weekly Schedule Trigger: choose day/time (e.g., Mondays 09:00 local).
     Get all videos uploaded last week: date filter = now() - 7 days.
     Get video detail: map each video ID from previous node.
     Agent node: map fields to the prompt variables.
     Update video: map the agent’s tag string to the YouTube tags field.
     Slack message:  
            The video "{{video_title}} - {{video_id}}" has been auto-tagged successfully.
       Tags: {{tags}}
       
  Test run
     Manually run the workflow with one recent video.
     Verify the tags appear in YouTube Studio and the Slack message posts.

  Requirements
  APIs & Scopes
  YouTube Data API v3**
    youtube.readonly (to list videos / details)
    youtube or youtube.force-ssl (to update video metadata incl. tags)
  Slack Bot Token Scopes**
    chat:write (post messages)
    channels:read or groups:read if selecting channels dynamically (optional)

  Platform
  Access to a chat/LLM provider (e.g., OpenAI).
  Outbound HTTPS allowed.

  Rate limits & quotas
  YouTube updates consume quota; tag updates are write operations—avoid re-writing unchanged tags.
  Add basic throttling (e.g., 1–2 updates/sec) if you process many videos.

  How to customize the workflow
  Schedule:** switch to daily, or run on publish events instead of weekly.
  Filtering:** process only videos matching rules (e.g., title contains “tutorial”, or missing tags).
  Prompt tuning:**  
    Add brand keywords to always include (e.g., “WiseStack AI”).  
    Constrain to language (e.g., “Vietnamese tags only”).  
    Enforce max 500 chars total for tags if you want a stricter cap.
  Safety guardrails:**  
    Validate model output: split by comma, trim whitespace, dedupe, drop empty/over-long tags.  
    If the agent fails, fall back to a heuristic generator (title/keywords extraction).
  Change log:** write a row per update to a sheet/DB (videoId, oldTags, newTags, timestamp, runId).
  Human-in-the-loop:** send tags to Slack as buttons (“Apply / Edit / Skip”) before updating YouTube.
  Multi-channel support:** loop through a list of channel credentials and repeat the pipeline.
  Notifications:** add error Slack messages for failed API calls; summarize weekly results.

  Tip: Keep a small allow/deny list (e.g., banned terms, mandatory brand terms) and run a quick sanitizer right after the agent node to maintain consistency across your channel.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.youTube","n8n-nodes-base.youTube","n8n-nodes-base.youTube","n8n-nodes-base.slack","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.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.set"]

workflow_json_compressed:
  [encoded data, 7016 characters]


name: Index Legal Documents for Hybrid Search with Qdrant, OpenAI & BM25
author_name: Jenny
author_username: mrscoopers
categories: []
created_at: 2025-08-27T11:48:31.351Z
updated_at: 2025-08-27T11:48:31.351Z
url: https://n8n.io/workflows/7945
scraped_at: 2025-09-14 11:38:20
description:
  Index Legal Dataset to Qdrant for Hybrid Retrieval
  This pipeline is the first part of *"Hybrid Search with Qdrant & n8n, Legal AI"**.  
  The second part, "Hybrid Search with Qdrant & n8n, Legal AI: Retrieval", covers retrieval and simple evaluation.* 

  Overview
  This pipeline transforms a Q&A legal corpus from Hugging Face (isaacus) into vector representations and indexes them to Qdrant, providing the foundation for running Hybrid Search, combining:

  Dense vectors (embeddings) for semantic similarity search;  
  Sparse vectors for keyword-based exact search.


  After running this pipeline, you will have a Qdrant collection with your legal dataset ready for hybrid retrieval on BM25 and dense embeddings: either mxbai-embed-large-v1 or text-embedding-3-small.

  Options for Embedding Inference
  This pipeline equips you with two approaches for generating dense vectors:

  Using Qdrant Cloud Inference, conversion to vectors handled directly in Qdrant;
  Using external provider, e.g. OpenAI for generating embeddings.

  Prerequisites
  A cluster on Qdrant Cloud  
    Paid cluster in the US region if you want to use Qdrant Cloud Inference  
    Free Tier Cluster if using an external provider (here OpenAI)  
  Qdrant Cluster credentials: 
    You'll be guided on how to obtain both the URL and API_KEY from the Qdrant Cloud UI when setting up your cluster;  
  An OpenAI API key (if you’re not using Qdrant’s Cloud Inference);  

  P.S.
  To ask retrieval in Qdrant-related questions, join the Qdrant Discord.  
  Star Qdrant n8n community node repo &lt;3

nodes_used:
  ["n8n-nodes-qdrant.qdrant","n8n-nodes-qdrant.qdrant","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.aggregate","n8n-nodes-qdrant.qdrant","n8n-nodes-base.limit","n8n-nodes-base.merge","n8n-nodes-base.summarize","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-qdrant.qdrant","n8n-nodes-qdrant.qdrant","n8n-nodes-qdrant.qdrant","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","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.set","n8n-nodes-base.set","n8n-nodes-base.summarize","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.aggregate"]

workflow_json_compressed:
  [encoded data, 8532 characters]


name: Evaluate Hybrid Search for Legal Question-Answering using Qdrant & BM25/mxbai
author_name: Jenny
author_username: mrscoopers
categories: []
created_at: 2025-08-27T11:50:13.629Z
updated_at: 2025-08-27T11:50:13.629Z
url: https://n8n.io/workflows/7946
scraped_at: 2025-09-14 11:38:20
description:
  Evaluate Hybrid Search on Legal Dataset
  This is the second part of *"Hybrid Search with Qdrant & n8n, Legal AI."**
  The first part, "Indexing", covers preparing and uploading the dataset to Qdrant.*

  Overview
  This pipeline demonstrates how to perform Hybrid Search on a Qdrant collection using questions and text chunks (containing answers) from the  
  LegalQAEval dataset (isaacus).

  On a small subset of questions, it shows:  
  How to set up hybrid retrieval in Qdrant with:  
    BM25-based keyword retrieval;
    mxbai-embed-large-v1 semantic retrieval;  
    Reciprocal Rank Fusion (RRF), a simple zero-shot fusion of the two searches;
  How to run a basic evaluation:  
    Calculate hits@1 — the percentage of evaluation questions where the top-1 retrieved text chunk contains the correct answer  


  After running this pipeline, you will have a quality estimate of a simple hybrid retrieval setup.  
  From there, you can reuse Qdrant’s Query Points node to build a legal RAG chatbot.  

  Embedding Inference
  By default, this pipeline uses Qdrant Cloud Inference to convert questions to embeddings.  
  You can also use an external embedding provider (e.g. OpenAI).  
    In that case, minimally update the pipeline, similar to the adjustments showed in Part 1: Indexing.  

  Prerequisites
  Completed Part 1 pipeline*, *"Hybrid Search with Qdrant & n8n, Legal AI: Indexing", and the collection created in it;
  All the requirements of Part 1 pipeline;

  Hybrid Search
  The example here is a basic hybrid query. You can extend/enhance it with:
  Reranking strategies;  
  Different fusion techniques;
  Score boosting based on metadata;
  ...  

  More details: Hybrid Queries in Qdrant.  

  P.S.
  To ask retrieval in Qdrant-related questions, join the Qdrant Discord.  
  Star Qdrant n8n community node repo &lt;3

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.httpRequest","n8n-nodes-qdrant.qdrant","n8n-nodes-base.merge","n8n-nodes-base.splitInBatches","n8n-nodes-base.filter","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set"]

workflow_json_compressed:
  [encoded data, 5700 characters]


name: Conversational Meta Ads Reporting & Management with GPT-5
author_name: Konrad Roziewski
author_username: kroziewski
categories: []
created_at: 2025-08-27T16:01:05.882Z
updated_at: 2025-08-27T16:01:05.882Z
url: https://n8n.io/workflows/7957
scraped_at: 2025-09-14 11:38:20
description:
  Currently Work-In-Progress

  This n8n template creates an intelligent AI assistant that responds to chat messages, providing conversational access to your Meta Ads data. Powered by an OpenAI GPT-5 model and equipped with memory to maintain context, this agent can interact with your Meta Ads accounts via the Facebook Graph API.

  Users can ask it to:
  List all connected ad accounts.**
  Retrieve detailed information** for a specific ad account, including active campaigns, ad sets, and individual ads.
  Fetch performance insights** (e.g., spend, impressions, conversions, CPC, CPM, CTR, ROAS) for a given account and time range.
   
  Ideal for marketers, advertisers, or anyone needing quick, conversational access to their Meta Ads performance data and campaign structure without logging into the Ad Manager directly.

  Requires: OpenAI and Facebook Graph API credentials.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.noOp","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.noOp","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolCalculator","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 4352 characters]


name: Automated SEO Blog Publishing with WordPress, OpenAI & Perplexity
author_name: LukaszB
author_username: lukaszb
categories: []
created_at: 2025-08-27T23:34:53.567Z
updated_at: 2025-08-27T23:34:53.567Z
url: https://n8n.io/workflows/7965
scraped_at: 2025-09-14 11:38:22
description:
  Automated Blog n8n System – Professional Articles in Minutes  

  Most blogs publish words.  
  This system publishes experiences.  

  With one simple row in Google Sheets, your blog comes alive with SEO & RAO-friendly WordPress articles — written, illustrated, and published without lifting a finger.  

  What makes it different? Not just automation. Not just speed. It’s the way images are woven between paragraphs, giving your readers a richer, more engaging journey. Instead of walls of text, every article feels alive — easier to read, easier to share, and impossible to ignore.  

  ✨ What this workflow delivers  
  End-to-end automation**: idea → research → writing → visuals → publishing.  
  SEO & RAO optimized*: content built to rank in Google *and surface in AI systems.  
  Built-in storytelling with visuals**: Perfect Images embedded directly inside the article body, making every post more compelling.  
  Seamless WordPress publishing**: titles, excerpts, slugs, body, and featured image in one click.  
  Effortless setup**: designed so anyone can run it, even without technical skills.  

  🔧 Requirements  
  Google Sheets (title, short_description, created)  
  WordPress site with REST API + credentials  
  OpenAI API key (text + image generation)  
  Perplexity API key (research)  
  Cloudinary account with unsigned upload preset  
  (Optional) Pexels API key for stock header images  

  ✅ Perfect for  
  Bloggers who want their content to stand out visually.  
  Agencies managing client blogs and SEO projects.  
  Businesses that need engaging, living content on autopilot.  
  Anyone ready to turn a silent blog into a beautiful, automated publishing machine.  

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.googleGemini","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.limit","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.perplexityTool","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleSheets","n8n-nodes-base.wordpress","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.googleGemini","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:
  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


name: Chat with Google Drive Documents using GPT, Pinecone, and RAG
author_name: Marko
author_username: perspectalog
categories: []
created_at: 2025-08-28T08:46:43.250Z
updated_at: 2025-08-28T08:46:43.250Z
url: https://n8n.io/workflows/7979
scraped_at: 2025-09-14 11:38:20
description:
  📌 Short Overview

  Automatically sync files from Google Drive into a searchable AI knowledge base with Pinecone, and answer user queries using GPT-4o with conversational memory.

  ⸻

  🛠️ Workflow Usage Steps

  1.	Watch Google Drive for file changes
  Trigger the workflow when a new file is uploaded or an existing file is updated in a specific Google Drive folder.
  2.	Download and process the file
  Retrieve the file, split it into smaller text chunks with a Recursive Character Text Splitter, and generate vector embeddings using OpenAI.
  3.	Store embeddings in Pinecone
  Save the embeddings in a Pinecone vector database to keep your knowledge base continuously updated and searchable.
  4.	Search context for chat queries
  When a user asks a question, query Pinecone for relevant context, combine results with conversational memory, and process them with GPT-4o.
  	5.	Respond with AI-powered answers
  Provide a concise response (100–200 words) that blends knowledge from your documents with the conversation history.

  ⸻

  ✅ Use Cases
  •	Keep a live, AI-ready knowledge base from your Google Drive files.
  	•	Enable team members to query company documents instantly.
  	•	Build a personal assistant that stays up to date with your latest uploads.

  ⚙️ Setup Steps
  Google Drive
  	•	Create a Google Cloud project.
  	•	Enable the Google Drive API.
  	•	Generate OAuth credentials and connect them in n8n.
  OpenAI
  	•	Sign up at OpenAI.
  	•	Copy your API key from the dashboard.
  	•	Add it to n8n under Credentials → OpenAI API.
  Pinecone
  	•	Create an account at Pinecone.
  	•	Create a new index (e.g., docs-embeddings).
  	•	Copy your API key and environment, then add them to n8n under Credentials → Pinecone API.
  Workflow Configuration
  	•	Import this workflow into your n8n instance.
  	•	Select the Google Drive folder you want to monitor.
  	•	Set the Pinecone index name in the workflow.
  	•	Adjust chunk size / overlap in the text splitter if needed.
  Test the Workflow
  	•	Upload a new document to your Google Drive folder.
  	•	Run the workflow to confirm embeddings are created and stored in Pinecone.
  	•	Ask a sample query and verify the AI returns a context-aware answer.

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

workflow_json_compressed:
  [encoded data, 4148 characters]


name: Receipt Scanning & Analysis Workflow
author_name: Aemal Sayer
author_username: aemal
categories: []
created_at: 2025-08-28T10:47:11.676Z
updated_at: 2025-08-28T10:47:11.676Z
url: https://n8n.io/workflows/7990
scraped_at: 2025-09-14 11:38:19
description:
  How it works:
  Automatically detects when a new receipt is uploaded to Google Drive.
  Extracts text from the receipt using OCR.
  Uses an AI Agent to analyze the extracted data and structure it (e.g., vendor, date, total, tax).
  Saves the organized receipt data into a Google Sheet for easy tracking.

  Set up steps:
  Setup takes around 15–20 minutes.
  You'll need a Google Drive folder for receipts and a Google Sheet to store results.
  Configure your Google Drive Trigger, OCR extraction, AI Agent, and Google Sheets connection.

  Detailed instructions and explanations are included in this n8n Starter Session tutorial series.

nodes_used:
  ["n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.mistralAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote"]

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


name: Generate AI Sales Pitches from Website URLs with GPT-4o and Google Sheets
author_name: Zach @BrightWayAI
author_username: ajenta
categories: []
created_at: 2025-08-28T16:59:53.716Z
updated_at: 2025-08-28T16:59:53.716Z
url: https://n8n.io/workflows/8000
scraped_at: 2025-09-14 11:38:20
description:
  Overview

  This n8n workflow converts a simple list of website URLs in Google Sheets into a concise, consultative Context + AI pitch for each organization. It scrapes real page content (markdown preferred), feeds it to OpenAI with tight prompts to avoid fluff, and writes the result back to the same sheet row. You can run it on demand or schedule it, and it’s resume-safe—rows with existing messages are skipped. The net effect: faster, higher-quality prospect research and consistent outbound messaging without leaving your sheet.

  How it works

  Reads rows from Google Sheets with headers Website and Personalized Message.
  Skips rows where Personalized Message already has content.
  Scrapes each URL to get clean page content (prefer markdown from a scraper like Firecrawl).
  Calls OpenAI with strict System/User prompts to produce Context + Pitch grounded in the site.
  Writes the generated message back to the same row (upsert by Website).
  (Optional) Adds a short delay between rows to respect rate limits.

  Setup:

  Sheet: Create headers Website, Personalized Message (row 1).
  Credentials: Add Google Sheets OAuth2 and OpenAI in n8n.
  Read node (Sheets): Select your doc/tab → Get All.
  Scrape step: Use Firecrawl → Scrape (markdown), or fallback to HTTP Request → HTML extract.
  OpenAI node: Model like gpt-4o-mini; paste your System/User prompts; enable Simplify Output if available.
  Write node (Sheets): Append or Update → Column to match on = Website; map
  Website → original URL
  Personalized Message → OpenAI output ({{$json.content}}
  (Optional) Add a Wait node (500–2000 ms) for throttling and stability.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.wait","n8n-nodes-base.noOp","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","@mendable/n8n-nodes-firecrawl.firecrawl","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WW227bRhCGX4XYqxbguHviHnSVJk2KAEnT1klTNPDF7O6sREQiBZK2kxp694JyYikylcjpHUHM/vPN7Bz2htWJzZh+0rx59c/TD1d/v/zj9a9PH7OSrWhANrthddMP2ER6PtqJylOUJJLxPJNxFXc6SZfIRbTKaWe0DLkySlcWhQ9exxw5z1IhTx49K9lAq/USB3rSUerPabhcP2lX6yUNlNhs6C5pU7IGV8Rm7C2Fvh6oOL9crbD7OB7Gec9m7y5K1rSJxs+b2wCM9YJiTCC5yaBNChAkcshJSkopBsTA7oRfYnOJy+J1V8/n1I26H9fj/8Y1sBWGgD2drbZmO6t129dD3TZs9g68lyU4flGyNXa4ooG6ns1uNrdaf1HXbw3FpvxEmEgaKYUBZZQErTOC476CSgTpPEcZct4Rni9wTUV7Oawvh+KHp6keimc1LVP/41HanoYvGaU9CVGd6TtIoSruUXrwRgvQMVhAwTkoKVOIWTjKcQf5FuuhkP1RomusD5AqIUsQ5qJk1xQWbft+W1WVCi46ZaGKFkEHFQCzUmC5yzZhTKgtOznRQgcRnK/AoFKgs5PgpJRQKVuFgDmQ87sYfmkbOhpA075aH9y75rwU0p1+7xwDKlMhROsItNUGgnYGVHJSaptVSLTD+Z26vm1wWf9LxUvqe5zv0T1qXPPTDnGJzTwusG7O2jU1P9eHFWpOKtAzd4eaXfSVURn0WJhaJQOYPQclKFkfJFV2D/XNOuFARb8gGorrelgU6x18KlaH9Ae5nbftfEnn4+n+S3LLdSms+Ra5PrN35FVKQjjhIEiKoJOwEBRmsFEZzbPgQacd+TMa4qK4/jRd3vz5oshdu7qN5Dt4wTp9Sqr3gVF74YxPILQ2oHnIELy3kIK1WDnvKqV3wC/adl20V9SNsMf7rV8v6+F58xiHuKBDyG3rfRtS7gYWJ6psThB5ZUHHPHalzOBFMjkEnqPdQzyP3TixPicVm1TMaSjqoS9i2wzU7GX20YqahGFJe8Wc645ih9fLs7uvgwCkcw+buMEhjYsKeFYetHMG0HEEjckLh1V0qtoLYKjj+4/Fb+1wvGb7rc0nk302Nzab5vfg2OfYZ4wdB1VRymhdBRhNBE3RAqJQ4JIhU2mrQ8ZJUPFwUil1CVrc667TSCsfHHeJQxI8g47egJeiApPQWxlT4D5OksoHkxrNS+X0wzgvSoZxqK+IzTIueypZT8NQN/PtUfpA8XKUf9Ul6tiMXYlR4+r2/HYVWawqIqdBOAygcVxFwgXQPmqknLXUI2dsm4biKLUV/rwIZzdshfVI/+5m+0L5jjG5FShZ3ST6wGZ8c3GxKQ8HwJSfhzTgPR/lTufLhThJc/B8mqI5bcROqk+twMmAT3giTTr4ysEpP/deOZOiXw14SvbYTJ9G/vblTvn46mti0tGJ1fo/A9ps/gOBmSZgeAwAAA==


name: Google Maps to Airtable Lead Scraper with GPT Contact Extraction from Impressum
author_name: Sulieman Said
author_username: sulieman-said
categories: []
created_at: 2025-08-28T19:30:14.552Z
updated_at: 2025-08-28T19:30:14.552Z
url: https://n8n.io/workflows/8003
scraped_at: 2025-09-14 11:38:21
description:
  How it Works  
  This workflow automates the process of discovering companies in different cities, extracting their contact data, and storing it in Airtable.  

  City Loop (Airtable → Google Maps API)  
     Reads a list of cities from Airtable.  
     Uses each city combined with a search term (e.g., SEO Agency, Berlin) to query Google Maps.  
     Marks processed cities as “checked” to allow safe restarts if interrupted.  

  Business Discovery & Deduplication  
     Searches for businesses via Google Maps Text Search.  
     Checks Airtable to avoid scraping the same company multiple times.  
     Fetches detailed info for each business via Google Maps Place Details API.  

  Impressum Extraction (Website → HTML Parsing)  
     Builds an Impressum page URL for each business.  
     Requests the HTML and cleans out ads, headers, footers, etc.  
     Extracts relevant contact info using an AI extractor (OpenAI node).  

  Contact Information Extraction  
     Pulls out:  
       Decision Maker (Name + Position in one string, if available).  
       Email address (must be valid, containing @).  
       Phone number (international format if possible).  
     Filters out incomplete results (e.g., empty email).  

  Database Storage  
     Writes company data back into Airtable:  
       Company name  
       Address  
       Website  
       Email  
       Phone number  
       Decision Maker (Name + Position)  
       Search term & city used  

  Setup Steps  

  1. Prerequisites  
  Google Maps API Key with access to:  
    Places API → Text Search + Place Details  
  Airtable base with at least two tables:  
    Cities (with columns: ID, City, Country, Status)  
    Companies (for scraped results)  
  OpenAI API key (for decision maker + contact extraction).  

  2. Authentication  
  Configure your Airtable API credentials in n8n.  
  Set up HTTP Query Auth with your Google Maps API key.  
  Add your OpenAI API key in the OpenAI Chat node.  

  3. Configuration  
  In the Airtable “Cities” table, list all cities you want to scrape.  
  Define your search term in the “Execute Workflow” node (e.g., SEO Agency).  
  Adjust the batch sizes and wait intervals if you want faster/slower scraping (Google API has strict rate limits).  

  4. Execution  
  Start manually or from another workflow.  
  The workflow will scrape all companies in each city step by step.  
  It can be safely stopped and resumed — cities already marked as processed will be skipped.  

  5. Results  
  Enriched company dataset stored in Airtable, ready for CRM import, lead generation, or further automation.  

  Tips & Notes  
  Always respect GDPR and local laws when handling scraped data.  
  The workflow is modular → you can swap Airtable with Google Sheets, Notion, or a database of your choice.  
  Add custom filters to limit results (e.g., only companies with websites).  
  Use sticky notes inside the workflow to understand each step (mandatory for template publishing).  
  Keep an eye on Google Places API costs** — queries are billed after the free quota. If you are still within the first 2 months of the Google Cloud Developer free trial, you can benefit from free credits.  


  Questions or custom requests?  
  📩 suliemansaid.business@gmail.com

nodes_used:
  ["n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.html","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.manualTrigger","n8n-nodes-base.executeWorkflow","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.splitInBatches","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.summarize","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable"]

workflow_json_compressed:
  [encoded data, 7088 characters]


name: Generate & Publish AI Cinematic Videos to YouTube Shorts using VEO3 & Gemini
author_name: Sulieman Said
author_username: sulieman-said
categories: []
created_at: 2025-08-28T20:07:27.635Z
updated_at: 2025-08-28T20:07:27.635Z
url: https://n8n.io/workflows/8004
scraped_at: 2025-09-14 11:38:20
description:
  How it Works
  This workflow uses VEO3 to generate surreal cinematic AI videos at a fraction of the cost compared to Google’s standard video generation APIs.  
  With it, you can automatically run a YouTube Shorts channel (and optionally Instagram uploads) that posts new AI videos every day  completely automated.  

  Workflow Overview  
  Schedule Trigger  
     Runs automatically at your chosen times (e.g., twice per day).  

  AI Prompt Generator  
     Creates a detailed video idea based on your chosen niche.  
     You only need to adapt the system prompt to your theme (e.g., Travel Facts, Tech Visuals, Mini-Facts, Impossible Realities, Food Illusions).  
     Output includes:  
       Video Prompt (for VEO3 API)  
       Social Caption with hashtags  
       YouTube Title  
       YouTube Description  

  VEO3 Video Generation  
     Sends the prompt to KIE AI VEO3 (model: veo3_fast).  
     Produces 9:16 vertical short-form videos optimized for YouTube Shorts, TikTok, Instagram Reels.  
     Significantly cheaper than Google’s Video AI while delivering cinematic quality.  

  Publishing  
     Uploads automatically to YouTube Shorts (with AI-generated titles, descriptions, tags).  
     In parallel, posts the same video to a Telegram channel (Instagram upload possible with a small modification).  

  Why Use This Workflow?  
  Cost Advantage:**  
    Google’s video generation is very expensive.  
    VEO3 costs are much lower, making it possible to publish multiple Shorts every day without breaking your budget.  

  Automated Channel Growth:**  
    Build a fully automated YouTube Shorts channel.  
    Post fresh videos daily → more reach, more chances to go viral.  

  Flexible Niches:**  
    Simply edit the system prompt to match your niche.  
    Examples:  
      Mini Facts Channel  
      Surreal Visual Loops  
      Tech Explainers in Visual Form  
      Food or Nature Illusions  
    The AI adapts automatically to your theme.  

  Cross-Platform:**  
    Out of the box: YouTube + Telegram.  
    With small adjustments: Instagram Reels, TikTok uploads possible.  

  Setup Steps  
  Get API Keys:  
     KIE AI VEO3 API key.  
     YouTube API credentials (OAuth2).  
     (Optional) Telegram Bot API or Instagram Graph API.  

  Configure Schedule:  
     Define how often you want new videos (e.g., 1–5 per day).  

  Adapt Prompts:  
     Change the AI Agent system prompt to your target niche.  

  Run & Scale:  
     Let the workflow run automatically.  
     Watch your channel fill with new daily Shorts.  

  Tips & Notes  
  With VEO3 you can experiment with higher volume since costs are predictable and far lower than Google.  
  Start with one niche channel → once it works, clone the workflow to build multiple parallel AI-driven channels.  
  Always respect YouTube/Instagram guidelines when posting automated content.  
  Adding background music layers or captions can further increase virality.  

  ⚡ Summary:  
  With this template you can create an AI-powered YouTube Shorts machine that runs on autopilot.  
  Just choose your niche, adjust the prompt, and let VEO3 + n8n handle video creation, uploading, and scaling — cheaper, faster, and smarter than traditional Google Video AI.


  Questions or custom requests?  
  📩 suliemansaid.business@gmail.com

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.youTube","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.outputParserStructured"]

workflow_json_compressed:
  H4sIAAAAAAAAE52WS2/jNhSF/4rAtW7K98OrBlkMsmgbzExbFIOguCQvbWFsyZVpTAeB/3thJ4g9fuTRrXR4+Ong8FIPbEEV2eSBdf2qYp/oNrMJI52k4hgEd+hKQK4cReNRWgyJW63ICi1lMppntKUYspmc9Flb47zjrGWVFss5VroZKa8+UV0vb4bFck6VMpvUcU2blvVDphWbfHlg3XZX5QWPJAicFRK0MgghhQgiRO40tyoHyVrW44LYhH2qXfr6vfl1qNRA83nsplMatxt/X25f976HnT9EXNHVaqfeilnLlsOqq93Qs8kXEMbIVsn7li1xxAVVGlfbPNLQV+ormzC2eTT9g8bVbpHYtE/EJqeSyAuwnBNoIxIE6Tygy0ReWMm5OiBOM8rrOb0O+yTc634g1lK3wtlj5BPMK/kMKpPCgs6BEiGCRiRA5AFKsdEUl7NHfyna69vmbhwWy/r+cIP0LVj9/8JVhkuZMEBMKoMmjhAkEchkBNloQuZ8z3x921xPt57PkD/3vv9pTzrHfppm2PVX+KQ7JNXBtkKfkB7TyYNM0aeoudcQtFOgPRoIRUmIQoTCizFe0J7vwzBM59R8oEXXd83NDGvzy5Bp/gbe+WIrfzR4XH8Eb6RvlTnp8OVohfWxEHlwThrQJRYIOSeQPngs0lgqdKkOf3SZhub67vb9dZDctxBOivu2OhAvGmMRwIuKoJ3jEBSX4GxWVCiisukgbuppxEqPuBdRZ7UuP9I/a1odF0Jo/ZZC6INCuBCSU0ZC4tKBVjlBCJgAo43SixKzwj3hn9jVpgxj85H6/MIw+IbdEdtzVb9RnA3D193I5spqpUgDzzaCjjGAt1FBCqgkxRi9FezVibGPO7mUvEkenC0GdBYIwZIAp5STWiTieDCMb2aUvj59SfOpYl2v3p+5UrYV0r8ncpSFZ+McFG8ItDUBUJQEqLVBU7zmWC4V+W4d591q1vXTdzfZONvCmXa8rcmFZx9NloACt4PNcAgoEXRArYWjrA4H2+/L+YC5qUPz17D+vI50kfb78/sDVG91K907ZoNLhTDpBL6kDBqNBy98AiJSUXCetDAHkVK/Y/tMc5qOuLgIV/eCIzrPj6qslc8qaQEkvAGtXQHvSwTNTULU6DPl16t8UBJukpJBAiq0oClxiBg4SJ9yQqdkcoe3dB3Xqa5Hys1v67pc1+YOx9XhAb04qIed/lG+tzkaLNuWv2VYX6nNfbstVE9pu3bXr+dbbvLAFthtDb887P6jXph5O2HLuj7Tv2zCN/f3m/ZYfM7v4oQ6a3isPuf44pg463ryz3TO9vTuP+t1bvdzdi+cuGPf9nnR5YNwPv5LvwOTB4bd39tOrXFKT89e/NYT+UmGlxr9uNdha1/f6gf1jzttNv8BW1rvnU8MAAA=


name: LeadChat Booker — conversational lead capture that schedules
author_name: Le Nguyen
author_username: leeseifer
categories: []
created_at: 2025-08-29T08:31:42.598Z
updated_at: 2025-08-29T08:31:42.598Z
url: https://n8n.io/workflows/8018
scraped_at: 2025-09-14 11:38:21
description:
  Real Working Demo

  https://crmaiinsight.com/leadbot
  How It Works (High-Level)

  1) Chat &gt; Capture  
     LeadBot greets, collects Full Name → Email → Mobile (optional) → Product interest via friendly chat (no forms).  
     Validates email/phone, confirms inputs, supports corrections.

  2) De-dupe  
     Checks Salesforce for an existing lead by Email.  
     If found → update_lead. If not → create_lead.

  3) Product Selection  
     Pulls your Feature_Product__c list (Name + one-line Description) and lets the user choose by number or name.

  4) Demo Booking (Optional)  
     If the user says Yes:  
     Detect/ask Time Zone (IANA).  
     Reads Salesforce Events for the next 14 days.  
     Computes free 30-min weekday slots (09:00–17:00 UTC) strictly after now.  
     User picks a slot → creates a Salesforce Event (30 min) linked to the Lead.

  5) Notifications & Follow-ups  
     Slack DM to your team (concise summary).  
     Email confirmation to the prospect (local date/time included).  
     Ends with a polite confirmation message.

  Setup at a Glance

  Effort:* Most teams finish the base setup in *~45–90 minutes** (credentials, field mapping, test).  
  What you’ll configure:** Salesforce OAuth, SMTP (or your ESP), Slack, OpenAI key, and the web chat widget.

  &gt; Tip: Start with the provided Feature_Product__c object. You can switch to your own product catalog with a few tweaks (see below).

  Prerequisites

  Salesforce**  
    Connected App + OAuth (API enabled).  
    Lead fields: FirstName, LastName, Email, MobilePhone, and one product lookup/text field (e.g., Interested_Product__c or Feature_Product__c).  
    (Recommended) Custom object Feature_Product__c with fields: Name, Description__c, Features__c, Tags__c.

  n8n Credentials**  
    salesforceOAuth2Api (to read/write Leads & Events).  
    smtp (or use your email provider node).  
    slackApi (for internal notifications).  
    openAiApi (for the chat agent).

  Widget Embed (optional)**  
    A place on your site/app to embed the chat launcher.

  Step-by-Step Setup

  1) Import the flow into n8n  
     Verify nodes: Chat Trigger → AI Agent → check_duplicate_lead → update/create lead → get_products → get_scheduled_events → create_demo_event → Slack/Email.

  2) Add/Bind Credentials
     Salesforce OAuth: authorize org with API scope.  
     SMTP: sender, domain, and authentication (verify SPF/DKIM).  
     Slack: ensure bot can DM users/channels.  
     OpenAI: drop in your API key.

  3) Map Product Field on Lead
     Pick one field to store the selection (e.g., Interested_Product__c).  
     Ensure AI Agent and Salesforce nodes reference the same field.

  4) (Option A) Use Feature_Product__c
     Confirm fields exist: Name, Description__c (used in the numbered list).  
     In get_products, make sure Id is returned; pass it as customFieldsValues0_Value.

  5) (Option B) Use Your Own Catalog
     Swap customObject: Feature_Product__c → Product2 (or your object).  
     Update fields to at least: Id, Name, and a short description field.  
     Keep the variable contract the same (AI expects to store Id, name, description).

  6) Configure Demo Booking
     get_scheduled_events uses a SOQL search window (today → +14 days).  
     Ensure your Event permissions allow read/write.  
     Confirm create_demo_event URL points to your Salesforce domain & API version.

  7) Customize Widget (optional)
     Set title, brand colors, and initial message in the Chat Trigger options.  
     Limit reply length (≤100 words) is already set.

  8) Test End-to-End
     Run a full path: enter name/email/phone, pick a product, select a time slot.  
     Verify: Lead/Update in Salesforce, Event creation, Slack DM, Prospect Email.

  Switching to Your Own Products (Quick Tweaks)

  Replace Data Source:**  
    In get_products:  
      customObject: Product2 (or your object API name).  
      Fields: ensure Id, Name, and a short description are returned.  
  Update Lead Field Mapping:**  
    Set Interested_Product__c (or your chosen field) to the returned Product Id.  
  Copy Text Logic:**  
    Keep the AI’s “numbered list” output; it supports both number and name replies.

  What Users Experience

  No forms. A friendly AI asks one thing at a time, confirms details, and offers a live calendar of the next available 30-minute demo slots.  
  The moment they choose, a Salesforce Event is created and they get a confirmation email.  
  Your team receives a Slack heads-up with who/what/when.

  Troubleshooting Quick Checks

  No product list?* Ensure Id, Name, Description__c (or equivalent) are returned by *get_products**.  
  No free slots shown?** Confirm Event query window (+14 days), timezone handling, and that “current time” filter excludes past times.  
  Lead not updated?* Check the *duplicate search by Email** and that update_lead receives Lead_ID.  
  Event fails to create?** Verify Salesforce API endpoint, OAuth scope, and required Event fields.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.salesforceTool","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.salesforceTool","n8n-nodes-base.salesforceTool","n8n-nodes-base.emailSendTool","n8n-nodes-base.slackTool","n8n-nodes-base.salesforceTool","n8n-nodes-base.salesforceTool","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.chatTrigger","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:
  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


name: Auto-Generate Virtual AI Try-On Images for WooCommerce with Gemini Nano Banana
author_name: Davide
author_username: n3witalia
categories: []
created_at: 2025-08-29T10:05:54.420Z
updated_at: 2025-08-29T10:05:54.420Z
url: https://n8n.io/workflows/8022
scraped_at: 2025-09-14 11:38:19
description:
  This workflow automates the creation of AI-generated virtual try-on images for fashion eCommerce stores. Instead of relying on expensive and time-consuming photoshoots, the system uses AI to generate realistic images of models wearing selected clothing items.

  This n8n workflow automates the process of generating AI-powered virtual try-on images for a WooCommerce store. It fetches product data from a Google Sheet, uses the Fal.ai Nano Banana model to create an image of a model wearing the clothing item, and then updates both the Google Sheet and the WooCommerce product with the final generated image.

  Advantages

  ✅ Cost Reduction: Eliminates the need for professional photo shoots, saving on models, photographers, and studio expenses.
  ✅ Time Efficiency: Automates the entire workflow—from data input to product update—minimizing manual work.
  ✅ Scalability: Works seamlessly across large product catalogs, making it easy to update hundreds of products quickly.
  ✅ Enhanced eCommerce Experience: Provides shoppers with realistic previews of clothing on models, boosting trust and conversion rates.
  ✅ Marketing Flexibility: The generated images can also be repurposed for ads, social media, and promotional campaigns.
  ✅ Centralized Management: Google Sheets acts as the control center, making it easy to manage inputs and track results.

  How It Works

  The workflow operates in a sequential, loop-based manner to process multiple products from a spreadsheet. Here is the logical flow:

  Manual Trigger & Data Fetch: The workflow starts manually (e.g., by clicking "Test workflow"). It first reads data from a specified Google Sheet, looking for rows where the "IMAGE RESULT" column is empty.

  Loop Processing: It loops over each row of data fetched from the sheet. Each row should contain URLs for a model image and a product image, along with a WooCommerce product ID.

  API Request to Generate Image: For each item in the loop, the workflow sends a POST request to the Fal.ai Nano Banana API. The request includes the two image URLs and a prompt instructing the AI to create a photo of the model wearing the submitted clothing item.

  Polling for Completion: The AI processing is asynchronous. The workflow enters a polling loop: it waits for 60 seconds and then checks the status of the processing request. If the status is not COMPLETED, it waits and checks again. This loop continues until the image is ready.

  Fetching and Storing the Result: Once the status is COMPLETED, the workflow retrieves the URL of the generated image, downloads the image file, and uploads it to a designated folder in Google Drive.

  Updating Systems: The workflow then performs two crucial update steps:
      It updates the original Google Sheet row, writing the URL of the final generated image into the "IMAGE RESULT" column.
      It updates the corresponding product in WooCommerce, adding the generated image to the product's gallery.

  Loop Continuation: After processing one item, the workflow loops back to process the next row in the Google Sheet until all items are complete.

  * Set Up Steps*

  To make this workflow functional, you need to configure three main connections:

  Step 1: Prepare the Google Sheet
  Create a Google Sheet with the following columns: IMAGE MODEL, IMAGE PRODUCT, PRODUCT ID, and IMAGE RESULT.
  Populate the first three columns for each product. The IMAGE RESULT column must be left blank; the workflow will fill it automatically.
  In the n8n workflow, configure the "Google Sheets" node to point to your specific Google Sheet and worksheet.

  Step 2: Configure the Fal.ai API Key
  Create an account at fal.ai and obtain your API key.
  In the n8n workflow, locate the three "HTTP Request" nodes named "Get Url image", "Get status", and "Create Image".
  Edit the credentials for these nodes (named "Fal.run API") and update the Value field in the Header Auth to be Key YOURAPIKEY (replacing YOURAPIKEY with your actual key).

  Step 3: Set Up WooCommerce API
  Ensure you have the API keys (Consumer Key and Consumer Secret) for your WooCommerce store's REST API.
  In the n8n workflow, locate the "WooCommerce" node.
  Edit its credentials and provide the required information: your store's URL and the API keys. This allows the workflow to authenticate and update your products.

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

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wooCommerce","n8n-nodes-base.googleSheets","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5148 characters]


name: Automate HS Code Lookup & Enrichment with Google Sheets and Customs API (beta)
author_name: Thomas
author_username: thomas-z
categories: []
created_at: 2025-08-29T16:38:21.850Z
updated_at: 2025-08-29T16:38:21.850Z
url: https://n8n.io/workflows/8034
scraped_at: 2025-09-14 11:38:20
description:
  "I used to spend hours every week just copy-pasting product descriptions to find the right tariff codes for our international shipments. It was tedious and prone to errors." - Accounting specialist.


  This workflow eliminates that manual work entirely. It automatically finds customs tariff numbers (also known as HS Codes or "Zolltarifnummern") for your products and enriches your data in Google Sheets. It offers two powerful modes: bulk processing for entire product lists and an on-demand chat interface for quick single lookups.

  new features
  added the API score in percentage (80 to 100% is perfect, 70-80% still good)
  added description of the found HS Code to better verify the accuracy
  -please keep in mind, that is still a beta
  https://www.zolltarifnummern.de/services/api 

  What this workflow does
  Bulk Enrichment from Google Sheets:** Reads a list of product descriptions from a specified Google Sheet.
  External API Lookup:** For each product, it queries the zolltarifnummern.de API to find the most relevant customs tariff number.
  Automated Data Update:** Writes the found tariff numbers back into the correct row in your Google Sheet.
  On-Demand Single Lookup:** Use the integrated Chat Trigger to instantly look up a tariff number for a single product description without leaving n8n.
  Completion Notification:** Sends a confirmation email via Gmail once the bulk processing job is finished.

  Nodes Used
  Google Sheets
  HTTP Request
  Loop Over Items (Split in Batches)
  Set
  Gmail
  Chat Trigger
  Manual Trigger

  Preparation
  A Google Sheet prepared with at least two columns: one for your product descriptions (e.g., ProductDescription) and an empty one for the results (e.g., TariffCode).
  How to set up this workflow
  Configure Google Sheets (Read):

  Open the "Read Item Descriptions" node.
  Select your Google Sheets credentials.
  Enter your Spreadsheet ID and the name of the sheet containing your product data.
  Make sure the "Columns to Read" field includes the name of your product description column.
  Configure Google Sheets (Update):

  Open the "Write Customs Tariff to Sheet"  node.
  Select the same Google Sheets credentials.
  Enter the same Spreadsheet ID and Sheet Name.
  Under Columns, set Matching Columns to your product description column name. This is crucial for updating the correct rows.
  Configure Email Notification:

  Open the "Send Completion Email" (Gmail) node.
  Select your Gmail credentials.
  In the Send To field, enter the email address where you want to receive the completion notification.

  Run the Workflow:

  For Bulk Processing: Activate the workflow and execute the "Abfrage starten" (Start Query) Manual Trigger.
  For a Single Lookup: Use the Chat Trigger. Open the chat pane, type a product description, and hit send. The workflow will return the suggested tariff number.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.gmail","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.set"]

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


name: Version Control n8n Workflows in GitLab with Customer Tag Organization
author_name: Omar Kennouche
author_username: kennouche-omar
categories: []
created_at: 2025-08-29T20:58:27.777Z
updated_at: 2025-08-29T20:58:27.777Z
url: https://n8n.io/workflows/8042
scraped_at: 2025-09-14 11:38:20
description:
  How it works
  Triggers manually or on schedule (03:00 daily by default)  
  Fetches workflows tagged backup-workflows via n8n API  
  Normalizes workflow names and applies [client: NAME] tag convention  
  Prepares JSON in the same structure as an n8n UI export  
  Checks GitLab repository:  
    Create new file if missing  
    Update file if content differs  
    Skip if unchanged  
  Logs results with recap (created, updated, unchanged, total)  

  Set up steps
  Configure your GitLab credentials in n8n  
  Create a repository and branch for workflow backups  
  Set global variables (owner, project, branch, backup path)  
  Tag workflows to include with backup-workflows  
  Run manually once to test, then enable the schedule  

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.n8n","n8n-nodes-base.gitlab","n8n-nodes-base.gitlab","n8n-nodes-base.gitlab","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.merge"]

workflow_json_compressed:
  [encoded data, 10800 characters]


name: Personalized Evening Wind-Down System with Mood Tracking via Telegram, Notion & Email
author_name: Shelly-Ann Davy
author_username: SheCodesFlow
categories: []
created_at: 2025-08-30T16:30:27.279Z
updated_at: 2025-08-30T16:30:27.279Z
url: https://n8n.io/workflows/8067
scraped_at: 2025-09-14 11:38:20
description:
  🌸 The Quiet Evening Ritual — Wind-Down Automation (Telegram + Notion + Email)

  Create a calming 9PM evening routine that runs itself. This n8n template checks in via Telegram with mood buttons, delivers personalized support (meditation when you’re tired, celebration when you’re thriving), logs reflections to a Notion “Evening Reflection Log,” and sends a gentle goodnight email with tomorrow’s affirmation.

  Who it’s for

  Homemakers, moms, and creators who feel “always on” and want a graceful, one-tap transition into rest.

  What it does

  9:00 PM Telegram mood check (I’m Tired 💤 / Felt Great ✨)

  Personalized content (5-min meditation or celebration prompt)

  Automatic Notion journaling (mood, reflection, wins, date, affirmation)

  Goodnight email with a fresh morning affirmation

  Optional: GPT-4o mini for gentle reflection prompts

  Why it’s different

  Not just logging—this is a ritualized, emotionally intelligent handoff from work to rest that protects your peace and builds consistency.

  Stack & Nodes

  Cron → Telegram → IF → Notion → Email (+ optional GPT)

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.cron","n8n-nodes-base.telegram","n8n-nodes-base.telegramTrigger","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.openAi","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.notion","n8n-nodes-base.emailSend","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.notion","n8n-nodes-base.emailSend"]

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


name: Find Valid Vouchers and Promo Codes with SerpAPI, Decodo, and GPT-5 Mini
author_name: Khaisa Studio
author_username: khaisastudio
categories: []
created_at: 2025-08-31T07:30:33.648Z
updated_at: 2025-08-31T07:30:33.648Z
url: https://n8n.io/workflows/8075
scraped_at: 2025-09-14 11:38:21
description:
  Promo Seeker finds fresh, working promo codes and vouchers on the web so your team never misses a deal. 

  This n8n workflow uses SerpAPI and Decodo Scrapper for real-time search, an agent powered by GPT-5 Mini for filtering and validation, and Chat Memory to keep context—saving time, reducing manual checks, and helping marketing or customer support teams deliver discounts faster to customers (and yes, it's better at hunting promos than your inbox).

  💡 Why Use Promo Seeker?

  Speed: Saves hours per week by automatically finding and validating current promo codes, so you can publish deals faster.  
  Simplicity: Eliminates manual searching across sites, no more copy-paste scavenger hunts.  
  Accuracy: Reduces false positives by cross-checking results and keeping only working vouchers—fewer embarrassed "expired code" moments.  
  Edge: Combine search APIs with an AI agent to surface hard-to-find, recently-live offers—win over competitors who still rely on manual scraping.

  ⚡ Perfect For

  Marketing teams: Quickly populate newsletters, landing pages, or ads with valid promos.  
  Customer support: Give verified discount codes to users without ping-ponging between tabs.  
  Deal aggregators & affiliates: Discover fresh vouchers faster and boost conversion rates.

  🔧 How It Works

  ⏱ Trigger: A user message via the chat webhook starts the search (Message node).  
  📎 Process: The agent queries SerpAPI and Decodo Scrapper to collect potential promo codes and voucher pages.  
  🤖 Smart Logic: The Promo Seeker Agent uses GPT-5 Mini with Chat Memory to filter for fresh, working promos and to verify validity and relevance.  
  💌 Output: Results are returned to the chat with clear, copy-ready promo codes and source links.  
  🗂 Storage: Chat Memory stores context and recent searches so the agent avoids repeating old results and can follow up with improved queries.

  🔐 Quick Setup

  Import JSON file to your n8n instances  
  Add credentials: SerpAPI, Azure OpenAI (Gpt 5 Mini), Decodo API  
  Customize: Search parameters (brands, regions, validity window), agent system message, and result formatting  
  Update: Azure OpenAI endpoint and API key in the Gpt 5 Mini credentials; add your SerpAPI key and Decodo key  
  Test: Run a few queries like "latest Amazon promo" or "food delivery voucher" and confirm returned codes are valid

  🧩 You'll Need

  Active n8n instances  
  SerpAPI account and API key  
  Azure OpenAI (for GPT-5 Mini) with key and endpoint  
  Decodo account/API key  

  🛠️ Level Up Ideas

  Push verified promos to a Slack channel or email digest for the team.  
  Add scheduled scans to detect newly expired codes and remove them from lists.  
  Integrate with a CMS to auto-post verified deals to landing pages.

  Made by: khaisa Studio  
  Tags: promo, vouchers, discounts  
  Category: Marketing Automation  
  Need custom work? Contact Us

nodes_used:
  ["@n8n/n8n-nodes-langchain.toolSerpApi","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatAzureOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@decodo/n8n-nodes-decodo.decodoTool"]

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


name: Generate Student Course Schedules Based on Prerequisites with GPT and Google Sheets
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-08-31T20:28:14.026Z
updated_at: 2025-08-31T20:28:14.026Z
url: https://n8n.io/workflows/8090
scraped_at: 2025-09-14 11:38:20
description:
  Create a Fall 2025 course schedule for each student based on what they’ve already completed, catalog prerequisites, and term availability (Fall/Both). Reads students from Google Sheets → asks an AI agent to select exactly 5 courses (target 15–17 credits, no duplicates, prereqs enforced) → appends each student’s schedule to a schedule tab.

  🧠 Summary
  Trigger:* Manual — *“When clicking ‘Execute workflow’”
  I/O:** Google Sheets in → OpenAI decisioning → Google Sheets out
  Ideal for:** Registrars, advisors, degree-planning prototypes

  ✅ What this template does
  Reads: StudentID, Name, Program, Year, CompletedCourses (pipe-separated CourseIDs) from **Sheet1  
  Decides: AI **Scheduling Agent chooses 5 courses per student following catalog rules and prerequisites  
  Writes: Appends StudentID + Schedule strings to **schedule worksheet  
  Credits target**: 15–17 total per term  
  Catalog rules** (enforced in the agent prompt):
    Use Fall or Both courses for Fall 2025
    Enforce AND prereqs (e.g., CS-102|CS-103 means both)
    Priority: Major Core → Major Elective → Gen Ed (include Gen Ed if needed)
    No duplicates or already-completed courses
    Prefer 200-level progression when prereqs allow

  ⚙️ Setup (only 2 steps)

  1) Connect Google Sheets (OAuth2)
  In n8n → Credentials → New → Google Sheets (OAuth2), sign in and grant access  
  In the Google Sheets nodes, select your spreadsheet and these tabs:
    Sheet1 (input students)
    schedule (output)

  &gt; Example spreadsheet (replace with your own):  
  &gt; - Input: .../edit#gid=0  
  &gt; - Output: .../edit#gid=572766543

  2) Connect OpenAI (API Key)
  In n8n → Credentials → New → OpenAI API, paste your key  
  In the OpenAI Chat Model node, select that credential and a chat model (e.g., gpt-4o)

  📥 Required input (Sheet1)
  Columns**: StudentID, Name, Program, Year, CompletedCourses  
  CompletedCourses**: pipe-separated IDs (e.g., GEN-101|GEN-103|CS-101)  
  Program* names should match those referenced in the embedded catalog (e.g., *Computer Science BS, Business Administration BBA, etc.)

  📤 Output (schedule tab)
  Columns**:
    StudentID
    Schedule → a selected course string (written one row per course after splitting)

  🧩 Nodes in this template
  Manual Trigger* → *Get Student Data (Google Sheets)* → *Scheduling Agent (OpenAI)**  
    → Split Schedule → Set Fields → Clear sheet → Append Schedule (Google Sheets)

  🛠 Configuration tips
  If you rename tabs, update both Get Student Data and Append Schedule nodes  
  Keep CompletedCourses consistent (use | as the delimiter)  
  To store rationale as well, add a column to the output and map it from the agent’s JSON

  🧪 Test quickly
  1) Add 2–3 sample student rows with realistic CompletedCourses  
  2) Run the workflow and verify:
     5 course rows per student in schedule
     Course IDs respect prereqs & Fall/Both availability
     Credits sum ~15–17

  🧯 Troubleshooting
  Sheets OAuth error:** Reconnect “Google Sheets (OAuth2)” and re-select the spreadsheet & tabs  
  Empty schedules:** Ensure CompletedCourses uses | and that programs/courses align with the provided catalog names  
  Prereq violations:** Check that students actually have all AND-prereqs in CompletedCourses  
  OpenAI errors (401/429):** Verify API key, billing, and rate-limit → retry with lower concurrency

  🔒 Privacy & data handling
  Student rows are sent to OpenAI for decisioning. Remove or mask any fields you don’t want shared.  
  Google Sheets retains input/output. Use spreadsheet sharing controls to limit access.

  💸 Cost & performance
  OpenAI**: Billed per token; cost scales with student count and prompt size  
  Google Sheets**: Free within normal usage limits  
  Runtime**: Typically seconds to a minute depending on rows and rate limits

  🧱 Limitations & assumptions
  Works for Fall 2025 only (as written). For Spring, update availability rules in the agent prompt  
  Assumes catalog in the agent system message is your source of truth  
  Assumes Program names match catalog variants (case/spacing matter for clarity)

  🧩 Customization ideas
  Add a Max Credits column to cap term credits per student  
  Include Rationale in the sheet for advisor review  
  Add a “Gen Ed needed?” flag per student to force at least one Gen Ed selection  
  Export to PDF or email the schedules to advisors/students

  🧾 Version & maintenance
  n8n version:** Tested on recent n8n Cloud builds (2025)  
  Community nodes:** Not required  
  Maintenance:** Update the embedded catalog and offerings each term; keep prerequisites accurate

  🗂 Tags & category
  Category:** Education / Student Information Systems  
  Tags:** scheduling, registrar, google-sheets, openai, prerequisites, degree-planning, catalog, fall-term

  🗒 Changelog
  v1.0.0** — Initial release: Sheets in/out, Fall 2025 catalog rules, prereq enforcement, 5-course selection, credits target

  📬 Contact
  Need help customizing this (e.g., cohort logic, program-specific rules, adding rationale to the sheet, or emailing PDFs)?

  📧 rbreen@ynteractive.com  
  🔗 Robert Breen — https://www.linkedin.com/in/robert-breen-29429625/  
  🌐 ynteractive.com — https://ynteractive.com

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.splitOut","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  [encoded data, 6308 characters]


name: AI-Powered Degree Audit System with Google Sheets and GPT-5
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-08-31T20:38:34.540Z
updated_at: 2025-08-31T20:38:34.540Z
url: https://n8n.io/workflows/8093
scraped_at: 2025-09-14 11:38:19
description:
  Run an AI-powered degree audit for each senior student. This template reads student rows from Google Sheets, evaluates completed courses against hard-coded program requirements, and writes back an AI Degree Summary of what's still missing (major core, Gen Eds, major electives, and upper-division credits). It's designed for quick advisor/registrar review and SIS prototypes.

  Trigger: Manual — When clicking "Execute workflow"  
  Core nodes: Google Sheets, OpenAI Chat Model, (optional) Structured Output Parser  
  Programs included: Computer Science BS, Business Administration BBA, Psychology BA, Mechanical Engineering BS, Biology BS (Pre-Med), English Literature BA, Data Science BS, Nursing BSN, Economics BA, Graphic Design BFA

  Who's it for
  Registrars & advisors** who need fast, consistent degree checks  
  Student success teams** building prototype dashboards  
  SIS/EdTech builders** exploring AI-assisted auditing

  How it works
  Read seniors from Google Sheets (Senior_data) with: StudentID, Name, Program, Year, CompletedCourses.  
  AI Agent compares CompletedCourses to built-in requirements (per program) and computes Missing items + a short Summary.  
  Write back to the same sheet using "Append or update" by StudentID (updates AI Degree Summary; you can also map the raw Missing array to a column if desired).

  Example JSON (for one student):
  {
   "StudentID": "S001",
   "Program": "Computer Science BS",
   "Missing": [
     "GEN-REMAIN | General Education credits remaining | 6",
     "CS-EL-REM | CS Major Electives (200+ level) | 6",
     "UPPER-DIV | Additional Upper-Division (200+ level) credits needed | 18",
     "FREE-EL | Free Electives to reach 120 total credits | 54"
   ],
   "Summary": "All core CS courses are complete. Still need 6 Gen Ed credits, 6 CS electives, and 66 total credits overall, including 18 upper-division credits — prioritize 200/300-level CS electives."
  }

  Setup (2 steps)

  1) Connect Google Sheets (OAuth2)
  In n8n → Credentials → New → Google Sheets (OAuth2) and sign in.

  In the Google Sheets nodes, select your spreadsheet and the Senior_data tab.

  Ensure your input sheet has at least: StudentID, Name, Program, Year, CompletedCourses.

  2) Connect OpenAI (API Key)
  In n8n → Credentials → New → OpenAI API, paste your key.

  In the OpenAI Chat Model node, select that credential and a model (e.g., gpt-4o or gpt-5).

  Requirements
  Sheet columns:** StudentID, Name, Program, Year, CompletedCourses
  CompletedCourses format:** pipe-separated IDs (e.g., GEN-101|GEN-103|CS-101).
  Program labels:** should match the built-in list (e.g., Computer Science BS).
  Credits/levels:** Template assumes upper-division ≥ 200-level (adjust the prompt if your policy differs).

  Customization
  Change requirements:** Edit the Agent's system message to update totals, core lists, elective credit rules, or level thresholds.
  Store more output:** Map Missing to a new column (e.g., AI Missing List) or write rows to a separate sheet for dashboards.
  Distribute results:** Email summaries to advisors/students (Gmail/Outlook), or generate PDFs for advising folders.
  Add guardrails:** Extend the prompt to enforce residency, capstone, minor/cognate constraints, or per-college Gen Ed variations.

  Best practices (per n8n guidelines)
  Sticky notes are mandatory:** Include a yellow sticky note that contains this description and quick setup steps; add neutral sticky notes for per-step tips.
  Rename nodes clearly:** e.g., "Get Seniors," "Degree Audit Agent," "Update Summary."
  No hardcoded secrets:** Use credentials—not inline keys in HTTP or Code nodes.
  Sanitize identifiers:** Don't ship personal spreadsheet IDs or private links in the published version.
  Use a Set node for config:** Centralize user-tunable values (e.g., column names, tab names).

  Troubleshooting
  OpenAI 401/429:** Verify API key/billing; slow concurrency if rate-limited.
  Empty summaries:** Check column names and that CompletedCourses uses |.
  Program mismatch:** Align Program labels to those in the prompt (exact naming recommended).
  Sheets auth errors:** Reconnect Google Sheets OAuth2 and re-select spreadsheet/tab.

  Limitations
  Not an official audit:** It infers gaps from the listed completions; registrar rules can be more nuanced.
  Catalog drift:** Requirements are hard-coded in the prompt—update them each term/year.
  Upper-division heuristic:** Adjust the level threshold if your institution defines it differently.

  Tags & category
  Category: Education / Student Information Systems  
  Tags: degree-audit, registrar, google-sheets, openai, electives, upper-division, graduation-readiness

  Changelog
  v1.0.0 — Initial release: Senior_data in/out, 10 programs, AI Degree Summary output, append/update by StudentID.

  Contact
  Need help tailoring this to your catalog (e.g., per-college Gen Eds, capstones, minors, PDFs/email)?

  📧 rbreen@ynteractive.com  
  📧 robert@ynteractive.com  
  🔗 Robert Breen — https://www.linkedin.com/in/robert-breen-29429625/  
  🌐 ynteractive.com — https://ynteractive.com

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  [encoded data, 4692 characters]


name: Email new leads from Google Sheets via Outlook on a schedule
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-08-31T21:09:22.082Z
updated_at: 2025-08-31T21:09:22.082Z
url: https://n8n.io/workflows/8095
scraped_at: 2025-09-14 11:38:20
description:
  Send a templated outreach email to new leads in a Google Sheet on a daily schedule, then mark each lead as contacted so they won’t be emailed twice. Built with: Schedule Trigger → Google Sheets → Filter → Outlook Send Email → Google Sheets (append/update).

  Who’s it for
  Teams that collect leads in Sheets and want automatic, once-per-lead outreach  
  Solo founders/consultants running simple top-of-funnel follow-ups  
  Anyone prototyping CRM-lite flows in n8n

  How it works / What it does
  Schedule Trigger runs daily (e.g., 09:00).
  Get rows (Google Sheets) pulls leads from your sheet.
  Filter keeps only rows where Contacted is empty.
  Outlook – Send a message emails each remaining lead (to = {{$json.Email}}).
  Google Sheets (appendOrUpdate) writes back Contacted = Yes (match on Email) to prevent re-sending.

  How to set up
  1) Google Sheets (OAuth2)
  In n8n → Credentials → New → Google Sheets (OAuth2), sign in and grant access.  
  In Get rows: select your Lead Source sheet (e.g., “New Leads”).  
  In Append/Update: select the sheet you want to mark as contacted (can be the same sheet or a CRM sheet).  
  Make sure your sheet has at least: Email, Contacted (blank for new).

  2) Outlook (Microsoft Graph) OAuth2
  n8n Cloud (quick connect):**  
    In Credentials → New → Microsoft Outlook OAuth2, choose Connect, sign in with your Microsoft account, and accept permissions.
  Self-hosted (Azure App Registration):**  
    1) Azure Portal → App registrations → New registration.  
    2) Add redirect URL: https://YOUR_N8N_URL/rest/oauth2-credential/callback.  
    3) API permissions (Delegated): offline_access, Mail.Send, User.Read. Grant admin consent if required.  
    4) Create a Client secret; copy Application (client) ID and Directory (tenant) ID.  
    5) In n8n, create Microsoft Outlook OAuth2 credential with those values and scopes: offline_access Mail.Send openid email profile.  
  In the Send a message node, select that credential and keep To mapped to {{$json.Email}}.  
  Customize Subject and Body to your brand (default provided).

  Requirements
  A Google Sheet of leads with an Email column (and an optional Contacted column).  
  A Microsoft account with permission to send mail via Microsoft Graph (Outlook).

  How to customize the workflow
  Email content:** Edit subject/body (add variables like {{$json.FirstName}}).  
  Send window:** Change Schedule Trigger time/interval.  
  Idempotency:** Use the same sheet for read+write (match on Email) or separate source/CRM sheets.  
  Logging:** Add a Sheet or Notion append step after send for an audit trail.

  Security & best practices
  No hardcoded secrets:* Always use *OAuth2 credentials** (Sheets & Outlook).  
  Sanitize PII:* If publishing, *remove real spreadsheet IDs/URLs** and personal emails/phone numbers.  
  Sticky notes are mandatory:* Add a *yellow sticky note** in the workflow with this description and a short setup checklist. Use neutral sticky notes for per-node tips.

  Troubleshooting
  No emails sent:** Ensure Contacted is blank for new rows and the Filter checks “is empty.”  
  Auth errors (Outlook):** Reconnect credential; confirm Graph scopes and tenant consent.  
  Sheets errors:** Re-select spreadsheet/tab; verify headers (Email, Contacted).  
  Duplicates:* Confirm *Append/Update* uses *matching column = Email**.

  Tags & category
  Category: Sales & CRM  
  Tags: outreach, follow-up, google-sheets, outlook, schedule, dedupe, cold-email

  Changelog
  v1.0.0 — Initial release: scheduled outreach, Outlook email, de-dupe via Contacted = Yes.

  Contact
  Need help customizing (personalization, rate-limits, CRM sync, bounce checks)?

  📧 rbreen@ynteractive.com  
  🔗 Robert Breen — https://www.linkedin.com/in/robert-breen-29429625/  
  🌐 ynteractive.com — https://ynteractive.com

nodes_used:
  ["n8n-nodes-base.microsoftOutlook","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.filter","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Analyze Google Business Reviews & Send Sentiment Reports to Slack with Gemini
author_name: Sayone Technologies
author_username: sayonetech
categories: []
created_at: 2025-09-01T08:17:37.468Z
updated_at: 2025-09-01T08:17:37.468Z
url: https://n8n.io/workflows/8111
scraped_at: 2025-09-14 11:38:21
description:
  ⭐ Google Review Sentiment Analysis & Slack Notification Workflow  

  This workflow automates the process of collecting Google Business Profile reviews 🏪, analyzing customer sentiment with Google Gemini 🤖✨, and sending structured reports to Slack 💬.  

  🔑 Key Advantages  
  📥 Fetches Google Business Profile reviews for a given business and time period  
  🧠 Runs sentiment analysis using Gemini AI  
  📊 Consolidates comments, ratings, and trends into a JSON-based summary  
  🧩 Restructures results into Slack Block Kit format for easy readability  
  🚀 Sends automated sentiment reports directly to a Slack channel  

  ⚙️ Set Up Essentials You’ll Need  
  🔑 Google Business Profile API access with project approval  
  ✅ Enabled Google Business Profile API service  
  🔐 Gemini API credentials  
  💬 Slack workspace & channel for receiving reports  

  🚀 How to Get Started  
  🔧 Configure your Google Business Profile API and enable access  
  👤 Set the owner name and 📍 location to fetch reviews  
  ⏳ Define the review time period using the Set Time Period node  
  🔗 Connect your Slack account and select a channel for notifications  
  🕒 Deploy and let the workflow run on schedule for automated insights  

nodes_used:
  ["n8n-nodes-base.googleBusinessProfile","@n8n/n8n-nodes-langchain.sentimentAnalysis","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","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.filter","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.slack","n8n-nodes-base.slack","n8n-nodes-base.slack"]

workflow_json_compressed:
  [encoded data, 6468 characters]


name: Automate Meeting Notes Summaries with Gemini AI & Slack Notifications
author_name: Sayone Technologies
author_username: sayonetech
categories: []
created_at: 2025-09-01T11:12:07.061Z
updated_at: 2025-09-01T11:12:07.061Z
url: https://n8n.io/workflows/8116
scraped_at: 2025-09-14 11:38:21
description:
  📝 Meeting Notes Summarizer & Slack Notifier

  Easily keep your team aligned by summarizing meeting notes, extracting action items, and delivering them directly to Slack.

  🚀 What This Workflow Does
  ⏰ Triggers on a schedule to fetch meeting data from your note-taking tool  
  📄 Retrieves meeting summaries and action items using the MeetGeek API  
  🤖 Uses Google Gemini AI to generate concise summaries and action points  
  🎨 Restructures the output into Slack Block Kit format  
  📢 Sends daily Slack notifications with clear summaries and actionable tasks  

  👥 Who Is This For?
  👩‍💼 Teams that want automated daily meeting briefs  
  📌 Project managers who need action items clearly assigned  
  🌍 Remote or hybrid teams using Slack as their main communication hub  
  ⏳ Anyone looking to reduce the time spent reviewing long meeting notes  

  🛠️ Technical Requirements
  🔑 API key & credentials for your meeting note-taking app  
  🤝 Google Gemini AI credentials  
  💬 Slack workspace with proper OAuth setup  

  ⚡ Set Up the Workflow with Ease
  🗂️ Configure your meeting note API in the “Get Meetings List” and “Summary” nodes.  
  🤖 Add Gemini AI credentials for generating summaries.  
  🔗 Connect your Slack channel for notifications.  
  ✅ Activate the workflow so that your team will start receiving daily meeting insights automatically.  

  🎨 Want to Customize It Further?
  🔄 Change the trigger schedule (daily, weekly, or after each meeting).  
  🎭 Modify the Slack Block Kit layout for different formatting styles.  
  📧 Add extra integrations like email, Notion, or Google Docs to save notes.  
  ✍️ Adjust the AI prompt for different summary styles (short/long, formal/casual, etc.).  
  🔍 Filter meetings by specific teams, projects, or keywords.  
  🌐 Customize the API URL in the HTTP Request node to connect with other note-taking tools or different API endpoints.  

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.aiTransform","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.slack","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.dateTime","n8n-nodes-base.code","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5352 characters]


name: Extract Amazon Book Data & Generate Purchase Reports with Decodo Scraper
author_name: Trung Tran
author_username: trungtran
categories: []
created_at: 2025-09-02T04:15:58.617Z
updated_at: 2025-09-02T04:15:58.617Z
url: https://n8n.io/workflows/8142
scraped_at: 2025-09-14 11:38:21
description:
  Decodo Scraper API Workflow Template (n8n Automation Amazon Book Purchase Report)
  Watch the demo video below:

  &gt; This workflow demos how to use Decodo Scraper API to crawl any public web page (headless JS, device emulation: mobile/desktop/tablet), extract structured product data from the returned HTML, generate a purchase-ready report, and automatically deliver it as a Google Doc + PDF to Slack/Drive.
  Who’s it for
  Creators / Analysts** who need quick product lists (books, gadgets, etc.) with prices/ratings.
  Ops & Marketing teams** building weekly “top picks” reports.
  Engineers** validating the Decodo Scraper API + LLM extraction pattern before scaling.

  How it works / What it does

  Trigger – Manually run the workflow.
  Edit Fields (manual) – Provide inputs:
     targetUrl (e.g., an Amazon category/search/listing page)
     deviceType (desktop | mobile | tablet)
     Optional: maxItems, notes, reportTitle, reportOwner
  Scraper API Request (HTTP Request → POST)  
     Calls Decodo Scraper API with:
     URL to crawl, headless JS enabled
     Device emulation (UA + viewport)
     Optional waitFor / executeJS to ensure late-loading content is captured
  HTML Response Parser (Code/Function or HTML node)  
     Pulls the HTML string from Decodo response and normalizes it (strip scripts/styles, collapse whitespace).
  Product Analyzer Agent (LLM + Structured Output Parser)  
     Prompts an LLM to extract structured “book” objects from the HTML:
     The Structured Output Parser enforces a strict JSON schema and drops malformed items.
  Build 📚 Book Purchase Report (Code/LLM)  
     Converts the JSON array into a Markdown (or HTML) report with:
     Executive summary (top picks, average price/rating)
     Table of items (rank, title, author, price, rating, link)
     “Recommended to buy” shortlist (rules configurable)
     Notes / owner / timestamp
  Configure Google Drive Folder (manual)  
     Choose/create a Drive folder for output artifacts.
  Create Document File (Google Docs API)  
     Creates a Doc from the generated Markdown/HTML.
  Convert Document to PDF (Google Drive export)  
     Exports the Doc to PDF.
  Upload report to Slack  
     Sends the PDF (and/or Doc link) to a chosen Slack channel with a short summary.

  How to set up

  1 Prerequisites
  n8n** (self-hosted or Cloud)
  Decodo Scraper API** key
  OpenAI (or compatible) API key** for the Analyzer Agent
  Google Drive/Docs** credentials (OAuth2)
  Slack** Bot/User token (files:write, chat:write)

  2 Environment variables (recommended)
  DECODO_API_KEY
  OPENAI_API_KEY
  DRIVE_FOLDER_ID (optional default)
  SLACK_CHANNEL_ID

  3 Nodes configuration (high level)
  Edit Fields (Set node)
  Scraper API Request (HTTP Request → POST)
  HTML Response Parser (Code node)
  Product Analyzer Agent
  Build Book Purchase Report (Code/LLM)
  Create Document File
  Convert to PDF
  Upload to Slack

  Requirements

  Decodo**: Active API key and endpoint access. Be mindful of concurrency/rate limits.
  Model**: GPT-4o/4.1-mini or similar for reliable structured extraction.
  Google**: OAuth client (Docs/Drive scopes). Ensure n8n can write to the target folder.
  Slack**: Bot token with files:write + chat:write.

  How to customize the workflow

  Target site: Change targetUrl to any **public page (category, search, or listing).  
    For other domains (not Amazon), tweak the LLM guidance (e.g., price/label patterns).
  Device emulation**: Switch deviceType to mobile to fetch mobile-optimized markup (often simpler DOMs).
  Late-loading pages**: Adjust waitFor.selector or use waitUntil: "networkidle" (if supported) to ensure full content loads.
  Client-side JS**: Extend executeJS if you need to interact (scroll, click “next”, expand sections). You can also loop over pagination by iterating URLs.
  Extraction schema**: Add fields (e.g., discount_percent, bestseller_badge, prime_eligible) and update the Structured Output schema accordingly.
  Filtering rules**: Modify recommendation logic (e.g., min ratings count, price bands, languages).
  Report branding**: Add logo, cover page, footer with company info; switch to HTML + inline CSS for richer Docs formatting.
  Destinations**: Besides Slack & Drive, add Email, Notion, Confluence, or a database sink.
  Scheduling: Add a **Cron trigger for weekly/monthly auto-reports.

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.slack","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-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@decodo/n8n-nodes-decodo.decodo"]

workflow_json_compressed:
  [encoded data, 13220 characters]


name: Generate AI Videos from Telegram Messages with Nano Banana & Veo-3
author_name: Sulieman Said
author_username: sulieman-said
categories: []
created_at: 2025-09-02T20:19:21.131Z
updated_at: 2025-09-02T20:19:21.131Z
url: https://n8n.io/workflows/8189
scraped_at: 2025-09-14 11:38:20
description:
  How to use the provided n8n workflow (step‑by‑step), what matters, what it’s good for, and costs per run.

  What this workflow does (in simple terms)
  1) You write (or speak) your idea in Telegram.
  2) The workflow builds two short prompts:
     Image prompt → generates one thumbnail via KIE.ai – Nano Banana (Gemini 2.5 Flash Image).
     Video prompt → starts a Veo‑3 (KIE.ai) video job using the thumbnail as init image.
  3) You receive the thumbnail first, then the short video back in Telegram once rendering completes.

  Typical output: 1 PNG thumbnail + 1 short MP4 video (e.g., 8–12 s, 9:16).

  Why this is useful
  Rapid ideation**: Turn a quick text/voice idea into a ready‑to‑post thumbnail + matching short video.
  Consistent look: The video uses the thumbnail as **init image, keeping colors, objects and mood consistent.
  One chat = full pipeline**: Everything happens directly inside Telegram—no context switches.
  Agency‑ready**: Collect ideas from clients/team chats, and deliver outputs quickly.

  What you need before importing
  1) KIE.ai account & API key
     Sign up/in at KIE.ai, go to Dashboard → API / Keys.
     Copy your KIE_API_KEY (keep it private).

  2) Telegram Bot (BotFather)
     In Telegram, open @BotFather → command /newbot.
     Choose a name and a unique username (must end with bot).
     Copy your Bot Token (keep it private).

  3) Your Telegram Chat ID (browser method)
     Send any message to your bot so you have a active chat
     Open Telegram web and the chat with the bot
     Find the chatid in the URL

  Import & minimal configuration (n8n)
  1) Import the provided workflow JSON in n8n.
  2) Create Credentials:
     Telegram API: paste your Bot Token.
     HTTP (KIE.ai): usually you’ll pass Authorization: Bearer {{ $env.KIE_API_KEY }} directly in the HTTP Request node headers, or make a generic HTTP credential that injects the header.
  3) Replace hardcoded values in the template:
     Chat ID: use an Expression like {{$json.message.chat.id}} from the Telegram Trigger (prefer dynamic over hardcoded IDs).
     Authorization headers: never in query params—always in Headers.
     Content‑Type spelling: Content-Type (no typos).
   `

  How to run it (basic flow)
  1) Start the workflow (activate trigger).
  2) Send a message to your bot, e.g.  
     glass hourglass on a black mirror floor, minimal, elegant
  3) The bot replies with the thumbnail (PNG), then the Veo‑3 video (MP4).

  If you send a voice message, the flow will download & transcribe it first, then proceed as above.

  Pricing (rule of thumb)
  Image (Nano Banana via KIE.ai):* ~ *$0.02–$0.04** per image (plan‑dependent).
  Video (Veo‑3 via KIE.ai):**
    Fast:  $0.40 per 8 seconds ($0.05/s)
    Quality:  $2.00 per 8 seconds ($0.25/s)

  Typical run (1 image + 8 s Fast video) ≈ $0.42–$0.44.

  &gt; These are indicative values. Check your KIE.ai dashboard for the latest pricing/quotas.

  Why KIE.ai over the “classic” Google API?
  Cheaper in practice** for short video clips and image gen in this pipeline.
  One vendor** for both image & video (same auth, similar responses) = less integration hassle.
  Quick start**: Playground/tasks/status endpoints are n8n‑friendly for polling workflows.

  Security & reliability tips
  Never hardcode* API keys or Chat IDs into nodes—use *Credentials* or *Environment variables**.
  Add IF + error paths after each HTTP node:
    If status != 200 → Send friendly Telegram message (“Please try again”) + log to admin.
  If you use callback URLs for video completion, ensure the URL is publicly reachable (n8n Webhook URL). Otherwise, stick to polling.
  For rate limits, add a Wait node and limit concurrency in workflow settings.
  Keep aspect & duration consistent across prompt + API calls to avoid unexpected crops.

  Advanced: voice input (optional)
  The template supports voice via a Switch → Download → Transcribe (Whisper/OpenAI).  
  Ensure your OpenAI credential is set and your n8n instance can fetch the audio file from Telegram.

  Example prompt patterns (keep it short & generic)
  Thumbnail prompt**: “Minimal, elegant, surreal [OBJECT], clean composition, 9:16”
  Video prompt**: “Cinematic [OBJECT]. slow camera move, elegant reflections, minimal & surreal mood, 9:16, 8–12s.”

  You can later replace the simple prompt builder with a dedicated LLM step or a fixed style guide for your brand.

  Final notes
  This template focuses on a solid, reliable pipeline first. You can always refine prompts later.
  Start with Veo‑3 Fast to keep iteration costs low; switch to Quality for final renders.
  Consider saving outputs (S3/Drive) and logging prompts/URLs to a sheet for audit & analytics.


  Questions or custom requests?  
  📩 suliemansaid.business@gmail.com

nodes_used:
  ["n8n-nodes-base.wait","n8n-nodes-base.telegramTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4524 characters]


name: Generate Product Mockups with Nano Banana (Gemini 2.5 Flash Image)
author_name: The Growth Bolt
author_username: thegrowthbolt-shivam
categories: []
created_at: 2025-09-02T20:55:51.976Z
updated_at: 2025-09-02T20:55:51.976Z
url: https://n8n.io/workflows/8194
scraped_at: 2025-09-14 11:38:20
description:
  This n8n template uses AI to generate product mockups by composing a product image onto a model or template image.

  This workflow provides a powerful solution for creating dynamic marketing assets and e-commerce visuals. Use cases are many: Instantly create virtual try-on images for apparel, place your product into different scenes for advertisements, or generate custom marketing material without needing a physical photoshoot.

  Good to know
  This workflow uses the OpenRouter API to access Google's Gemini model. You will need an OpenRouter account.
  The model used is google/gemini-2.5-flash-image-preview:free. While this specific model may be free, costs can vary depending on the model you choose and your usage on OpenRouter. Always check their latest pricing.
  The workflow is triggered by a form. To use it, you must activate the workflow and use its Production URL.

  How it works
  A user submits a product image, a template/model image, and a text prompt via the n8n form trigger.
  The images are then converted to Base64 strings so they can be used in an API request.
  A multimodal payload is sent to the OpenRouter API. Gemini's image generation model is used, which takes all 3 inputs (the two images and the prompt) to understand how to compose the final image.
  Gemini generates a new image based on the instructions and returns it as a Base64 string.
  The workflow extracts this output string and uses a "Convert to file" node to convert the data back into a binary image file, ready for use.

  How to use
  First, set up your OpenRouter API credential in n8n.
  Activate the workflow.
  Open the Production URL for the form trigger.
  Upload your product image, your template image, and write a descriptive prompt.
  Submit the form to execute the workflow and generate your image.

  Requirements
  An active n8n instance.
  An OpenRouter account and API key.

  Customising this workflow
  You can easily change the AI model by editing the JSON body in the HTTP Request node. OpenRouter provides access to a wide variety of models from different providers.
  Add a final step to automatically save the generated image. You can connect nodes for services like Google Drive, AWS S3, or Dropbox after the "Convert to File" node.
  Replace the Form Trigger with a Webhook Trigger to run this workflow programmatically from another application or service.

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.extractFromFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.convertToFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE81Ya2/cuBX9KyxTIDYgjkWKek1RFEla7xrYJO7GSYvaRkKRlzNMNKRW4vixxvz3gtI87bHjoC3QD3E05OXl5eG5l4e8w0bhMVY8efv3t/KjoY798qk8xRGegRd4fIeN7bywEk6CnZRlDizPeU4ZT3icizLXQuaMKcWTSpexUJRVpUxKCUoznfCc8piLVKVSZyleRNiKGeAxPm3da2GFFWP06gSdtk7NpUdvnfw2b9BPYKEV3rVo3hk7QT/BzFiD2ChFx7XopuhkJiaADt4J69Dg5hBH2ItJh8fnlxG2TkH4vBvWl+SVTrKYkjShMeE8TknJYyCxzABEHOeQU7wO7b1F2rUz1M2rmek642zwfduEPltY0jsnlehgFOzOWjOZQIsj3LjO+GA+PicsZxHhxWWEr6GaOvetB1DHKi5lwgjEghJeSUnKVKdExkwVOlVVUvDgSLRiBh7aLmyBa4LT8LmIcD+j8XUIZmv5CA9dxwZq1Y+6EvV8iYEOjWfDArSpIdiGpl9EBTUe449N7YRCt27eoma5EyYgjCPcwm9z04LqHeOxb+cQYSElNP7Y1BC8dniMR1+bSYRGjQ1/vzYwwYvoxyb2MGtq4eGoqcXtpHVzq/6LQaxmPK07pKCTrakAXU+FD5Oja2E98g4p95eAfi0kTF2toB2IOmv8/iAWl4vFQI1P0PZEGbNREiYd0opKqinLSCLjnHDKKKkqUZJKZSytSsq1yja0+9hBi151HXj0WnSQ8UdZBze+FdIft252PKC6zTxeLIn3BItcE/KrH4ArY0V7e+ZO29B6i6Nly/Db374bwvvzsFmfw2Z9XrLk87BB9zGgawSAyRjKvCBlSinhZcpIleqMZAkVhcqZAs02CJwtKfAfrZ/m2f9+/Suyft6Q9btYJGVB47KQRJZSEJ5WBSkYZ0QVKaWQFQIKvcEiEGFW1YCOjRU1+qvw4lE8OvC7GPA4/j4GouvMxM7A+r5v5+eqcHIWF0VCJUkKJQnnEojIRUx0kTCRyEJSXmxibvpUOYMbvwm1862xExwN9SjgeHeH/njw8mGRfXk4Mh5mo6+ds+cvv5uoLy/RYoHX6KayykXKNGGQaMIrCqTMGRCIc51QmcpEbDFNhDS7z7LHQn2QmNuRjpTwYieSLBaSgVKEpQoI10oQQVlFtIi1ShgFWmxhtmLS84LZnfFh9UlGfB1HzEAUXGmSZEVBeEkrUslYkiKmNE2h1EDlJo6fz85O0a/w2xw6/yjRpt43G5stwmWM7yXcvA1FNwzrxkdHrgHburmHdiTMkWjM0RU9klPhj6SbNTUM5Oy1x9SFJZy+/3CGo13aBgheO3XbQ3JhEbrAM6egvsBjdIEnzk1qOJr0goGwUUp0EAykT07StHBl4HqsW4ALHC1HQ9eJCXTBwXloQuhu+C/0tq6GwfW8g3Y5aOiSznqwfmvcztjBKAA5jPdw47fGL7v7xtC93t5NFqHF4gJv7BfRM2bpF/p53tYPptrqGe+OD73L9gsc2DXubY/CEfqnqidmtA5vK3XuxYfQ4v8t2N3sejLe1efl8NH/vrywCxzhDqwaKDcoj64BafTtkoVhIhxhMfdTsN7I1bnStKBAGwvqTfiy3oi610KDPL3XOA5nkv21z45XjQnniFxbLIv3dv94meU32adXanpS+3+aa3Grv27J2LU9ElK6ufXBacjFn0EoaF/N/XTt5iq/yeS/4iZ+k/7ezGe3e928Oj3BD0oOH7F1yREFaCWrnEjJM8LLJCOVCudcFheiUiXPtkvf35TxaClYn320Fc+RN8852gqeci5YSlhOK8JllhChICVxJjSNaRorunVguLlv5n6pYb9fouXUGQndeXw5WpaXUc/SvmXN7VH41zW18QchAfDhOb18RmHnTBZFVqUkTUsgHFJKSlrERFdVyrQqNc/FJvI3zl5B25+axzvh30NaDnZnbo+kiteXmWdqKu9e9xoqJI+btxJWYmoXygdiabSRSyLLaZLHBWFMMcJFpUiRxilJpaZZWTERQ7xZ5Qdv5Ldb9M55YI+TqTcKNvckcxo0I83iBwu8NiokCedFhKdgJlOPx4zH0ar24zF+8QL9w7XfdO2u0Yk13vQYXNgXL16g46BwvENefAPkp4DCGYL6CjrcbZCwqu9YFapVc+3sBF0bP+17hyPhYKmHwo3Y6UEUmS74rwApZ+HwCfWpdKlUlSqSy1IH0lREFFCQtEhCB6RK7Icz+WE4aRwXEaXsAZrS1a7FYx6tcGWcb3BNMn4P10H6vu/5cmH/cN5jc3mwkhM2ue68a0NyVUQqO7LgQ6PxojbiqIVuXvvPXeNa398Gn4KnLASFkudEJYoSrrQiBS0SwnJIBCRxmepsLzyP31IegyflvVZ6lGwszTagpCW7B8ob10J4Mlm+kRhn0QcPzUC4D2BVhwT6EpTTF9QOWq2n4BTQbikf6CXQbF57M3NK1EueoTCfMNbYyXhwS0fobMnelx0KmgWFd6F2LsP8o8GI7Rhtk/xgOH4Pl4bJYHiP8ltGg9nHDro+7C/PEnVfUC8Dw1onAzRDylm4HmYYPbH9uZZ5kqmUMJ3mhOe8IKWuMlKCjLVMQORFsnf70x/PDsqeSo5skxyseCo51pflt736/eH06NEKLyZPVo2krFhWMAKcFoRDlZIiC1dYTTkv8pIWJd+LS/bjRTgAQ3jyKDLpBpmEPYXM6jHxYHNxO/xxfHw3NX3h2AvQZXh/8uYK8FiLuguiELw3dtJHDDcg52Fd79vhEemKBh9Xw/j+JRBAMyFSRTKVSMITrYiglSagc1lVmVKVLHG/MAtydcruSKbxHZ4JE6A7v+sV5VOHfW8ZYWMV3OBxvLi8XES7d7597vYqtL2u7j/d7PP25JPGXq8Pn8T2+X302Wivzz2vu/ucPvEat9ftvsXt87v/nr3H5WLxb74eg6udFwAA


name: Summarize Content from URLs, Text & PDFs using OpenAI
author_name: Dahiana
author_username: mssporto
categories: []
created_at: 2025-09-03T11:04:17.272Z
updated_at: 2025-09-03T11:04:17.272Z
url: https://n8n.io/workflows/8210
scraped_at: 2025-09-14 11:38:20
description:
  AI Content Summarizer Suite

  This n8n template collection demonstrates how to build a comprehensive AI-powered content summarization system that handles multiple input types: URLs, raw text, and PDF files. Built as 4 separate workflows for maximum flexibility.
  Use cases: Research workflows, content curation, document processing, meeting prep, social media content creation, or integrating smart summarization into any app or platform.

  How it works
  Multi-input handling: Separate workflows for URLs (web scraping), direct text input, and PDF file processing
  Smart PDF processing: Attempts text extraction first, falls back to OCR.Space for image-based PDFs
  AI summarization: Uses OpenAI's GPT-4.1-mini with customizable length (brief/standard/detailed) and focus areas (key points/numbers/conclusions/action items)
  Language support: Multi-language summaries with automatic language detection
  Flexible output: Returns clean markdown-formatted summaries via webhook responses
  Unified option: The all-in-one workflow automatically detects input type and routes accordingly

  How to use
  Replace webhook triggers with your preferred method (manual, form, API endpoint)
  Each workflow accepts different parameters: URL, text content, or file upload
  Customize summary length and focus in the AI prompt nodes
  Authentication is optional - switch to "none" if running internally
  Perfect for integration with Bubble, Zapier, or any platform that can make HTTP requests

  Requirements
  OpenAI API key or OpenRouter Keys
  OCR.Space API key (for PDF fallback processing)
  n8n instance (cloud or self-hosted)
  Any platform that can make HTTP requests.

  Setup Steps
  Replace "Dummy OpenAI" with your OpenAI credentials
  Add your OCR.Space API key in the OCR nodes is not mandatory.
  Update webhook authentication as needed
  Test each workflow path individually

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.extractFromFile","n8n-nodes-base.if","n8n-nodes-base.function","n8n-nodes-base.httpRequest","n8n-nodes-base.webhook","n8n-nodes-base.webhook","n8n-nodes-base.webhook","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/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.extractFromFile","n8n-nodes-base.if","n8n-nodes-base.function","n8n-nodes-base.httpRequest","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8216 characters]


name: Generate AI Videos from Text or Images with Veo 3 API and VietVid.com
author_name: Tran Trung Nghia
author_username: trungnghialk
categories: []
created_at: 2025-09-03T11:32:22.559Z
updated_at: 2025-09-03T11:32:22.559Z
url: https://n8n.io/workflows/8213
scraped_at: 2025-09-14 11:38:20
description:
  Veo 3 Video Generator via VietVid.com API (n8n)

  Overview
  This workflow leverages the VietVid.com Veo3 model to generate AI videos from simple text descriptions or optional images.  
  Users interact via a form interface, inputting a prompt (e.g., a scene description), choosing aspect ratio and model, then the system automatically submits the request to the VietVid API, monitors the generation status in real time, and retrieves the final video output.  

  It’s ideal for content creators, marketers, and developers exploring text-to-video AI creation, supporting intelligent video generation with minimal setup.

  Prerequisites
  A VietVid.com account and API key: Register at VietVid.com to obtain your free or paid API key.  
  An active n8n instance (cloud or self-hosted) with HTTP Request, Wait, and form submission capabilities.  
  Basic knowledge of AI prompts for video generation to achieve optimal results.  

  Setup Instructions

  1. Obtain API Key
  Register at VietVid.com and generate your API key.  
  Store it securely—do not share publicly.  

  2. Configure the Form
  In the Form Trigger node, ensure the following fields are available:
    text_prompt — video description (e.g., “A serene mountain landscape at sunset with birds flying”)  
    ImageURL [optional] — optional image input for image-to-video  
    api_Token — your VietVid API key  
    aspect_Ratio [16:9,9:16] — dropdown to select ratio  
    model — choose between veo3 and veo3_fast  

  3. Test the Workflow
  Click Execute Workflow in n8n.  
  Access the generated form URL.  
  Submit your prompt, API key, and options.  
  The workflow will poll the VietVid API every 10 seconds until the video is ready.  

  4. Handle Outputs
  The final Set node formats and displays the video links:
    720p_link — always available when ready.  
    1080p_link — available only for 16:9 aspect ratio.  

  Customization Tips
  Enhance prompts*: Add details like style (realistic, cinematic, animated*), duration, actions, and camera/lighting for better results.  
  Stability**: Fix the seeds value (e.g., 50000) for more consistent characters.  
  Webhook Response: Add a **Webhook Response node to return a clean JSON payload for frontend integrations.  
  Adjust polling delay**: Modify Wait node (8–15s) if needed to balance speed vs. API calls.  

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.stickyNote","n8n-nodes-base.formTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.if"]

workflow_json_compressed:
  [encoded data, 5296 characters]


name: Log E-commerce Orders in Google Sheets with Monthly Tabs & Status Tracking
author_name: Ruthwik
author_username: ruthwik
categories: []
created_at: 2025-09-04T08:51:22.229Z
updated_at: 2025-09-04T08:51:22.229Z
url: https://n8n.io/workflows/8244
scraped_at: 2025-09-14 11:38:20
description:
  n8n Google Sheets Monthly Order Logger

  This n8n template records incoming e-commerce orders into Google Sheets, auto-creates a monthly sub-sheet, and adds a “Status” dropdown so your team can track fulfillment at a glance.

  Use cases

  Centralize order logs, coordinate shipping across months, trigger customer updates (e.g., WhatsApp/Email) from status changes, and build lightweight ops dashboards.

  Good to know

  The Google Sheet ID is the part in the URL between /d/ and the next slash:  
    https://docs.google.com/spreadsheets/d/&lt;sheetId&gt;/.
  A new sub-sheet is created every month (sheet name = current month, e.g., “September 2025”). If it already exists, the workflow appends to it.
  The Status column uses data validation with these options:  
    Not Shipped, Pickup Scheduled, Shipped, InTransit, Delivered, Cancelled.
  Make sure the Google credential in n8n has edit access to the spreadsheet.
  The Webhook URL must be updated in your Shopify Settings → Notifications → Webhooks page with the required Order events (e.g., Order creation, Order update, Order fulfillment).  
    Reference: Shopify Webhooks Guide

  How it works

  Order created (Webhook/Trigger): Receives a new order payload from your store/stack.  
  Config (set spreadsheetId): Stores the target Google Sheets spreadsheetId (copied from the URL).  
  Get Order Sheets metadata: Lists existing tabs to see if the tab for the current month already exists.  
  Generate Sheet Name: Computes the sheet name like {{ $now.format('MMMM YYYY') }}.  
  If (sheet exists?):  
     True → Google Sheets Row values (existing): Prepares the row for append using the month tab.  
     Append to Existing Orders Sheet: Appends the order as a new row.  
     False → Set Sheet Starting row/col: Sets starting cell (e.g., A1) for a brand-new month tab.  
     Create Month Sheet: Creates a new tab named for the current month.  
     Write Headers (A1:…): Writes the column headers.  
     Google Sheets Row values: Maps payload fields into the header order and applies validation to Status.  
     Append to Orders Sheet: Appends the first row into the newly created month tab.

  How to use

  In Config, paste your spreadsheetId from the sheet URL and confirm your Google credential has edit access.  
  (Optional) Adjust the month-tab naming format to match your preference.  
  In Shopify → Settings → Notifications → Webhooks, add your n8n webhook URL and select the Order events (Order creation, Order update, Order fulfillment, etc.) you want to capture.  
  Deploy the workflow and send a sample order to the trigger; a new month tab will be created automatically on the first order of each month.

  Requirements

  n8n instance with the Google Sheets node credential configured.  
  A Google Spreadsheet you own or can edit.  
  A Shopify store with webhook events enabled (see Shopify Webhooks Guide).

  Customising this workflow

  Add/remove columns (e.g., taxes, discounts, warehouse notes).  
  Change the Status list or add conditional formatting (e.g., green = Delivered).  
  Chain automations: on Status update → send tracking links, COD confirmation, or delivery feedback forms.  

  🚀 Innovate Beyond Boundaries  
  We help ambitious businesses harness the power of AI + automation for growth, efficiency, and customer delight. Contact us at info@zenithworks.ai

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

workflow_json_compressed:
  [encoded data, 5888 characters]


name: Learn Secure Webhook APIs with Authentication and Supabase Integration
author_name: Wayne Simpson
author_username: nocodecreative
categories: []
created_at: 2025-09-04T15:22:04.853Z
updated_at: 2025-09-04T15:22:04.853Z
url: https://n8n.io/workflows/8258
scraped_at: 2025-09-14 11:38:20
description:
  This template is a practical introduction to n8n Webhooks with built-in examples for all major HTTP methods and authentication types. It is designed as a learning resource to help you understand how webhooks work in n8n, how to connect them to a data store, and how to secure them properly.

  What’s included:

  Webhook nodes for GET, POST, PUT, PATCH, DELETE, and HEAD
  Demonstrations of Basic Auth, Header Auth, and JWT Auth
  Supabase integration for creating, retrieving, updating, and deleting rows
  Example response handling with Respond to Webhook nodes
  Sticky notes explaining each method, response type, and security option

  Use this template to:

  Learn how to configure and test webhooks in n8n
  Explore different authentication strategies
  Connect webhooks to a simple Supabase table
  Understand best practices for securing webhook endpoints

  This workflow is intended as an educational starting point. It shows you how to receive requests, map data, and return responses securely. For production use, adapt the structure, apply your own security policies, and extend the logic as needed.

  Check out the YouTube video here: https://www.youtube.com/watch?v=o6F36xsiuBk

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.webhook","n8n-nodes-base.webhook","n8n-nodes-base.webhook","n8n-nodes-base.webhook","n8n-nodes-base.webhook","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.supabase","n8n-nodes-base.respondToWebhook","n8n-nodes-base.supabase","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.supabase","n8n-nodes-base.supabase","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4616 characters]


name: Jarvis: Productivity AI Agent for Tasks, Calendar, Email & Expense using MCPs
author_name: Jitesh Dugar
author_username: jiteshdugar
categories: []
created_at: 2025-09-12T06:41:03.347Z
updated_at: 2025-09-12T06:41:03.347Z
url: https://n8n.io/workflows/8500
scraped_at: 2025-09-14 11:38:19
description:
  Who’s it for
  This template is designed for anyone who wants to use Telegram as a personal AI assistant hub.  
  If you often juggle tasks, emails, calendars, and expenses across multiple tools, this workflow consolidates everything into one seamless AI-powered agent.

  What it does
  Jarvis listens to your Telegram messages (text or audio) and processes them with OpenAI.  
  Based on your request, it can:
  ✅ Manage tasks (create, complete, or delete)  
  📅 Handle calendar events (schedule, reschedule, or check availability)  
  📧 Send, draft, or fetch emails with Gmail  
  👥 Retrieve Google Contacts  
  💵 Log and track expenses  

  All responses are returned directly to Telegram, giving you a unified command center.

  How to set up
  Clone this template into your n8n workspace.  
  Connect your accounts (Telegram, Gmail, Google Calendar, Contacts, etc.).  
  Add your OpenAI API key in the Credentials section.  
  Test by sending a Telegram message like “Create a meeting tomorrow at 3pm” or “Add expense $50 for lunch.”  or "Draft a reply with a project proposal to that email from Steve"

  Requirements
  n8n instance (cloud or self-hosted)  
  Telegram Bot API credentials  
  Gmail, Google Calendar, and Google Contacts credentials (optional, if using those features)  
  OpenAI API key  
  ElevenLabs API Key (optional, if you need audio note support)

  How to customize
  Swap Gmail with another email provider by replacing the Gmail MCP node.  
  Add additional MCP integrations (e.g., Notion, Slack, CRM tools).  
  Adjust memory length to control how much context Jarvis remembers.  

  With this template, you can transform Telegram into your all-in-one AI assistant, simplifying workflows and saving hours every week.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","@n8n/n8n-nodes-langchain.mcpTrigger","@n8n/n8n-nodes-langchain.mcpClientTool","n8n-nodes-base.googleTasksTool","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.telegramTrigger","n8n-nodes-base.switch","@elevenlabs/n8n-nodes-elevenlabs.elevenLabs","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleTasksTool","n8n-nodes-base.googleTasksTool","n8n-nodes-base.googleTasksTool","n8n-nodes-base.googleTasksTool","n8n-nodes-base.telegram","n8n-nodes-base.googleContactsTool","@n8n/n8n-nodes-langchain.mcpTrigger","@n8n/n8n-nodes-langchain.mcpClientTool","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.filter","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.telegram","@elevenlabs/n8n-nodes-elevenlabs.elevenLabs","@n8n/n8n-nodes-langchain.toolThink","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, 13116 characters]


