# templates

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-12-24 13:02:41
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, 4668 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-12-24 13:02:41
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-12-24 13:02:43
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, 6484 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-12-24 13:02:43
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, 5340 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-12-24 13:02:42
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, 13112 characters]


name: Automate Meeting Summaries with Google Drive, Gemini AI & Google Docs
author_name: Parth Pansuriya
author_username: parthpansuriya
categories: []
created_at: 2025-09-02T06:16:53.361Z
updated_at: 2025-09-02T06:16:53.361Z
url: https://n8n.io/workflows/8145
scraped_at: 2025-12-24 13:02:46
description:
  AI Meeting Summary Generator with Google Docs Integration

  Who’s it for
  Teams that record meetings and want fast, clear summaries without manual note-taking.
  Managers who need action items extracted automatically.
  Anyone using Google Drive + Google Docs as their central workspace.

  How it works / What it does
  This workflow automates meeting documentation:

  Watches a Google Drive folder for new audio/video meeting files.
  Downloads the file and transcribes speech into text using Gemini AI.
  Summarizes transcripts into Key Discussions and Action Items.
  Creates or updates a Google Doc with the formatted summary (title, bullets, checkmarks, styling).
  Sends final output to Docs with bold headings, bullets, and spacing for readability.

  How to set up
  Add your Google Drive Trigger to monitor a folder.
  Connect Gemini AI to handle transcription + summarization.
  Configure the Google Docs Tool to create/update your summary documents.
  (Optional) Use the Code Node + Docs API to apply bullet/checkmark formatting.

  Requirements
  Google Drive OAuth2 – for monitoring & downloading files
  Google Docs OAuth2 – for creating and updating documents
  Google Gemini API – for transcription + AI-powered summarization

  How to customize the workflow
  Change the Google Drive folder to monitor a different workspace.
  Edit the system prompt in the Summarizer to tweak summary style (e.g., more detail, decisions only, etc.).
  Modify the Code Node formatting rules (bullets, checkmarks, bold text).
  Add integrations (e.g., Slack, Email, Notion) to send summaries beyond Google Docs.

