# templates

name: QuickBooks Automated Invoicing - Sync Google Sheets with QBO
author_name: Milan Vasarhelyi - SmoothWork
author_username: vasarmilan
categories: []
created_at: 2025-08-25T13:02:33.936Z
updated_at: 2025-08-25T13:02:33.936Z
url: https://n8n.io/workflows/7840
scraped_at: 2025-12-24 13:02:45
description:
  Video Introduction

  Want to automate your inbox or need a custom workflow? 📞 Book a Call | 💬 DM me on Linkedin

  Overview

  This workflow automates invoice creation in QuickBooks Online by importing data directly from a Google Sheet. Instead of manually entering invoice details one by one, this template reads structured data from your spreadsheet and automatically generates corresponding invoices in QuickBooks, saving time and reducing data entry errors.

  Key Features

  Automatically reads invoice data from Google Sheets including customer IDs, descriptions, and amounts
  Creates properly formatted invoices in QuickBooks Online with line items
  Eliminates manual data entry and reduces human error
  Scalable solution for processing multiple invoices at once

  Common Use Cases

  Batch invoice generation from sales or order data
  Automated billing workflows for recurring services
  Syncing invoice data from external systems via Google Sheets
  Streamlining accounting processes for small businesses

  Setup and Configuration

  QuickBooks Developer Account:
  Register at developer.intuit.com and create a new app in the App dashboard
  Select 'Accounting' scope permissions for your application
  Copy your Client ID and Client Secret from the Keys & Credentials section
  Add the n8n OAuth redirect URL to your app's authorized redirect URIs
  In n8n, create a QuickBooks Online OAuth2 credential using your Client ID and Secret
  Set Environment to 'Sandbox' for testing or 'Production' for live data
  Click 'Connect my account' and authorize the connection

  Google Sheets Setup:
  Connect your Google Sheets account in n8n using OAuth2 authentication
  Update the 'Config - Sheet URL' node with your Google Sheets URL
  Your sheet must contain these columns: CustomerId (QuickBooks customer ID), Description (line item description), and Amount (invoice amount)

  Invoice Customization:
  In the 'Create Invoice in QuickBooks' node, adjust the itemId and Qty fields to match your QuickBooks accounting setup and product catalog.

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

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


name: QuickBooks Online AI Agent - Chat with Quickbooks Data with GPT Agent
author_name: Milan Vasarhelyi - SmoothWork
author_username: vasarmilan
categories: []
created_at: 2025-08-25T13:06:33.029Z
updated_at: 2025-08-25T13:06:33.029Z
url: https://n8n.io/workflows/7841
scraped_at: 2025-12-24 13:02:46
description:
  Video Introduction

  Want to automate your inbox or need a custom workflow? 📞 Book a Call | 💬 DM me on Linkedin

  What This Workflow Does

  This workflow creates an AI-powered chatbot that answers natural language questions about your QuickBooks data in real-time. Users can interact with a public chat interface to query customer information, balances, invoices, and other accounting data without needing to navigate the QuickBooks interface directly. The AI agent uses OpenAI's language model to understand questions and automatically retrieves the relevant data from QuickBooks.

  Key Features

  Natural Language Interface**: Ask questions like "How many customers do we have?" or "What's the total balance across all customers?" and get instant answers
  Public Chat URL**: Share a link with team members or stakeholders so they can access QuickBooks insights without direct system access
  Customizable Data Access**: Configure the QuickBooks tool to retrieve different resources (customers, invoices, expenses, bills, etc.) based on your needs

  Common Use Cases

  Enable non-accounting staff to get quick answers about customer data
  Provide executives with on-demand financial insights without training them on QuickBooks
  Create a self-service interface for sales teams to check customer balances
  Build internal support bots that can answer accounting questions

  Setup Requirements

  QuickBooks Developer Account: Register at developer.intuit.com and create a new app with Accounting permissions
  Credentials: Configure QuickBooks OAuth2 API credentials (Client ID, Client Secret, and Redirect URI from the Intuit Developer dashboard) and OpenAI API credentials
  Environment: Start with Sandbox mode for testing, then switch to Production after getting your app approved by Intuit
  Tool Configuration: The QuickBooks tool is pre-configured to retrieve all customer data, but you can modify the operation and filters to access different QuickBooks resources based on your requirements

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

workflow_json_compressed:
  H4sIAAAAAAAAE61X/24buRF+FZ6CO8SBdrW/pNUKCBpVuWtcJOckdi5NbcPH5XIlxityQ3KlKAc/wwEt0D97f/YNiv7Rp+kL9B6hM1zJkmwnTYPCkEztkjPffPxmhvypM+eWdkY/dYQ0lkrGD4vOqMOGLMtpv4h5Hg0oT1IaDIooKctwkNAgZEGRxrxI0n5M0yQLYhbl+SDIiiSG1+Ug73Q7ls/rilo+0bwwx9w29UTBE245OLC64VfdjlQFN53RKXhHr3HE8jzpl17Oy9BLeBB7GUuYx/ppnyZhMRiGGViWdM5h9vMmrwQjkxm15ESL6ZRrdLuq8eUjOZQ9+HjOhVdROWUzKqQP33Y7u1ZGWKEkYIiDpAuf825nyfOZUpeOiGTIipSnzCshLi9JytgbxknpDbMsCHhOyyAP0Q7VAMpybZDK2iFro+x2VI0e8MXVVYvvB5jnnIZ+eNVdB59xIDblQ6+fMvQU9b084NSLypQPaNjng4xug3/RCHb5W0BpyPiQjKdcWnKk2Ywbq6lVn8MExUX7HPSj4ZqD/YA+EUJ0HUA/GYb9NE28chAMIACaecNBDF8sTWmUlUEcRtsAnj59RjxyVHMJ+N0e3p/W1kv80JsLKQ4+I4BqjuucCXE7jiQb3IpjDhYqHFxc6GqzP/gQ3FTCIBsLWjX4cxdM5+rmLjIQNbAnaLXmBzGMa+ESCck4NOwPevXmxR91efzq+PLJNvAWL6GMqQb4v0MTW0ozloZBAnKgJUgw6bMMNFGCRBKaZHEalCzvby0DkSdKVUDrjjoeU0u3XG5pzKnh/jucl+M8XLjP4SCN7uSwFNV66FjhIDe3oDPldlyhEQ3JriWON3l+g6531/COxo2dRbvE5QP6JHjO3zaNfFLUv2/ulPyRrITkGw5JfAeL1xwyJS1lFsK23AvTfpaFQRAOk2G8NQ01CpOGTNq55FCW6qOkGQs4Vt+DuX3CvDgbdL0w69+ijKkKMnLUh9IiCjvrjAZB0O3MuJjObGeUJPADUWI6jjr3rlG8MqMzee8eeSZA8+QROZ4rZWevlb6ELT5FJggl32nOcYVpKivklExoVZ3fn1lbm1GvZ9ySJSzxqejhTnvUYzCld3Amvzp1lrezp5ouQC7aZ2rea4e9rJ8GQRGmOY2DgGZlmLAwHzLKyiyOizJNoyCI0jymRUEzlvNBOIyLYRYmURb1kyj6jX5YT78pHoIotPrGiA/8IfAP3vHvHkT3mpMZr2qSNwb21BhuCK8EpB30Dny4QvQkX8FYVAWGCOhq5GezglgQL3xTATTzAn6SlWo0qbVi8Npv/WxYbQwpYatZY6yaiw9o0M6E6RJ4eO3CAICKakIbmOQEjmbO5K+//PlvCLdSj/aoPZP/+svf//2Pn8npZMbZJTpRkrxRzUmT8y3By+XSB2gWHjqOHy2ooRpdyQNn/K//j3399Zc//ZOcjouCzDnCeCrkJYew9nFU66cOiJA9QPH1JP56HEpv0Q5M+09DvCvhxTTLhv0witFF5+P5Vij2yVxD/ZaVWpLH3DAtXFn9slyLktupdleCpf39BAPNbTAcLbheCL7EvT0BFZDl5g3DkgBahMwbH3q1WnKUFp4ecmVBMdCwqDTw1BBQaqNpRbAzNdBVybsG2jBqhtAcdrtV4075KiCzfEhvXMzAgQBoGrW5FHYGe9+eH5yz9l1JGUdZg2G9WkuXa3gHSm7l2SU5rfD4BkKmsiCgDpiwLpCoH/Tp7CMgybmTOZiUdCGmmGqwYBfj1m8hNGe2WvmbjP1OaGOJO9Lho9AnDx7sdhy+4BU2BjJu3T94MCIv+RT6K0Ky5MdiM8MHL42wKMEfHeyWdaBA8iWhdd0yMt6GAYvmwqDmzJmM0PNk21vAC7QW+A0ezyQh+52w7TVk/PyQ7PQjch+UUYppo3nrzG3WpBJ4ojp83N0Mjzkssi25L3nLCXn18pCUWs0deYculp3wC2pmuaK6OFiDWZ92biLAcoQGrvXjjilnMsbwvpULoZWc85bHY6jJa50cA5RcvXezWxuoOjntojFJDExiM9zi51oVDUOVEFriHkCndmS6UJFl+Gi1AH1DmW3D2Oz1ZE2OE1mbJXsywdJLIG9YozVArECdGzpdIcayL4ARArVpK9w2AaA8OvlDAKJcOQquzxOO5/VRA+2AkrHSw8SSo6NdDJobCATek/tCLpRwScDfA9nGjSzzDwiWkwKroQsaE8D4BIO5kWUQi+EWXa6zEOntAmXSIQPWKDEzCjrNKw4CeLqpBSsFJxIMpzEuV/eT+q4SACu1aqYzFznowh3I/U+U1oUouNotrlE0SLM43BbXH3AGeU2ry7Xt/7myRmFy9yFmXVmTaKeyxjePLrf8n8nTr07FHELzaznddqBt4/Nann0T+43xODXWC306px+UpEvjulNeqemFnTXzXEKPN73r4QVkYfDt794eD1+E4/eLkzD339bTg60b12z9nPfmtX6RTN7EKxkc3MHwuQtDcrY55N95u8QbBFw8gCW4scr22vD5FzG3tAv37IK/74yCq/NzwPHxMzs4o+IC8+sL/W1W33T5X29eredNNXrW3pm+FMK+mX0sV1f/AR/t3B5/EAAA