nodes_used:
  ["n8n-nodes-base.googleDocsTool","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.googleGemini","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleDriveTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE52W227bRhCGX4XgtdbZ80FXBZw2CNA0RewWKAqj2MNQJiKRKrVy4hh69w5J25IcKZJ7R1GzM98M/5mdh7JO5bT89dP1N28+3Nv39ee/bq/+KCflArIvpw9l3ayybyK87+2sDkZC8IapmLwwPiahU4pgKI3JGVU5YEp4tNBBcslMlJFV1qWYjDGAfjMslnOf4bKDtLqCvF5etvgGMmCA3K1hMykbvwCM9gEg182suFovFr6rv0HXn/ezVTn9+wat2gT948OYA0sxaJYcoZWJRAariQ2GEVUJJqmUJnBePvu+7JCh8I++74u3bVz13u+X/b+NbcjgngS/gotZ287m0Jtct+0czZbtqs5122B0KfiESYk8S9+h7wwdQj1sRl9/4q/Bjm8mj5zJJ+U8F0RrapGTR2KpcgQEl1XiIalKbTmvsCQxr7FYxcd1Xq5z8bvvVmMlRtafEPbNFnjum1m89XVz0Q72o/nWzT69cnzC+Ul6diGe+T0PEFNUpArMEykTEAeUERFkcCpitVna8r9tvzTz1qci3/pcxL7qqVg8ftiqnsOponf1HewzY7kmhOlTzFtiIT2nISUCSTIifWWI5dGQSnsvDVWc2x3i6843q9jVAUbmHrKom9wWGb7mM+o+gr+DRd3U++SM23PI2TM55wxUVVUkRo61rqpEghGOYOM5w7niJsKOVlDLMPRJ0VYj/JnIfgZN3mcVQp/Dyi+2ygZFdVQCGa3GOlc0Ecs8kBA9kz5ZD2GnA3/+CnGNPfjlFpqigS9joWMHg0QwgSeV4KNfp7p9c1cnaM/Ry3VXz2ZDj+zKhttXVt9j7WUVKPFOB1S6VyRwx0h0nDGnqBWUbvN5N8Qvxu9eXPbV/4B08zPKP1/05u+O6qYnP6dLn8mNVilpEATnoSKSOvwIWlLCmeYeBzSVYUc3v7TdAmkfR+HRAkd83Oey8qyK7sw+l7SrqCRMuESkioJgX3LClJVaC1eBlTt6hiY9D2jsvydtpB/N6tucl5/g3zWsXgiaUXWWouWOoqWJQSjPiHYM7xTFE/HKSwIqSS2CpsmJ3Vldx8/3xW9tPj7VVoPNo8muOoXiSMftS7wytk3uu3Nalsc/uMM+Uw6litPBISjDD05VIipQrS1l3NlwEJS9mtT0oO67Mp7HmaJwnFNKpLDYUjHIntPg5WepSCFxVsFBTv76ijIj5YSo7+/mH6OitY+5v3WmlZ+vYFKuIPeDaDgKw9RC049dwgkzLe9Y7+NuPD8sSdHqWFmPF3wMBpuvUr3II3HMMsNZDDT0IkeIBmLvanD8ognxzQJHA+aB+02f7dn9MByb4N6W4Gs5pZubG+Q7uO5gDF//k/uVZi/MqWvk6dDLIMcOHsrl2Mw5SH90tI4Z9IN0jVfY47tXprJ/+rucju1fY+jdHevVkfcOvwx8Yg05qI9TMQ8W9/SGdijWuVvSwZD/9+o/BPKKBfMAy2bzH8hSAfwCDQAA


name: Document Q&A Chatbot with Google Drive, GPT-4-mini & Telegram (RAG System)
author_name: DuyTran
author_username: duytran82
categories: []
created_at: 2025-09-02T07:16:19.128Z
updated_at: 2025-09-02T07:16:19.128Z
url: https://n8n.io/workflows/8147
scraped_at: 2025-12-24 13:02:45
description:
  Description
  📌 Overview

  This workflow creates a chat-based Retrieval-Augmented Generation (RAG) agent that lets you upload documents to Google Drive and then query them directly through Telegram. It uses embeddings, vector storage, and an AI agent to retrieve, analyze, and answer user questions with context-aware responses.

  🧩 Key Features

  📂 Google Drive Integration

  Watches a folder for new file uploads.

  Downloads and loads documents automatically into the system.

  🔎 Vector Embeddings & Storage

  Uses OpenAI embeddings to transform documents into vectors.

  Stores them in an in-memory vector store for retrieval.

  🤖 AI Agent with Memory

  Built on LangChain Agent + GPT-4.1-mini.

  Performs similarity search in the vector store.

  Provides contextual answers with citations from the uploaded documents.

  Maintains short-term conversation memory for better continuity.

  💬 Telegram Bot Integration

  Users can send questions directly to the bot.

  AI agent retrieves relevant information and replies with clear answers.

  ⚙️ How It Works

  Trigger: Upload a file into the Google Drive folder.

  Processing: Workflow downloads the file → loads → embeds → stores in vector memory.

  Query: User sends a question via Telegram.

  Retrieval & Response: AI agent searches stored documents → analyzes results → returns summarized answer in Telegram.

  🔐 Requirements

  Google Drive OAuth credentials.

  OpenAI API key (for embeddings + LLM).

  Telegram Bot API token.

  📥 Use Cases

  📑 Knowledge base assistant – Upload internal docs and query them in chat.

  🏫 Learning support – Students upload study materials and ask questions.

  📊 Business intelligence – Teams upload reports and get instant summaries.

  More templet: https://auton8n.pw/

nodes_used:
  ["@n8n/n8n-nodes-langchain.documentDefaultDataLoader","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.vectorStoreInMemory","@n8n/n8n-nodes-langchain.vectorStoreInMemory","n8n-nodes-base.telegramTrigger","n8n-nodes-base.telegram"]

workflow_json_compressed:
  H4sIAAAAAAAAE61W227bRhD9FYJPLaBNufeln5raSWE0rYEkTdEGgbGXWZmISAoUZSc1/O+dpWTdLEcM0AcJojhz9szsmct9XoX8LP/zn3+N+HBu5n+r12/fXtX5JK+ht/nZfV41i942Hi6TXQEmBuusFUqBYtFGA6WV3lgrQxCSxWg9jxp8IbRVPOArR4NWaBR91IjbQz2f2X6F97lp72YQpnC96NsOru0Umv76rupvrqdtO53BdeiqW9hxO+8gLN5Bv5yft/gP9IA4fbeEh0ne2BoQ9LdH0GyAy35IeNmvA152kfAm2XuYwbSz9Y8J2k4X+dnHTwjQBkg/71dZ0YUJJQggSipFhKOGGOXwixfUxcJrFkK+OfYCol3O+uzC9jZ709oAXQL/Ok8vf25M8xN+yHAEmdlm6m9s1bwIrV/WyHLtnZw3vvN2UfVV2yAjbsSEKIEc5xZpY9gdEr1/WB3wAZ8GO/qCPkzW7FUhrAAJRHrviQiOklIET5TmmlIHVtm4w769a2Z4cBarGWx5byk7u4AXq0u5WN/JDj9CSzYhTBSnGPINPzDBoQMQ53gkgltHnIBAJNNeeYZKk2LL71XtIISqmWY10pmNyCw8eiyu5tC8rPYJU4EJFeZ0QtmGcFnGklOJXCMP6BtKYlUUxHhJSwylBGe3hF9eZi+T/EYwtWu73XxyySacnUwn2+WnJXVaOiILixdeelRqFAFvxZqCS6dA8y2/30emcVaf39j+WAqJoGoi1UmOuzmkSoei1JaoMmJJReqI1YJiDk3JlQ2OB7bl+K5KJZ79DnXbfR3BtR4Mf1nGCN1fVRPauwPGTLOJFCPKaCvTwofgGQXkma7ehEgcVZhaYMY4oEyocsv4NVZPtpynSoIwpozed9V0eljtRBVmVDVtq92pIgYoKYHSJYUWnFgjNJaUpjYyZmwpdxLbV/7z1+yPtn++1heDzdpkr9QLhrVD1SG53LdNn5R8lufPE8WhUSqDsoyssEQwxUjpjCOGOusci+D9caL8u5liAieKPbntcTyVCFRLSTFQromwEhPKoSDBCWlK4SmzasvzsllA12eP3XwxQqy34HHmvUtz77LZSPyA/igR7KhVRGOx7UuCFy6IwEQTZ7ghShWUeq/w5U5230LfVXAL/y9vPNtMvou1ldg9S1SCMgrFW0QcCgCCYDsLHCeVBL1TY2+qBV5fFtsuqxrf1mkoYBB77A8U0q/H/TPVhole9do7cDdt+3nYTThjwQPOfOz6gBVlFHElDlHOC5kavjY8zaeR9clVVMICJR7XJCI8FoClvMC5J/CKowWp9TbEx/XkZEBo0Davuq7t0CbpumqWMDxfLfv58mCqcHYkTlcMO5pPGtFJMtiNRdBEgyoKLox3Up2ME/cOhLW+T5vBsI9N8gX0fRq/qeTgC/hlYnHVpd3mLL+lqfZuVwADjwgBqJWGgE3jVUYsOBGxRThhOY4N7KhpvGKQDSoQvQbg1RjDH7a6Thpd4jBd//cR97iUsqPD+In5BDfdAF/ys+Lh0yektnFB7Bp1v4f39H4Gk0OM/aXqGNDzfeMo4P54OQb4zB53FG1/vK5yWK8fTiWvfiz8fcjDNW0FulnFRsa+57JzxGTj+63O9Zz3QPCI44pj37YjNDNYPbnmI5v/CvTxkPFxbzwOD/lG1zumg6fsj0jg4eE/9c167AAOAAA=


name: Automate Trump Truth Social Monitoring with Telegram & Discord Alerts
author_name: Malik Hashir
author_username: malikx
categories: []
created_at: 2025-09-02T11:23:41.134Z
updated_at: 2025-09-02T11:23:41.134Z
url: https://n8n.io/workflows/8155
scraped_at: 2025-12-24 13:02:46
description:
  This n8n workflow monitors Donald Trump’s Truth Social posts and sends alerts to Telegram & Discord on auto-pilot. Stay instantly updated with every new post, repost, or reply without delays. 

  The workflow fetches posts, processes and filters for freshness, then sends formatted alerts to Telegram and Discord (X optional) for multi-channel alerts. Perfect for media professionals, financial markets professional, traders, political analysts, social media managers, and enthusiasts who want to keep pulse on Trump’s latest Truth Social activity using fully automated, hands-free alerts.

  Note: Complete setup support and guide included with the workflow file.

  Who This Template Is For
  Media Professionals: Journalists and news outlets needing instant coverage of political developments
  Financial Market Professionals: Traders and analysts monitoring Trump's statements that may impact markets
  Political Analysts: Researchers tracking political messaging and communication patterns
  Social Media Managers: Content creators who need to respond quickly to political developments
  News Enthusiasts: Individuals who want immediate updates without constantly checking Truth Social

  How It Works
  Automated Monitoring System
  Schedule Trigger: Runs every 30 seconds (customizable from 5 seconds to longer intervals)
  Continuous Operation: Works 24/7 without manual intervention

  Data Processing & Filtering
  Post Extraction: Retrieves all new posts from Trump's Truth Social feed
  Content Processing: Parses posts, reposts, and replies into structured data
  Duplicate Prevention: Uses Supabase database to track already-sent posts and prevent spam
  Freshness Filter: Only sends alerts for genuinely new content

  Multi-Channel Alert Distribution
  Telegram Integration: Sends formatted alerts to your specified Telegram channel or chat
  Discord Integration: Simultaneously posts updates to your Discord server/channel
  Customizable Formatting: Messages include "JUST IN:" prefix for immediate recognition
  Real-time Delivery: Alerts sent within seconds of post detection.

  This template transforms manual social media monitoring into a professional, automated alert system that ensures you're always informed of Trump's Truth Social activity across your preferred communication channels.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.if","n8n-nodes-base.supabase","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.supabase","n8n-nodes-base.telegram","n8n-nodes-base.discord","n8n-nodes-base.limit"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WXS28bNxCA/8piz2JADt++FQlQGCiCojF6CXzgY2gLkbWqRMENDP/3DmXDluRdR1YvK+1qdvjNe/TQ32EN/cVDP19ualgmvMz9RW9N0UYl9CiK8gaDSVJLWYTWWYOwQYpgVRTRQMQgeZLWKvDKhmAz2tTP+op3q0Wo+HmNefMN63b1eaAnWJEOqOstPs765ZBx0198p9PbqVwEmbjITFpwTJkkmEsqMKk86MAFB89J8zLcIUl/S7eYtwvsrtbzmxtci3boz1X7aemWbKebxbDBT5tnyWdBklsNm3mdD0s6m1lpZkJZuKbHYU26K64J6uHxSd3fdLeTFJ/gcfZMiih0iKiZ4hKZEsUw561jAkoQhQuvpH0lvSzTbPNyiOMFnEQDezQgLQerJNOeJ6ZQROYQJPMiFesihBj8K83vWLvQrYf7dxy2XYX25RDN6BMd9QLmHTk3Kc+izYapUnJzkyW6pDHoxKOKewGt8/TjZ/d1qPgO2k6oyRyF0Rk1EyDMMV2fhmXFZSVV/TukXjiMyTCBMjClYiKFCZnUkZKbsj4HHCU1HyYVQlOI6XIeqTKllZlgEASRhsSZD06xgggKOXBdzCip/Tipdup/kCaLVLnOsWhQMAVUHyGrxKQ3xludTIzjpIJ/PPzSuJlX6jxS8BLRGaCKKeRTWwSLPgpmBXphdSwcymEBfcX77s9hUzeTpLe1rv7Cf7a4qUeoAOqkOlL7JR4dpBg1c06nRggscK0YumSTFhAB9vNztZjX7pJa8DRfoq9H4Tb8tNbzQuUAvU6FM6NtZCqCZ9T/I+M+aFEKOW5XyW8j7D4cYK3IaRLceQHG5JwVmYaKtIWKRlCAozLMgDFcee5Q5fFUPKO+d1VjxZlV04asNTT/DCbffBqYT9SYQirFGhOB2/Ge6T9MCmLn1HNJVeLGGUmQhdNFZ8VczNDcC0UqFzg/6JnDGrvLL10Z1l3Z1i3dbVeZNoTpHB2fQyBbA1XuTS5MoxrvpUfHGbeZWhFlJpWPyiwXYyM5IFL/30PFZe5+W+C6dldDd4ULvKFTYBKzPksc5YFs3n3CvMd4Oww/drtVgECbE60NtEPR7gDGM1eolWcsbclyAVwL5cm7iCmAssjCipNkmzGO+UJDVsiQbDEZSsQp277MN2lY52nT8pPAkWWOOhhwx48so24QVCqSoeGWVqO2h0gnGA9JxdZVVYm/suzVLps9L9FT+os26Dg1ZUejgWIWLHU76WiFeLXrj/ndvE6vDYv286EVbWKcts6QBBXEElN7c1cfbaOjj7swb5q+X89ohW2nnZI8u5dmtG9n/Le/4M3e0Vffxub4zetrYn02fI/mRd/YpjeqY09wTM/B/jqqYH/gjGk4js4kxetcHVMzOtfGgd78OZhy0MgkH9c4EddRzlN63cgpj4//AQ2Yz2yQDQAA


name: Create Jira Tickets from Streamlit Forms with Webhook & REST API
author_name: Yassin Zehar
author_username: yassinzehar
categories: []
created_at: 2025-09-02T11:36:33.262Z
updated_at: 2025-09-02T11:36:33.262Z
url: https://n8n.io/workflows/8156
scraped_at: 2025-12-24 13:02:46
description:
  Description
  Automated workflow that creates Jira issues directly from Streamlit form submissions. Receives webhook data, validates and transforms it to Jira's API schema, creates the issue, and returns the ticket details to the frontend application.

  Context
  Bridges the gap between lightweight Streamlit prototypes and enterprise Jira workflows. Enables rapid ticket creation while maintaining Jira as the authoritative source of truth. Includes safety mechanisms to prevent duplicate submissions and malformed requests.

  Target Users

  Product Managers building internal request portals.
  Engineering Managers creating demo applications.
  Teams requiring instant Jira integration without complex UI development.
  Project Manager using Jira pour mangement and reporting.
  Organizations wanting controlled ticket creation without exposing Jira directly.

  Technical Requirements

  n8n instance (cloud or self-hosted) with webhook capabilities
  Jira Cloud project with API token and issue creation permissions
  Streamlit application configured to POST to n8n webhook endpoint
  Optional: Custom field IDs for Story Points (typically customfield_10016)

  Workflow Steps


  Webhook Trigger - Receives POST from Streamlit with ticket payload.
  Deduplication Guard - Filters out ping requests and rapid duplicate submissions.
  Data Validation - Ensures required fields are present and properly formatted.
  Schema Transformation - Maps Streamlit fields to Jira API structure.
  Jira API Call - Creates issue via REST API with error handling.
  Response Formation - Returns success status with issue key and URL.

  Key Features

  Duplicate submission prevention.
  Rich text description formatting for Jira.
  Configurable priority and issue type mapping.
  Story points integration for agile workflows.
  Comprehensive error handling and logging.
  Clean JSON response for frontend feedback.

  Validation Testing

  Ping/test requests are ignored without creating issues.
  First submission creates Jira ticket with proper formatting.
  Rapid resubmission is blocked to prevent duplicates.
  All field types (priority, labels, due dates, story points) map correctly.
  Error responses are handled gracefully.

  Expected Output

  Valid Jira issue created in specified project
  JSON response: {ok: true, jiraKey: "PROJ-123", url: "https://domain.atlassian.net/browse/PROJ-123"}
  No orphaned or duplicate tickets.
  Audit trail in n8n execution logs.

  Implementation Notes

  Jira Cloud requires accountId for assignee (not username).
  Date format must be YYYY-MM-DD for due dates.
  Story Points field ID varies by Jira configuration.
  Enable response output in HTTP node for debugging.
  Consider rate limiting for high-volume scenarios.

  Tutorial video:
  Watch the Youtube Tutorial video

  How it works

  ⏰ Trigger: Webhook fires when the app submits.
  🧹 Guard: Ignore pings/invalid, deduplicate rapid repeats.
  🧱 Prepare: Normalize to Jira’s field model (incl. Atlassian doc description).
  🧾 Create: POST to /rest/api/3/issue and capture the key.
  🔁 Respond: Send { ok, jiraKey, url } back to Streamlit for instant UI feedback.

  About me :
  I’m Yassin a Project & Product Manager  Scaling tech products with data-driven project management.
  📬 Feel free to connect with me on Linkedin

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

workflow_json_compressed:
  [encoded data, 5732 characters]


name: Manage Google Calendar & Gmail with a Gemini/GPT Powered AI Assistant
author_name: Praneel S
author_username: praneel7015
categories: []
created_at: 2025-09-02T12:07:45.249Z
updated_at: 2025-09-02T12:07:45.249Z
url: https://n8n.io/workflows/8159
scraped_at: 2025-12-24 13:02:45
description:
  Manage Google Calendar events and Gmail with a customizable AI assistant

  ⚠️ Disclaimer: This workflow uses Google Calendar and Gmail nodes which you will have to configure yourself  

  Who’s it for  
  This workflow is built for busy professionals, freelancers, and teams who want to automate calendar scheduling and email handling with the help of an AI assistant. Instead of switching between Gmail and Google Calendar, you can delegate tasks like “schedule a meeting,” “send an invite,” or “check my latest emails” directly to the assistant.  

  How it works  
  The AI Agent interprets natural language requests and decides which tool to use.  
  Uses Google Calendar nodes to:  
    Check availability and list events.  
    Create new events with attendees.  
    Update existing events.  
  Uses Gmail nodes to:  
    Send emails with a clear subject and body.  
    Retrieve recent messages or filter by sender/date.  
  The Date & Time node ensures correct time handling for scheduling.  
  Built-in guardrails ensure clarity: if information is missing (e.g., timezone, meeting duration), the AI will ask you instead of guessing.  

  How to set up  
  Import the workflow into your self-hosted n8n.  
  Create credentials for:  
     Google Calendar API (OAuth2)  
     Gmail API (OAuth2)  
     AI model (Google Gemini, OpenAI GPT, or another supported connector)  
  Connect these credentials to the corresponding workflow nodes.  
  Update default values like:  
     Your Google Calendar email ID  
     Timezone preferences  
     Default conference solution (Google Meet is included by default)  
  Test the workflow by asking natural queries such as:  
     “Schedule a meeting with alice@example.com tomorrow at 3 PM.”  
     “Check my emails from this morning.”  
     “What’s on my calendar next week?”  

  Tools

  🤖 AI Agent  
  The “brain” of the workflow. Interprets your requests and chooses the right tool. Asks for clarification if details are missing and confirms before important actions.

  🧠 Google Gemini Chat Model (or any LLM)  
  The AI language model that powers the assistant. You can swap Gemini with OpenAI, Claude, or another model.

  📌 Simple Memory  
  Keeps short-term context of the last ~10 interactions so the agent remembers what “it” refers to in your requests.

  📧 Send a message in Gmail  
  Sends emails from your Gmail account. Requires recipient, subject, and body. Generates clear, professional text.

  📥 Get many messages in Gmail  
  Checks your inbox. Can filter by timeframe or sender. Returns detailed summaries, not just one-liners.

  📅 Get many events in Google Calendar  
  Lists your events for a chosen date range. Useful for “What’s on my schedule this week?”

  ⏰ Date & Time  
  Converts natural phrases like “tomorrow at 3 PM” into exact ISO date-time values.

  ✅ Get availability in Google Calendar  
  Checks if you’re free during a specific time slot. Prevents double-booking before scheduling.

  📝 Create an event in Google Calendar  
  Schedules a new meeting. Adds title, start/end times, attendees, description, and Google Meet link.

  ✏️ Update an event in Google Calendar  
  Edits an existing meeting. Change time, attendees, or details without creating a new event.

  Example Prompt
  n8n AI Agent System Prompt: Personal Assistant

  You are an advanced AI Personal Assistant operating within an n8n workflow. Your primary function is to serve as a cognitive engine that translates user requests into specific, executable tool calls. You are precise, methodical, and you do not act without sufficient information.

  Core Operating Principles

  Tool-Centric Operation: You can only perform actions for which you have been explicitly provided a tool. Before acting, you will review the Tool Manifest to confirm you have the required capability. If a user's request does not map to any available tool, you MUST clearly state that you cannot perform the action and why. For example: "I am sorry, but I cannot set a reminder as I do not have a tool for that function."
  Clarification Mandate: If a user's request is ambiguous or is missing a required parameter for a tool, you MUST ask clarifying questions before proceeding. Never guess or assume details like timezones, email recipients, or event durations.
  Single-Focus Execution: Handle one primary task at a time. If a user asks to schedule a meeting and check emails, process the meeting first unless the user specifies otherwise.
  User Confirmation: Before executing actions that create data or notify others (e.g., creating an event, sending an email), briefly state your plan of action for the user to confirm. Example: "I will schedule an event titled 'Project Sync' for 3 PM tomorrow and invite 'bob@example.com'. Is that correct?"

  Tool Manifest & Usage Protocols

  You have access to the following tools. Adhere strictly to their parameters and usage triggers.

  Tool: system_getCurrentTime
  Description:** Retrieves the current date and time.
  When to Use:** When the user asks for the current time, date, or uses relative terms like "today", "tomorrow", "this week". This tool is often a dependency for other tools.
  Parameters:**
      timezone (string, required): The IANA timezone identifier (e.g., 'America/New_York', 'Asia/Kolkata').
  Protocol:* If the user asks for the time without providing a timezone, you *MUST** respond by asking: "Certainly. In which timezone would you like the time?" You will output the time in HH:MM format as requested.

  Tool: googleCalendar_getEvents
  Description:** Fetches a list of events from the user's Google Calendar within a specified date range.
  When to Use:** When the user asks "What's on my schedule?", "Am I busy?", or asks about events for a specific day, week, or month.
  Parameters:**
      startDate (string, ISO 8601 format, required): The start of the time period.
      endDate (string, ISO 8601 format, required): The end of the time period.
  Protocol:** Use system_getCurrentTime to establish the date for relative queries. "This week" means from today's date for the next 7 days. "Today" means from the start of the current day to the end of the current day.

  Tool: googleCalendar_createEvent
  Description:** Creates a new event on the user's Google Calendar.
  When to Use:** When the user asks to "schedule", "book", "create", or "add" an event, meeting, or appointment.
  Parameters:**
      summary (string, required): The title of the event.
      startTime (string, ISO 8601 format, required): The start time of the event.
      endTime (string, ISO 8601 format, required): The end time of the event.
      attendees (array of strings, optional): A list of attendee email addresses.
  Protocol:** If the user mentions other people in the scheduling request, automatically include their names/emails in the attendees parameter. You must have all required parameters before calling this tool.

  Tool: gmail_sendMessage
  Description:** Composes and sends an email via Gmail.
  When to Use:** When the user asks to "email", "send a message", or "contact" someone.
  Parameters:**
      recipient (string, required): The primary recipient's email address.
      subject (string, required): The email subject line.
      body (string, required): The content of the email.
  Protocol:** The subject must be detailed and relevant to the body's content. The body should be professionally written and clearly articulate the user's message without unnecessary embellishment.

  Tool: gmail_getMessages
  Description:** Retrieves a list of emails from the user's Gmail account.
  When to Use:** When the user asks to "check my email", "see recent emails", or "find an email from someone".
  Parameters:**
      startDate (string, ISO 8601 format, optional): The start date to filter emails from.
      endDate (string, ISO 8601 format, optional): The end date to filter emails to.
      from (string, optional): Filter emails from a specific sender.
  Protocol:** Use system_getCurrentTime to define date ranges for requests like "emails from this morning".

  Defined Workflow: "Schedule a Meeting and Send Invite"

  When a user's request involves both scheduling a meeting and notifying the attendees, you MUST follow this exact sequence of tool calls:

  Acknowledge and Gather: Acknowledge the request. Check if you have all the necessary information (topic/summary, attendees, proposed time/date, duration). If not, ask for the missing details.
  Step 1: Check Availability (googleCalendar_getEvents): Use the googleCalendar_getEvents tool to check the user's schedule for the proposed startTime and endTime.
  Step 2: Report & Decide:
      If Conflict Exists: Report the scheduling conflict to the user, mentioning the existing event. State: "You already have '[Existing Event Title]' scheduled at that time. Would you like to find a different time?" Await further instructions.
      If No Conflict: Proceed to the next step.
  Step 3: Create Event (googleCalendar_createEvent): Once the time is confirmed to be free, call this tool with the gathered summary, startTime, endTime, and attendees.
  Step 4: Notify Attendees (gmail_sendMessage): After the event is successfully created, immediately call this tool to send an invitation email.
      recipient: The attendees from the event.
      subject: "Meeting Invitation: [Event Summary]".
      body: "Hello,\n\nThis is an invitation to schedule '[Event Summary]' on [Date] at [Time]. Please check your calendar for the official Google Calendar invite.\n\nBest regards,"
  Step 5: Final Confirmation: Report to the user that the event has been scheduled and the invitation email has been sent.
  Requirements  
  n8n instance  
  Google Workspace or Gmail account with API access enabled  
  Google Calendar API credentials  
  Gmail API credentials  
  AI model API key (Gemini, OpenAI, or other supported LLM)  

  How to customize the workflow  
  Swap out the AI model (Gemini, OpenAI, or another LLM).  
  Modify the system prompt in the AI Agent to change its personality or strictness.  
  Extend the workflow to trigger Slack or Teams notifications after scheduling.  
  Adjust the email formatting template for different tones (casual, professional, etc.).  
  Add error-handling logic for more advanced use cases (e.g., auto-rescheduling). 

  Contributions

  Feel free to contact me for any help.   
  Checkout the github page

   

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.dateTimeTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6632 characters]


name: Generate AI Videos from Telegram Messages with Nano Banana & Veo-3
author_name: SuS
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-12-24 13:02:44
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.

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


name: Generate SEO Blog Posts from Web Searches with Mistral AI and Google Drive
author_name: Zakwan
author_username: zakwanzahid
categories: []
created_at: 2025-09-02T20:41:23.387Z
updated_at: 2025-09-02T20:41:23.387Z
url: https://n8n.io/workflows/8192
scraped_at: 2025-12-24 13:02:45
description:
  📖 Overview

  This template automates the process of researching a keyword, scraping top-ranking articles, cleaning their content, and generating a high-quality SEO-optimized blog post. It uses Google Search via RapidAPI, Ollama with Mistral AI, and Google Drive to deliver an end-to-end automated content workflow.

  Ideal for content creators, SEO specialists, bloggers, and marketers who need to quickly gather and summarize insights from multiple sources to create superior content.

  ⚙️ Prerequisites

  Before using this workflow, make sure you have:

  n8n installed (Desktop, Docker, or Cloud).

  Ollama installed with the mistral:7b model:

  ollama pull mistral:7b


  RapidAPI account (for Google Search API).

  Google Drive account (with a target folder where articles will be saved).

  🔑 Credentials Required

  RapidAPI (Google Search API)

  Header authentication with your API key.

  Example headers:

  x-rapidapi-key: YOUR_API_KEY
  x-rapidapi-host: google-search74.p.rapidapi.com


  Google Drive OAuth2

  Allow read/write permissions.

  Update the folderId with your Drive folder where articles should be stored.

  Ollama API

  Base URL:

  http://localhost:11434 (local n8n)

  http://host.docker.internal:11434 (inside Docker)

  Ensure the mistral:7b model is available.

  🚀 Setup Instructions

  Configure RapidAPI

  Sign up at RapidAPI
  .

  Subscribe to the Google Search API.

  Create an HTTP Header Auth credential in n8n with your API key.

  Configure Google Drive

  In n8n, add a Google Drive OAuth2 credential.

  Select the Drive folder ID where output files should be saved.

  Configure Ollama

  Install Ollama locally.

  Pull the required model (mistral:7b).

  Create an Ollama API credential in n8n.

  Run the Workflow

  Trigger by sending a chat message with your target keyword.

  The workflow searches Google, extracts the top 3 results, scrapes the articles, cleans the content, and generates a structured blog post.

  Final output is stored in Google Drive as a .docx file.

  🎨 Customization Options

  Search Engine → Swap out RapidAPI with Bing or SerpAPI.

  Number of Articles → Change limit: 3 in the Google Search node.

  Content Cleaning → Modify the regex in the “Clean Body Text” node to capture  or  tags.

  AI Model → Replace mistral:7b with llama3, mixtral, or any other Ollama-supported model.

  Storage → Save output to a different Google Drive folder or export to Notion/Slack.

  📌 Workflow Highlights

  Google Search (RapidAPI) → Fetch top 3 results for your keyword.

  HTTP Request + Code Nodes → Extract and clean article body text.

  Mistral AI via Ollama → Summarize, optimize, and refine the content.

  Google Drive → Save the final blog-ready article automatically.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOllama","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WXWW/bRhDHvwrBpxbQunsffmrjAEWAHGicHkARFHvMykIkUiUpJ47h794h7VqMTclM8mBaondnfzM785/xdblK5Wm5+8Xnv/Jvr5YJPjby9a5clBvofHl6Xa6qtvNVhBf9OmEEU1wYTR1kkRJoCSYkLiSNWsiYQeEjBsMD8BCk4KADVTIEozQPCu12sNmufQdnDaT2HLrd9qzGN9ABHtA1O7hZlJXfAJ7WxsZvV9Wy8E23imso6qr4AFcf6yb1hvyyLU//fo/L6wT9x+tbZ5xzIkYeiGAmE6kiJ45xTYKzXIoAOrJY3h/y5wVURbzwXbGBtvVLKBqIsLqE4Yyrbb/m58pWP+EPGU4ia18tcceqOun3vWtWyyU0uHpbt6tuVVeIQhi3dKEYR7yPEC7q+sMQQAPcKw2MpEQtkUYI4rLjxBsLDoIFn3hvyTdI10GDbl3f3HL8gd8G4+yE3SzufI0mO8myIlp6tJcpEMeVIopzlqORlka19/UM8fde7R0KvoWTePvHsROO2zsfjgLxexzlooeoNYleOSJdcuie1MQkjl8MROpGoX9Z19vizSU0xQvMivYgWbtdr7oX1TPfxQtoHzAaxecwinvGJIIN0mrCOcZNWieIlYGRCJjBVsocqNkz/gpdEeuqg6orclNvit/fvjwIetF127fw7w7a7gGl0nQOpTzZx5L5YJUOgUTjAl6tiHiIkCQ5FRmlOrPhvqZjyb4tmFLaBWbu/GBahtXPlCYsaYa1pgJxAh/IRpPUSMpG+XeOZfzhqnhdd4fTsB3W3C35oqIE4wup5UO48u560FT5qFTuQVGETIjWEu8kigLzQIKmijjrjPQuyEj5JOiRSB4iVVg28lEQ53Gy7A33FO86Z4qcvUAwygmKp9E+YQzAT3Lyr+cUfCEepeQ8TBFYSsIKQj1wIoWUxFLKCGirM3VOJzsKJ2o9Kn7xrE5XxTv41BVfK0Rc6cXjmz+sQyHmzBUorHHlsXa0IV5Yg0EVkQMNISU3wluDr4rQ03VI97VgXNL5ZDwIGzDniINeIVnmt+rjhXPcgEj4YaQ+db3Evve8wX50EGs5LPp/zYhO6Fnyva9mA55HDBwBGyKRMWI38RQVKHgVUvSapryHe+47X2C8Gh+7uil8lYp2t9n4ZvUZmlHZHOye2GyrB0KJTdM+Hc2RSkaDEuM4JxB6AUoiEZ+9JC4YG5LIzo2Rz6HG3Bvy+9sBBX06E0eEiStrQWWUmixQIrkkHociYjLg8AQMG/Woot9CXlXw/ZBz2vYIUjsnDcWZieWgsSlais1fRuze2kZnshZ21GzerNd+44uzfmp6hTjrGZjrTb/8dueXtEZgDSn9FO5efJzDjsgxQzMOmxhRbYl1nhMTU0rGJaW0eFRD5+CbeFH80I+UqcDHj9/Qxhm1s0qq7+O4BgujL8phrF2ULXQdTrODyMIniLve6psm4ex4Wl6yXm0vbw0Mo6JHnfIuWxJs72V2QDzNkVjGvMVRMUnXXwnKdQWxNzUYHpQVf28w5kiMM3E1vDk8bA0rFzjnJ/hUntKb9+8R5ItCmTJ3ME8nzT1U2BmAT5l86M93mlzsdx0f+SZhHkZjCmZay+f4Nm3viaZ6zMODDW+S5nG1I45f/dPX9g7V5+7dCG1uZ3hkZHT04t7atGjP23swTY9tH7yezILvL6zpW5uyOzeIk8ccFr3JVDqeOb3BI/8mH0n2Y6I7ecwTTk8dNZ0eE9Zvbv4Dp7LkAe4QAAA=


name: Generate Fashion Model Product Ads with Gemini AI via OpenRouter
author_name: Zakwan
author_username: zakwanzahid
categories: []
created_at: 2025-09-02T20:43:35.261Z
updated_at: 2025-09-02T20:43:35.261Z
url: https://n8n.io/workflows/8193
scraped_at: 2025-12-24 13:02:45
description:
  This workflow is a user-friendly tool that automates the creation of high-quality advertising images for products. It takes a simple product image uploaded by a user and uses AI to transform it into a professional, photorealistic advertisement featuring a fashion model actively using the product. The final image is then made available for the user to download.

  Step-by-Step Breakdown:
  Here is a breakdown of the automated process:

  Form Submission: The workflow is triggered by a public form. The user uploads a product image and selects a character model (male or female) from a dropdown menu.

  Image Processing: The uploaded image file is extracted and prepared for the AI. This includes converting the binary file data into a format that the AI model can understand.

  AI Image Generation: An HTTP request is sent to a large language model (Google's Gemini via OpenRouter). The request includes a prompt that combines the user's selected character model and the uploaded product image. The AI is instructed to generate a new, photorealistic image of the model using the product.

  Data Conversion: The AI's output, which is a base64 encoded image string, is then processed. The workflow separates the image data from its metadata.

  Final Image Delivery: The base64 data is converted back into a binary file, which is then provided to the user for automatic download via a completion form.

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

workflow_json_compressed:
  H4sIAAAAAAAAE52WS24bRxCGr0LMmiX0+8GtYgXZ2EAkBAEMLfpRLY8tzsgzLUWGwBskZ8gVc4TUkIJE00NZ9ooi55+/v6quhx6aNjer5pxff7y/+uXzn7++KfLjRdssmzXW0KwemrYba+gS/jbpuNAoo5E8og7F6qizk0wVSw9S1skp1Bi8SVw5bnlKQcUSZUnJuYI+km/F9c11qHg6YB7Psd7enPb0C1akA+pwi5tl04U10mlvQ9cv/vv3n7+n18LV2KzeX9LDPuP058MOXYkQDCYFJpUIirsCQfIATiksxlmWJG+eLN91i9IP68V4G9ftOLZ9N3l/uZmeda6DrTnEMOLJpLsY2qsrHEhz049tneSr91y4pRCKUP7C+KHvP21TI6PQWgoHTHEEhQIhpuCAW4PeKROSxcknDERScaAQHja7s/+gb1trcSI2y8e4kBWrSkHIhUtQNiYINnjA4pFHLYsxe3G9yW1dnLV4ncejAY1Yvw7EOvUYyItU8kQ9UfmQY7BFgVKZsq29gyiUA3QqFcOcYtE9U5323R0OdVF7YrvGo2Rpp7voH1V7jN6w1zDyE/7EGI3PGJIHyT0HFXgBn4sFE7jjokTjfNnL3H0dQqqLMvTrlylxpzwj4bec1AWv4nyi5BJNKUaDjjHT/QoFVMcKWOFZi5zosuN+JvNL6csHNMq8iua52lLx0drMKGdWgIq5QJyqzSapuVLBUJM905xRa7zYNwcNwwWb6RjD6H6YoSsSqVDnckMGJkDw0kvOvE9afq9j9m9dWLRBQmGWKpPigUDFSk0THaIIRlrfzI+W2TA+1HrzO36+xfGga4x4VW7VXi8Lmn6ZCQnZiETZjXTXTtCgUj4n6YvWcS+757VNn74s3vb1+JWPW82jZB9OLb05RGuovyp2lWya4wmkLFnnswDHM0FmoSl3XgBSMSlXWKLmmYXkP0MJ2rCf48wiCC6ZBW+jB+WRRhBGBGmyijSHmC52llP+MKelugXFfhCU1DQm2js6qITrEZcNTd7adlfbV/Ee0+3k/27ItFlWzR2fPO527++2LMcgqPhBU9FM5ztw0hSgzWsjopeRMwIliA7TZLU13o4I+lyHdmKn/dhtf5mr9a1mSbs9432zYpvLS0J41s25zG6YWZ995ZzT0a0w63aonnP8eh7NQ30z5ufR8vd4Zv6DmE3X8bUyY7vZ/A/wtHZAiQkAAA==


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-12-24 13:02:41
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:
  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


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-12-24 13:02:41
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, 8228 characters]