name: QuickBooks Online MCP Server - Add QuickBooks tool to any AI (Like Claude)
author_name: Milan Vasarhelyi - SmoothWork
author_username: vasarmilan
categories: []
created_at: 2025-08-25T13:46:14.362Z
updated_at: 2025-08-25T13:46:14.362Z
url: https://n8n.io/workflows/7842
scraped_at: 2025-12-24 13:02:46
description:
  Video Introduction

  Want to automate your inbox or need a custom workflow? 📞 Book a Call | 💬 DM me on Linkedin

  What This Workflow Does

  This workflow creates an AI-powered chatbot that can answer natural language questions about your QuickBooks Online data. Using OpenAI's GPT models and the Model Context Protocol (MCP), the agent can retrieve customer information, analyze balances, and provide insights through a conversational interface. Users can simply ask questions like "How many customers do we have?" or "What's our total customer balance?" and get instant answers from live QuickBooks data.

  Key Features

  Natural language queries**: Ask questions about your QuickBooks data in plain English
  MCP architecture**: Uses Model Context Protocol to manage tools efficiently, making it easy to expand with additional QuickBooks operations
  Public chat interface**: Share the chatbot URL with team members who need QuickBooks insights without direct access
  Real-time data**: Queries live QuickBooks data for up-to-date answers

  Common Use Cases

  Customer service teams checking account balances without logging into QuickBooks
  Sales teams quickly looking up customer information
  Finance teams getting quick answers about customer data
  Managers monitoring key metrics through conversational queries

  Setup Requirements

  QuickBooks Developer Account: Register at developer.intuit.com and create an app with Accounting scope permissions. You'll receive a Client ID and Client Secret.

  Configure OAuth: In your Intuit Developer dashboard, add the redirect URL provided by n8n when creating QuickBooks credentials. Set the environment to Sandbox for testing, or complete Intuit's app approval process for Production use.

  OpenAI API: Add your OpenAI API credentials to power the chat model. The workflow uses GPT-4.1-mini by default, but you can select other models based on your performance and cost requirements.

  Chat Access: The chat trigger is set to public by default. Configure access settings based on your security requirements before sharing the chat URL.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.quickbooksTool","@n8n/n8n-nodes-langchain.mcpClientTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: 🍎 Update Grocery Lists in Asana via Telegram Voice & Text using GPT-4o mini
author_name: Zawanah
author_username: zawanah
categories: []
created_at: 2025-08-25T14:45:33.723Z
updated_at: 2025-08-25T14:45:33.723Z
url: https://n8n.io/workflows/7845
scraped_at: 2025-12-24 13:02:46
description:
  This n8n workflow demonstrates how to use AI to update your grocery list in Asana via Telegram chat or voice. 

  Use cases
  Update grocery list details in Asana eg. check or uncheck the items, update expiry dates, update quantities etc.

  How it works
  Instruct telegram bot (via chat or voice) to update a grocery item using natural language. For example, "we just bought 10 cartons of milk that expires in 6 months".
  If via text, just the text message will be sent to the Grocery Agent.
  If via voice, voice file will be downloaded then transcribed into text using OpenAI.
  Once Grocery agent receives the text, it will search the item in your grocery list in Asana. It will then check the item since it's bought, and update the quantity and expiry date accordingly.
  Once task is done, it will respond with the changes it made and insert a hyperlink to Asana if you want to see it.

  How to set up
  Set up Telegram bot via Botfather. See setup instructions here 
  Setup OpenAI API for transcription services (Credits required) here
  Set up Openrouter account. See details here
  Set up Asana API using the account where you have your grocery list set in. See details here

  Customization Options
  You can have other custom fields you use to track other than expiry dates or quantity. For example, food type, date purchased etc. 

  Requirements
  Asana account where you manage your grocery list
  Telegram bot
  Open AI account
  Open Router account

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

workflow_json_compressed:
  [encoded data, 5644 characters]


name: Generate AI Newsletter Drafts from Google Sheets to Notion with GPT-5-mini
author_name: Snehasish Konger
author_username: snehasish
categories: []
created_at: 2025-08-25T15:59:55.535Z
updated_at: 2025-08-25T15:59:55.535Z
url: https://n8n.io/workflows/7848
scraped_at: 2025-12-24 13:02:44
description:
  How it works:

  This template turns rows in a Google Sheet into polished newsletter drafts in Notion using an AI writing agent. You click Execute workflow in n8n. It fetches all rows marked N8n Status = Pending, generates a draft from Newsletter Title and About the Newsletter, creates a Notion page, writes the full draft, then flips the sheet row to Done before moving to the next one.

  Before you start (use your own credentials):

  Create and select your credentials in n8n:

    Google Sheets (OAuth2 or Service Account) with access to the target spreadsheet.
    Notion (Internal Integration) with access to the target database.
    OpenAI (API Key) for the Chat Model.
  Replace any placeholders in nodes:

    Spreadsheet ID/URL and sheet/tab name (e.g., newsletter).
    Notion Database ID / Parent and any page or block IDs used by HTTP Request nodes.
    OpenAI model name if you prefer a different model.
  Give the Notion integration access to the database (Share → Invite the integration).
  Do not hard-code secrets in nodes. Store them in n8n Credentials.

  Step-by-step:

  Manual Trigger
     Start the run with When clicking ‘Execute workflow’.

  Fetch pending input (Google Sheets → Get row(s) in sheet)
     Read the newsletter tab and pull only rows where N8n Status = Pending.

  Iterate (Split In Batches → Loop Over Items)
     Process one sheet row at a time for stable memory use and pacing.

  Generate the newsletter (AI Agent + OpenAI Chat Model)

     AI Agent loads the “System Role Instructions” that define style, sections, and format.
     Pass Newsletter Title and About the Newsletter to the OpenAI Chat Model to produce the draft.

  Create a Notion page (Notion → Create Page)
     Create a page in your Newsletter Automation database with the page title set from Newsletter Title.

  Prepare long content for Notion (Code)
     Split the AI output into \~1,800-character chunks and wrap as Notion paragraph blocks to avoid payload limits.

  Write content blocks to Notion (HTTP Request → UpdateNotionBlock)
     Send a PATCH request to append all generated blocks so the full draft appears on the page.

  Mark the sheet row as done (Google Sheets → Update row in sheet)
     Update N8n Status = Done for the processed Newsletter Title.

  Continue the loop
     Return to Split In Batches for the next pending row until none remain.

  Tools integration:

  Google Sheets** — input queue and status tracking (Pending → Done)
  OpenAI** — LLM that writes the draft from provided fields
  Notion** — destination database for each draft page
  n8n Code + HTTP Request** — chunking and Notion API block updates

  Want auto-runs? Add a Cron trigger before step 2 and keep the flow unchanged.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.notion","n8n-nodes-base.manualTrigger","n8n-nodes-base.splitInBatches"]

workflow_json_compressed:
  [encoded data, 5928 characters]


name: Extract and Process Healthcare Claims with VLM Run, Google Drive and Sheets
author_name: Shahrear
author_username: shahrear
categories: []
created_at: 2025-08-25T17:39:34.472Z
updated_at: 2025-08-25T17:39:34.472Z
url: https://n8n.io/workflows/7849
scraped_at: 2025-12-24 13:02:41
description:
  Automatically process healthcare claims into structured Google Sheets entries with VLM Run extraction

  What this workflow does

  Monitors Google Drive for new files in a target folder
  Downloads the file inside n8n for processing
  Sends the file to VLM Run for AI transcription or analysis
  Fetches extra details from the healthcare.claims-processing domain as JSON
  Appends normalized fields to a Google Sheet as a new row

  Setup

  Prerequisites: Google account, VLM Run API credentials, Google Sheets access, n8n. Install the verified VLM Run node by searching for VLM Run in the node list, then click Install. Once installed, you can start using it in your workflows.

  Quick Setup:

  Create the Drive folder you want to watch and copy its Folder ID
  Create a Google Sheet with headers like: timestamp, file\_name, file\_id, mime\_type, size\_bytes, uploader\_email, form\_type, carrier\_name, patient\_name, patient\_birth\_date, patient\_sex, patient\_address, insurance\_type, insurance\_id, insured\_name, total\_charge, amount\_due, amount\_paid, hospitalization\_from, hospitalization\_to, referring\_physician\_name, processing\_notes, …other claim fields as needed
  Configure Google Drive OAuth2 for the trigger and download nodes
  Add VLM Run API credentials from https://app.vlm.run/dashboard to the VLM Run node
  Configure Google Sheets OAuth2 and set Spreadsheet ID and target sheet tab
  Test by uploading a sample file to the watched Drive folder and activate

  Perfect for

  Centralized intake of healthcare claim documents with instant AI summaries
  Claims and operations teams collecting structured claim insights
  Customer support attachments that need quick triage to a Sheet
  Compliance and audit logs for claim documents

  Key Benefits

  End to end automation from Drive to Sheets
  Accurate AI output via VLM Run with optional timestamps
  Domain enrichment from healthcare.claims-processing JSON
  Clean, searchable logs in Google Sheets
  No manual steps after activation

  How to customize

  Extend by adding:

  OCR tuning and field validation for claim forms
  Per type routing for PDFs, images, or scanned forms
  Slack notifications on each new Sheet append
  Keyword extraction and auto tagging for claim categories
  Error branch that records failures to a second Sheet