name: Automatic Email Categorization & Labeling in Zoho Mail with GPT-4o-mini
author_name: Ruthwik
author_username: ruthwik
categories: []
created_at: 2025-09-03T11:28:19.040Z
updated_at: 2025-09-03T11:28:19.040Z
url: https://n8n.io/workflows/8212
scraped_at: 2025-12-24 13:02:45
description:
  📧 AI-Powered Email Categorization & Labeling in Zoho Mail

  This n8n template demonstrates how to use AI text classification to automatically categorize incoming emails in Zoho Mail and apply the correct label (e.g., Support, Billing, HR). It saves time by keeping your inbox structured and ensures emails are routed to the right category.

  Use cases include:
  Routing customer support requests to the correct team.
  Organizing billing and finance communications separately.
  Streamlining HR and recruitment email handling.
  Reducing inbox clutter and ensuring no important message is missed.

  ℹ️ Good to know
  You’ll need to configure Zoho OAuth credentials — see Self Client Overview, Authorization Code Flow, and Zoho Mail OAuth Guide.
  The labels must already exist in Zoho Mail (e.g., Support, Billing, HR). The workflow fetches these labels and applies them automatically.
  The Zoho Mail API domain changes depending on your account region:
    .com → Global accounts (https://mail.zoho.com/api/...)
    .eu → EU accounts (https://mail.zoho.eu/api/...)
    .in → India accounts (https://mail.zoho.in/api/...)

  Example: For an EU account, the endpoint would be:
  https://mail.zoho.eu/api/accounts/&lt;accountID&gt;/updatemessage
  The AI model used for text classification may incur costs depending on your provider (e.g., OpenRouter).  
  Start by testing with a small set of emails before enabling for your full inbox.

  🔄 How it works
  A new email in Zoho Mail triggers the workflow.  
  OAuth authentication retrieves access to Zoho Mail’s API.  
  All available labels are fetched, and a label map (display name → ID) is created.  
  The AI model analyzes the subject and body to predict the correct category.  
  The workflow routes the email to the right category branch.  
  The matching Zoho Mail label is applied (final node is deactivated by default).  

  🛠️ How to use
  Create the required labels (e.g., Support, Billing, HR, etc.) in your Zoho Mail account before running the workflow.  
  Replace the Zoho Mail Account ID in the Set Account ID node.  
  Configure your Zoho OAuth credentials in the Get Access Token node.  
  Update the API base URL to match your Zoho account’s region (.com, .eu, .in, etc.).  
  Activate the Apply Label to Email node once ready for production.  
  Optionally, adjust categories in the AI classifier prompt to fit your organization’s needs.  

  📋 Requirements
  Zoho Mail account with API access enabled.  
  Labels created in Zoho Mail for each category you want to classify.  
  OAuth credentials set up in n8n.  
  Correct Zoho Mail API domain (.com, .eu, .in) based on your account region.  
  An AI model (via OpenRouter or other provider) for text classification.  

  🎨 Customising this workflow
  This workflow can be adapted to many inbox management scenarios. Examples include:
  Auto-routing customer inquiries to specific departments.  
  Prioritizing VIP client emails with special labels.  
  Filtering job applications directly into an HR-managed folder.  

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.merge","n8n-nodes-base.emailReadImap","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.noOp","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5812 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-12-24 13:02:41
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: AI-Powered Gmail and Calendar Assistant with Gemini Chat Interface
author_name: Praneel S
author_username: praneel7015
categories: []
created_at: 2025-09-03T19:38:13.583Z
updated_at: 2025-09-03T19:38:13.583Z
url: https://n8n.io/workflows/8234
scraped_at: 2025-12-24 13:02:45
description:
  ⚠️ Disclaimer: This workflow uses Google Calendar and Gmail nodes which you will have to configure yourself  

  Who’s it for
  Anyone who wants an AI-powered personal assistant that can handle Gmail and Google Calendar tasks through a simple webhook. This is useful for developers, small teams, and productivity enthusiasts who want to connect a chatbot (Discord, Telegram, WhatsApp, or custom frontends) to their email and calendar.

  How it works / What it does
  This workflow acts as a chat-based AI assistant. You send text requests through a webhook (e.g., from a chatbot), and the AI agent interprets them to take actions like:

  📧 Sending emails in Gmail  
  📥 Reading and summarizing your emails  
  📅 Checking your Google Calendar events  
  ✅ Checking your availability before booking  
  📝 Creating new calendar events with Google Meet links  
  ✏️ Updating existing events  
  ⏰ Converting natural time expressions like “tomorrow at 3 PM” into exact timestamps  

  The AI agent is powered by the Google Gemini Chat Model (or any LLM you choose) and follows strict guardrails:
  Confirms actions before executing  
  Asks for clarification if details are missing  
  Prevents double-booking by checking availability  

  How to set up
  Import this workflow into n8n.  
  Set up credentials for:  
     Gmail (OAuth2)  
     Google Calendar (OAuth2)  
     AI provider (Gemini, OpenAI, Claude, etc.)  
  Configure the webhook node (/chat) as your chatbot endpoint.  
     You can connect it to Discord, WhatsApp, Telegram, or a frontend app.  
  Customize the AI Agent’s system prompt if you want to tweak tone or rules.  
  Deploy and start sending messages like:  
     “Check my emails from today”  
     “Schedule a meeting with John tomorrow at 3 PM”  
     “Email my team about the deadline extension”  

  Requirements
  n8n installed and running (cloud or self-hosted)  
  Gmail and Google Calendar accounts with API access  
  API key for your chosen AI provider
  Webhook Chatbot interface  

  How to customize
  Swap Google Gemini with another LLM node (e.g., OpenAI GPT or Anthropic Claude).  
  Add more tools (e.g., Slack, Notion, Trello) to extend capabilities.  
  Adjust memory length in the Simple Memory node.  
  Modify sticky notes with instructions tailored to your use case.  

  Disclaimer
  This workflow uses the community webhook entry point, so it is best suited for self-hosted n8n instances.  
  Do not hardcode API keys or sensitive credentials. Always use n8n’s Credentials system.  
  Other Details
  Thanks for viewing this automation!
  Feel Free to contact me at praneel.tech
  Also Use my Webhook chatbot interface Which is configured perfectly for n8n Automations!

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.dateTimeTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","@n8n/n8n-nodes-langchain.memoryBufferWindow"]

workflow_json_compressed:
  [encoded data, 7120 characters]


name: Crypto Exchange Listing & Delisting Alerts to Telegram, X, and Discord
author_name: Malik Hashir
author_username: malikx
categories: []
created_at: 2025-09-04T00:20:47.749Z
updated_at: 2025-09-04T00:20:47.749Z
url: https://n8n.io/workflows/8236
scraped_at: 2025-12-24 13:02:46
description:
  Purpose and Audience
  This n8n workflow template is designed to provide real-time alerts on new cryptocurrency exchange listings and delistings. It caters especially to crypto traders, investors, and enthusiasts who want to stay ahead of market changes by receiving timely notifications about token availability across major exchanges like Binance, Bybit, Coinbase, OKX, Upbit, Bithumb, and Hyperliquid. The alerts are delivered via popular communication channels Telegram, X (formerly Twitter), and Discord, ensuring you never miss important updates.

  What It Does
  The workflow continuously tracks new token listings announcement from Binance, Bybit, Coinbase, Bithumb, OKX, Upbit, and Hyperliquid futures exchange. It also monitors delistings announcement from Binance, Bybit, OKX, Upbit, and Coinbase. When a new listing or delisting announcement is detected, it automatically sends instant alerts to your subscribed Telegram groups or channels, X accounts, and Discord servers, helping you react quickly to market changes.

  Who Is It For
  This workflow is perfect for crypto traders, portfolio managers, market analysts, and anyone active in cryptocurrency investment or community management. By automating the alert process, it saves time and ensures you receive critical exchange listing updates immediately on your preferred platforms without manual monitoring.

  How to Setup
  Complete video tutorial setup guide is included with the workflow file. The step-by-step guide walks you through configuring API credentials, connecting your Telegram, X, and Discord accounts, and customizing alert preferences to fit your needs.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.limit","n8n-nodes-base.if","n8n-nodes-base.supabase","n8n-nodes-base.httpRequest","n8n-nodes-base.limit","n8n-nodes-base.if","n8n-nodes-base.supabase","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.supabase","n8n-nodes-base.supabase","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.twitter","n8n-nodes-base.twitter","n8n-nodes-base.stickyNote","n8n-nodes-base.discord","n8n-nodes-base.discord"]

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


name: Personal Life Manager with Telegram, Google Services & Voice-Enabled AI
author_name: Derek Cheung
author_username: derekcheungsa
categories: []
created_at: 2025-09-04T01:39:30.352Z
updated_at: 2025-09-04T01:39:30.352Z
url: https://n8n.io/workflows/8237
scraped_at: 2025-12-24 13:02:41
description:
  How it works:
  This project teaches you to create a personal AI assistant named Jackie that operates through Telegram. Jackie can summarize unread emails, check calendar events, manage Google Tasks, and handle both voice and text interactions. The assistant provides a comprehensive digital life management solution accessible via Telegram messaging.

  Key Features: 
  Supports hands-free voice interaction
  Maintains conversation memory
  Integrates with major Google services
  Provides personalized assistance for email management, scheduling, and task organization

  Step-by-step:
  Telegram Trigger: 
  The workflow starts with a Telegram trigger that listens for incoming message events. The system determines if the incoming message is voice or text input.

  Voice Processing: 
  If a voice message is received, the workflow retrieves the voice file from Telegram and uses OpenAI's transcription API to convert speech to text.

  AI Assistant: The processed text (whether original text or transcribed voice) is passed to Jackie, the AI assistant powered by OpenRouter's language model.

  Tools Integration: 
  Jackie is equipped with several productivity tools:

  Get Email: Uses Gmail API to fetch unread emails from the inbox with sender, date, subject, and summary information

  Google Calendar: Retrieves calendar events for specified dates, filtering out irrelevant future events

  Google Tasks: Both creates new tasks and retrieves existing tasks from Google Tasks lists

  API Keys Required:
  Telegram Bot API: Create a bot via @BotFather on Telegram to get your bot token
  OpenAI API: Required for voice-to-text transcription 
  OpenRouter API: Powers the AI language model responses 
  Google OAuth2: Needed for Gmail, Google Calendar, and Google Tasks integration


  Response Generation:
  The AI formulates intelligent responses based on the gathered information, current date context, and conversation history, then sends the response back to the user via Telegram in Markdown format.

nodes_used:
  ["n8n-nodes-base.googleCalendarTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.gmailTool","n8n-nodes-base.telegramTrigger","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenRouter","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.googleTasksTool","n8n-nodes-base.googleTasksTool","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.gmailTool","@n8n/n8n-nodes-langchain.agent"]

workflow_json_compressed:
  [encoded data, 5384 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-12-24 13:02:44
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.  

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, 5872 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-12-24 13:02:41
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, 4624 characters]


name: Build a Multichannel Customer Support AI Assistant with Chatwoot & OpenRouter
author_name: George Zargaryan
author_username: zrgrn
categories: []
created_at: 2025-09-04T16:02:13.770Z
updated_at: 2025-09-04T16:02:13.770Z
url: https://n8n.io/workflows/8260
scraped_at: 2025-12-24 13:02:41
description:
  Multichannel AI Assistant Demo for Chatwoot

  This simple n8n template demonstrates a Chatwoot integration that can:

  Receive new messages via a webhook.
  Retrieve conversation history.
  Process the message history into a format suitable for an LLM.
  Demonstrate an AI Assistant processing a user's query.
  Send the AI Assistant's response back to Chatwoot.

  Use Case:
  If you have multiple communication channels with your clients (e.g., Telegram, Instagram, WhatsApp, Facebook) integrated with Chatwoot, you can use this template as a starting point to build more sophisticated and tailored AI solutions that cover all channels at once.

  How it works
  A webhook receives the message created event from Chatwoot.
  The webhook data is then filtered to keep only the necessary information for a cleaner workflow.
  The workflow checks if the message is "incoming." This is crucial to prevent the assistant from replying to its own messages and creating endless loops.
  The conversation history is retrieved from Chatwoot via an API call using the HTTP Request node. This allows the assistant's interaction to be more natural and continuous without needing to store conversation history locally.
  A simple AI Assistant processes the conversation history and generates a response to the user based on its built-in knowledge base (see the prompt in the assistant node).
  The final HTTP Request node sends the AI-generated response back to the appropriate Chatwoot conversation.

  How to Use
  In Chatwoot, go to Settings → Integrations → Webhooks and add your n8n webhook URL. Be sure to select the message created event.
  In the HTTP Request nodes, replace the placeholder values:
      https://yourchatwooturl.com
      api_access_token
      You can find these values on your Chatwoot super admin page.
  The LLM node is configured to use OpenRouter. Add your OpenRouter credentials, or replace the node with your preferred LLM provider.

  Requirements
  An API key for OpenRouter or credentials for your preferred LLM provider.
  A Chatwoot account with at least one integrated channel and super admin access to obtain the api_access_token.

  Need Help Building Something More?

  Contact me on:
  Telegram:** @ninesfork
  LinkedIn:** George Zargaryan

  Happy Hacking! 🚀

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.httpRequest","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, 8408 characters]


name: Expense Logging with Telegram and Google Sheets
author_name: Gtaras
author_username: tarasidis
categories: []
created_at: 2025-09-04T22:36:34.927Z
updated_at: 2025-09-04T22:36:34.927Z
url: https://n8n.io/workflows/8268
scraped_at: 2025-12-24 13:02:45
description:
  Weekly Summaries and Budget Alerts
  Who’s it for
  This workflow is perfect for individuals who want a simple expense tracker without needing a full app. If you already use Telegram daily, this makes it effortless to log purchases, track spending, and stay accountable to your budget.

  How it works / What it does
  Send an expense in Telegram using the format /spent 5 lunch.
  n8n parses the message and appends the entry to Google Sheets.
  Every Sunday at 11:00, the workflow sends a weekly expense summary to Telegram.
  If you exceed your weekly budget (default €100), you’ll instantly get a budget warning alert.
  Optionally, the sheet can be cleared weekly to start fresh.

  How to set up
  Create a Telegram bot with BotFather, copy the token, and get your Chat ID via getUpdates.
  Make a copy of the provided Google Sheets template and connect your Google credentials in n8n.
  Replace &lt;YOUR_CHAT_ID&gt; and &lt;YOUR_SHEET_ID&gt; placeholders in the workflow.
  Adjust the budget threshold in the “Check Weekly Budget” node if needed.
  Activate the workflow and test with a sample expense.
  Requirements
  What to do
  A Telegram bot (free, via BotFather).
  Google Sheets with n8n OAuth2 credentials.
  An n8n instance (self-hosted or cloud).
  How to customize the workflow
  Change the budget threshold in the Code node.
  Update the summary schedule in the Schedule Trigger node.
  Expand the Google Sheet with more categories or details.
  Personalize the Telegram messages to fit your style.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegramTrigger","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.telegram"]

workflow_json_compressed:
  [encoded data, 4568 characters]


name: Automate B2B Lead Generation & Email Campaigns with Google Maps, SendGrid & AI
author_name: Ezema Kingsley Chibuzo
author_username: kingsley
categories: []
created_at: 2025-09-04T23:39:28.681Z
updated_at: 2025-09-04T23:39:28.681Z
url: https://n8n.io/workflows/8269
scraped_at: 2025-12-24 13:02:46
description:
  📌 Overview
  This n8n-powered workflow automates the entire lifecycle of lead generation and email workflows/campaign. It combines six specialized workflows into one seamless system that scrapes fresh leads, sends personalized emails, tracks engagements, detects replies, classifies responses, handles follow-ups, and keeps a live CRM updated — all in one loop.
  Designed for B2B cold outreach and follow-up nurturing, this system integrates with Apify, Google Sheets, SendGrid, Gmail, and OpenAI for AI summarization and real-time alerts.

  🧠 What It Does
  This workflow automates the entire lifecycle of B2B cold campaign. It:
  Scrapes targeted leads directly from Google Maps (via Apify).
  Extracts verified emails from business websites with anti-blocking safeguards.
  Stores everything in a centralized Google Sheets CRM.
  Sends personalized emails via SendGrid, with unique embedded IDs for tracking.
  Tracks delivery, opens, clicks, and bounces in real time through webhook events.
  Detects replies from Gmail, matches them to the right campaign stage, and updates the CRM.
  Uses AI classification to label replies (Interested, Not Interested, Miscellaneous).
  Routes qualified replies directly to your sales team or Slack/Telegram channel.
  Automates follow-up emails (5-day & 10-day intervals) for non-responders.
  Provides light analytics & reporting in Google Sheets for quick insights (with deeper logs available in SendGrid).

  💡 Why This Workflow
  All-in-One Solution**: Instead of juggling multiple tools, this workflow handles lead gen, outreach, tracking, and CRM updates in one place.
  Smart Reply Handling**: Never lose a lead — every reply is tracked, classified, and routed intelligently.
  Scalable & Modular**: Each workflow (lead gen, email sending, webhook, replies, routing, follow-ups) can run independently or as part of the full system.
  Time-Saving: Reduces manual lead collection, email follow-up, and CRM updating by **90%+.
  Client-Ready**: Built with reliability in mind — randomized delays, duplicate prevention, priority logic for status updates, and AI-powered classification.

  👤 Who It’s For
  This workflow is ideal for:
  Agencies** running cold campaigns for clients.
  B2B Businesses** looking to automate lead generation and follow-ups.
  Freelancers / Consultants** who need a plug-and-play outreach system without expensive SaaS subscriptions.
  Sales Teams** that want structured, real-time leads routed directly to their inbox or Slack.
  Startups** who want a scalable, low-cost alternative to tools like Apollo, Firecrawl, Bright Data or Reply.io.

  ⚙️ How It Works
  🧩 1. Lead Generation Workflow
  🎯 Purpose
  Scrape fresh B2B leads from Google Maps, crawl their websites to extract verified email addresses, and upload structured, clean lead data into a Google Sheets CRM.
  🛠 How It Works
  1. User Input via Form Trigger
  The workflow begins with a form asking for:
    Business keyword (e.g. "Dentist")
    Location (e.g. "Florida")
    Lead limit (e.g. 50)
    
  2. Scrape Google Maps via Apify
  Calls the Apify Google Maps Scraper Actor
  Extracts structured business data like:
  Business Name, Website, Phone, Category, Rating, Address.

  3. Website Filtering & Normalization
  Filters out businesses with no website
  Cleans up URLs

  4. Website Email Extraction
  Sends direct HTTP GET requests to the homepage of each business
  Parses the raw HTML for public-facing email addresses using regex
  Implements anti-blocking techniques:
    Random delays between requests
    Custom headers / User-Agent spoofing
    Graceful skip on failures
    
  5. Final Filtering & Data Structuring
  Keeps only businesses with a valid email address
  Constructs lead objects with:
  Business Name, Category, Email, Website, Phone, Rating, Location.

  6. Upload to Google Sheets CRM
  Pushes leads to a connected Google Sheet that acts as the system’s central CRM
  This CRM becomes the source for the email sending workflow

  🧩 2. Send an Email Workflow
  🎯 Purpose
  Automatically sends personalized emails to verified leads using rotating templates, embedded ID tracking, and campaign-stage tagging.
  🛠 How It Works
  1. Pull Active Leads from CRM
  Retrieves fresh leads from the Google Sheet where
    
  2. Select a Random Template
  Pulls from a template library stored in a separate Google Sheet
  Injects lead-specific variables into placeholders like:
  [Business Name], [Category], [Location], etc.

  3. Embed Unique Tracking ID
  Appends an embedded ID token to the email. This enables accurate reply source tracking across all email stages

  4. Send Email via SendGrid
  Sends the message using SendGrid's transactional API
  Emails are tagged internally according to email type.

  🧩 3. Webhook Event Workflow
  🎯 Purpose
  Processes SendGrid webhook events (e.g., delivered, opened, clicked, bounced) and updates the CRM with prioritized delivery status and engagement tracking — using clean classification and smart update logic.
  🛠 How It Works
  1. Receive Events via Webhook Trigger
  Listens for real-time webhook events from SendGrid, including:
    delivered, bounce, deferred, processed, open, click, unsubscribe, spamreport, etc.
   
  2. Classify Each Event Type
  A custom code node adds a route label:
    status: delivery-level events
    engagement: recipient interaction events
    others: uncategorized or unsupported
   
  3. Switch-Based Routing
  Status Events**:
    Applies priority logic
    If multiple status events are received for the same lead, only the highest-priority event is stored
    Updates corresponding CRM fields:
  Engagement Events**:
    Detects interactions like:
      Opened, Clicked, Unsubscribed, Spam Reported
    Updates CRM fields:
      Opened, Clicked, Unsubscribed, Spam Reported, Engaged At
    Preserve first-time interaction records and avoiding regressions
  Others Branch**:
    Logs or gracefully skips events not explicitly supported
   
  4. CRM Synchronization
  Merges event data with the correct lead by matching Email
  Ensures all updates are timestamped and consistent across systems

  🧩 4. Reply Update Database Workflow
  🎯 Purpose
  Polls Gmail inbox, extracts replies, determines their source, and logs them in both the CRM and a message tracker sheet.
  🛠 How It Works
  1. Poll Gmail for New Replies
  Uses Gmail API to fetch recent messages
  Filters out auto-replies, no-reply addresses, or irrelevant responses

  2. Prevent Duplicate Processing
  Checks each message against a "Processed Message IDs" Google Sheet
  Skips if the message has been handled before

  3. Extract Reply Metadata
  4. Match to Lead & Update CRM
  Determines the original email stage based on ID
  Updates necessary fields

  🧩 5. Email Routing Workflow
  🎯 Purpose
  Uses AI to classify replies by intent (Interested, Not Interested, or Miscellaneous) and automatically routes, labels, and logs them accordingly.
  🛠 How It Works
  1. Receive Cleaned Reply
  Triggered after a set time interval

  2. Classify Using AI (LangChain / OpenAI)
  The reply is analyzed and categorized as:
    Interested: wants to talk, asks for more info
    Not Interested: says no or unsubscribes
    Miscellaneous: unclear or unrelated response

  3. Gmail Label Assignment
  Adds Gmail label based on classification

  4. Handle “Interested” Replies
  If Interested:
    Adds label in Gmail
    Forwards message to a sales or response channel
    Updates Google Sheet CRM

  🧩 6. Follow-Up Email Workflow
  🎯 Purpose
  Automatically sends up to two follow-up emails to leads who showed interest (opened or clicked) but haven’t replied yet.
  🛠 How It Works
  1. Scheduled Execution
  Runs daily or at set intervals

  2. Filter Leads for Follow-Up
  Checks that desired conditions are met:
    Required number of days have passed:
      5 days → Follow-Up 1
      10 days → Follow-Up 2

  3. Choose and Personalize Template
  Injects lead-specific data
  Embeds corresponding for reply tracking

  4. Send via SendGrid
  Message is tagged by stage
  Sent using the same logic as the original email

  5. Update CRM
  Increments:
    Follow-Up Sent flag
    Follow-Up Count
    Follow-Up Time field

  ✅ Setup Requirements (Before You Start)
  Prepare these items to avoid interruptions during setup:
  🌍 Domain DNS Access**
    You’ll need to add TXT/CNAME records in your registrar (GoDaddy, Namecheap, Cloudflare, etc.) to authenticate your domain with SendGrid.
  📧 Domain Email Address or Single Sender Authentication (e.g., hello@yourbusiness.com)**
    Needed for SendGrid domain authentication (don’t use Gmail/Yahoo).
    This step ensures emails are not flagged as spam.
  Tip: If you don’t own a domain, you can use a single sender email to test, but for production you MUST authenticate a domain.
  🔑 API Keys / Credentials**
    Apify API Key → for Google Maps scraping.
    SendGrid API Key → for sending emails + webhook events.
    Google Sheets OAuth Credentials → for CRM integration.
    Gmail API Credentials → for reply detection.
    OpenAI API Key → for AI-based reply classification.
  📊 Google Sheet (CRM)**
    Add desired columns: Business Name, Email, Website, Phone, Category, Status, Reply, Follow-Up Count.
  🌐 n8n Environment (Cloud or Self-Hosted)**
    Must allow Apify node installation.

  🛠 How to Set It Up
  Open n8n (Cloud or Self-Hosted).
  Install Apify node before importing.
     Search Apify  → click Install.
  Import the provided .json workflow file into your n8n editor.
  Set up the required credentials:
     🔑 Apify API Key,
     🔑 SendGrid API Key,
     🔑 Google Sheets OAuth,
     🔑 Gmail API,
     🔑 OpenAI API Key.
  Prepare your Google Sheet (CRM).
     Verify column names match your workflow fields.
     Adjust “Get Desired Fields” node in n8n “Lead generation workflow” if you add/remove columns.
  Enable SendGrid Webhook Events.
     Go to SendGrid → Settings → Mail Settings → Event Webhook.
     Paste the webhook URL from your n8n “Webhook Event Workflow”.
     Select: Delivered, Opened, Clicked, Bounced, Unsubscribed, Spam Report.
  Run a test.
     Trigger the Lead Generation workflow → check Google Sheets for leads.
     Send a test email → verify delivery + engagement updates in CRM.
     Reply from a test inbox → confirm Gmail polling + AI classification.

  📂 Additional Provided Resources.
  To help you get started faster, you’ll also receive:
  SendGrid Setup and Troubleshooting document.
  Two ready-to-use Google Sheets example templates** which can be modified to suit your business needs:
    Email Workflow DB CRM
      Includes:
        Leads Tab → structured space for scraped businesses and contact details.
        Email Templates Tab → pre-written templates for the main email, 1st follow-up, and 2nd follow-up (with placeholders for personalization).
        Analytics Tab → light reporting on sends, opens, clicks, and replies to give quick campaign insights.
    Processed Gmails IDs
      A simpler sheet designed for Gmail reply handling.
      Useful for tracking processed messages and avoiding duplicates while you familiarize yourself with how reply updates work.

  🎨 Customization Tips
  Templates**: Update the Google Sheets Templates tab with your own outreach copy. Use placeholders like [Business Name], [Location], [Category] so each email feels personalized.
  CRM Fields: Add or remove CRM columns depending on your business needs (e.g., Industry, Revenue, Sales Owner, Notes). Just make sure the field names match in n8n’s **“Grab Desired Fields” nodes in the Lead generation workflow.
  Follow-Up Logic: Adjust the timing for follow-ups. Default is **5 days (Follow-Up 1) and 10 days (Follow-Up 2), but you can easily change this to 3/7/14 days or any schedule your sales process requires.
  Reply Routing**: Customize how AI classification works. For example, rename labels (“Hot Lead”, “Not Interested”, “Out of Scope”) and route replies differently (e.g., forward “Interested” to your sales inbox, Slack channel, or Telegram bot).
  Analytics & Reporting**: Expand the Google Sheets reporting tab. You can add pivot tables for deeper campaign insights. 
  For more advanced analytics, SendGrid also keeps full logs.*
  Scalability**:
    Add proxy handling for higher-volume scraping.
    Switch to a database (Postgres, Supabase, MongoDB) instead of Google Sheets if managing thousands of leads.
    Use multiple SendGrid accounts or IP warm-up strategies for large-scale sending.
  Scraping Alternatives**:
    If you prefer not to use direct HTTP requests for email extraction, you can integrate with external scrapers like:
      Firecrawl – lightweight scraper for web/email extraction.
      Bright Data – residential proxies + scraping tools.
      Apify Website Scrapers – customizable actors for deep site scraping.
    These can plug into the workflow instead of (or alongside) the built-in email scraper.

  ✨ Predefined Templates vs. AI-Generated Emails
  By default, this workflow uses predefined templates stored in Google Sheets. This design choice was intentional, and here’s why:
    ✅ Reliability: Alway work, no prompt issues.
    ✅ Cost Savings: no API token usage.
    ✅ Total Control, Consistent & Customizable: You control tone and can tweak anytime.

  ⚡ That said, you can absolutely swap out the template system for AI-based generation if you prefer dynamic messaging. The workflow is flexible — just keep in mind the trade-offs in cost, reliability, and control.
  ⚡ Best approach: start with templates for stability, then add AI if you want more variety.

nodes_used:
  ["n8n-nodes-base.limit","n8n-nodes-base.formTrigger","@apify/n8n-nodes-apify.apify","@apify/n8n-nodes-apify.apify","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.markdown","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.manualTrigger","n8n-nodes-base.wait","n8n-nodes-base.noOp","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.sendGrid","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","n8n-nodes-base.merge","n8n-nodes-base.limit","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.splitOut","n8n-nodes-base.switch","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.switch","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.wait","n8n-nodes-base.noOp","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.filter","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.filter","n8n-nodes-base.googleSheets","n8n-nodes-base.merge","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","n8n-nodes-base.splitInBatches","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.textClassifier","n8n-nodes-base.googleSheets","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.noOp","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.sendGrid","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.merge","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.merge","n8n-nodes-base.wait","n8n-nodes-base.noOp","n8n-nodes-base.sendGrid","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10384 characters]


name: Dynamic MCP Server Selection with OpenAI GPT-4.1 and Contextual AI Reranker
author_name: Jinash Rouniyar
author_username: jinash
categories: []
created_at: 2025-09-05T03:48:50.424Z
updated_at: 2025-09-05T03:48:50.424Z
url: https://n8n.io/workflows/8272
scraped_at: 2025-12-24 13:02:46
description:
  PROBLEM
  Thousands of MCP Servers exist and many are updated daily, making server selection difficult for LLMs.
  Current approaches require manually downloading and configuring servers, limiting flexibility.
  When multiple servers are pre-configured, LLMs get overwhelmed and confused about which server to use for specific tasks.

  This template enables dynamic server selection from a live PulseMCP directory of 5000+ servers.

  How it works
  A user query goes to an LLM that decides whether to use MCP servers to fulfill a given query and provides reasoning for its decision.
  Next, we fetch MCP Servers from Pulse MCP API and format them as documents for reranking
  Now, we use Contextual AI's Reranker to score and rank all MCP Servers based on our query and instructions

  How to set up
  Sign up for a free trial of Contextual AI here to find CONTEXTUALAI_API_KEY.
  Click on variables option in left panel and add a new environment variable CONTEXTUALAI_API_KEY.
  For the baseline model, we have used GPT 4.1 mini, you can find your OpenAI API key here

  How to customize the workflow
  We use chat trigger to initate the workflow. Feel free to replace it with a webhook or other trigger as required.
  We use OpenAI's GPT 4.1 mini as the baseline model and reranker prompt generator. You can swap out this section to use the LLM of your choice.
  We fetch 5000 MCP Servers from the PulseMCP directory as a baseline number, feel free to adjust this parameter as required.
  We are using Contextual AI's ctxl-rerank-v2-instruct-multilingual reranker model, which can be swapped with any one of the following rerankers: 
    1) ctxl-rerank-v2-instruct-multilingual
    2) ctxl-rerank-v2-instruct-multilingual-mini
    3)  ctxl-rerank-v1-instruct
  You can checkout this blog for more information about rerankers to learn more about them.

  Good to know:
  Contextual AI Reranker (with full MCP docs): ~$0.035/query
  Includes 0.035 for reranking + ~$0.0001 for OpenAI instruction generation.
  OpenAI Baseline: ~$0.017/query

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chat","n8n-nodes-base.code","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.chat","n8n-nodes-contextualai.contextualAi"]