nodes_used:
  ["@vlm-run/n8n-nodes-vlmrun.vlmRun","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4396 characters]


name: CYBERPULSE AI GRC: Vendor Risk Evaluator
author_name: Adnan Tariq
author_username: adnantariq
categories: []
created_at: 2025-08-26T01:06:25.458Z
updated_at: 2025-08-26T01:06:25.458Z
url: https://n8n.io/workflows/7860
scraped_at: 2025-12-24 13:02:43
description:
  Description

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

  Who It’s For

  Compliance and procurement teams onboarding vendors

  GRC consultants managing supply chain risk

  Security leads needing traceable vendor evidence

  Audit teams validating third-party controls

  How It Works

  Trigger via intake form or webhook

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

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

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

  Logs results to Google Sheets for audit-ready evidence

  Sends instant alerts for high-risk or uncertified vendors

  Requirements

  Google Sheets (OAuth2) connected for logging

  Gmail/SMTP node for automated alerts (optional)

  Intake form/webhook for vendor submissions

  Mandatory fields in vendor intake:

  Vendor Name

  Function

  Data Access

  Access Type (Read/Write/API)

  Certification (if any)

  Owner (GRC)

  File Templates

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

  Intake form (customizable, connects via webhook)

  Customization Tips

  Modify AI prompt logic to reflect internal risk appetite

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

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

  Extend integration to Slack/Teams or SIEM for escalation

  Link logs to a dashboard for executive reporting

  Compliance

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

  SOC 2: Vendor management and risk classification

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

  Essential Eight: Supports control validation via vendor documentation logging

  Provides timestamped, structured logs suitable for external audits

  Setup Instructions

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

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

  Connect Gmail/SMTP node for notifications (optional).

  Customize AI prompt and certification logic if needed.

  Run intake tests to validate risk tier assignment.

  Confirm vendor logs and alerts are recorded correctly.

  Supports

  ISO 27001 Information Security

  SOC 2 Compliance

  PCI DSS v4.0

  NIST CSF / 800-53

  ACSC Essential Eight
  https://cyberpulsesolutions.com

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

workflow_json_compressed:
  H4sIAAAAAAAAE6WV23LiRhCGX0Wli1y4GDInzYy4iuOwu+zBTmx2K9mUL0YzPaACS6wkwMRFVd4hb5gnyUhgYDEGqnKH0D/dX/f83XoKUxt2wrdx9NsbfTv+4wPrdx8X87AVPkClw85TmGYu94qLi4u7y+tev/e1+4v/HS5bYaYfoD57exV8yu10DAHrBF8gs3kR3KblKOjO9Hiqq7zw4So9KMPOn0+rfPL9u+FCLX7uffp27aY3tWAdrV9oMwr6xbSsgnlwlWcutZAZ8ApTgK7AXlZeRjGNEFYIsz5mHco6jLWVjL962XRiT8uWrTXJ50n0+dvv7zV9xz/M/orlluRyWuVBf5gWFv2qi2rR1HQcg3Yi2mYRP4GxlS3vfbrcwk5rHMFWUOP1mGrEDSUokUwgTR2JrSZJFLMt5DXMn1veyyo9qvtULSb1q0xlqImNEl1Cew7JMM/rAiZ5mVZpnvmcSFDeQkQKz7EW9GqIKHbGYmOQMAlHnLDYQ0iKGNaCxZRCEtWdmujCY1RQeP6n5SrzF//UBKebHhtBqOaWICedQtwBQYrgCCkaUy1tLDgxO33vBf/+/c/KQf0UiqBbVunDs41Wtf3ki/txW+BYZwMz1GnWzieQXaZ7RXKMn4s8SkzaasOsseVSW4uElQTxiDmkMOHIAQUmKTfGwZb5CooquBqCGXnemr77OEmLRfBD0K+BX7uT1O2TqrNAaXvbXC6IkpA4JBKLEbcuRjEWElmnmACSKJvwLeibvPCtbBDXtrkzeQFGF/ZVyhKq7zFJTM/CZG2+wbRaUe7dhGIrI8QlpUjZGJDBwCMMzHtgx9Yf80HD+DbPB36v3A2hYTjMN2hEjab8HpQL726q1ClQ3hYbUOJYjClm3qJaIi48o++nQI6Cf0g0xyLaMeu4vvkG1a/Bm3lW+/VBp+PXaddv9zG52ptBxwhjVBgUE2kRTzCghDuNLJOMYEUUmOTkDLbJpjDQwC0wb2bMAHHq3aKVpYgSCdJR44yw28LuqtSMFsF1Xr1u37LRrCU79ah63ph40fbQ5FkFWb0RwxezV69Cbap05hM5PS6hFXrjVWk2aI7CI5hpHf+msFD4CDNSx5itzjcNA5sQSnWCJOd+cyo/E4lWBEVCOZZEOopjUe/vPMvA1KGawC83qP/T31FdiN/JdblnLqXmUMt/MC08hh28vL/3gAedvJOhER2Jfgjm3G1zEOjYBjiU7Pgo7qdobTt2ejIO8p0o7hDiWUvtRbLW/w1wv1wu/wN9FwGQQAkAAA==


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.youTube","n8n-nodes-base.youTube","n8n-nodes-base.youTube","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.set"]

workflow_json_compressed:
  [encoded data, 7004 characters]


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

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

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


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

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

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

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

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

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

workflow_json_compressed:
  [encoded data, 8552 characters]


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

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

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


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

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

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

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

  More details: Hybrid Queries in Qdrant.  

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

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

workflow_json_compressed:
  [encoded data, 5708 characters]


name: Kubernetes RCA and alerting using Gemini, Loki, Prometheus, Slack
author_name: John Pranay Kumar Reddy
author_username: johnpranay
categories: []
created_at: 2025-08-27T14:41:00.607Z
updated_at: 2025-08-27T14:41:00.607Z
url: https://n8n.io/workflows/7953
scraped_at: 2025-12-24 13:02:46
description:
  Summary
  This n8n workflow automates Kubernetes root cause analysis (RCA) and incident alerting by integrating with Loki, Prometheus, and Slack. It streamlines log collection, cluster health monitoring, and AI-driven RCA with Gemini, saving DevOps teams hours of manual troubleshooting. Designed for production-grade Kubernetes environments, this plug-and-play workflow delivers actionable insights directly to your Slack channels.

  Who’s It For

  🛠️ DevOps Engineers automating Kubernetes monitoring and incident response.

  🔍 Site Reliability Engineers (SREs) aiming to reduce mean time to resolution (MTTR).

  🚀 Teams using n8n, Slack, Loki, and Prometheus for observability and automation.

  What It Does

  Pulls logs from Loki, filtering for critical errors.
  Monitors cluster health, checking pending, not ready, or restarting pods.
  Fetches Prometheus metrics for nodes, namespaces, and services.
  Generates AI-driven RCA using Google Gemini to analyze logs and metrics.
  Sends formatted Slack alerts with deduplication and batching for readability.
  Tracks pod lifecycle events, including crashloop states and restarts.

  How It Works

  Log Collection: The workflow uses an n8n HTTP Request node to pull logs from Loki, filtering for critical errors.
  Cluster Monitoring: A Kubernetes SSH node checks pod states (terminated or running). If terminated ignore those pods for RCA.
  Metrics Fetching: Prometheus metrics are retrieved via HTTP Request for nodes and services.
  RCA Generation: Logs and metrics are merged into structured prompts for Google Gemini AI to produce actionable RCA insights.
  Kubernetes Enrichment: RCA from Gemini will goes to this node and enriches with Kubernetes documentation and provide the documentation links in RCA
  Slack Notifications: Alerts are batched, deduplicated, and sent to Slack with clear formatting.

  How to Set Up

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

  Configure Credentials:

  Add your Loki, Prometheus, and Slack API credentials in the respective nodes (use n8n Credentials Manager if required).
  Set up Google Gemini AI credentials for RCA generation.
  Test the Workflow: Run the workflow manually to ensure logs, metrics, and alerts are processed correctly.
  Schedule Execution: Use n8n’s Schedule Trigger to run the workflow at desired intervals (e.g., every 5 minutes).

  Requirements

  🌐 n8 K8s node installed (self-hosted only, see n8n documentation).

  🔑 Access to Kubernetes clusters and API.

  📊 Loki and Prometheus set up for log and metrics collection.

  💬 Slack workspace with webhook access for notifications.

  🤖 Google Gemini AI API key for RCA generation.

  How to Customize the Workflow

  Adjust Filters: Modify the Loki query in the HTTP Request node to focus on specific error patterns.
  Change Alert Frequency: Update the Schedule Trigger node for different intervals.
  Add More Metrics: Extend the Prometheus node to include additional metrics like CPU or memory usage.
  Customize Slack Alerts: Edit the Slack node to change message formatting or add more channels.
  Enhance RCA: Adjust the Gemini AI prompt in the Set Fields node for more specific insights.

  🗂️ Category
  DevOps / Monitoring & Observability / Kubernetes/ AI

  🏷️ Tags
  kubernetes, prometheus, slack, alerting, sre, ops, kube-state-metrics, Gemini, AI

  Slack Output

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.ssh","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","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","n8n-nodes-base.code"]

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


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

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

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

  Requires: OpenAI and Facebook Graph API credentials.

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

workflow_json_compressed:
  [encoded data, 4360 characters]


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

  Most blogs publish words.  
  This system publishes experiences.  

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

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

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

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

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

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.googleGemini","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.limit","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.perplexityTool","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleSheets","n8n-nodes-base.wordpress","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE7Va247bRhL9FUHPaqfvFz9t1tkNDCRrIw42D4Gx6OtYWA2ppai1B4b/PYfSeERJpESNk4e5aZrdp6urTp2q5uf5fW79/OXn+bLatL6K+XWav5xHrY3mkmqqedLF6eB9xEclxMB8olLEoiO1RiVaovRaJI+/cuTJFcfzfDFv8/165dv8qslp8y632/WrGp/kNmOBttnmL4t5Vae8mb/8Hat3q6YkhGJGESlUJlI6S2w2gShmhWWqZCu7mSt/nzH6zTpX37+evfrg29nPmGjVLfqw7v71t8pW3+GL7BYgK1/dxQ9+Wb1Y3XfDd08uMXxdb5btsq4AgTDj+MJq+R4f+wZLtLkBts9f9rP+G3/tRrIX/MviEbC1TtNoCimaUgDOhfgkPP7UzgYqqMzmAPjderVsZ2+27QHoAWPwm/xi043YDziCRq1daEmvQnsCxrKJXClHBPewZLGJWE4VYayo4E3wOZcDsJ/qej178//czF7j1DaX4b2u/u7b+CFvTkBaS6dgFE8Y4S/WMk1JtNoDI34LKgRitclaZ8N5sQeMb+tNO1ve+7s8e7Wqt2lZ+eaBj0L90LbrX/L/tnlzakwpcMyCX8Mpe8cs4eJRKUWoopFIHRVBFEQSaPYme1i6yN4x590hr7ft7HWHd9yc+RQb53IKNvFCPmHL2TAWlSQ5KEFkiIm44jXxzKSSjfJBhx42BF5stwjJrxDf+maTGzYhdurdA/vxh3lOXVUJPS2KDo6gLVc+A7MJrGALAVtwRRDPI/MheBBKuBD28hvjXiK4nLtq9H7ce8BNgRqSdYJDWBZI0NSSLI3OXvFCrTsg/v7ursl3oMJRT/C9EUe+irDn1235hCvFEoNIkhjOwEecIuwVbEqVKMk4m7xjPVxNu4yrPPuIn5h6ghl3339a3R/DRAyPwGxy2zy8qf7pl6v5y+JXm3xmVPMEvgjPnAmccJdEF6ac2KI88RTu7QqNnvX44Mdc5QYWm/lqTwtTXPiuru9W+cd8v6w6N0jLjQ+rr/no2PTa8IXjdrrtwVcgreRIdBIZDB5MbHCGsILPY8iMcnXBi6fAH/dipOqFldfR9knNahe0zEgRCj7MMiOOF0lCod6aAu8W5ZjUllVHGMm3/ruIyF9Wba6WONRbCI4yPSlL9BhORpNE1kiysiQiE2jOceOITkbJ5IJL/WD7aXm/HE+wq8f/npDupMx1OGoHYzkmkOx5cUCUFXSKlkSAi1136EzrnumQLNMWcfZrs7y768fZqbkeBx7GHcHUE0VAX5/4wmKwkVijATRahpwFuRJFkSY4DsHFD0B/zptNl1/97L7zSJz37G1uINk+LduHUdTrpyG/1vXqlFy1lpPSwRPkwI2gAsdLjcZpM2gYa30gQjofJNPKRtlngb1D7r6FzTjD7iP/3Yec21PhwiUwTjCsPOKqmGTwjvDQBY9FxIOdMoGxgbDEUpg+Dp6dFJjV1ey3uknrBqaedZKGjSI+VjB19Y+mqZtOmtdVu6y2+Zd8t135Zp/GL5MZ50ovmLJXj6EvekoCB3ARIGupBh0jjXgdwA/RCeWVCqgLDlvsdvV2t6v8KcIj2plPaermelAN5MOElNcHCr0QAk0W/BBAvNElEqwDPwgBhmDae8POiFe+YLMuCzxDPFwwNBOML5ilNxFxLhFFjobwRWEFX4LyCRDC2A5TJqagkf16SXsNHGlWN7PtOnX5r6k/dpG66Vx7qvtf8hUJHT/NVw7hQIs2zBSkbq4YFFzpfCUZAmEcoYkYlCg9bAEV4S5xz7DsOOSPX+Pk2EGUlLdpIsmo7FIFsVToLi9DqzkQYUaiC1pbp1RPVmzXq9qnx0KjrWd9FFNc+ZJlKSqPW6NQetTXOUPPBwM6DMbDueErKbqsQhEpy75l6y4ntzMU3tUkQYddVmfVppGT+JD3YDKuEk0IOm4DtJuKljiKqo5JY6j3gQluj1l7z4elqe+RZD7lCypisoE7295sYM2psdxYEpkAe+QCA3unSCrFRQMtF3jPwL81UMozYGke4B31bH0CfYpyvrQDPtFF2Avdq05hfSE58dFb1NHgP0cDI5Ej+xqaZebpsIMf6o/VzsUfD6Bu/sQDAPNNPYDF3K8++ofNPn/94Lsm1L4r9Lgtzp2QymoSuJVEUgtOoZrDPWlkueTo+Xkz6Cutq29S00yiDp8i/nt+pIql3vlIKI2mK2JBODx1jJizol4Ini740Z5vsIG7fVlTf0M1JhC+ht7kQlE4lF7QLxRGR8KPjrjoBVStKDRxV4yj8/HSa0rzYMjM2ulpSG2v8qaosYQhFGkTZu7qQ8k8eD1SE1hymolJwmtq6+i68OpTfFcKT9hRn4A8FcFJHQncBAyPhIQd6UxKYiFGSnm2bEJ+eobWYk5Msn8frWJZMcAlxQiOqDRwEmsMEYFnqYyOOIiJYmUc8bhY58JOcu6+OFEJYlxRTlTnNzILSlxB8QazlxiTZj6HC87Nn+nduw4C5Owt3i0Tsnwnt1EEQauY4IkLqMmLc6wrgyGz3AWo4k9tgezC07HrjbFDLhVGawptZQxqTuSlSLyCDNRS4FMGEcZ75ea7dhn/+zD7V32hMbbZjXkcclS0WQqZembcXZB2kublfH6hO26Y0gHAsmNdxuQBGRPEFxLzFgnUOyMGcY677ChQZrva65lAuUOq84FCTauuEEsoErj3nWsJlaT2qHAGgY6z2zhQJp4PVGVGwQiBRB1w8gL6zzs4ro7WcqVSpHrYouJmoIzbZ8NM3ouisyRCQyVJzyS4tqtYrNVeUYUUrgZhypthqq4SfCZML1GxiCiI0SArSQusqbIiwXD85JlraQdhqtutiepoIc5ZahrQgkgJLhWSrEc2QIiToDrLQjwLpajVyQ8C1c8D2vno85BSqkqWTKAkZY5IXjSxRviuSVB8pqxwFwaRmpuROv18ZgqeRXAoI1yY0uUq0RWrQC0i6+o+nUsahGlvD3jR8futQDEa/69y7GbZDd83XPHLPdIL5v398+5ad3LPePfYYr6sUv40f0m/vH+PVQ9XJkMTj15cDM51uHYdmmv07nNwruPWxdB81xphw9Me1+2Dxjy/PB623IlthuYaacAMzndqn8HzOL/gOptrcRh+6erm9LnF+FP8CvKz3vDg8R9fFwxOdNYyxER++Z9OU22BY//uwZEPXOkSnD18ZUV184qX6smrq59dWAwZbrzzPhyEp5fi3x6L52Xo0JxTCqZLp957veTaIYx1364afCAghrZy7RWIaVbif+Hc4i8+Anb1DEZTw9SY679XcG2xCW9TTDj7oV7okBmndO4GzThytmMpe/jdlcGZR5LdYF68gaHGk8A1Zh1GOfzQGKtd6EwPU9uoF+z9p//ezFS+OHrmdMHxO4qxI71++Ti4swsed1OcX1nmAj/cuKFrhHXRFoPKZtpt262LDQff1G7Z6GqjYntQBI543+Dsl18N2Pt5213/T/Tvdv+qwOU4HaCI4ZgdbUffoCbFRQt8+fIHfS7UPSkrAAA=


name: Automated Patient Response System with GPT-3.5 and Google Sheets for Dental Clinics
author_name: Sana Fatima
author_username: iamsanafatimachattha
categories: []
created_at: 2025-08-28T04:57:02.618Z
updated_at: 2025-08-28T04:57:02.618Z
url: https://n8n.io/workflows/7971
scraped_at: 2025-12-24 13:02:43
description:
  From Leads to Smiles – Automated Patient Engagement______Turn every lead into a booked appointment with AI
  💡 Why this workflow?
  Dental clinics lose 50%+ of leads due to slow response.

  This template ensures instant engagement with AI-powered personalization.

  Works for  dentists, beauty clinics, physiotherapists, or any appointment-based business.
  Description:

  When a new patient submits a form (e.g., teeth whitening, Invisalign, implants), the workflow:
  Captures and stores the lead in Google Sheets.
  2.Uses an AI Agent to generate a friendly, personalized welcome message.
  Instantly sends tailored notifications to both the patient and the dentist.

  No more generic thank-you emails → engage leads before they go cold! 🚀

  Category:

  Marketing & Sales

  Customer Engagement

  Healthcare Automation

  📖 Step-by-Step Guide (for beginners)
  Trigger (Google Sheets):

  Every time a new patient submits a Google Form, the lead is automatically captured in Google Sheets.

  AI Agent (OpenAI Chat Model):

  Generates a personalized welcome message 

  Patient Notification (Email):

  Sends a warm, engaging welcome message with appointment details instantly.

  Dentist Notification (Email):

  Alerts the dentist with lead details so they can follow up quickly.

  Execution:

  Just hit Execute Workflow → watch as your clinic never loses another lead.

  👉 Perfect for beginners in AI + n8n automation. You can duplicate this template, connect your Google Sheet + Gmail + OpenAI API key, and start converting leads today.

  Tags: lead generation dentist crm google sheets ai agent chatgpt email automation

nodes_used:
  ["n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.gmail","n8n-nodes-base.gmail","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, 4104 characters]


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

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

  ⸻

  🛠️ Workflow Usage Steps

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

  ⸻

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

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

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

workflow_json_compressed:
  [encoded data, 4168 characters]


name: Automate Support Ticket Classification & Routing from HubSpot to Jira with GPT
author_name: PollupAI
author_username: Pollup
categories: []
created_at: 2025-08-28T09:20:20.187Z
updated_at: 2025-08-28T09:20:20.187Z
url: https://n8n.io/workflows/7981
scraped_at: 2025-12-24 13:02:46
description:
  Who is this for?

    

  This n8n workflow template is designed for customer support, CX, and ops teams that manage customer messages through HubSpot and use Jira for internal task management. It is especially useful for SaaS companies aiming to automate ticket triage, sentiment detection, and team assignment using AI agents.

  🧩 What problem is this workflow solving?

    

  Customer service teams often struggle with manual message classification, delayed reactions to churn signals, and inefficiencies in routing support issues to the right internal teams. This workflow uses LLMs and automated profiling to:

  Detect churn risk or intent in customer messages
      
  Summarize issues
      
  Classify tickets into categories (e.g. fulfillment, technical, invoicing)
      
  Automatically create Jira tickets based on enriched insights
  🤖 What this workflow does

    

  This AI-powered workflow processes HubSpot support tickets and routes them to Jira based on sentiment and topic. Here’s the full breakdown:

  Triggers: Either manually or on a schedule (via cron).
      
  Fetch HubSpot tickets: Retrieves new messages and their metadata.
      
  Run Orchestration Agent:
      
      Uses Sentinel Agent to detect emotional tone, churn risk, and purchase intent.
          
      Calls Profiler Agent to enrich customer profiles from HubSpot.
          
      Summarizes the message using OpenAI.
          
      Classifies the ticket using a custom classifier (technical, fulfillment, etc.).
          
      
  Generate a Jira ticket:
      
      Title and description are generated using GPT.
          
      The assignee and project are predefined.
          
      
  AI agents can be expanded (e.g. add Guide or Facilitator agents).
  ⚙️ Setup

    

  To use this template, you’ll need:

  HubSpot account** with OAuth2 credentials in n8n
      
  Jira Software Cloud account** and project ID
      
  OpenAI credentials** for GPT-based nodes
      
  Optional: Create sub-workflows for additional AI agents
      

    

  Steps:

  Clone the workflow in your n8n instance.
      
  Replace placeholder credentials for HubSpot, OpenAI, and Jira.
      
  Adjust Jira project/issue type IDs to match your setup.
      
  Test the workflow using the manual trigger or scheduled trigger node.
  🛠️ How to customize this workflow to your needs

  1. Edit category logic

    

  In the “Category Classifier” node, modify categories and prompt structure to match your internal team structures (e.g., billing, account management, tech support).

  2. Refine AI prompts

    

  Customize the agent prompt definitions in:

  Sentinel_agent
      
  Profiler_agent
      
  Orchestrator
      
      to better align with your brand tone or service goals.
  3. Update Jira integration

    

  You can route tickets to different projects or team leads by adjusting the “Create an issue in Jira” node based on classification output.

  4. Add escalation paths


  Insert Slack, email, or webhook notifications for specific risk levels or customer segments.

  This workflow empowers your team with real-time message triage, automated decision-making, and AI-enhanced customer insight, turning every inbound ticket into a data-driven action item.

nodes_used:
  ["n8n-nodes-base.hubspot","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.hubspot","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.jira","n8n-nodes-base.switch","n8n-nodes-base.hubspotTool","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.chainSummarization","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7224 characters]


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

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

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

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

workflow_json_compressed:
  H4sIAAAAAAAAE71Y+1PbuBb+Vzzuzux2Jk78ih/MML0pLAGWV5uUtgsMI1sy0WJbriUTskz+93tkO4lDDKVw5/aHDpHPS9/5dHSOHtSECKRuPag05QKlITnA6pbqGNgISeAFjo77fSMwA+yEgWV4rmt7rm7qemQYtm5FQURsYph2EPpEdyPdC0zd9hy1owqSZDESZCcnmI+IKLIdBitEEHAg8oLMO2rKMOHq1gV4l17N0A4Q9g3Nskxds33d0VBkY83V/b5rWcgnQQCWU5QQkB4ydhMTZTend0QZ5/TmhuTS7yyTX1Mv1UrzWoA46d6UwqXsSjRjnArKUohA7+hXsIBysC1IziUi5I6kAkxFNJa7QDLyjsoyqSIF5tJCHI9pQkp5ClsuN5OAX9AD/Xx2TNNCEHV+BdKi8nwKDlWekZBGNNxjMS6Dico/xuwrEuFEmru+zuMKqc7CYky5ANE7FBfyp2GiERsyXfdznk9mh9fIPj/z7OT6JP+6wwfWKciGKJwQ/JnwIhZfpEF1IkTGt3o9LMGogemGLKkWelUcvPerxk+qrBykd4yGAMgcNhxC7gFDiuISoEYSTgeFmJiDjJbAlckXO44VHM6+7Opn9ijKn0g0CkNWQFqkeZnqc4i1TKEx79SWbOJ6rhVGmh1EkkZhqHm+Y2iB45kmxoHbt+yV9f3x+Ez5TH4UpMS2nT4Ss5VMgzem7rUwpyiB3l4gPZ1Oa5xRRnkD6zurJ8nFew8Pym//cJZ2KVbm8w8oFtsJwRSt8U3NCc/gT/LU33ssT9CCsYAQQIQAZpmBEFUBq5lMSURTgneWyRnLPVen8dHiVnvOfjG1p6fDH4Qy8tXwwt1skK3Ar9miDEvNzaTaXXOZVi/y+7rnBhrBBtFs17Qho6ajmVCB+o4feC5uVIc/70WOQqEIcv90WhM4TzmKB3Q9qbbhtCS1cfA3919b2olZgZtb/+vz4ODvw9vESKxPbDj0VwEeVxpKqfISWkfI9wwDeGzoPtDaDnTYhBVpoW9HxDNCy0cN84MDZXAj69dy7/+BzfdWAMQovQkniKZdVMs1EHBMuwWBEkvg9XdWKCiHs5gq5D4juVBoCj9QPPuXpjfwoyoB3cv0Mt0nIEi5lK3XFTFBQpmBDT5hRYxrTbKlLE9BBiHxC/2qm6D8FrNpCodio/TmcJ2ImqUVpUFkgvhpIbJCnKGcQ11d3DRrmJpNVvkGckhINIQjU7MtpGseQZHmGtjrOyjAkaevUD3NSArI7sgdHAOM8QvgjRMpXmo+4lnf9DpQQDZwTkrLL7oCbjKh2V1DS2haHstnScrKGJr0PMJWn55ER/396cg6jwePdkoXvFTcFmY2ULRtMwiQYcr72gduAkF9F7uahY3I8Y0gjEJzZXsEOwpFAcEpVbKUOls/B5M1krsysw6rZ5mtsEpqjeDCStCf90i2IuDoATgqLtWamidFEpD8Ut1SLtWDk3PDtC7VTiWxB3SrPhyySarA2SVEKKbVUaD7sS3lI8ljmnaUIYEanM5KPQX+XapjVumNEiomC0ULFE3LNM1nFOugdqHxqCyYek/3eqZu9htSuGhK9Fsk4JjlYpfwMKclO+r9iUfHEgUArjIlgYKhc4lZlgB1lJBxwS/Vy3SubhLAWhIAGaFnuFjXcAjXre04DhDA9LR+5NqG7uJ+aJBGccqAXVjJ2VRWDj4BRH7SuY2kDF/Ps++2lemQxUVS3Zf1IXmAFMiytSwvFYm6Y1aVFZnatu9yvZLYLaD9AJDbpGr8K8HFffaUcCOllcIRTW8VwZQ9Gi8V/vi9rbX9/X1XNpjd0hxk6ZySaam95rhi8DOuK4FKaSSJoTSY0ab3mD1SFZjAy4O06t0fBbDMJvAd7gT4jSmHeWC2KGc5dFNUHt2tCKoTWX5fbyNX5qDCI+gyj6vuuNYJUfqRfOEEj1n9oSr3dUxlYt8aSW3kNf6Bdm/1Xpp4je81Jv6vslEbe008yyP01lgahl4Txybn3xpQm8XXRLZWCt4a1CNjvxIPVNQEZRl4Pa5ajqq5+ghXwlSV30AUPu4s6uwFKCAhx30xZjssham3bMv4ylG1uEdJjPmYjaotVV/nj9o66FHyxayCymsCfJY3RLWzFzVFFG/rz8++LOTN0ZfDWIRw6Yb3cM+wxWxmIuH9LSL26Yf97/B7NrF3hy5L7vxi4KNvw/3+X+mn4OyG92BOE+/aXC75AVYNWTPBayEvVfnE8qL5/hfC+L9u90PBs+1yhOX49vl3ACWSt2jzQnv6ZaC65Dfnx30y++duYu2mR2d+8Nn4uPE0UCkum1WrbZB0lwfNdB1khn1H66MABkkD2ZrnokCzI+S6Vui7feQ2m1Ua3s6UE9asXY96FF7K1CKNDkWDQVJra0WnFAs4b1bfLE+HqB6a3r1TwLAyEigHQWVEuAxeGReC5YCUHKcuyuchGKHIcplf/dF8aIDBShRBlWdZECSnPsj/ts+Ovn4v3G/oy9D6dno4hamcfvP80afrqePeTS38w30vXZR2t5SLAdzvsTJCM5KvPCC5yOWadPB+syeU5QN2lJJw+WyxHEXlaANNPAADXUNaUf7ZVrCU7kAjjMm9uqXPr+Qr2tpk32pyY/RttbP28NNmp/0JodXW5lwIBhG9loNLAcNsvfZskBvij520Pni2Bd7+pNUa+JOjWBU/W5ulfxb+mvS6p/n8v1MK+pRqFgAA


name: Complete WooCommerce to Odoo Integration: Sync Orders, Products & Customers
author_name: Evozard
author_username: evozardconsulting
categories: []
created_at: 2025-08-28T11:09:55.601Z
updated_at: 2025-08-28T11:09:55.601Z
url: https://n8n.io/workflows/7993
scraped_at: 2025-12-24 13:02:46
description:
  📖 Description (WooCommerce Version)

  This workflow functions like the integration of WooCommerce products with Odoo products, WooCommerce customers with Odoo customers, and WooCommerce orders with Odoo sales orders containing multiple products.

  🔔 Trigger (WooCommerce – Order Created)

  The workflow starts when a new order is created in WooCommerce.

  🔄 Loop Through Each Line Item in the Order
  For each product in the WooCommerce order:
  Check if Product Exists in Odoo (via Internal Reference/Default Code):
  If the product exists, proceed.

  If the product does not exist, create it in Odoo with:
  Product Name
  Description
  Price
  Internal Reference (Default Code)

  👤 Check if Customer Contact Exists in Odoo (via Email)

  If the contact exists, proceed.

  If the contact does not exist, create a new contact in Odoo with:
  Full Name
  Email Address
  Phone Number

  Shipping or Billing Address (as available)

  📝 Create a Sale Order in Odoo

  Create a new Sale Order in Odoo using:
  The matched or newly created Customer Contact
  All the matched or newly created Products from the WooCommerce order (with correct quantities and pricing)
  Each WooCommerce product in the order is matched to the corresponding Odoo product using the Internal Reference field.
  👉 This ensures a seamless sync between WooCommerce and Odoo, keeping your orders, products, and customers aligned automatically.

  Setup referecence:
  https://docs.n8n.io/integrations/builtin/credentials/woocommerce/
  https://docs.n8n.io/integrations/builtin/credentials/odoo/

nodes_used:
  ["n8n-nodes-base.wooCommerceTrigger","n8n-nodes-base.code","n8n-nodes-base.splitOut","n8n-nodes-base.odoo","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.odoo","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.odoo","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.odoo","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-base.odoo","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.odoo","n8n-nodes-base.odoo","n8n-nodes-base.odoo","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","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.set","n8n-nodes-base.code","n8n-nodes-base.code"]

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


name: Crypto RSI Alert System with EODHD, Telegram and TradingView Charts
author_name: Kevin Meneses
author_username: pythonia-kevin
categories: []
created_at: 2025-08-28T13:22:22.827Z
updated_at: 2025-08-28T13:22:22.827Z
url: https://n8n.io/workflows/7997
scraped_at: 2025-12-24 13:02:45
description:
  How it works

  Runs on a schedule and iterates a watchlist of symbols (e.g., BTC/ETH/SOL).

  For each symbol, request intraday 1h OHLCV from EODHD.

  A Code node computes Wilder’s RSI(14) and detects 30/70 crossings.

  When a signal appears, the bot sends a Telegram alert (HTML message) with price, RSI (prev → now), timestamp, and a “View chart” button that opens the pair on TradingView (BINANCE/USD).

  Set up steps (≈10–15 min)

  Prereqs: n8n (cloud or self-hosted), EODHD API key, Telegram bot + your chat_id.

  Env vars: set EODHD_TOKEN and TELEGRAM_CHAT_ID on your n8n instance.

  Credentials: add your Telegram credential (bot token).

  Import the workflow JSON.

  Edit Fields node: adjust the symbol array to your watchlist.

  Schedule Trigger: choose how often to run (e.g., every 5–10 min).

  Test: temporarily flip the Code node’s FORCE_ALERT flag to true to verify Telegram delivery, then set it back to false.

  EODHD API Access the EODHD API with a 10% discount

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

workflow_json_compressed:
  [encoded data, 5192 characters]


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

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

  How it works

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

  Setup:

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

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

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


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

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

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

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

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

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

  Setup Steps  

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

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

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

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

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

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


  **

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

workflow_json_compressed:
  [encoded data, 7116 characters]


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

workflow_json_compressed:
  H4sIAAAAAAAAE52WW2/bRhCF/wqhZ62794ufavgh8ENbI0lTFEVQzO7OSkRkUpWWSINA/71D2bBkXRyrbwQ5O/Px8Ozhfp88YIXJ9fdJ260rdAnv8uR6gjpJxSEI7sCVAFw5jMaDtBASt1qhFVrKZDTPYEsxaDM66bO2xnnHJ9NJxYflAirerjCvP2Adlrc93cGKNKCuBtxMJ12fcT25/oumj1OVFzyiQOaskEwrAyykEJkIkTvNrcpBUucOHpCqP9Q2ffnW/NpXbFjzcdXOZrgaB39bjo8737FtfxZhjVfrbfVYTCXLft3Wtu9oNBPGyKmSn+kurKhzxdV61CP1XcWuUqfJ5rHpJ3qyXSQ20ydik1NJ6AWznCPTRiQWpPMMXEa6bSXnao84zTEPC/wx7FPhru4FsZZ6Kpw9RD7CvJLPoDIpKOAcUyQm0wDIAHhgpdhoisvZgz8n7c1dc7+ib1cvFzdIP2VW/z9xleFkMQgsJpWZRk52kIiMbCeQsEPmfMdMlDezsecz5M9E+dOOdAHdLM2h7a7gqW6fVAc7FfqI9JBO7mkKPkXNvWZBO8W0B8NCUZJFIULhxRgvcMf3ru9n9Onf4UPbtc3tHGrzC3Et3sC7eBjLHxs8rj+ANySzMkcePi+tsD4WcihzThqmSyws5JyY9MFDkcZiwXN2+NRm7Jub+7vL7SA52SEcGfdtdkBeNMQiGC+KLOwcZ0FxSWGRFeFGUDbtyY0drih+HnHPos5rXb7HfwZcHxqCzPAWQ+g9Q7gQkqPvwBKXjvKLBA0BEoNoo/SixKxgR/gHtLUp/ap5j11+JQy+Ut1LtmerfsU47/sv28jmimJZoWY8W5InxsC8jYqlAEpijNFbMflhYuzkTi4lbxJZxBaySBa0+ywK5pRyUotE23EvjG/nmL48vUnzoUId1pdrrhS9mPSXSA6y8Gwo14o3FMDWBAaikORaGzDFaw7lnJHvh7ho1/O2m13sZOPslJ1wx9ucTMg+miwJFcZgM+RkkEAZRNjCYVb7wfb7ctFDbmrf/NkPH4eIZ2m/PT/fQ/VWT6W7IBtcKghJJ+ZLIjownnnhE0NEFQXnSQuzJyl98pHtIy5wRv3PwtVdwQGd5wdW1spnRWMYCk/W064w7wuZmpsEoMFnOkNc8PMDWqdkIL0VWNI7cUIKnNIu5QROSdq1+yZZDakOdGxpfhvqcqjNPazW+xv0bFD32/rH8l2bg2AZXf6WsL5SG6ohQ3WYxrVbfz3/5ej6gUZSQzo9jRyvZN62cEonvIz/Tq755vNnGnZQfKrf2YQ62fCw+lTHV2PiZNejM9Optsf//pO9Tk0/1e6VHXfYd/q86PxGOC3/ueMAAUH79+ipgc4pT/defdej8iMNzzn6cda+a3886kX1y0mbzX9bWu+dTwwAAA==


name: Generate Professional Zoom Meeting Summaries with GPT-4O and Google Docs
author_name: inderjeet Bhambra
author_username: idsinghbhambra
categories: []
created_at: 2025-08-29T01:13:25.636Z
updated_at: 2025-08-29T01:13:25.636Z
url: https://n8n.io/workflows/8009
scraped_at: 2025-12-24 13:02:46
description:
  How it Works

  This automated workflow transforms Zoom meeting emails into professional summaries and Google Docs. It monitors your Gmail for Zoom meeting notification emails, extracts meeting content using AI-powered analysis, and generates both email-safe HTML summaries and Google Docs-compatible text. 

  The workflow intelligently parse meeting transcripts, creating structured summaries with attendee lists, key discussion points, action items, and next steps. 

  It automatically creates Google Docs for record-keeping and sends formatted email summaries to meeting participants.

  Who is it For

  Perfect for project managers, team leads, executives, and meeting coordinators who regularly conduct Zoom meetings and need consistent, professional documentation. Ideal for organizations that require structured meeting records, action item tracking, and seamless integration between communication tools. Especially valuable for distributed teams, consulting firms, and corporate environments where meeting accountability and follow-up are critical.

  Benefits for Using this Workflow

  Time Savings**: Eliminates 30-60 minutes of manual meeting summary creation per meeting.
  Professional Consistency**: Ensures all meeting summaries follow the same structured format with headers, attendees, discussion points, and action items. 
  Automated Documentation**: Creates searchable Google Docs archives and distributes summaries without manual intervention.
  Enhanced Accountability**: Clear action item tracking with assignees and deadlines improves follow-through. 
  Multi-Format Output**: Provides both email-friendly HTML and plain text formats for maximum compatibility across different platforms and systems.

  Setup Requirements
  Prerequisites**: Active n8n instance, Gmail account, Google Docs access, OpenAI API key. 
  Required Credentials**: Configure Gmail OAuth2 for both trigger and sending, Google Docs OAuth2 for document creation, OpenAI API for GPT-4 processing. 
  Configuration Steps**: 
  		1) Import workflow and activate Gmail trigger with filter for Zoom meeting emails, 
  		2) Set up Google Drive folder permissions for document creation, 
  		3) Configure OpenAI credentials and verify AI agent tools connection, 
  		4) Test workflow with a sample Zoom email to ensure proper formatting and delivery. 
  Optional Customization**: Modify Gmail search filters, adjust Google Docs folder location, customize email templates, or fine-tune AI prompt for specific meeting formats.

nodes_used:
  ["n8n-nodes-base.markdown","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleDocs","n8n-nodes-base.googleDocs","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.markdown","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.gmailTrigger","n8n-nodes-base.gmail","n8n-nodes-base.noOp","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.gmailTool"]

workflow_json_compressed:
  [encoded data, 9060 characters]


name: Automate AI Upwork Proposal Generation with Apify, Google Gemini & Sheets
author_name: Intuz
author_username: intuz
categories: []
created_at: 2025-08-29T07:27:56.439Z
updated_at: 2025-08-29T07:27:56.439Z
url: https://n8n.io/workflows/8015
scraped_at: 2025-12-24 13:02:46
description:
  Disclaimer
  Community nodes are used, and template can only be used on self-hosted n8n instances.

  This n8n template from Intuz provides a complete and automated solution for finding relevant Upwork jobs and generating highly-personalized, knowledge-base-driven proposals using AI. 

  This workflow acts as an autonomous agent, handling everything from job discovery to drafting the final proposal text, ready for you to review and submit.

  Who's this workflow for?
  Freelancers & Consultants
  Digital Agencies
  Business Development Teams
  Sales Professionals

  How it works
  1. Scrape Upwork for New Jobs: The workflow starts by running an Apify actor to scrape Upwork based on your defined criteria (keywords, categories, payment verification, etc.).

  2. Log Jobs to Google Sheets: The newly found job opportunities are automatically saved as new rows in a Google Sheet, creating a central dashboard for tracking. A notification is sent confirming the new jobs found.

  3. Trigger AI Proposal Generation: The workflow then reads the new jobs from the sheet and, for each one that hasn't been applied for, triggers the AI.

  4. Craft a Knowledge-Based Proposal: It sends the job details to a Google Gemini AI model. The AI uses a detailed, built-in "Company Knowledge Base" (which you can customize) to write a comprehensive and relevant proposal. It addresses client questions, highlights relevant experience, and suggests a timeline.

  5. Save the Proposal Draft: The AI-generated proposal is saved back into the Google Sheet in the corresponding job row.

  6. Final Notification: A final email is sent to notify you that the proposals are ready, including a link to the sheet for final review and submission on Upwork.

  Setup Instructions
  1. Apify Configuration:
  In the Run Upwork Actor... node, connect your Apify account.
  We have used this apify scrapper- Upwork Extractor
  In the Custom Body field, customize the search parameters (like category, search.any keywords) to match the jobs you are looking for.

  2. Google Gemini AI Configuration:
  In the Google Gemini Chat Model node, connect your Google Gemini (PaLM) API account.
  Crucially: In the Proposal Crafting node, edit the prompt to replace the "Company Knowledge Base" with your own company's details, services, and project examples. This is essential for personalizing the proposals.

  3. Google Sheets Setup:
  Connect your Google Sheets account.
  In all three Google Sheets nodes, select your credentials and update the Document ID and Sheet Name to point to your Upwork tracking sheet.

  4. Gmail Configuration:
  In both Gmail nodes, connect your account and update the sendTo email address to your own.

  5. Execute the Workflow:
  Click "Execute workflow" to run the entire job scraping and proposal generation process.

  Key Requirements to Use This Template
  n8n Instance: An active n8n account (Cloud or self-hosted).
  Apify Account: An active Apify account with an API key and sufficient credits/subscription to run the "Upwork Extractor" actor.
  Google Account & Sheet: A pre-made Google Sheet with columns for Title, URL, Description, Skills, Questions, Applied, and Proposal Template.
  Google Gemini AI Account: A Google Cloud account with the Vertex AI API (for Gemini models) enabled and an associated API Key.
  Gmail Account: A Gmail account to send and receive notifications about the workflow's progress.

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

  For Custom Workflow Automation
  Click here- Get Started