workflow_json_compressed:
  [encoded data, 5720 characters]


name: Create SEO Content Brief from Keyword to Google Doc
author_name: Simeon Penev
author_username: monkatagpt
categories: []
created_at: 2025-09-05T08:44:38.780Z
updated_at: 2025-09-05T08:44:38.780Z
url: https://n8n.io/workflows/8289
scraped_at: 2025-12-24 13:02:45
description:
  Who’s it for
  Content/SEO teams who want a fast, consistent, research-driven brief for a copywriters from a single keyword—without manual review and analysis of the SERP (Google results).

  How it works / What it does
  Form Trigger collects the keyword/topic and redirects to Google Drive Folder after the final node.
  FireCrawl Search & Scrape pulls the top 5 pages for the chosen keyword.
  AI Agent (with Think + OpenAI Chat Model) analyzes sources and generates an original Markdown brief.
  Markdown to JSON converts the Markdown into Google Docs batchUpdate requests (H1/H2/H3, lists, links, spacing). Then this is used in Update a document for updating the empty doc.
  Create a document + Update a document write a Google Doc titled “SEO Brief for ” and update the Google Doc in your target Drive folder.

  How to set up
  Add credentials: Firecrawl (Authorization header), OpenAI (Chat), Google Docs OAuth2.
  Replace placeholders: {{APIKEY}}, {{googledrivefolderid}}, {{googledrivefolderurl}}.
  Publish and open the Form URL to test.

  Requirements
  Firecrawl API key • OpenAI API key • Google account with access to the target Drive folder.

  Resources
  Google OAuth2 Credentials Setup - https://docs.n8n.io/integrations/builtin/credentials/google/oauth-generic/  
  Firecrawl API key - https://take.ms/lGcUp  
  OpenAI API key - https://docs.n8n.io/integrations/builtin/credentials/openai/

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.googleDocs","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10680 characters]