nodes_used:
  ["n8n-nodes-base.manualTrigger","@apify/n8n-nodes-apify.apify","@apify/n8n-nodes-apify.apify","n8n-nodes-base.googleSheets","n8n-nodes-base.summarize","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.gmail","n8n-nodes-base.summarize","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


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

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

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

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

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

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

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

  Setup at a Glance

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

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

  Prerequisites

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

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

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

  Step-by-Step Setup

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

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

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

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

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

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

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

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

  Switching to Your Own Products (Quick Tweaks)

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

  What Users Experience

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

  Troubleshooting Quick Checks

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

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.salesforceTool","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.salesforceTool","n8n-nodes-base.salesforceTool","n8n-nodes-base.emailSendTool","n8n-nodes-base.slackTool","n8n-nodes-base.salesforceTool","n8n-nodes-base.salesforceTool","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


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

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

  Advantages

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

  How It Works

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

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

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

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

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

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

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

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

  * Set Up Steps*

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

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

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

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

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

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

workflow_json_compressed:
  [encoded data, 5140 characters]


name: Fully Automate Blog Creation with GPT & Publish to WordPress via Google Sheets
author_name: Zakwan
author_username: zakwanzahid
categories: []
created_at: 2025-08-29T13:00:44.830Z
updated_at: 2025-08-29T13:00:44.830Z
url: https://n8n.io/workflows/8027
scraped_at: 2025-12-24 13:02:45
description:
  Creating high-quality, SEO-friendly blog posts consistently can be time-consuming. This template helps content creators, bloggers, SEO specialists, and agencies fully automate their blogging workflow. By combining AI content generation (GPT), Google Sheets for keyword management, and WordPress for direct publishing, this workflow saves hours of manual work and ensures professional results.

  ⚡ Use Cases

  Automate content creation for niche blogs.

  Generate SEO-optimized articles from keyword lists.

  Keep a consistent publishing schedule without manual effort.

  Scale content production for agencies or affiliate sites.

  ✅ Pre-requirements

  Before using this template, you will need:

  Google Sheets API credentials (for managing topics & keywords).

  AI API key (e.g., OpenAI, LM Studio, Ollama, or any connected model).

  WordPress credentials with API access.

  Basic understanding of n8n workflow editor.

  🔧 Step-by-Step Setup

  Connect Google Sheets:
  Add your API credentials.-
  Use the sheet to store keywords, titles, and categories.
  Integrate AI Model (GPT or others):
  Insert your API key into the AI node.
  Customize the SEO writing prompt for Rank Math 90+ score.

  Content Processing:

  The workflow will fetch one keyword at a time.

  AI will generate a 1200–1500+ word SEO blog post.

  Output is cleaned into proper HTML.

  Publish to WordPress:

  Configure the WordPress node with your site credentials.

  Automatically post as Draft or Published.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","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.merge","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","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


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


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

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

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

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

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

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

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

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

  Run the Workflow:

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

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

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


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

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

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

workflow_json_compressed:
  [encoded data, 10812 characters]


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

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

  Who it’s for

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

  What it does

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

  Personalized content (5-min meditation or celebration prompt)

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

  Goodnight email with a fresh morning affirmation

  Optional: GPT-4o mini for gentle reflection prompts

  Why it’s different

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

  Stack & Nodes

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

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

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


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

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

  💡 Why Use Promo Seeker?

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

  ⚡ Perfect For

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

  🔧 How It Works

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

  🔐 Quick Setup

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

  🧩 You'll Need

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

  🛠️ Level Up Ideas

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

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

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

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


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

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

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

  ⚙️ Setup (only 2 steps)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

workflow_json_compressed:
  [encoded data, 6288 characters]


name: AI-Powered Degree Audit System with Google Sheets and GPT-5
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-08-31T20:38:34.540Z
updated_at: 2025-08-31T20:38:34.540Z
url: https://n8n.io/workflows/8093
scraped_at: 2025-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]