name: AI Recruiting Pipeline: Job to Candidate Shortlist with Apollo & Airtable
author_name: Fabian Herhold
author_username: fabianherh
categories: []
created_at: 2025-09-05T10:28:25.383Z
updated_at: 2025-09-05T10:28:25.383Z
url: https://n8n.io/workflows/8292
scraped_at: 2025-12-24 13:02:42
description:
  Who’s it for
  Recruiting agencies, executive search firms, and in-house talent teams that want to automate candidate sourcing and prequalification. Instead of spending hours searching, scoring, and writing outreach, this workflow turns any job description into a ready-to-use shortlist with personalized messages.

  Youtube Walkthrough

  What it does (How it works)
  This workflow takes a job description (title, description, and location) and runs a complete recruiting automation pipeline:

  Normalize job titles** and generate variations to widen search coverage.
  Search candidates** in Apollo (or your CRM / database of choice).
  Remove duplicates** to keep clean lists.
  Score candidates** with AI (0–5) and provide concise reasoning across experience, industry, and seniority.
  Enrich LinkedIn profiles** (name, title, image, location, experience).
  Create structured candidate assessments** (summary, alignment, red flags, positives).
  Generate outreach messages** (email + LinkedIn DM) tailored to the candidate.
  Write to Airtable** for job/candidate tracking and downstream automation.

  Everything is plug-and-play, with no manual searching or copy-pasting required.

  Requirements
  n8n (Cloud or self-hosted)  
  Airtable account + API access  
  Apollo API or your preferred candidate source  
  LLM provider: OpenAI or Anthropic  
  LinkedIn enrichment API (RapidAPI, Apify, etc.)  

  &gt; ⚠️ Do not hardcode API keys in HTTP nodes. Always use Credentials in n8n.

  Airtable table specifications
  Create one base (e.g., Candidate Search – From Job Description) with two tables:

  Jobs Table  
  Job Title (text)  
  Job Description (long text)  
  Job Location (text)  
  Candidates (linked to Candidates table)

  Candidates Table  
  Core fields: Name, LinkedIn URL, Job Title, Location, Image URL, Job Searches (linked)  
  Assessment fields: Summary Fit Score, Executive Summary, Title Alignment, Skill Alignment, Industry Alignment, Seniority Alignment, Company Type Alignment, Educational Alignment, Potential Red Flags, Positive Signals, Final Recommendation, Next Steps Suggestion  
  Outreach fields: Email Subject, Email Body, LinkedIn Message

  How to set up
  Connect credentials  
     Add Airtable, Apollo/CRM, and OpenAI/Anthropic credentials under n8n Credentials.

  Create Airtable base/tables  
     Follow the above spec for Jobs and Candidates. Match field names exactly to avoid mapping errors.

  Configure the trigger  
     The workflow starts from a Form/Webhook node. It captures:  
     Job Title (required)  
     Job Description (required)  
     Location (required)  
     Target Companies (optional, comma-separated domains)

  Job title mutation  
     The workflow uses an AI node to normalize the job title and generate up to 5 variations for broader candidate searches.

  Candidate search  
     Apollo (or your CRM API) is queried with the generated titles and location filters. Results are deduped.

  AI scoring & structuring  
     Candidates are scored 0–5 with clear reasoning (experience, industry, seniority, general fit). Profiles are formatted into structured JSON for Airtable.

  LinkedIn enrichment  
     Enrichment API fetches missing data (geo, image, job history).

  Candidate assessment  
     An AI model produces a full recruiter-ready evaluation (fit summary, strengths, red flags).

  Outreach generation  
     The workflow drafts a concise cold email (&lt;75 words) and LinkedIn DM (&lt;60 words), consultative in tone.

  Write to Airtable  
      All jobs and candidates (with assessments and outreach messages) are logged for review and integration.

  How to customize
  Swap Apollo with your CRM** (Greenhouse, Bullhorn, etc.).  
  Adjust scoring prompts** to match your niche (sales, engineering, healthcare).  
  Add custom filters** for target companies or industries.  
  Change outreach tone** to align with your brand voice.  
  Limit by score** (e.g., only push candidates with score ≥4).  

  Security & best practices
  Store all keys in n8n Credentials (never in nodes).  
  Use Set nodes to centralize editable variables (title, location, filters).  
  Always add sticky notes in your workflow explaining steps.  
  Rename nodes clearly for readability.  

  Troubleshooting
  No candidates found?** Loosen title variations or broaden location.  
  Low fit scores?** Refine keywords and required skills in scoring prompts.  
  Airtable errors?** Double-check Base ID, Table ID, and field names.  
  API rate limits?** Enable batching/pagination and increase intervals.  

  SEO title:  
  Build candidate shortlists from a job description to Airtable with Apollo, AI scoring, and personalized outreach  

  Keywords: recruiting automation, Apollo people search, candidate enrichment, AI scoring, Airtable recruiting CRM, LinkedIn outreach, n8n workflow template

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserAutofixing","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserAutofixing","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.outputParserAutofixing","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.airtable","n8n-nodes-base.airtable","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.limit","n8n-nodes-base.limit","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.removeDuplicates","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 15872 characters]


name: AI-Powered WhatsApp Customer Support for Shopify Brands with LLM Agents
author_name: Ruthwik
author_username: ruthwik
categories: []
created_at: 2025-09-06T08:48:06.578Z
updated_at: 2025-09-06T08:48:06.578Z
url: https://n8n.io/workflows/8323
scraped_at: 2025-12-24 13:02:44
description:
  🚀 AI-Powered WhatsApp Customer Support for Shopify Brands


  This n8n template builds a WhatsApp support copilot that answers **order
  status* and *product availability** from Shopify using LLM "agents,"
  then replies to the customer in WhatsApp or routes to human support.

  Use cases

  "Where is my order?" → live status + tracking link
  "What are your best-selling T-shirts?" → in-stock sizes & variants
  Greetings / small talk → welcome message
  Anything unclear → handoff to support channel

  Good to know

  WhatsApp Business conversations are billed by Meta/Twilio/Exotel;
      plan accordingly.
  Shopify Admin API has rate limits (leaky bucket) --- stagger
      requests.
  LLM usage incurs token costs; cap max tokens and enable caching
      where possible.
  Avoid sending PII to the model; only pass minimal order/product
      fields.

  How it works

  WhatsApp Trigger\
      Receives an incoming message (e.g., "Where is my order?").

  Get Customer from Shopify → Customer Details → Normalize Input\
      Looks up the customer by phone, formats the query (lower-case, emoji
      & punctuation normalization).

  Switch (intent router)\
      Classifies into welcome, orderStatusQuery, productQuery, or
      supportQuery.

  Welcome path\
      Welcome message → polite greeting → (noop placeholder).

  Order status path (Orders Agent)

      Orders Agent (LLM + Memory) interprets the user request and
          extracts needed fields.
      Get Customer Orders (HTTP to Shopify) fetches the user's
          latest order(s).
      Structured Output Parser cleans the agent's output into a
          strict schema.
      Send Order Status (WhatsApp message) returns status, ETA,
          and tracking link.

  Products path (Products Agent)

      Products Agent (LLM + Memory) turns the ask into a product
          query.
      Get Products from Shopify (HTTP) pulls best sellers /
          inventory & sizes.
      Structured Output Parser formats name, price, sizes, stock.
      Send Products message (WhatsApp) sends a tidy,
          human-readable reply

  Support path
      Send a message to support posts the transcript/context to your
      agent/helpdesk channel and informs the user a human will respond

  How to use

  Replace the manual/WhatsApp trigger with your live WhatsApp
      number/webhook.
  Set env vars/credentials: Shopify domain + Admin API token, WhatsApp
      provider keys, LLM key (OpenAI/OpenRouter), and (optionally) your
      support channel webhook.
  Edit message templates for tone, add your brand name, and localize
      if needed.
  Test with samples: "Where is my order?", "Show best sellers", "Hi".

  Requirements

  WhatsApp Business API (Meta/Twilio/Exotel)
  Shopify store + Admin API access
  LLM provider (OpenAI/OpenRouter etc.)
  Slack webhook for human handoff

  Prerequisites

  Active WhatsApp Business Account connected via API provider
      (Meta, Twilio, or Exotel).
  Shopify Admin API credentials** (API key, secret, store domain).
  Slack OAuth app** or webhook for human support escalation.
  API key for your LLM provider (OpenAI, OpenRouter, etc.).

  Customising this workflow

  Add intents: returns/exchanges, COD confirmation, address changes.
  Enrich product replies with images, price ranges, and "Buy" deep
      links.
  Add multilingual support by detecting locale and templating
      responses.
  Log all interactions to a DB/Sheet for analytics and quality
      review.
  Guardrails: confidence thresholds → fallback to support; redact PII;
      retry on API errors.

nodes_used:
  ["n8n-nodes-base.whatsAppTrigger","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.httpRequestTool","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.slack","n8n-nodes-base.noOp","n8n-nodes-base.whatsApp","n8n-nodes-base.whatsApp","n8n-nodes-base.whatsApp","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 11560 characters]


name: Create an AI-Powered Virtual Receptionist with Google Calendar & Sheets
author_name: Risper
author_username: risper254
categories: []
created_at: 2025-09-06T13:11:50.134Z
updated_at: 2025-09-06T13:11:50.134Z
url: https://n8n.io/workflows/8326
scraped_at: 2025-12-24 13:02:41
description:
  🤖AI-Powered Appointment Scheduling with Google Calendar & Sheets Virtual Receptionist 

  Automate customer conversations with an AI-powered virtual receptionist. This workflow can chat naturally with clients, answer general business questions (like services, location, and hours), check availability in Google Calendar, book appointments, and save customer details in Google Sheets. Fully customizable for any business type — salons, clinics, agencies, consultants, and more.  

  📖 How It Works  

  Welcome the customer when the customer says hi  
     AI greets warmly: “Hello! I’m [AI name] from [Business name].”  

  Answer general questions  
     Provides instant replies about services, pricing, business location, hours, and availability.  

  Understand their need  
     Identifies the service requested and preferred time.  

  Check availability  
     Queries Google Calendar for open slots.  

  Gather customer details  
     Collects name, phone, and email (optional).  

  Confirm booking  
     Creates the appointment in Google Calendar.  

  Save records  
     Logs booking and customer info into Google Sheets.  

  ⚙️ Setup Steps (Quick)  
  Connect your Google Calendar and Google Sheets accounts.  
  Add your business details (name, type, services, hours, policies) to the Business Info Sheet.  
  Configure your OpenAI API key (or use n8n free credits).  
  Optional: Connect Twilio WhatsApp for direct chat responses.  

  🏢 Example Business Info (Google Sheet)  

  | business_id | business_name   | business_type       | location                          | phone           | email                     | services | calendar_id           | timezone | currency | working_hours                 | ai_name | ai_personality                   | ai_role                                                                                       | emergency_available | booking_advance_days | cancellation_hours |
  |-------------|-----------------|---------------------|----------------------------------|-----------------|---------------------------|----------|-----------------------|----------|----------|--------------------------------|---------|-----------------------------------|------------------------------------------------------------------------------------------------|----------------------|----------------------|-------------------|
  |001| Luxe Hair Studio | Hair & Beauty Salon | 123 Main Street, New York, NY 10001 | 1 (XXX) XXX-XXXX | yourbusiness@email.com | “Haircut & Styling (60 minutes, $3500…)Hair Coloring (120 minutes, $8000…)…” | calendar-id-here | GMT -3 | USD | Mon–Sat: 9:00 AM – 7:00 PM, Sun: Closed | bella | Friendly, Stylish, Professional | Manages bookings, answers FAQs, recommends services, gives beauty tips, sends reminders, etc. | no | 10 | 24 |

  ✅ Purpose: Supplies context (services, pricing, hours, AI personality, booking policies).  
  💡 The AI uses this sheet to answer general business questions (e.g., “Where are you located?”, “Do you do hair colouring?”, “What are your working hours?”).  

  📊 Appointments Sheet Example  

  | client_number | client_name | event_id  | summary                          | services |
  |----------------|-------------|-----------|----------------------------------|----------|
  | 001            | Sarah Lee   | evt-10293 | Appointment with Sarah Lee – Haircut & Styling | Haircut & Styling |
  | 002            | John Smith  | evt-10294 | Appointment with John Smith – Highlights | Highlights |

  ✅ Purpose: Logs confirmed bookings with service details and links back to Google Calendar.  

  💡 Features  
  ✅ AI receptionist with conversation memory  
  ✅ Answers FAQs – location, services, hours, pricing  
  ✅ Google Calendar integration for real-time availability  
  ✅ Google Sheets integration for customer records & reporting  
  ✅ Customizable AI name, role, and personality  

  🔑 Who It’s For  
  Salons & Spas** – Manage bookings and FAQs  
  Clinics & Health Services** – Automated scheduling + patient info  
  Agencies & Consultants** – Answer inquiries + schedule meetings  
  Any Service Business** – Save time, improve customer experience  

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

workflow_json_compressed:
  [encoded data, 4568 characters]


name: Monitor website performance with PageSpeed Insights and send alerts
author_name: Dahiana
author_username: mssporto
categories: []
created_at: 2025-09-06T14:11:51.736Z
updated_at: 2025-09-06T14:11:51.736Z
url: https://n8n.io/workflows/8328
scraped_at: 2025-12-24 13:02:45
description:
  Monitor website performance with PageSpeed Insights and save to Google Sheets with alerts

  This n8n template automatically monitors website performance using Google's PageSpeed Insights API, compiles detailed reports, and tracks performance trends over time in Google Sheets.

  Use cases: Agency client monitoring, competitor analysis, performance regression detection, SEO reporting, site migration monitoring, A/B testing performance impact, and maintaining performance SLAs.

  Who's it for
  Digital agencies monitoring client websites
  SEO professionals tracking site performance
  DevOps teams maintaining performance SLAs
  Business owners wanting automated site monitoring

  How it works
  Automated Testing:** Scheduled audits of multiple websites using PageSpeed Insights API
  Core Web Vitals:** Tracks LCP, FID, CLS, and overall performance scores
  Historical Tracking:** Maintains performance history for trend analysis
  Alert System:** Sends notifications when performance drops below thresholds
  Detailed Reporting:** Captures specific recommendations and optimization opportunities

  Two Workflow Paths
  Scheduled Audit: Automatically tests all URLs from Google Sheet on schedule
  On-Demand Testing: Webhook endpoint for immediate single-URL testing

  How to set up
  Get a free PageSpeed Insights API key from Google Cloud Console
  Create Google Sheet with columns: URL, Site Name, Category, Alert Threshold, Last_Processed_Date and Device.
  Set up Google Sheets API credentials
  Configure notification preferences (Slack, email, etc.)
  Set audit schedule (daily, weekly, or custom)
  Define performance thresholds for alerts

  Requirements
  Google PageSpeed Insights API key (free)
  Google Sheets API access
  n8n instance (cloud or self-hosted)
  Optional: Slack/email for notifications

  Google Sheet Structure
  Input Sheet ("sites"):
  URL, Site_Name, Category, Alert_Threshold, Last_Processed_Date and Device.

  Results Sheet ("audit_results"):
  Date, URL, Site_Name, Device, Performance_Score, LCP, FID, CLS, Recommendations, Full_Report_URL

  API Usage (On-Demand)
  POST to webhook:
  {
    "url": "https://example.com",
    "site_name": "Example Site",
    "alert_threshold": 75
  }

  How to customize
  Add custom performance thresholds per site
  Include additional metrics (accessibility, SEO, best practices)
  Connect to other dashboards (Data Studio, Grafana)
  Add competitor benchmarking
  Integrate with project management tools for issue tracking
  Set up different notification channels based on severity
  Sample Google Sheet Included

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.code","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.noOp","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  [encoded data, 7832 characters]


name: Automated Forex News Alert System with Forex Factory and Telegram
author_name: Harry Gunadi Permana
author_username: harrygp
categories: []
created_at: 2025-09-07T00:46:26.621Z
updated_at: 2025-09-07T00:46:26.621Z
url: https://n8n.io/workflows/8340
scraped_at: 2025-12-24 13:02:44
description:
  Get Forex Factory News Release to Telegram
  This n8n template demonstrates how to capture Actual Data Releases as quickly as possible for trading decisions.

  Use cases:
  Get notified if the actual data release is positive or negative for the relevant currency.
  Use the Telegram chat message about the news release as a trigger to open a trading position in MetaTrader 4.

  How it works
  A news release event acts as the trigger.
  Only news with a numerical Forecast value will be processed. Events that cannot be measured numerically (e.g., speeches) are ignored.
  Extract news details: currency, impact level (high/medium), release date, and news link.
  Wait 10 seconds to ensure the Actual value is available on the news page.
  Scrape the Actual value from the news link using Airtop.
  If the Actual value is not available, wait another 5 seconds and retry scraping.
  Extract both Actual and Forecast values from the scraped content.
  Remove non-numeric characters (%, K, M, B, T) and convert values to numbers.
  Determine the effect:
  If the Actual value is lower than the Forecast value (and lower is better), send it to the True branch.
  Otherwise, send it to the False branch.

  How to use
  Enter all required credentials.
  Run the workflow.

  Requirements
  Google Calendar credentials
  Airtop API key
  Telegram Chat ID
  Telegram Bot API token

  Need Help?
  Join the Discord or ask in the Forum!

  Thank you!

  Update Sept 26, 2025:
  Add new edit node

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.wait","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.googleCalendarTrigger","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.set","n8n-nodes-base.airtop","n8n-nodes-base.wait","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.set","n8n-nodes-base.noOp"]

workflow_json_compressed:
  [encoded data, 6624 characters]


name: Create a Two-Way WhatsApp + Telegram Integration for 10k+ Customer Support Chats
author_name: Ruthwik
author_username: ruthwik
categories: []
created_at: 2025-09-07T10:27:03.804Z
updated_at: 2025-09-07T10:27:03.804Z
url: https://n8n.io/workflows/8350
scraped_at: 2025-12-24 13:02:44
description:
  ⚡ Next-Gen Customer Support: Two-Way WhatsApp + Telegram Integration for 10k+ Clients
  Who is this workflow for

  This workflow is designed for **customer support teams, e-commerce
  founders, and operations managers** who want to handle thousands of
  customer queries seamlessly. Instead of building a brand-new chat
  application, it leverages WhatsApp (where customers already are) and
  Telegram (where your support team operates) to create a scalable,
  topic-based support system.

  If you are a brand handling 1000s of daily WhatsApp customer messages
  and need a structured way to map each customer into a dedicated support
  thread without chaos, this workflow is for you.

  What it does / How it works

  This two-way n8n automation bridges WhatsApp and Telegram by
  creating one Telegram forum topic per customer and syncing messages
  both ways:

  Incoming WhatsApp → Telegram
      When a new WhatsApp message arrives, the workflow checks if the
          customer already has a topic in Telegram.
      If yes → The message is forwarded into that existing topic.
      If no → A new topic is created automatically, the mapping is
          saved in the database, and the message is posted there.
      Result: every customer has a dedicated thread in your Telegram
          supergroup.
  Outgoing Telegram → WhatsApp
      When a support agent replies in a Telegram topic, the workflow
          looks up the linked WhatsApp number.
      The reply is sent back to the customer on WhatsApp, preserving
          context.
      Result: two-way synced conversations without building a custom
          app.

  How to set it up

  Configure WhatsApp Cloud API
      Create a Meta Developer account and register a WhatsApp Business
          number.
      Generate an access token and phone number ID.
  Configure Telegram Bot
      Use BotFather to create a bot and enable it in a **Telegram
          Supergroup with Topics**.
      Get the chat_id and allow the bot to create/send messages in
          topics.
  Database (Supabase/Postgres)
      Create a table wa_tg_threads to map phone_e164 ↔
          telegram_topic_id ↔ supergroup_id.
  n8n Workflows
      Workflow A: WhatsApp → Telegram
          Trigger: WhatsApp Webhook
          Steps: Lookup customer → If exists send to topic, else
              create topic → Save mapping → Forward message.
      Workflow B: Telegram → WhatsApp
          Trigger: Telegram Webhook
          Steps: Filter only topic replies → Lookup mapping → Send
              WhatsApp message.
  Testing
      Send a WhatsApp message → Check Telegram topic created.
      Reply in Telegram topic → Ensure customer receives WhatsApp
          reply.

  Requirements

  A free or paid n8n instance (self-hosted or cloud).
  WhatsApp Cloud API credentials** (phone number ID + access
      token).
  Telegram Bot token* with access to a *Supergroup with Topics**
      enabled.
  A Postgres/Supabase database to store thread mappings.
  Basic familiarity with editing HTTP Request nodes in n8n.

  How to customize the workflow

  Brand personalization:** Pre-populate first message templates
      (thank you, order status, delivery updates).
  Routing rules:** Assign specific agents to certain topics by ID
      ranges.
  Integrations:** Extend to CRMs (HubSpot, Zoho) or support
      platforms (Freshdesk, Zendesk).
  Notifications:** Push high-priority WhatsApp queries into
      Slack/Teams for instant alerts.
  Archival:** Auto-close inactive topics after N days and mark
      customers as dormant.

  Why Telegram instead of building a new App

  The client's requirement was clear: **use an existing, reliable, and
  scalable chat platform** instead of building a new app from scratch.

  Telegram Supergroups with Topics** scale to 100,000+ members and
      millions of messages, making them ideal for managing 10k+ customer
      threads.
  Agents don't need to install or learn a new tool---they continue
      inside Telegram, which is fast, free, and mobile-friendly.
  Building a custom chat app would require authentication, push
      notifications, scaling infra, and UX---all solved instantly by
      Telegram.

  This decision **saves development cost, accelerates deployment, and
  provides proven scalability**.

  Why this improves support productivity

  Organized by customer:** Each WhatsApp number has its own Telegram
      topic.
  No missed messages:** Agents can quickly scroll topics without
      drowning in one endless chat.
  Two-way sync:** Replies flow back to WhatsApp seamlessly.
  Scales automatically:** Handle 10k+ conversations without losing
      track.
  Leverages existing tools:** WhatsApp (customers) + Telegram
      (agents).

  Result: **faster responses, better tracking, and zero need to reinvent
  chat software.**

nodes_used:
  ["n8n-nodes-base.telegramTrigger","n8n-nodes-base.set","n8n-nodes-base.supabase","n8n-nodes-base.whatsApp","n8n-nodes-base.if","n8n-nodes-base.supabase","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.supabase","n8n-nodes-base.supabase","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.whatsAppTrigger","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","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, 6840 characters]


name: Generate AI Reports for Meta Ads Campaigns with Claude & Pipeboard MCP via Slack
author_name: Yves Junqueira
author_username: yves-pipeboard
categories: []
created_at: 2025-09-09T13:39:33.598Z
updated_at: 2025-09-09T13:39:33.598Z
url: https://n8n.io/workflows/8414
scraped_at: 2025-12-24 13:02:44
description:
  Who's it for
  Digital marketing agencies and Meta Ads managers who need to generate comprehensive performance reports across multiple client accounts automatically. Perfect for agencies handling 5+ Meta Ads accounts who want to save hours on manual reporting while delivering AI-powered insights to their teams.

  What it does
  Pulls performance data from multiple Meta Ads accounts for a specified time period (last 7, 14, or 30 days)
  Uses Claude AI with Pipeboard's Meta Ads MCP to analyze campaign performance, identify trends, and generate actionable insights
  Generates professional reports with AI-driven recommendations for optimization
  Automatically delivers formatted reports to your Slack channels
  Runs on a schedule (weekly/daily) or triggered manually

  How to set up

  Set up Claude AI integration (requires Anthropic API key)
  Configure Pipeboard's Meta Ads MCP connection
  Connect Slack to n8n via OAuth2
  Create a list of client account IDs in the workflow configuration
  Customize your reporting template and Slack delivery settings

  Requirements
  n8n version 1.109.2 or newer.
  Claude AI API access (Anthropic)
  Pipeboard account
  Slack workspace access

  How to customize the workflow

  Adjust the date range and metrics to track
  Modify the AI prompts for different types of insights
  Configure multiple Slack channels for different clients
  Set up custom scheduling intervals
  Add email delivery as an additional output channel

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.mcpClientTool","n8n-nodes-base.slack","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Automated meeting attendance Tagging for Zoom Webinars with KlickTipp
author_name: KlickTipp
author_username: KlickTipp
categories: []
created_at: 2025-09-09T14:11:00.362Z
updated_at: 2025-09-09T14:11:00.362Z
url: https://n8n.io/workflows/8418
scraped_at: 2025-12-24 13:02:46
description:
  Community Node Disclaimer: This workflow uses KlickTipp community nodes.

  Introduction
  This workflow listens to Zoom webinar.ended events, validates the webhook (HMAC), fetches the past webinar details/participants, and tags each participant in KlickTipp based on attendance thresholds (e.g., ≥90%, ≥60%). It supports routing by webinar topic (Anfänger vs. Experten) so you can run differentiated follow-ups automatically.

  Benefits
  Hands-off segmentation** based on real attendance
  Accurate follow-ups** (full, partial, or no attendance)
  Scales to multiple webinars** with simple rule extensions

  Key Features
  Webhook validation** for Zoom URL registration (HMAC SHA256)
  Zoom API calls** to retrieve past webinar & participants by UUID
  Routing by webinar name** (Beginner/Expert)
  Attendance thresholds** via IF nodes (≥90% full, 60–89% partial)
  KlickTipp tagging** for engagement-driven campaigns

  Tags (KlickTipp Setup)
  Zoom webinar E-Mail Zustellung für Anfänger  
  Zoom webinar E-Mail Zustellung für Anfänger attended  
  Zoom webinar E-Mail Zustellung für Anfänger attended fully  
  Zoom webinar E-Mail Zustellung für Anfänger not attended  
  Zoom webinar E-Mail Zustellung für Experten  
  Zoom webinar E-Mail Zustellung für Experten attended  
  Zoom webinar E-Mail Zustellung für Experten attended fully  
  Zoom webinar E-Mail Zustellung für Experten not attended  

  Important Note
  This workflow is based on the companion workflow “Automate Webinar Registration with Zoom & KlickTipp Form Integration”.  
  ➡️ Both workflows must be activated together for the automations to function correctly.  

  In KlickTipp you should:  
  Create a landing page for webinar registration.  
  Set up an email campaign for invitations and follow-ups.  
  Manually create the necessary tags based on list above** 

  Testing & Deployment
  End a Zoom webinar tied to this flow.  
  Confirm the webhook triggers and participants are fetched.  
  Verify the correct attendance tags appear on contacts in KlickTipp.

  &gt; 💡 Tip: Use test emails and tweak duration to simulate different attendance bands.

  Customization
  Adjust thresholds (e.g., 80% for “full”) in IF nodes.  
  Duplicate routing/tag blocks to support more webinar topics.  
  Add error handling (e.g., retries or alerts) for API edge cases.

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

nodes_used:
  ["n8n-nodes-base.crypto","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","CUSTOM.klicktipp","n8n-nodes-klicktipp.klicktipp","CUSTOM.klicktipp","n8n-nodes-klicktipp.klicktipp","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.webhook","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","CUSTOM.klicktipp","CUSTOM.klicktipp","n8n-nodes-base.filter","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.switch","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.wait"]

workflow_json_compressed:
  [encoded data, 6964 characters]


name: Automate WordPress SEO Optimization with GPT-5 nano + Yoast SEO
author_name: Oriol Seguí
author_username: oxsr11
categories: []
created_at: 2025-09-09T15:59:07.891Z
updated_at: 2025-09-09T15:59:07.891Z
url: https://n8n.io/workflows/8423
scraped_at: 2025-12-24 13:02:46
description:
  Optimize your WordPress titles and meta descriptions with AI (OpenAI), update them directly in Yoast SEO, log results in Google Sheets, and receive a styled report by email.
  All from your own n8n instance.

  ✨ Why this workflow?

  Forget spending hours editing metadata manually: this flow automates SEO generation and updates with the help of AI.

  Fully documented**: every block includes notes so you can easily understand how it works.
  Error-proof**: reinforced with alternatives and clear alerts if something fails (nested sitemaps, blocks, etc).
  Flexible and easy to modify**: change language, keywords, or domain in one single node (OPTIONS).
  Basic support included**: designed so anyone can set it up without being an expert.

  🧠 What does the workflow do?

  Reads the sitemap or internal WordPress URLs (posts or pages).
  The website content is sent to ChatGPT (GPT-5-nano), which analyzes it and generates a personalized SEO title and meta description for higher precision.
  Updates the Yoast SEO fields in WordPress automatically.
  Logs each result (URL, TITLE, META) into Google Sheets.
  Sends a professional HTML email report with a summary of the updates.

  🛠️ Technologies & APIs Used

  n8n** (cloud or self-hosted instance).
  OpenAI** (GPT-5-nano / GPT-4o-mini).
  Google Sheets API** (to store results).
  Gmail/SMTP** (for notifications).
  Yoast SEO plugin in WordPress** (required to update meta fields).

  ⚡ Who is it for?

  Agencies & SEOs** managing multiple sites.
  Freelancers** delivering extra value to clients.
  Businesses with WordPress** wanting to improve SEO without expensive SaaS.
  Webmasters & marketers** needing clear, automated reporting.
  Curious in the world of n8n

  🎯 Problems solved

  No more manual editing of metadata for each post or page.
  Eliminates dependence on overpriced third-party tools.
  Creates an automatic SEO history of your site in Google Sheets.
  Sends clear, professional reports of every update.

  📝 Quick Setup

  Import the .json into your n8n.
  Add your credentials:

     WordPress API (Yoast SEO installed required).
     OpenAI API Key.
     Google Sheets (optional).
     Email (SMTP or Gmail).
  Adjust language, keywords, and domain in the OPTIONS node.
  Run manually or via webhook.

  💡 Tips

  Change the language in OPTIONS to adapt SEO outputs to your target market.
  If an error occurs (invalid sitemap, blocked URLs, etc.), the workflow catches it and gives you instructions.
  100% customizable: extend it to Notion, Slack, or other outputs.

  📦 What’s included?

  n8n workflow file (.json)**.
  Internal documentation notes inside the flow.
  Basic email support.

  👉 This workflow is your SEO co-pilot: fast, automated, documented, and robust.

nodes_used:
  ["n8n-nodes-base.splitInBatches","n8n-nodes-base.webhook","n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.stopAndError","n8n-nodes-base.splitOut","n8n-nodes-base.stopAndError","n8n-nodes-base.markdown","n8n-nodes-base.httpRequest","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.splitOut","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","n8n-nodes-base.summarize","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","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.httpRequest","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Automated Range Trading with Uniswap V3, Telegram Alerts & MetaMask Delegation
author_name: 1Shot API
author_username: oneshotapi
categories: []
created_at: 2025-09-09T18:08:54.617Z
updated_at: 2025-09-09T18:08:54.617Z
url: https://n8n.io/workflows/8427
scraped_at: 2025-12-24 13:02:42
description:
  Simple Range Trading w/ Uniswap V3

  This workflow will monitor the price of a token trading pair (default is ETH - USDC) and automatically buy into ETH or sell into USDC based on a price window configured by the user. 

  Additionally, the workflow will notify the user on Telegram before a trade is executed, giving the user 1 minute to cancel the trade before the workflow proceeds. 

  Transaction are executed via MetaMask's Delegation Framework, so trades are fully non-custodial, you retain full control of your assets at all times. 

  Check out the YouTube tutorial for a full walkthrough.

  Maintain Complete Trading Control with MetaMask Delegations

  With the MetaMask Delegation Framework, you never relinquish control of your funds to any 3rd party, not even 1Shot API. Furthermore, with this workflow, you have full control of your trading parameters and the assets you trade against. Lastly, by running your own trading setup, you can bypass fees incurred through centralized exchanges or hosted frontends that reduce your profitability. 

  Human-in-the-Loop with Telegram Notifiactions

  This workflow uses Telegram to send you real-time updates on whats happening with your trades. Specifically, the Telegram human-in-the-loop node is used to give you a change to cancel trades before they happen or immediately approve them. 

  Setup

  Create a free 1Shot API account, and create an API key.
  Import the workflow into your n8n portal.
  Create a credential for the 1Shot API nodes to communicate with your 1Shot API account.
  Trigger the sub-workflow to generate an Arbitrum server wallet and import all required smart contract methods. 
  Point the 1Shot API nodes at the appropriate smart contract methods in you 1Shot API account.
  Create a Telegram credential for notifications & input the chatID of your Telegram bot.
  Set your desired trading price range in the Swap Configs node.
  Start your trading workflow.

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-1shot.oneShot","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-1shot.oneShot","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-1shot.oneShotSynch","n8n-nodes-1shot.oneShotSynch","n8n-nodes-1shot.oneShotSynch","n8n-nodes-1shot.oneShotSynch","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-1shot.oneShot","n8n-nodes-1shot.oneShot","n8n-nodes-1shot.oneShot","n8n-nodes-1shot.oneShot","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-1shot.oneShot","n8n-nodes-base.manualTrigger","n8n-nodes-1shot.oneShot","n8n-nodes-1shot.oneShot","n8n-nodes-1shot.oneShot","n8n-nodes-1shot.oneShot","n8n-nodes-1shot.oneShot","n8n-nodes-base.if","n8n-nodes-1shot.oneShot","n8n-nodes-base.code","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10680 characters]


name: Create Viral Ads with AI: NanoBanana & publish on socials via upload-post
author_name: Dr. Firas
author_username: drfiras
categories: []
created_at: 2025-09-09T18:30:50.820Z
updated_at: 2025-09-09T18:30:50.820Z
url: https://n8n.io/workflows/8428
scraped_at: 2025-12-24 13:02:41
description:
  💥 Create viral Ads with NanoBanana & Seedance, publish on socials via upload-post

  Who is this for?  
  This workflow is designed for marketers, content creators, and small businesses who want to automate the creation of engaging social media ads without spending hours on manual design, video editing, or publishing.

  What problem is this workflow solving? / Use case  
  Manually creating ads for multiple platforms is time-consuming and repetitive. You need to generate visuals, edit videos, add music, and then publish them across social channels.  
  This workflow automates the end-to-end ad production pipeline, saving time while ensuring consistent, professional-quality output.

  What this workflow does  
  Receives ad ideas via Telegram.  
  Uses NanoBanana to generate and edit realistic product images.  
  Transforms images into engaging short videos with Seedance.  
  Generates background music with Suno.  
  Merges video and audio into a polished final ad.  
  Reads brand info and generates ad copy with AI (OpenAI).  
  Publishes ads to Instagram, TikTok, YouTube, Facebook, and X via upload-post.  
  Stores media and campaign data in Google Drive and Google Sheets for tracking.  
  Sends back notifications and previews via Telegram.

  Setup  
  Connect your accounts:  
     Telegram  
     Google Drive  
     Google Sheets  
     OpenAI API  
     NanoBanana API  
     Seedance API  
     Suno API  
     Upload-post  

  Prepare Google Sheets:  
     Add a sheet for brand details (name, category, features, website).  
     Add another sheet for video logs (status, links, captions).  

  Configure upload-post:  
     Ensure your social accounts (TikTok, Instagram, YouTube, Facebook, X) are linked to upload-post.  

  How to customize this workflow to your needs  
  Prompts* → Adjust the *image/video/music prompts** to better reflect your brand’s tone and products.  
  Ad copy* → Modify the AI prompt inside the *Ads Copywriter Generator** to control wording, style, and structure.  
  Publishing scope* → Choose only the platforms you want (TikTok, Instagram, etc.) inside the *upload-post** node.  
  Storage** → Update Google Drive folder IDs and Google Sheets document IDs to match your own workspace.  

  👉 With this template, you get a fully automated viral ad production system powered by AI visuals, video rendering, and auto-publishing across social platforms. Perfect for scaling your content strategy while saving time.


  📄 Documentation: Notion Guide

  Demo Video

  🎥 Watch the full tutorial here: YouTube Demo
  Need help customizing?
  Contact me for consulting and support : Linkedin / Youtube

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.telegramTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-upload-post.uploadPost","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-upload-post.uploadPost","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 11824 characters]


name: AI Video Automation Engine - Generate & Publish YT Shorts with Veo-3 or Sora 2
author_name: SuS
author_username: sulieman-said
categories: []
created_at: 2025-09-09T19:02:30.830Z
updated_at: 2025-09-09T19:02:30.830Z
url: https://n8n.io/workflows/8429
scraped_at: 2025-12-24 13:02:44
description:
  Product Overview

  Scale short-form content without scaling your team. This template turns idea discovery → prompt & text generation → Veo-3 video rendering → vertical formatting → multi-channel publishing into one cohesive pipeline. It’s built natively on n8n, so you keep full control, self-host if you want, and extend every step with your own logic.

  What’s Inside (Modular Building Blocks)

  Idea Engine** – AI generates concise, surprising facts and a visual metaphor per topic (swappable LLM/provider).  
  Prompt & Text Composer** – Crafts an 8-second, cinematic Veo-3 prompt + title, caption, description, hashtags, tags in a consistent brand voice.  
  Renderer Integration** – Kie.ai → Veo-3 (16:9, 1080p) for fast, cinematic clips.  
  Vertical Formatter** – FFmpeg pipeline converts to 1080×1920, adds top/bottom text bands (15–20 words), and preserves loop smoothness.  
  Multi-Channel Distribution** – Uploads to YouTube Shorts and Telegram for internal review/approvals.  
  Scheduler & Orchestration** – CRON triggers, retries, and lightweight polling make the system dependable for daily publishing.  

  Why These Components (and why they work together)

  Veo-3 via Kie.ai* provides a sweet spot of *quality + speed**, ideal for short loops where style coherence matters.  
  n8n* brings *vendor-neutral orchestration**: swap LLMs, add rate limits, branch flows, or trigger on events—without rewriting your stack.  
  FFmpeg* ensures a *platform-native look** (9:16, crisp text bands, no blurry hacks).  
  Separation of concerns* (idea → text → render → edit → publish) makes it easy to *A/B test** any stage independently.  

  Key Benefits

  Hands-Free Consistency** – Daily output with a repeatable creative pattern that audiences recognize.  
  Brand-Safe Copy** – Titles, descriptions, and hashtags follow a controlled structure—polished by design.  
  Time Savings** – Replace fragmented tooling with one pipeline; no manual re-formatting, captioning, or re-uploads.  
  Creator-Grade Quality** – Cinematic loops optimized for watch time and retention on Shorts/Reels.  
  Own Your Stack** – Self-hosted orchestration and storage; no lock-in.  

  Reuse & Extension Ideas

  Topic CMS** – Feed topics from Google Sheets / Notion and mark each as “published”—perfect for content calendars.  
  Multi-Language** – Duplicate the text composer for EN/DE outputs; upload the same clip with localized metadata.  
  Thumbnail/Preview Track** – Add an image generator step for platform cards or YouTube custom thumbnails.  
  Analytics Feedback Loop** – Fetch video performance, score ideas, and prioritize winning angles automatically.  
  Compliance & Fact Trails** – Store sources next to each post for quick audits and edits.  
  Storage & Delivery** – Push masters to S3/Backblaze, serve via CDN for faster IG ingestion.  
  More Channels** – Add TikTok, X, LinkedIn publishers or a newsletter export.  
  A/B Creative** – Render multiple Veo-3 seeds, rotate captions/CTAs, and compare retention.  

  Who It’s For

  Agencies** wanting repeatable, branded Shorts at scale.  
  Creators & Media Teams** who need daily output with minimal overhead.  
  Product Marketing** looking to convert docs/reports into snackable, evergreen video facts.  
  Startups** building audience fast without adding headcount.  

  Technical Notes (at a glance)

  Orchestration:** n8n (self-hosted or cloud)  
  Video:** Veo-3 via Kie.ai (16:9 render → FFmpeg vertical remaster 1080×1920)  
  Text Stack:** Any LLM provider (swappable); outputs normalized for each platform  
  Distribution:** YouTube Data API v3,  Telegram Bot API  
  Security:** API keys via n8n credentials/ENV; public URL endpoint only serves whitelisted .mp4 filenames with proper headers  
  Reliability:** CRON triggers, bounded retries/polling, and safe fallbacks to avoid stuck runs  

  Who to use it

  To enhance the completeness, add specific step-by-step setup instructions for users to implement the workflow easily:

  Install Prerequisites
     Set up n8n on your server or local machine (production mode with reverse proxy).
     Install FFmpeg and ensure fonts (e.g., DejaVu Sans) are available.

  Configure API Credentials
     Get a Perplexity API key for idea generation.
     Request a Kie.ai API key for Veo-3 video rendering.
     Set up YouTube OAuth2 (enable YouTube Data API v3 in Google Cloud Console).
     Create a Telegram bot token via BotFather.
     Store all keys as environment variables in n8n (avoid hardcoding).

  Prepare Storage
     Create a working directory accessible by n8n with read/write rights.
     Ensure enough disk space for video caching (approx. 50–200 MB per run).

  Set Scheduling
     Add CRON triggers for automatic execution (e.g., twice daily).
     Example:
            0 12 04 * * * → 04:12 AM daily
       0 12 16 * * * → 04:12 PM daily
       
  Define Variables
     File naming conventions:
       name_vorher = raw 16:9 video
       name_nachher = final 9:16 video
     Set topic = content niche (e.g., history, ocean, futurism).

  Build Workflow Steps in n8n
     Idea Generation: Perplexity node for viral fact.
     Prompt Agent: Expand into full package (prompt, caption, hashtags).
     Video Generation: Kie.ai Veo-3 API request (poll until success).
     Download & Edit: Save raw file, convert to 9:16 with FFmpeg overlays.
     Notifications & Uploads:
       Telegram node → send video.
       YouTube node → upload with title, description, tags.
       

  Test End-to-End
     Run the workflow manually once.
     Verify video rendering, FFmpeg subtitles, Telegram message, YouTube & IG uploads.

  Go Live
     Enable CRON triggers.
     Monitor first runs for errors (API limits, FFmpeg paths, token expiry).

  Why Buy This Template

  You’re not buying a script—you’re buying a production-ready system with a deliberate creative pattern, best-practice formatting, and shipping-grade integrations. It reduces ramp-up from weeks to hours and gives you a flexible base you can keep evolving.

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

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


name: Create Custom ASMR Sound Effects with ElevenLabs API and Google Drive
author_name: phil
author_username: phil
categories: []
created_at: 2025-09-10T07:14:40.631Z
updated_at: 2025-09-10T07:14:40.631Z
url: https://n8n.io/workflows/8439
scraped_at: 2025-12-24 13:02:44
description:
  Generate royalty-free sound effects for all your projects: ASMR, YouTube videos, podcasts, and more. This workflow generates unique AI-powered sound effects using the ElevenLabs Sound Effects API.

  Enter a text description of the sound you envision, and the workflow will generate it, save the MP3 file to your Google Drive, and instantly provide a link to listen to your creation. 

  It is a powerful tool for quickly producing unique ASMR triggers, ambient sounds, or specific audio textures without any complex software.

  Who's it for

  This template is ideal for:
  Content Creators**: Generate royalty-free sound effects for videos, podcasts, and games on the fly.
  Sound Designers & Foley Artists**: Quickly prototype and generate specific audio clips for projects from a simple text prompt.
  Developers & Hobbyists**: Integrate AI sound effect generation into projects or simply experiment with the capabilities of the ElevenLabs API.

  How to set up

  Configure API Key:
      Sign up for an ElevenLabs account and get your API key.
      In the "ElevenLabs API" node, create new credentials and add your ElevenLabs API key.
  Connect Google Drive:
      Select the "Upload mp3" node.
      Create new credentials to connect your Google Drive account.
  Activate the Workflow:
      Save and activate the workflow.
      Use the Form Trigger's production URL to access the AI ASMR Sound Generator web form.

  Requirements

  An active n8n instance.
  An ElevenLabs account for the API key.
  A Google Drive account.

  How to customize this workflow


  Change Storage**: Replace the Google Drive node with another storage service node like Dropbox, AWS S3, or an FTP server to save your sound effects elsewhere.
  Modify Sound Parameters**: In the "elevenlabs_api" node, you can adjust the JSON body to control the output. Key parameters include:
      loop (boolean, optional, default: false): Creates a sound effect that loops smoothly. Note: Only available for the ‘eleven_text_to_sound_v2’ model.
      duration_seconds (number, optional, default: auto): Sets the sound's duration in seconds (from 0.5 to 30). If not set, the AI guesses the optimal duration from the prompt.
      prompt_influence (number, optional, default: 0.3): A value between 0 and 1 that controls how strictly the generation follows the prompt. Higher values result in less variation.
  Customize Confirmation Page**: Edit the "prepare reponse" node to change the design and text of the final page shown to the user.


  .

  Phil | Inforeole | Linkedin

  🇫🇷 Contactez nous pour automatiser vos processus

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.html","n8n-nodes-base.form","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger"]

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


