# templates

name: Analyze Telegram Messages with OpenAI and Send Notifications via Gmail & Telegram
author_name: Immanuel
author_username: spectrabit
categories: []
created_at: 2025-03-24T11:31:45.336Z
updated_at: 2025-03-24T11:31:45.336Z
url: https://n8n.io/workflows/3306
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  AI-powered Telegram message analysis with multi-tool notifications (Gmail, Telegram)

   
  This workflow triggers on Telegram updates, analyzes messages with an AI Agent using MCP tools, and sends notifications via Gmail and Telegram.

  Detailed Description

  Who is this for?
  This template is for teams, businesses, or individuals using Telegram for communication who need automated, AI-driven insights and notifications. It’s ideal for customer support teams, project managers, or tech enthusiasts wanting to process Telegram messages intelligently and receive alerts via Gmail and Telegram.

  What problem is this workflow solving?  Use case
  This workflow solves the challenge of manually monitoring Telegram messages by automating message analysis and notifications. For example, a support team can use it to analyze customer queries on Telegram with AI tools (OpenAI, Airbnb, Brave, FireCrawl) and get notified via Gmail and Telegram for quick responses.

  What this workflow does
  The workflow:  
  Triggers on a Telegram update (e.g., a new message) using the Listen for Telegram Updates node.  
  Processes the message with the Analyze Message with AI node, an AI Agent using MCP tools like OpenAI Chat, Airbnb search, Brave search, and FireCrawl.  
  Sends notifications via the Send Gmail Notification and Send Telegram Alert nodes, including AI-generated insights.

  Setup
  Prerequisites:  
  Telegram bot token for the trigger and notification nodes.  
  Gmail API credentials for sending emails.  
  API keys for OpenAI, Airbnb, Brave, and FireCrawl (used in the AI Agent).  

  Steps:  
  Configure the Listen for Telegram Updates node with your Telegram bot token.  
  Set up the Analyze Message with AI node with your OpenAI API key and other tool credentials.  
  Configure the Send Gmail Notification node with your Gmail credentials.  
  Set up the Send Telegram Alert node with your Telegram bot token.  
  Test by sending a Telegram message to trigger the workflow.  

  Setup takes ~15-30 minutes. Detailed instructions are in sticky notes within the workflow.

  How to customize this workflow to your needs
  Add more AI tools (e.g., sentiment analysis) in the Analyze Message with AI node.  
  Modify the notification message in the Send Gmail Notification and Send Telegram Alert nodes to include specific AI outputs.  
  Add nodes for other channels like Slack or SMS after the AI Agent.

  Disclaimer
  This workflow uses Community nodes (e.g., Airbnb, Brave, FireCrawl), which are available only in self-hosted n8n instances. Ensure your n8n setup supports Community nodes before using this template.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-mcp.mcpClientTool","n8n-nodes-mcp.mcpClientTool","n8n-nodes-mcp.mcpClientTool","n8n-nodes-mcp.mcpClientTool","n8n-nodes-mcp.mcpClientTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmail","n8n-nodes-base.telegram","n8n-nodes-mcp.mcpClientTool"]

workflow_json_compressed:
  [encoded data, 7056 characters]

metadata_json:
  {"categories":["automation","integration","AI-driven message processing"],"complexity":"medium","use_cases":["Automated monitoring of Telegram messages","AI-driven message analysis and summarization","Customer support triage and alerts","Sending multi-channel notifications (Gmail, Telegram)","Augmenting messages with external search/tools (Airbnb, Brave, FireCrawl)"],"estimated_setup_minutes":25,"required_services":["Telegram Bot API","Gmail API / Google credentials","OpenAI API","Airbnb API (community node)","Brave Search API (community node)","FireCrawl API (community node)","n8n self-hosted instance (required for Community nodes)"],"key_features":["Triggers on Telegram updates","AI Agent (MCP) that combines OpenAI + multiple external tools","Sends notifications via Gmail and Telegram","Configurable notification content and AI outputs","Expandable to add more AI tools or channels (Slack, SMS)"],"target_audience":["Customer support teams","Project managers","Developers / automation engineers using n8n self-hosted instances for integrations"]}


name: 🍅 Custom Pomodoro Tracker using Telegram and Google Sheet
author_name: Samir Saci
author_username: samirsaci
categories: []
created_at: 2025-03-24T11:35:08.457Z
updated_at: 2025-03-24T11:35:08.457Z
url: https://n8n.io/workflows/3307
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Tags: Productivity, Pomodoro, Organization

  Context  
  Hey! I’m Samir, a Supply Chain Engineer and Data Scientist from Paris, founder of LogiGreen Consulting 🌱

  A significant improvement in my productivity came from following the Pomodoro Technique.

  What is the Pomodoro Technique?  
  The Pomodoro Technique is a time management method that breaks your workday into 25-minute focus intervals followed by short breaks. After 4 cycles, you take a longer break to recharge.  
  It helps maintain concentration while preventing burnout.



  I’ve used this technique with web apps to receive break/work notifications. But I always wished I had a way to track my sessions for self-assessment.

  &gt; Let’s use n8n to boost our productivity and log our deep work sessions automatically!

  📬 For business inquiries, you can add me on Here

  Who Is This Template For?  
  I built this workflow for creators, freelancers, students, and professionals who love the Pomodoro technique but want more than just timers — they want data.

  This template helps you:
  Track every deep work session automatically
  Store logs in Google Sheets for later analysis
  Stay in control via Telegram commands  

  There is no need to pay for premium apps. It’s all free and powered by n8n.

  How Does It Work?  
  This Telegram bot tracks your Pomodoro sessions and sends you alerts during the process.

  Here’s what happens:

  A user sends /start to the bot.
  It launches a 25-minute deep work timer.
  After 25 minutes, the bot sends a break reminder.
  After four cycles, a long break is triggered and the session is logged.
  The session is automatically recorded to Google Sheets with (Date & Time, User ID, Pomodoro count, Session ID, Duration of focus and breaks)

  What Gets Tracked?

  | Field              | Description                          |
  |-------------------|--------------------------------------|
  | Date & Time        | When the session was logged          |
  | User ID           | Your Telegram ID                     |
  | Block Type    | Deep Work or Short Break
  | Pomodoro Count    | Number of cycles completed            |
  | Working Session ID        | Unique ID for each session           |
  | Focus Duration    | Length of each deep work session     |
  | Break Duration    | Short or long break info             |

  You can use this workflow as a base to bring additional features like:
  Connecting with tasks from Google Task
  Send automated productivity reports to monitor your activity
  Link a Pomodoro with a task using Google Calendar

  What Do I Need to Start?

  This workflow is beginner-friendly — no coding required.

  Google Drive API* and *Google Sheet API** credentials
  A Google Sheet set up to log sessions (with the columns of the table above)
  API Credentials:
    Google Sheets API (OAuth2)
    Telegram Bot Token
  Telegram app to chat with the bot

  &gt; The template is plug-and-play. Just follow the sticky notes in the n8n editor to configure it.

  Next Steps  
  Follow the sticky notes in the n8n workflow editor to:

  Set your credentials  
  Connect your Google Sheet  
  Initialize the static data  
  Launch your first /start command on Telegram

    
  🎥 Watch My Tutorial

  🚀 Curious how n8n can supercharge productivity and learning skills??  
  📬 Let’s connect on LinkedIn

  This workflow has been created with N8N 1.82.1
  Submitted: March 24th, 2025

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

workflow_json_compressed:
  [encoded data, 6060 characters]

metadata_json:
  {"categories":["productivity","automation","integration","time tracking"],"complexity":"medium","use_cases":["Automated Pomodoro timers and reminders via Telegram","Logging focus/break sessions to Google Sheets for analysis","Generating productivity reports and session analytics","Integrating Pomodoro sessions with calendars or task systems"],"estimated_setup_minutes":20,"required_services":["Telegram Bot API (Bot Token)","Google Sheets API (Google Drive / OAuth2)","n8n instance"],"key_features":["Telegram bot command (/start) to begin Pomodoro cycles","Automatic 25-minute focus timers with short/long break handling","Counts cycles and triggers long break after 4 pomodoros","Logs sessions to Google Sheets with Date/Time, User ID, Session ID, Pomodoro count, focus and break durations","Configurable via sticky notes in n8n editor (no-code) for easy setup and customization"],"target_audience":["creators","freelancers","students','professionals"]}


name: Push Multiple Files to GitHub Repository via Github REST API
author_name: Custom Workflows AI
author_username: customworkflowsai
categories: []
created_at: 2025-03-24T12:24:08.927Z
updated_at: 2025-03-24T12:24:08.927Z
url: https://n8n.io/workflows/3308
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Introduction
  This workflow offers a streamlined solution for uploading multiple files to a GitHub repository simultaneously using GitHub's REST API. It addresses a significant limitation of n8n's native GitHub node, which only supports single-file uploads at a time. By leveraging GitHub's Git Data API, this workflow creates a new Git tree containing multiple files, commits this tree, and updates the target branch—all in a single automated process.

  The workflow is particularly valuable for automation scenarios that require batch file operations, such as deploying website updates, publishing documentation, or maintaining configuration files across repositories. It eliminates the need for multiple separate API calls when working with multiple files, making your automation more efficient and less prone to partial update issues.

  By abstracting the complexities of GitHub's Git Data API into a reusable workflow, it provides a practical solution for developers, content managers, and DevOps professionals who need to programmatically manage repository content at scale.

  Who is this for?
  This workflow is designed for:

  Developers and DevOps engineers who need to automate file updates in GitHub repositories
  Content managers who regularly publish multiple files to GitHub-hosted websites or documentation
  Automation specialists looking to integrate GitHub operations into larger workflows
  Teams using n8n for CI/CD processes who need to push code or configuration changes

  Users should have basic familiarity with GitHub concepts (repositories, branches, commits) and should be comfortable obtaining and using GitHub Personal Access Tokens. While the workflow handles the API complexity, users should understand the fundamentals of version control to effectively utilize and customize it.

  What problem is this workflow solving?
  This workflow addresses several key challenges:

  Limited batch operations: n8n's native GitHub node only supports uploading one file at a time, making multi-file operations cumbersome and inefficient.

  API complexity: GitHub's Git Data API requires multiple sequential calls with interdependent data to create commits with multiple files, which is complex to implement manually.

  Automation bottlenecks: Without this workflow, automating multi-file updates would require either multiple separate API calls (risking partial updates) or custom scripting outside of n8n.

  Consistency issues: When files need to be updated together (e.g., code and corresponding documentation), this workflow ensures they're committed in a single atomic operation.

  By solving these issues, the workflow enables reliable, atomic updates of multiple files, maintaining repository consistency and simplifying automation processes.

  What this workflow does
  Overview
  This workflow uses GitHub's REST API to push multiple files to a repository in a single operation. It follows Git's internal model by:
  Retrieving the current state of the repository
  Creating a new tree with the files to be added or updated
  Creating a new commit with this tree
  Updating the branch reference to point to the new commit

  Process
  Initialization: The workflow starts with a manual trigger and sets up GitHub credentials and repository information.

  File Content Definition: Two "Set" nodes define the content for the files to be uploaded.

  Repository State Retrieval: 
     The workflow fetches the latest commit SHA for the specified branch
     It then retrieves the base tree SHA from this commit

  Tree Creation: A new Git tree is created that includes both files (file1.txt and file2.txt), specifying their paths and content.

  Commit Creation: A new commit is created with the specified commit message, referencing the new tree and the parent commit.

  Branch Update: Finally, the branch reference is updated to point to the new commit, making the changes visible in the repository.

  Setup
  To use this workflow:

  Import the workflow: Download the workflow JSON and import it into your n8n instance.

  Create a GitHub Personal Access Token:
     Go to GitHub Settings → Developer Settings → Personal Access Tokens → Fine-grained tokens
     Create a new token with "Contents" permission (Read and write) for your target repository

  Configure the workflow:
     Update the "Set Github Info" node with:
       Your GitHub Personal Access Token
       Your GitHub username
       Your repository name
       The target branch (default is "main")
       A commit message

  Define file content:
     Modify the "File 1" and "File 2" nodes with the content you want to upload

  Adjust file paths if needed:
     In the "Create new tree" node, update the file paths if you want to change where the files are stored in the repository

  Save and run the workflow: Click "Test workflow" to execute the process.

  How to customize this workflow to your needs
  This workflow can be adapted in several ways:

  Add more files: 
     Create additional "Set" nodes for more file content
     In the "Create new tree" node, add more tree entries following the same pattern (path, mode, type, content)

  Change file locations:
     Modify the "path" parameters in the "Create new tree" node to place files in different directories

  Dynamic file content:
     Replace the static content in the "File" nodes with data from other sources
     Use previous nodes or HTTP requests to generate file content dynamically

  Conditional file updates:
     Add IF nodes to determine which files should be updated based on certain conditions
     Create separate branches in your workflow for different update scenarios

  Scheduled updates:
     Replace the manual trigger with a Schedule node to run the workflow at specific intervals
     Combine with other triggers like Webhook or database events to push files when certain events occur

  Error handling:
     Add Error Trigger nodes to handle potential API failures
     Implement notification nodes to alert you of successful pushes or failures

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

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

metadata_json:
  {"categories":["automation","integration","devops","version control","content management"],"complexity":"medium","use_cases":["Batch upload or update multiple files in a GitHub repo in a single commit","Deploy website or documentation updates atomically","Maintain configuration files across repositories","Integrate GitHub file updates into CI/CD or automation pipelines","Programmatically publish content from other sources into a repo"],"estimated_setup_minutes":15,"required_services":["n8n","GitHub (REST API / Git Data API) - with a Personal Access Token"],"key_features":["Push multiple files to a repository in a single atomic commit","Creates git tree, commit, and updates branch via Git Data API","Avoids multiple single-file API calls (batch operation)","Supports dynamic file content and customizable file paths","Can be scheduled or triggered via webhooks/manual runs and extended with error handling/notifications"],"target_audience":["Developers","DevOps engineers","Content managers and documentation maintainers/website publishers powered by GitHub Pages or similar services"]}


name: WebSecScan: AI-Powered Website Security Auditor
author_name: Dale Dunlop
author_username: daledunlop
categories: []
created_at: 2025-03-24T18:13:24.596Z
updated_at: 2025-03-24T18:13:24.596Z
url: https://n8n.io/workflows/3314
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  WebSecScan: AI-Powered Website Security Auditor

  This n8n workflow provides comprehensive website security analysis by leveraging OpenAI's models to detect vulnerabilities, configuration issues, and security misconfigurations. The workflow generates a professional HTML security report delivered directly via Gmail.

  Key Features

  Dual-Layer Security Analysis:** Performs parallel security audits using specialized OpenAI agents:
    Header Configuration Audit: Analyzes HTTP headers, CORS policies, CSP implementation, and cookie security
    Vulnerability Assessment: Identifies XSS vectors, information disclosure, and client-side weaknesses
    
  Detailed Security Grading:** Automatically calculates a security grade (A+ to F) based on findings severity and quantity

  Professional Report Generation:** Creates a comprehensive HTML report with:
    Security grade visualization
    Color-coded vulnerability categories
    Detailed recommendations with example configuration fixes
    Header presence/absence indicators
    Implementation guidance for remediation

  Non-Invasive Testing:** Performs analysis without active scanning or exploitation attempts

  Technical Implementation

  Multi-Agent Architecture:** Utilizes two specialized OpenAI agents with custom prompts tailored for security analysis
  Advanced Header Analysis:** Detects presence and proper implementation of critical security headers:
    Content-Security-Policy
    Strict-Transport-Security
    X-Content-Type-Options
    X-Frame-Options
    Referrer-Policy
    Permissions-Policy

  Intelligent Issue Detection:** Uses JavaScript processing to analyze OpenAI outputs and count critical/warning issues
  Responsive HTML Report:** Dynamically generates a mobile-friendly report with detailed findings and recommendations

  Setup Requirements

  1. OpenAI API Configuration
  Create an OpenAI API key at platform.openai.com
  In n8n, go to Settings → Credentials → New → OpenAI API
  Enter your API key and save

  2. Gmail Integration
  Navigate to Settings → Credentials → New → Gmail OAuth2 API
  Complete the OAuth authentication flow
  Configure recipient email in the "Send Security Report" node

  3. Workflow Customization (Optional)
  Modify the form title/description in the Landing Page node
  Upgrade from gpt-4o-mini to gpt-4o for more comprehensive analysis
  Add additional recipients to the email report

  Usage Instructions

  Activate the workflow and access the form via the generated URL
  Enter any website URL to analyze (including the http:// or https:// prefix)
  Receive a detailed security report via email within minutes
  Share findings with your development team to implement fixes

  This workflow represents a non-invasive security assessment tool. For production environments, complement with professional penetration testing services.

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.code","n8n-nodes-base.gmail","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","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 15300 characters]

metadata_json:
  {"categories":["security","automation","integration","reporting"],"complexity":"complex","use_cases":["Non-invasive website security assessment","HTTP header and CORS/CSP configuration auditing","Client-side vulnerability identification (e.g., XSS vectors)","Automated security grading and compliance checks","Generate and email professional HTML remediation reports"],"estimated_setup_minutes":20,"required_services":["OpenAI API (API key)","Gmail (OAuth2) for sending reports","n8n instance (hosted or self-hosted)","Target website URL to analyze"],"key_features":["Dual-agent AI analysis (header audit + vulnerability assessment)","Advanced HTTP header detection (CSP, HSTS, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy)","Automated security grading (A+ to F)","Non-invasive testing (no active exploitation)","Responsive, color-coded HTML security report with remediation guidance and example fixes」「JavaScript-driven issue counting and severity classification」「Email delivery of report via Gmail node"],"target_audience":["Security engineers / consultants","Developers and DevOps teams","QA teams and site reliability engineers (SRE) / IT admins"]}


name: AI-Powered Product Research & Comparison with GPT-4o and SerpAPI
author_name: AiAgent
author_username: lifehacks
categories: []
created_at: 2025-03-25T02:47:46.888Z
updated_at: 2025-03-25T02:47:46.888Z
url: https://n8n.io/workflows/3315
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  What It Does
  This powerful workflow can take hours of difficult research attempting to identify the perfect product to buy and condense it into a few short minutes. Simply typing the name of an item you wish to purchase into a chat message will initiate the workflow to begin its search process to identify 5 top of the line products for you to purchase. The initial chat with prompt the Item Finder AI agent utilizing the power of GPT-4o in combination with SerpAPI to conduct a search and find 5 top end items that match the prompt. It will then send the name of each item to a separate Reviewer Tools Agent that will gather information on each item. Each Reviewer Tools Agent will again harness the power of GPT-4o and SerpAPI to give a detailed description of the item features, lowest price available, options of retailers available to purchase the item, a summary of the reviews and overall star ratings. 
  Who This Is For
  This is the perfect workflow for anyone who is interested in making a big-time purchase and wants to have all the information presented in a quick organized fashion to make the best decision possible. Rather than searching through multiple stores and reading through hundreds of reviews and product description, you can now utilize the power of GPT-4o and SerpAPI to conduct that search for you and bring all the information to you. Whether you are searching for a TV with the best screen quality, a work laptop that will have the power and memory you need, or that unique item for your business that is difficult to find and even harder to find the cheapest price, this workflow is exactly what you need.
  How It Works
  Begin by opening the chat trigger node and typing the name of an item you would like to purchase and would like it to do an in-depth search for. Example: golf driver, gaming desktop computer, or mid-size three row SUV.
  This will trigger the Item Finder Tools Agent to begin to utilize GPT-4o to begin to create search queries based off the item you wish to purchase. It will then use these search queries with SerpAPI to identify 5 high quality, modern items. After it has obtained the names of five items it will then in a structured output, send each item to a separate Reviewer Tools Agent.
  Once the Reviewer Tools Agent has received the name of the item it will then begin an in-depth review of that item. Each Reviewer Tools Agent will again use the power of GPT-4o connected with SerpAPI to obtain the most up to date information on each item from the internet. For each item you will be provided with:
  Detailed description of item features
  	It will go in depth and give features that make that item unique. Qualities that will allow you to compare one items features to another.
  Lowest Price available
  Online retail stores available for purchase
  Summary of reviews
  	It will give both the pros and cons discussed by various reviewers in regard to the item.
  Overall star rating
  After each of the Reviewer Tools Agent is complete with its review of the item, they will all send the information along to a Compiler Tools Agent.  This tools agent uses GPT-4o-mini to arrange the data and present it in a concise, organized fashion. This allows for easy readability.
  Set Up Steps
  Set up steps:
  You will need to obtain an Open AI API key from platform.openai.com/api-keys
  After you obtain this Open AI API key you will need to connect it to the Open AI Chat Model for all of the Tools agents (Item finder, Reviewer 1, Reviewer 2, Reviewer 3, Reviewer 4, Reviewer 5, and Compiler).
  You will now need to fund your Open AI account. GPT 4o costs ~$0.06 to run the workflow.
  Next you will need to create a SerpAPI account at https://serpapi.com/users/sign_up
  After you create an account you will need to obtain a SerpAPI key.
  You will then need to use this key to connect to the SerpAPI tool for each of the tools agents (Item finder, Reviewer 1, Reviewer 2, Reviewer 3, Reviewer 4, and Reviewer 5)
  	Tip: SerpAPI will allow you to run 100 free searches each month. This workflow uses ~8-15 SerpAPI searches per run. If you would like to utilize the workflow more than that each month, create multiple SerpAPI accounts and have an API key for each account. When you utilize all 100 free searches for an account, switch to the API key for another account within the workflow.
   

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolSerpApi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.merge","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolSerpApi","@n8n/n8n-nodes-langchain.toolSerpApi","@n8n/n8n-nodes-langchain.toolSerpApi","@n8n/n8n-nodes-langchain.toolSerpApi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolSerpApi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","product-research","e-commerce","AI-assistant"],"complexity":"complex","use_cases":["Product comparison and buying recommendations","Price and retailer aggregation","Rapid market/product research","Summarizing user reviews and ratings","Pre-purchase decision support"],"estimated_setup_minutes":30,"required_services":["OpenAI (GPT-4o and GPT-4o-mini) API key","SerpAPI key","n8n runtime/environment"],"key_features":["Chat-triggered multi-agent workflow (Item Finder + 5 Reviewer agents + Compiler)","Uses GPT-4o for query generation, review synthesis and SerpAPI for live web search","Returns 5 top product candidates with detailed features per item","Provides lowest available price and list of retailers","Summarizes pros/cons from reviews and provides overall star rating (aggregated data output)"],"target_audience":["Consumers researching major purchases","E-commerce shoppers comparing products and prices","Procurement teams and buyers needing quick comparisons"]}


name: Automated Resume Review System Using OpenAI + Google Sheets
author_name: Mirza Ajmal
author_username: ajmalmirza
categories: []
created_at: 2025-03-25T09:20:13.331Z
updated_at: 2025-03-25T09:20:13.331Z
url: https://n8n.io/workflows/3318
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  Who is this for?
  This workflow is ideal for:
  HR teams and recruiters seeking to streamline resume screening.
  Hiring managers who want quick, summarized candidate insights.
  Recruitment agencies handling large volumes of applicant data.
  Startups and small businesses looking to automate hiring without complex systems.
  AI and automation professionals who want to build smart HR workflows using n8n and OpenAI.

  What problem is this workflow solving? / Use Case
  Manually reviewing resumes is time-consuming, inconsistent, and prone to human bias. 
  This workflow automates the resume intake and evaluation process—ensuring that each applicant is screened, summarized, and scored using a consistent, data-driven method.
  It enhances efficiency and supports better hiring decisions.

  What this workflow does

  Accepts resume submissions via form and saves files to Google Drive.
  Extracts key information from resumes using AI (e.g., name, contact, education, experience).
  Summarizes candidate qualifications into a short, readable profile.
  Allows HR to rate applicants and leave comments.
  Logs all extracted data and evaluations into a centralized Google Sheet for tracking.

  Setup

  Resume is submitted through an n8n form.
  The uploaded file is automatically stored in Google Drive.
  n8n uses OpenAI and document parsing tools to extract candidate data.
  Extracted information is structured and summarized using GPT.
  A review form is triggered for internal HR rating and notes.
  All data is appended to a Google Sheet for records and filtering.
  How to customize this workflow to your needs**

  Change the form tool (e.g., Typeform, Tally, or custom HTML) based on your stack.
  Adapt the summary prompt to align with your specific role requirements.
  Add filters to auto-flag top-tier candidates based on score or skills.
  Integrate Slack or email to notify hiring managers when top resumes are processed.
  Connect to your ATS if you want to push processed resumes into your recruitment system.

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.extractFromFile","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.chainSummarization","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  [encoded data, 6092 characters]

metadata_json:
  {"categories":["automation","integration","data processing","human resources","AI-assisted screening"],"complexity":"medium","use_cases":["Automate resume intake and screening","Extract structured candidate data from uploaded resumes","Generate concise candidate summaries using GPT","Centralize applicant records in Google Sheets for tracking and filtering","Enable HR rating and internal review workflows with form-driven feedback collection"],"estimated_setup_minutes":60,"required_services":["OpenAI (GPT) API","Google Drive","Google Sheets","Form provider (Typeform, Tally, custom HTML, or n8n form)","n8n instance","Document parsing/extraction tool or nodes (extractFromFile / informationExtractor)"],"key_features":["Accept resume uploads via form and save files to Google Drive","AI-powered extraction of name, contact, education, experience, and skills","GPT-generated concise candidate summaries/profiles","Internal review form to capture HR ratings and comments","Append structured data and evaluations to a centralized Google Sheet for tracking and filtering"],"target_audience":["HR teams and recruiters","Hiring managers","Recruitment agencies and staffing firms handling high volumes of applicants"]}


name: Add new incoming emails to a Google Sheets spreadsheet as a new row
author_name: WeblineIndia
author_username: weblineindia
categories: []
created_at: 2025-03-25T11:09:29.929Z
updated_at: 2025-03-25T11:09:29.929Z
url: https://n8n.io/workflows/3319
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n workflow automates the process of capturing and storing incoming email details in a structured spreadsheet format, such as Google Sheets or Excel. Whenever a new email is received, the workflow extracts key details—including the sender’s email, subject, email body, and optional attachments—and logs them as a new row in the spreadsheet.

  You can customise this workflow to extract additional details, filter emails based on specific criteria, or send notifications when new entries are added.

  Pre-conditions & Requirements

  Before setting up this workflow, ensure that:

  You have access to the email provider (e.g., Gmail, Outlook, or IMAP-supported email services).
  The Gmail Node must be enabled in n8n.
  You must authenticate n8n with Google OAuth2 to access your inbox.
  Ensure that the Gmail API is enabled in the Google Cloud Console.
  You have an existing Google Sheet where data will be stored.
  The Google Sheets API is enabled.
  You authenticate n8n with your Google account.

  Steps

  Step 1: Add the Gmail Trigger Node

  Click on "Add Node" and search for "Gmail".
  Select "Gmail Trigger" and click to add it.
  Under Authentication, click "Create New" and authenticate with your Google account. (If you have already connected your Google account, simply select it.)
  In the Trigger Event field, select "Message Received".
  Under Filters, you can specify:
  	Label/Mailbox: If you want to listen to emails from a specific folder (optional).
  	From Address: If you only want to receive emails from specific senders (optional).
  Click "Execute Node" to test the connection.
  Click "Save".

  What This Does:
  This node listens for new incoming emails in your Gmail inbox.
  Step 2: Store Email Data in Google Sheets

  Click on "Add Node" and search for "Google Sheets" (or Microsoft Excel, if applicable)
  Under Authentication, connect your Google account
  Select the target Spreadsheet and Sheet Name where the data will be stored
  Set the Operation to "Append Row"
  Map the extracted email data to the correct columns.
  Click "Execute Node" to test and verify data storage
  Click "Save"

  What This Does:
  This node automatically adds a new row for each incoming email, ensuring a structured and searchable email log.
  Final Step
  Attach both node and execute the workflow.

  Who’s behind this?

  WeblineIndia’s AI development team. 

  We've delivered 3500+ software projects across 25+ countries since 1999. From no-code automations to complex AI systems — our AI team builds tools that drive results. 

  Looking to hire AI developers? Start with us.

nodes_used:
  ["n8n-nodes-base.gmailTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE61WXW/bNhT9KwS7hw2QDEmWbclAH5Ks6TqsKda4BbYmCCjySmYrkSpJ2XEM//fhUrLjBAnQj70ksni/zrn3HmpLpaBzKs7+Wr3r/q145hb673VHA9qAY3S+pVJZxxSHN2gXp5Dy2SyO0lmSsCLOppNxLkpgkzhLII1zBpxnY5FN8um4hHhcTgVk04RnswkUJaMBddC0NXNwZkDYS3Bde6abtgYHgs6d6WAXUMUaoHN6IgRRsCZScd1IVRFomKwtcZow8lrrqgZyuQRwltjWABMWfxBmCfN+Rq9HmJFVls4/XQdUaQH4uO1Rp6KIyzwpw2maTMI05mmYlck0zFOIx1BOuIhLeqjmNSYnCyOrCgyG3bT4WmUq9HHDglkYVWh1b6S0w4wPna8UDWirrXRSKzr/FCZRFIRJdB3QlhnWgANjkftS1sPjDh3qeiEb8CfSQeOBNFpgFbACs3krVeeA7q53u4ByAwKUk6z2Dr6udyedWybeH/HfY6Po4Wt9o85rve470WP8CMb6OuNRsgsG19mMzyJeiLDkbBameTIJc5bOQkh4Ho2LjE1TOKLuuFfPU+etDkZHBMXZ0/xwXXeN8o8rVneAD4UWGzqnL7db8stnq9XIKtm24MhuRwN62RWfgbsHBsO7wQCUAENeIV0PrM6NbtBkF1DLl9Cw+zl64HNAZ52RqqIBFdK2NdvsOTXwtZMGp71ktYXD+UXP1aNgAkrW1e4tc3x58OBMncIHC2Khh4N+cfb1DCB/upRDnB+pwjfiZ0sYgnxP/uuANqxtpare9rshoJQKTgHnGs8cX0pVne1nB4WBOZQlt9BnWq3AuMWmxT3bJ+pfnkuohV3oyx5Kf7oLqG5xTIct1S0Y1o8tZW0LStCAel3qEW3pzY2p9+iH7a2lRZaHGaaVFC8jigD5EsR7sF3tPqATffTyYr+9ARWadw0ohzL9LTlinWSn56fu7s6q9UUUf1zw8n2bnH7YnJzLHMI8/uOmyJPopvqTf1cpT0jP0V73CnTSyudE6IHipKPJYZyigk+zWTYOIZ/kYRqVszDjfByyLIsimCZRkrP7WJdO8i8bcqEdPKs31tsMJg/keBoFYfak3GhD50lA11K4JZ1Pp1FAlyCrpaNz9MJRcaBQX168eEH+jwvsStHHtMQHUvKI5SlLRTiNSh6mkUjCrIghjIsyinmeiVmWP0lK/GOsJNG3snJMBPkdLDfSrwmZX6nFUlqiMkXW2nwpa70mrHO6YQ4scUsgrdEcrCW6JNZpcyCOCHCeP6kIe8DYegkKr8CBt95aWmKAg1yBGJE3jnRO1vJuyPHq+EImiB+7IsDhTfC4X0wJdFIEbp1h3PUhrFfqgNheJgNv1qce0AdkvZR8SZgBtLLwtQPl6g2xbAWCSOUH4RjIrzCqRsGj2dCGMEVe3XKoSSlr+G1EPIWgbGcAh8U603HXGRAIWRuB3A3Fl9qQsjNuCWbPrFQVVsvqjZU2wPgGWm2cVNXoSl2pf3RHOFOEd9bpRt4BcZjvvl2WtGDIRnfo6QUctcciFwjXEiYE8of/sOsMKfF6i73z5B2Bdtr3GUiDf/ZN1oY0Wshyg4Gk8ziELEswoBzpLBDOLNiA1PILkBqYINicLx5cXzkYIhWWJ6GHuZ+zfZ9qXVUImjyxY3gtcCdXcLgHLDikyE893ALvENo7I8DQOV3FGGPV+/uPZZGxIiniaVhEeRymk0kRMpGOwwzieMbSHJJ8Rv2mKOD7K+TRZ+Z8Sxsmcf8+bf3n6/NfU94uoFIJuKXzaHd9vdvt/gMvsA504AsAAA==

metadata_json:
  {"categories":["automation","integration","data-logging"],"complexity":"simple","use_cases":["Email archiving and audit logging","Lead capture from incoming emails","Support ticket intake / customer request logging","Centralized inbox tracking for teams","Automated attachment tracking and storage"],"estimated_setup_minutes":15,"required_services":["Gmail (or other IMAP/Outlook email provider)","Google Sheets (spreadsheet)","Google Cloud Console with Gmail & Google Sheets APIs enabled","n8n instance with Gmail and Google Sheets nodes enabled and authenticated"],"key_features":["Real-time email trigger (Message Received)","Extracts sender, subject, body and optional attachments","Append each email as a new row in a spreadsheet","Optional filters by label/mailbox or sender address","Customizable field mapping for spreadsheet columns"],"target_audience":["Marketers","Sales teams","Customer support teams / helpdesk staffsersors?`,`operations teams"]}


name: Post New Google Calendar Events to Telegram
author_name: WeblineIndia
author_username: weblineindia
categories: []
created_at: 2025-03-25T11:13:46.722Z
updated_at: 2025-03-25T11:13:46.722Z
url: https://n8n.io/workflows/3320
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n workflow automatically sends a Telegram message whenever a new event is added to Google Calendar. It extracts key event details such as event name, description, event creator, start date, end date, and location and forwards them to a specified Telegram chat. This ensures you stay updated on all newly scheduled events directly from Telegram.

  Prerequisites
  Before setting up the workflow, ensure the following:
  Google Account with Google Calendar Access: The Google Calendar API must be enabled.
  Telegram Bot: Create a bot using BotFather on Telegram.
  Telegram Chat ID: Retrieve the Chat ID (personal chat or group).
  Use OAuth2 for Google Calendar and a Bot Token for Telegram.

  Steps

  Step 1: Google Calendar Trigger Node (Event Created Event)

  Click "Add Node" and search for Google Calendar.
  Select "Google Calendar Trigger" and add it to the workflow.
  Authenticate with your Google Account.
  Select "Event Created" as the trigger type.
  Choose the specific calendar to monitor.
  Click "Execute Node" to test the connection.
  Click "Save".

  Step 2: Telegram Node (Send Message Action)

  Click "Add Node" and search for Telegram.
  Select "Send Message" as the action.
  Authenticate using your Telegram Bot Token.
  Set the Chat ID (personal or group chat).
  Format the message using details from Google Calendar Trigger and  set the message in text.
  Click "Execute Node" to test.
  Click "Save".

  Step 3: Connect & Test the Workflow

  Link Google Calendar Trigger → Telegram Send Message.
  Execute the workflow manually.
  Create a test event in Google Calendar.
  Check Telegram to see if the event details appear.

  n8n Workflow Created by WeblineIndia

  This workflow is built by the AI development team at WeblineIndia. We help businesses automate processes, reduce repetitive work, and scale faster. 

  Need something custom? You can hire AI developers to build workflows tailored to your needs.

nodes_used:
  ["n8n-nodes-base.googleCalendarTrigger","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE51Vy24bNxT9FYLpcijM+wV0ESRNEaBNisQt0MZGcEnekVjPkCrJsSwI8+8FKdmSHWfR7mbIw/s451zyQJWkPX1j/ty9m/+6+qe6/X1WHGhCJ/RA+wNV2nnQAt8HXFZiKZomS8smz4FnbV0VnRwQqqzNscw6QCHaQrZVVxcDZsVQS2zrXLRNhXwAuiRUw4S0p78Z54nGHfnZmPWI5A2MqCVYgneovSPekCsccW1hogn1sHa0/3KTUG0khs/DsXKOeVtCzVkjYWBlK1rWdTAw7IoOBe/qocjpY9Lnua6sWq/RhgT7bQDoVrOYgXFwuFpH/AP8jN4ap7wymvZfsjRN2vQmoVuwMKFH6wJtZhv2w+cS4ON4pSaMO8rjFOufjAwp8Q7t/lelZ490uVkS6o9pPurjpvZvLIJHSRMqTpUEMQ7061c70t7bGZOHYKNynib0DsY5/MYjYoPyE7p59B+OLNBlSaiwKFF7BWOs6mmnH1/PfpO/3qpYsDxG0henA11/oHWRg2xJTqiuabFNec06nrWsHFCwtsGWZc0AeVFUOJTtOdKlvi/S78+AC8bLB8Z3yDfG3EZnSs5r6GpkkheclW3esK6sKgZdlqYNb7s6q+lzkTzee9rTH38KLJPATk/I4UB++NsZvXLzNIHdk2W51m/RCauipv0ZIc+rEXWM84sR8Aw4npYi6rMH68lb8HiBcGFxJcFjMMoxmpbPUajlU0y0hrEXEHFcWeEEaoyYax1ssAH//iQkSBm5hPGdwlFGKmC7RS1fe28Vn49EDzA6/FbsVf4o99CmeTNwZDmvGlbyChjkHWd5zjsY8kbUjTjL/dkrcbsnH4zH7yruIuYEudA8Tb4dMWFGY2lfJ3SnpN/Qvi7ThG5QrTee9nmdJlQY7VEHjV+9Iv/hxrnW9PsmH2SGdYoZq0QJrCw6ztpy4CyvsZKQpxyy4sWus//Rdv7C3fJy4096vfDrtb7aKEd0q8nO2NthNDsCszcTeCVgHPfEoZaOwGP3ZELnYI1kt0EdricCkbfIE1GOgJQoA1/PmFyR957gvbcgvCO3uD8dkehBjY64WWwIuNNqICghFzOUnDZOFk5IHAoSDJ8Q1PL0BVqSx4EKP4OxO7DSEb/BKZQFxG1RqEGhPDcVJmBFIheo3WzRkb2ZQ449mbchtCQh4DiGZgMt4eKcR5QPBpHKovDjngzWTI+BVy9Y5SahILy6w9MUJdSh90qvo354jyLO2Ecr0dKe3mUhxt3xfJzSrs5TWQw1q4u8ZGU3tIyXKTIJRVYMVVqWA6dRc43i4aX57vPWH+gEKhjqyyE+oC9evhGSUKUl3tM+XW5ulmX5F6veHHYhCAAA

metadata_json:
  {"categories":["automation","integration","notifications"],"complexity":"simple","use_cases":["Send real-time notifications for newly created calendar events","Keep team or group chats updated about scheduled meetings","Personal reminders for newly added events","Monitor third-party calendars and push updates to Telegram"],"estimated_setup_minutes":15,"required_services":["n8n instance","Google Account with Google Calendar API enabled (OAuth2)","Telegram Bot (BotFather) and Bot Token","Telegram Chat ID (personal or group)"],"key_features":["Triggers on new Google Calendar events (Event Created)","Extracts event details: title, description, creator, start/end, location","Sends formatted message to specified Telegram chat","Supports personal or group chat via Chat ID","Simple node-based setup (Google Calendar Trigger → Telegram Send Message)"],"target_audience":["small businesses and teams","project managers and operations","IT/admins setting up notifications and monitoring integrations"]}


name: Capture URL Screenshots from Google Sheets with ScreenshotOne & Save to Drive with Gmail Alerts
author_name: Niko
author_username: niko
categories: []
created_at: 2025-03-25T11:27:09.805Z
updated_at: 2025-03-25T11:27:09.805Z
url: https://n8n.io/workflows/3321
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Capture URL Screenshots Automatically from Google Sheets & Drive with ScreenshotOne & Gmail Alerts

  Summary
  This automation template streamlines the process of capturing screenshots for multiple URLs. Instead of manually visiting each URL, taking a screenshot, and organizing the results, this workflow automates everything. When a spreadsheet is added to a designated Google Drive folder, the template extracts URLs from the column named "Url." These URLs are then processed through ScreenshotOne to capture screenshots, which are saved back to the same folder. Finally, an email notification is sent via Gmail with a link to the folder containing the screenshots.

  Problem Solved
  This template addresses the challenge of manual screenshot capture for multiple URLs. Without this automation, a user would need to:

  Open each URL from a spreadsheet.
  Take a screenshot manually.
  Save each screenshot with an appropriate name.
  Organize the screenshots in a folder.
  Notify stakeholders when the process is complete.

  These steps are not only time-consuming but also repetitive, especially when handling a large number of URLs.

  Who Can Benefit:
  Digital Marketers:** Monitor website appearances for competitive analysis or to track campaign landing pages.
  Web Developers/Designers:** Capture screenshots of multiple websites for inspiration or reference.
  QA Teams:** Document the visual state of web pages during various stages of development.
  SEO Specialists:** Track visual changes to websites they are optimizing.
  Content Managers:** Monitor how content appears across various web properties.

  Prerequisites
  Google Drive Node:** Must have appropriate permissions to create and access folders.
  Connected Google Sheets Node:** To extract URLs from the spreadsheet.
  Authenticated Gmail Node:** For sending notifications.
  ScreenshotOne Account:* Either a free or paid plan depending on volume needs, along with an *Access key**.  
    Ensure you replace the placeholder --YOUR ACCESS KEY-- with your generated access key in the "Get Screenshots" node.

  Workflow Details
  Step 1: Google Drive Integration
  Trigger Node:**  
    Monitors a specific folder in Google Drive. When a spreadsheet is added, the workflow is initiated.  

  Step 2: Google Sheets Processing
  Google Sheets Node:**  
    Extracts URLs from the column named "Url."

  Step 3: Screenshot Capture
  Get Screenshots Node:**  
    Sends each extracted URL to ScreenshotOne to capture screenshots.

  Step 4: Saving Screenshots and Notifications
  Google Drive Node:**  
    Saves the captured screenshots back into the same folder.
  Gmail Node:**  
    Sends an email notification with a link to the folder, alerting stakeholders that the screenshots are ready.

  Customization Guidance
  Folder Monitoring:
  	The workflow is set to monitor a specific Google Drive folder. It can be customized by selecting a different folder in the node settings.

  Spreadsheet Structure:
  	While the template expects a spreadsheet with a column named "Url." for extracting URLs, users can add additional columns (e.g., titles, categories, or tags) and modify the workflow to utilize them as needed.

  Email Settings:
  	Customize the recipient, subject, and body of the notification email to suit your needs. If required, enable optional notifications for different stakeholders.

  ScreenshotOne Access Key & Configurations:
  	A valid ScreenshotOne Access key is required to capture screenshots. Users can further refine screenshot settings (e.g., viewport size, device emulation, or delay timing) by exploring the available options in the ScreenshotOne API documentation.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","data processing"],"complexity":"medium","use_cases":["Bulk website screenshot capture","Visual monitoring / visual regression checks","Competitive/marketing website surveillance","QA visual documentation","Automated stakeholder notifications when screenshots are ready"],"estimated_setup_minutes":15,"required_services":["Google Drive (monitor & save)","Google Sheets (source URLs)","Gmail (notifications)","ScreenshotOne (screenshot API & access key)"],"key_features":["Folder-triggered workflow that starts when a spreadsheet is added","Parses URLs from a column named 'Url' in Google Sheets","Calls ScreenshotOne to capture screenshots for each URL","Saves screenshots back to the originating Google Drive folder","Sends Gmail notification with a link to the folder when done (configurable recipients)"],"target_audience":["Digital marketers","Web developers & designers","QA teams / testers (visual checks) ‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎]\",\"SEO specialists\",\"Content managers"]}


name: Build Custom AI Agent with LangChain & Gemini (Self-Hosted)
author_name: shepard
author_username: shepard
categories: []
created_at: 2025-03-26T01:02:38.093Z
updated_at: 2025-03-26T01:02:38.093Z
url: https://n8n.io/workflows/3326
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:31
description:
  Overview  
  This workflow leverages the LangChain code node to implement a fully customizable conversational agent. Ideal for users who need granular control over their agent's prompts while reducing unnecessary token consumption from reserved tool-calling functionality (compared to n8n's built-in Conversation Agent).  

  Setup Instructions  
  Configure Gemini Credentials: Set up your Google Gemini API key (Get API key here if needed). Alternatively, you may use other AI provider nodes.  
  Interaction Methods:  
     Test directly in the workflow editor using the "Chat" button  
     Activate the workflow and access the chat interface via the URL provided by the When Chat Message Received node  

  Customization Options  
  Interface Settings: Configure chat UI elements (e.g., title) in the When Chat Message Received node  
  Prompt Engineering:  
     Define agent personality and conversation structure in the Construct & Execute LLM Prompt node's template variable  
     ⚠️ Template must preserve {chat_history} and {input} placeholders for proper LangChain operation  
  Model Selection: Swap language models through the language model input field in Construct & Execute LLM Prompt  
  Memory Control: Adjust conversation history length in the Store Conversation History node  

  Requirements:  
  ⚠️ This workflow uses the LangChain Code node, which only works on self-hosted n8n.  
  (Refer to LangChain Code node docs)

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","conversational AI","integration"],"complexity":"complex","use_cases":["Build a fully customizable chat agent","Prompt engineering and persona tuning","Self-hosted LLM workflows to reduce token use","Embedding a chat UI endpoint for users/testing","Controlling conversation memory length"],"estimated_setup_minutes":30,"required_services":["Google Gemini API (API key)","Self-hosted n8n instance with LangChain Code node enabled","Optional: other AI provider nodes (e.g., OpenAI)"],"key_features":["LangChain Code node for custom agent logic","Preserves {chat_history} and {input} placeholders for LangChain prompts","Swap language models via the prompt node input","Store/limit conversation history (memoryBufferWindow)","Test in-editor Chat button or public chat URL from When Chat Message Received node"],"target_audience":["Developers","AI engineers","Chatbot builders/architects who self-host n8n"]}


name: Automatic Squarespace Order Fulfillment Process
author_name: bangank36
author_username: bangank36
categories: []
created_at: 2025-03-26T01:38:35.591Z
updated_at: 2025-03-26T01:38:35.591Z
url: https://n8n.io/workflows/3327
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow automates the Mark as Fulfilled action in Squarespace for each order, ensuring a seamless fulfillment process without manual intervention.

  How It Works
  This workflow retrieves all pending Squarespace orders and processes their fulfillment automatically. The workflow follows these steps:

  1️⃣ Get all pending orders using the HTTP Request node (Since Squarespace does not have a n8n node)
  2️⃣ Create a fulfillment request using Fulfill Order node

  The Filter Orders node can be used to filter valid pending order to process.

  Step-by-step
  The workflow can be run as requested or on schedule

  You can adjust these parameters within the Global and filter nodes:

  Global node for API Setting
  api-version** (string, required) – The current API version (see Squarespace Orders API documentation).
  modifiedAfter**={a-datetime} (string, conditional) – Fetch orders modified after a specific date (ISO 8601 format).
  modifiedBefore**={b-datetime} (string, conditional) – Fetch orders modified before a specific date (ISO 8601 format).
  cursor**={c} (string, conditional) – Used for pagination, cannot be combined with other filters.
  fulfillmentStatus**={status} (optional, enum) – Filter by fulfillment status: PENDING, FULFILLED, or CANCELED.
  maxPage** – Set -1 to enables infinite pagination to fetch all available orders.

  Filter Orders node
  Order Filtering – Ensures only valid orders are fulfilled, particularly useful if:

  You sell digital downloads or gift cards exclusively.
  You use third-party fulfillment services for all products.

  Requirements
  Credentials
  To use this workflow, you need:

  Squarespace API Key – Retrieve from your Squarespace settings.

  Who Is This For?
  Squarespace store owners looking to automate their fulfillment process.

  Merchants selling digital or personalized products who need instant fulfillment.

  Explore More Templates  
  Get all orders in Squarespace to Google Sheets
  Convert Squarespace Profiles to Shopify Customers in Google Sheets
  Fetch Squarespace Blog & Event Collections to Google Sheets

  👉 Check out my other n8n templates

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

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

metadata_json:
  {"categories":["automation","e-commerce","integration"],"complexity":"medium","use_cases":["Automatically mark Squarespace orders as fulfilled","Scheduled or on-demand order fulfillment processing","Filter out orders that shouldn't be auto-fulfilled (digital goods, gift cards, third-party fulfillment)","Handle large order sets via pagination"],"estimated_setup_minutes":20,"required_services":["Squarespace Orders API (API key required)"],"key_features":["Fetch pending orders via HTTP request (Squarespace has no native n8n node)","Create fulfillment requests to mark orders as fulfilled","Order filtering to exclude ineligible items (digital/gift cards/third-party fulfilled)","Supports pagination (cursor or infinite pagination)","Configurable global API settings (api-version, modifiedAfter/Before, fulfillmentStatus)"],"target_audience":["Squarespace store owners","E‑commerce merchants (including digital/personalized product sellers)","Operations teams wanting to automate fulfillment workflows"]}


name: Automatically Create and Upload YouTube Videos with Quotes in Thai Using FFmpeg
author_name: Jaruphat J.
author_username: jaruphatj
categories: []
created_at: 2025-03-26T03:39:20.929Z
updated_at: 2025-03-26T03:39:20.929Z
url: https://n8n.io/workflows/3328
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  Who is this for?
  This workflow is perfect for digital content creators, marketers, and social media managers who regularly create engaging short-form videos featuring inspirational or motivational quotes. While the workflow is universally applicable, it specifically highlights Thai as an example to demonstrate effective language and font integration.

  What problem is this workflow solving?
  Creating consistent and engaging multilingual video content manually, including attractive fonts and proper video formatting, is time-consuming and repetitive. Additionally, managing files, background music, and updating statuses manually can be tedious and prone to errors.

  What this workflow does
  Automatically fetches background video and music files stored on Google Drive.

  Randomly selects a quote (demonstrated with Thai language) and author information from Google Sheets.

  Dynamically combines the selected quote and author text using appealing fonts, such as the Thai font "Kanit," directly onto the video using FFmpeg on your n8n local environment.

  Creates visually engaging videos with a 9:16 aspect ratio, optimized for YouTube Shorts and other vertical video platforms.

  Automatically uploads the finalized video to YouTube.

  Updates the status and YouTube URL back into your Google Sheet, ensuring you have up-to-date records.

  Setup
  Requirements:
  This workflow requires a self-hosted n8n instance, as the execution of FFmpeg commands is not supported on n8n Cloud. Ensure FFmpeg is installed on your self-hosted environment.

  Google Sheets Setup:
  Your Google Sheet must include at least these columns:

  Index: (Unique identifier for each quote)
  Quote: (Text of the quote)
  Author: (Author of the quote)
  CreateStatus: (Track video creation status; values like 'DONE' or blank for pending)
  YoutubeURL: (Automatically updated after upload)

  To help you get started quickly, you can use this template spreadsheet.

  Next steps:

  Organize your video and music files in separate folders in Google Drive.
  Authenticate your Google Sheets, Google Drive, and YouTube accounts in n8n.
  Ensure fonts compatible with your target languages (such as Kanit for Thai) are available in your FFmpeg installation.

  How to customize this workflow to your needs

  Fonts:** Adjust font styles and sizes within the workflow's code node. Ensure the fonts you choose fully support the language you wish to use.

  Quote Management:** Easily add or remove quotes and authors in your Google Sheets document.

  Media Files:** Change or update background videos and music by modifying the files in your Google Drive folders.

  Video Specifications:** Customize video dimensions, text positioning, opacity, and music volume directly in the provided FFmpeg commands.

  Benefits of Using Localized Fonts and Quotes

  Utilizing fonts specific to your target language, as demonstrated with Thai, significantly increases audience engagement by making your content more relatable, shareable, and visually appealing. Ensure you select fonts that properly support the language you're targeting.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.readWriteFile","n8n-nodes-base.readWriteFile","n8n-nodes-base.code","n8n-nodes-base.executeCommand","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.readWriteFile","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7132 characters]

metadata_json:
  {"categories":["automation","media processing","integration","content creation","localization"],"complexity":"complex","use_cases":["Automate creation of short-form videos (YouTube Shorts, Reels, TikTok)","Generate multilingual quote/motivational videos","Batch-produce branded social video content with consistent formatting","Automatically upload videos and maintain tracking metadata","Create localized content using language-specific fonts"],"estimated_setup_minutes":60,"required_services":["n8n (self-hosted)","FFmpeg (installed on the n8n host)","Google Sheets API","Google Drive API (for background videos/music)","YouTube Data API (upload)","Local filesystem fonts (e.g., Kanit for Thai)"],"key_features":["Fetches background videos and music from Google Drive","Selects quotes and authors from Google Sheets (random selection)","Renders text onto video via FFmpeg with language-specific fonts","Produces 9:16 vertical videos optimized for Shorts","Mixes background music and exports final video file locally or to Drive/YouTube via n8n nodes/commands (executeCommand node required locally on self-hosted instance for FFmpeg execution). Updates Google Sheet with status and YouTube URL"],"target_audience":["Digital content creators","Social media managers","Marketers and growth teams producing short-form video content at scale"]}


name: WooCommerce AI Post-Sales Chatbot with GPT-4o, RAG, Google Drive and Telegram
author_name: Davide
author_username: n3witalia
categories: []
created_at: 2025-03-26T08:48:36.972Z
updated_at: 2025-03-26T08:48:36.972Z
url: https://n8n.io/workflows/3329
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  This WooCommerce-integrated chatbot is designed to transform post-sales customer support by combining automation and artificial intelligence to deliver fast, secure, and personalized assistance. 

  The chatbot retrieves real-time order information, including shipping details and tracking numbers, after verifying the customer's identity through a strict email-based authentication system.

  Beyond order management, the chatbot answers frequently asked questions about return policies, delivery times, and terms of service using RAG. 

  If a request is too complex, the system seamlessly escalates it to a human operator via Telegram, guaranteeing no customer query goes unresolved. 

  Key Features of the Chatbot  
  Order Tracking: Retrieves real-time tracking information for WooCommerce orders, including carrier URLs and pickup dates.  
  Order Details Retrieval: Provides customers with past/current order information after strict email verification.  
  Policy & FAQ Assistance: Answers questions about shipping, returns, and store policies using a vectorized knowledge base (ToS tool).  
  Identity Verification: Ensures privacy by requiring exact email-order matches before sharing sensitive data.  
  Human Escalation: Transfers complex issues to human agents via Telegram when the AI cannot resolve them.  
  Context-Aware Conversations: Maintains dialogue context using memory buffers for seamless interactions.  
  Who Benefits from This Chatbot?  
  E-commerce Stores: WooCommerce businesses needing 24/7 automated post-sales support.  
  Customer Support Teams: Reduces ticket volume by handling repetitive queries (tracking, policies).  
  SMBs: Small-to-medium businesses lacking resources for full-time support staff.  
  Customers: Shoppers who want instant, self-service access to order status and FAQs.  

  How It Works  
  Customer Interaction: The workflow starts when a customer sends a chat message, triggering the AI agent.  
  Identity Verification: The agent requests the order number and associated email, strictly verifying the match before proceeding.  
  Order & Tracking Retrieval: Using WooCommerce API tools (get_order, get_tracking), it fetches order details and tracking information.  
  Policy & Support: The ToS tool answers shipping and policy questions, while human_assistance escalates unresolved issues to a human agent via Telegram.  
  Memory & Context: A buffer memory retains conversation context for coherent interactions.  

  Set Up Steps  
  Configure Qdrant Vector Store: Replace QDRANTURL and COLLECTION in the nodes to set up document storage.  
  Add Telegram Chat ID: Insert your Telegram CHAT_ID in the human_assistance node for escalations.  
  Integrate WooCommerce Tracking Plugin: Install the YITH WooCommerce Order Tracking plugin and update the HTTP request URL in the tracking node.  
  Test & Activate: Verify the workflow by testing order queries and ensuring proper email verification.  

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

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","@n8n/n8n-nodes-langchain.toolCalculator","n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterTokenSplitter","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolVectorStore","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.telegramTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7780 characters]

metadata_json:
  {"categories":["automation","integration","e-commerce","customer_support","ai"],"complexity":"complex","use_cases":["Post-sales customer support chatbot","Real-time order & tracking retrieval","Email-based identity verification for sensitive order info","FAQ and policy answering via RAG (vectorized KB)","Seamless escalation to human agents via Telegram"],"estimated_setup_minutes":60,"required_services":["WooCommerce API (with YITH Order Tracking plugin)","Qdrant vector store","OpenAI (GPT-4o + embeddings)","Google Drive","Telegram (bot + chat ID)","n8n webhook/HTTP endpoints"],"key_features":["Real-time order and tracking lookup (carrier URLs, pickup dates)","Strict email-order identity verification before sharing sensitive data","RAG-powered answers from a vectorized Terms-of-Service/FAQ knowledge base","Automatic human escalation to Telegram for unresolved/complex queries","Conversation memory buffer for context-aware interactions across messages (session memory)"],"target_audience":["WooCommerce store owners / e-commerce teams","Customer support teams aiming to reduce ticket volume","Small-to-medium businesses without 24/7 support staff accessors? (typo) developers and consultants implementing AI chat workflows"]}


name: Monitor USDT ERC-20 Wallet Balance with Etherscan and Telegram Notifications
author_name: FORK SOFTWARE TECHNOLOGIES INC.
author_username: fork
categories: []
created_at: 2025-03-26T09:00:34.592Z
updated_at: 2025-03-26T09:00:34.592Z
url: https://n8n.io/workflows/3330
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Overview

  This n8n workflow is specifically designed to monitor the USDT ERC-20 balance within a specific wallet. It uses Etherscan's public blockchain database, which does not require API authentication, to periodically check and process transaction data. This workflow is ideal for users who need an automated solution to track ERC-20 wallet transactions.

  Features
  Automatic Monitoring**: Executes every 5 minutes to capture new transactions.
  Customizable Filters**: Customize tracking based on parameters like transaction duration and wallet addresses.
  Data Aggregation**: Compiles transaction data into a single, structured list.
  Formatted Outputs**: Presents processed data in an organized format.
  Telegram Tracking**: Tracks wallet balances via Telegram notifications using the bot.

  Requirements
  n8n Setup**: Requires a self-hosted or cloud-based n8n instance.
  Basic Understanding**: Basic knowledge of n8n workflows and nodes.

  Installation and Configuration

  Import Workflow: Load the provided JSON workflow into your n8n instance.
  Configure the User Data Node:
     Enter your ERC-20 Wallet Address in the 'Your Wallet Address' field.
     Enter your Etherscan API Key in the “Your Etherscan API Key” field.
     Enter your USDT ERC-20 Contract Address in the "Your ERC-20 USDT Contract Address" field (0xdAC17F958D2ee523a2206206994597C13D831ec7). You can also monitor another token by entering a different contract address.
     
  Configure the Telegram Node:
     Go to Telegram and search for "BotFather".
     
     Select /newbot from the BotFather menu to create your bot.
     Get the API key BotFather provides.
     Go to Telegram and search for "Get My ChatID".
     
     Start the conversation and get your ChatID.
     Use this information to configure the Telegram Node.

  Schedule Trigger Node: By default, the workflow is triggered every 5 minutes. Adjust this according to your needs.

  Test the Workflow: Execute the workflow manually to ensure everything is working as expected.

  How It Works

  Schedule Trigger: Starts the workflow at predetermined intervals.
  Edit Fields: Sets the wallet address, Etherscan API key, and USDT ERC-20 token address.
  Edit Telegram Settings: Create a bot via BotFather. Configure the API key and Telegram Chat ID.
  Etherscan Data Import: Collects transaction data from the ERC-20 wallet using Etherscan's public database.
  Final Results: Organizes and formats the transaction data for review.
  Telegram Bot Message Sending: If there is a balance change, it sends a formatted message about the balance change. If there is no balance change, it sends a message that your balance has not changed. You can configure it to avoid sending a message when there is no change.

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

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

metadata_json:
  {"categories":["automation","monitoring","blockchain","notifications","integration"],"complexity":"medium","use_cases":["Monitor ERC-20 (USDT) wallet balance","Alert on token balance changes via Telegram","Track and aggregate ERC-20 transactions for a wallet","Simple wallet auditing and transaction review","Integrate blockchain events into messaging workflows"],"estimated_setup_minutes":15,"required_services":["n8n (self-hosted or cloud)","Etherscan API (public blockchain data)","Telegram Bot API (BotFather and Chat ID)","Internet access"],"key_features":["Scheduled polling (default every 5 minutes) of ERC-20 transactions","Configurable ERC-20 contract and wallet address","Customizable filters for transaction/window duration","Aggregates and formats transaction data into a single list","Sends Telegram notifications on balance changes (optional suppression when no change)"],"target_audience":["Developers integrating blockchain alerts","Crypto traders who need real-time balance notifications","Operations/security teams monitoring wallet activity or funds flow"]}


name: Convert HTML to PDF and Return via Webhook using CustomJS API
author_name: CustomJS
author_username: customjs
categories: []
created_at: 2025-03-26T09:52:28.987Z
updated_at: 2025-03-26T09:52:28.987Z
url: https://n8n.io/workflows/3331
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  !
  n8n Workflow: HTML to PDF Generator

  This n8n workflow converts HTML content into a styled PDF and returns it as a response via a webhook. The workflow receives HTML input, processes it using CustomJS's PDF toolkit, and sends back the resulting PDF to the original webhook requester.

  @custom-js/n8n-nodes-pdf-toolkit

  Features:

  Webhook Trigger**: Accepts incoming requests with HTML content.
  HTML to PDF Conversion**: Uses CustomJS to transform HTML into a PDF.
  Response**: Sends the generated PDF back to the webhook response.

  Requirements:

  Self-hosted** n8n instance
  A CustomJS API key for HTML to PDF conversion
  HTML content** to be converted into a PDF

  Workflow Steps:

  Webhook Trigger:

     Accepts incoming HTTP requests with HTML content.
     This data is passed to the next node for processing.

  HTML to PDF Conversion:

     Uses the CustomJS node to convert the incoming HTML into a PDF document.
     You can customize the HTML content to match the design requirements.

  Respond to Webhook:

     Sends the generated PDF as a binary response to the original webhook request.

  Setup Guide:

  1. Configure CustomJS API
  Sign up at CustomJS.
  Retrieve your API key from the profile page.

  Add your API key as n8n credentials.

  2. Design Workflow

  Create a Webhook:

     Set up a webhook to trigger the workflow when HTML content is received.

  Prepare HTML Content:

     The incoming request should include the HTML content you wish to convert into a PDF.

  Configure HTML to PDF Node:

     Use the HTML to PDF node to convert the provided HTML into a PDF.
     The node uses the HTML input to generate a PDF using the CustomJS API.

  Respond with the PDF:

     The Respond to Webhook node will send the generated PDF back to the original requester as a binary response.

  Example HTML Input:

  Hello CustomJS!
  CustomJS provides the missing toolset for your no-code projects

  Result PDF

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","@custom-js/n8n-nodes-pdf-toolkit.html2Pdf"]

workflow_json_compressed:
  H4sIAAAAAAAAE42Ta0/bMBSG/0rmzzHEjnNVVW1iF5jGhAai2lg/OMcnS6Cxs9jdVlX575MDpUJ0l4+2j897nifxlnToJCm3pNXWSQ14pkhJaqhZXoPIE4A4TmXMKkiTJBO14jkyLtI0qkWa85xVmZQqy+KUpRXLiiiWNaYkJA67fiUdngyo7CW6dX9iun6FDhUp3bDGMSTaKLSkvNmS1qfGWaVSgILGAIIKwZEWAhgVvMg4RDVgpEhItOyQlGSBVWPMnY/a9H5D55pOHWklLR79fDzvjW1dazQpb/IojJYheTibWKM0UpWEmkY1VlTEStBKSKBCRIzJTCkmhW8iB9mhw8F6W710zf/fNb2P9xfHkAxoe6Mtnhvlp94tP/rleA9zjYOd5uVjuHMDUQIRCpoxzqhIVUSrOAFaQ1yAUnEiMdu7+TQ1VYEzwb803eerK7M45Ct5EPaU/gCPWrSTkarVctg8A2FHbI9SJ5XkMqNM5IqKgjNacZC0UIgsk7ziWb5HOb06/+A5Ll6/3TO8hLV1pqO39niP06uaOmNWd607aly34heqfkoTi0M0vvZM92tHSjJr2PwUVysTnEwJ7y9fzI4bNv+qZw2f7/aCfjA/WoU2cA0GXWttq78FPtuiC2ozBBuzHgJtKBiFvvoWwdnZccPnXg0MqFC7Vq6mAe5h3ttXfTu9RC/p8svdd3xzev15s2jkO+z2Qh6HkABmrR0Zn8kelyEBozXC7js9vpZySzrZehk32+n9/UnxVBWSViv8RcpoXC7H8EnloU5/++8ONBzH35Yp21SABAAA

metadata_json:
  {"categories":["document generation","webhook handling","integration","automation"],"complexity":"simple","use_cases":["On-demand HTML → PDF conversion via webhook","Generate PDFs for invoices/receipts/letters/emails","Return PDFs directly to API/webhook callers","Automated report or certificate generation from HTML templates"],"estimated_setup_minutes":15,"required_services":["CustomJS API (HTML to PDF)","n8n (self-hosted instance)","@custom-js/n8n-nodes-pdf-toolkit node"],"key_features":["Accept incoming HTML via a Webhook trigger","Convert HTML to PDF using CustomJS pdf toolkit (html2Pdf node)","Send generated PDF back as a binary Respond to Webhook response","Customizable HTML templates and styling"],"target_audience":["Developers","No-code/low-code builders","Product teams needing programmatic PDFs','Operations/Support teams"]}


name: Capture Website Screenshots via Google Sheets to Google Drive with CustomJS
author_name: CustomJS
author_username: customjs
categories: []
created_at: 2025-03-26T09:57:20.649Z
updated_at: 2025-03-26T09:57:20.649Z
url: https://n8n.io/workflows/3332
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  n8n Workflow: Automating Website Screenshots from Google Sheets

  This n8n workflow captures screenshots of websites listed in a Google Sheet and saves them to Google Drive using the CustomJS PDF Toolkit.

  @custom-js/n8n-nodes-pdf-toolkit

  Features

  Monitors** a Google Sheet for new rows with website URLs.
  Captures** screenshots of the websites using the CustomJS PDF Toolkit.
  Uploads** the screenshots to a specified Google Drive folder.

  Notice 
  Community nodes can only be installed on self-hosted instances of n8n.

  Requirements

  Self-hosted** n8n instance
  A Google Sheets document containing website URLs and Titles.
  A Google Drive folder to store the screenshots.
  A CustomJS API key for website screenshots.
  n8n credentials** for Google Sheets and Google Drive.

  Workflow Steps

  Google Sheets Trigger

     Monitors a specified sheet for new rows.
     Extracts the URL and Title from the row.

  Website Screenshot Node

     Uses CustomJS PDF Toolkit to take a screenshot of the given URL.

  Google Drive Upload
     Saves the screenshot to a specific Google Drive folder.
     Uses the Title column as the filename.

  Setup Guide

  1. Connect Google Sheets

  Ensure your Google Sheet has a column named Url for website URLs and Name for website names.
  Set up Google Sheets credentials in n8n.

  2. Configure CustomJS API

  Sign up at CustomJS.
  Retrieve your API key from the profile page.

  Add your API key as n8n credentials.

  3. Set Up Google Drive

  Create a folder in Google Drive to store screenshots.
  Copy the folder ID and set it in the Google Drive node in n8n.

  Perfect for:

  Website monitoring**
  Generating visual archives of web pages**
  Automating content curation**

  This workflow streamlines the process of capturing and organizing website screenshots efficiently.

nodes_used:
  ["n8n-nodes-base.googleSheetsTrigger","@custom-js/n8n-nodes-pdf-toolkit.websiteScreenshot","n8n-nodes-base.googleDrive"]

workflow_json_compressed:
  H4sIAAAAAAAAE72U2W7cNhSGX0U47aU42qgVMNogRYOkcWF4CxzDCLgcjWlLokJSM3EGevdCmkknyySxb3Ip8Sz/z/PxbKBFx6DagOqsY53AlxIq4GmYFGUpa1kyTGLO6wKjmtKMRXUsSp6ItKyLUOQlj3MqaMmjLMx4zrBM8xIjGH3otEQL1fUG1FQyjiTLOc9IllJKaJ5mpJQhI4wXDOMoS0NJwYeOtQgVvNB62aB3dovorHdu1HKJBnxwD/103BUdmesTziwulnP0Nngf22urnNIdVNckikOfxOGNDz0zrEWHxk6ucYWdgwqMXj+TEiX4oPspaTodpxpNc65anIOVw3Y21Go5qcAVmodj1Q0OYbwZfbCTgn9nBxt49840UDkzoP8poVHWgQ8r1gzT51LJoxB8EEzcojxFOzTuYkqCW+d6WwWB1MLu3C2EbgPbG2RybmMDGURnJ8UVeV/Xz8vs7WUy4OXF1ZuTtL9779iDYMf5P3yVviYf3TpdBiiV++1Qy61gmK9vnpzUYmixcxMKj/HxFBm/1O4fg+2PpFErtPL+sOuL09febGcct3RdorEzNNHo79BNSlaykCUkSkROaJxHhAtGSRIVtIjDCGnB9+ies3v0mGeFQezsrXaerj3mrZFb5XDP8J9isE635M4Ge5x7WROndXOv3GKXcfZ/oS+ZjrLDSA+medn1w0T10Wbj/X5ndbe4MI03jvB9j5EUieARI2WJSCgWKeFZXJCwpizPI1rmcbH3eOa0QW+vzP7kaf41zeBL+TQ8LH/XYS/9XLkGvXFc9N1EzzzOx5J5/OBtW49fvetaNxLNowHXf/P24/JFXNtT9YGmJn3l9Prq7plc2/tX4Un2Y6onBZ9jPf8IthJs8NTiO3DtZ5f/DbvJeOOD0F2H4pPp76zUagMtU9NArjfzyn4CwXOiD6qT+AGqcLyZduBPkg/1+wFNB1qM43+RsSkktQYAAA==

metadata_json:
  {"categories":["automation","integration","monitoring"],"complexity":"medium","use_cases":["Website monitoring for visual changes","Generating visual archives of web pages","Automating content curation (capture site previews)","Backing up or auditing web page appearance","QA/regression visual checks"],"estimated_setup_minutes":20,"required_services":["n8n (self-hosted with community nodes enabled)","Google Sheets","Google Drive","CustomJS PDF Toolkit (CustomJS API key)"],"key_features":["Watches a Google Sheet for new rows (URL + title)","Captures website screenshots via CustomJS PDF Toolkit","Uploads screenshots to a specified Google Drive folder","Uses sheet Name/Title as the saved filename","Minimal node count (3 nodes) and simple flow"],"target_audience":["Developers/automation engineers","Content managers and curators","Marketing teams needing site previews or assets generation/archiving"]}


name: Generate PDF Invoices with CustomJS API
author_name: CustomJS
author_username: customjs
categories: []
created_at: 2025-03-26T10:03:14.743Z
updated_at: 2025-03-26T10:03:14.743Z
url: https://n8n.io/workflows/3333
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:31
description:
  n8n Workflow: Invoice PDF Generator

  This n8n workflow captures invoice data and generates a PDF invoice, ready to be sent or saved. It uses a webhook to trigger the process, preprocesses the invoice data, and converts it to a PDF using HTML and custom styling.

  @custom-js/n8n-nodes-pdf-toolkit

  Features:

  Webhook Trigger**: Receives incoming data, including invoice details.
  Preprocessing**: Transforms the invoice data into HTML format.
  HTML to PDF Conversion**: Converts the preprocessed HTML into a styled PDF document.
  Response**: Sends the generated PDF back to the webhook response.

  Notice

  Community nodes can only be installed on self-hosted instances of n8n.

  Requirements

  Self-hosted** n8n instance
  A CustomJS API key for website screenshots.
  Invoice data** for PDF generation

  Workflow Steps:

  Webhook Trigger:

     Accepts incoming data (e.g., invoice number, recipient details, itemized list).
     This data is passed to the next node for processing.

  Set Data Node:

     Configures initial values for the invoice, including the recipient, sender, invoice number, and the items on the invoice.
     The invoice details include information like description, unit price, and quantity.

  Preprocess Node:

     Processes the raw data to format it correctly for HTML. This includes splitting addresses and converting the items into an HTML table format.

  HTML to PDF Conversion:

     Converts the generated HTML into a PDF document. The HTML includes a header, a detailed invoice table, and a footer with contact information.

  Respond to Webhook:
     Returns the generated PDF as a response to the initial webhook request.

  Setup Guide:

  1. Configure CustomJS API

  Sign up at CustomJS.
  Retrieve your API key from the profile page.

  Add your API key as n8n credentials.

  2. Design Workflow

  Create a Webhook:

     Set up a webhook to trigger the workflow when invoice data is received.

  Prepare Data:

     Ensure the incoming request contains fields like "Invoice No", "Bill To", "From", and "Details" (list of items with price and quantity).

  Customize the HTML:

     The HTML template for the invoice includes custom styling to give the invoice a professional look.

  Convert to PDF:
     The HTML to PDF node is configured with the data generated from the preprocessing step to convert the invoice HTML to a PDF format.

  Example Invoice Data:

  {
    "Invoice No": "1",
    "Bill To": "John Doe\n1234 Elm St, Apt 567\nCity, Country, 12345",
    "From": "ABC Corporation\n789 Business Ave\nCity, Country, 67890",
    "Details": [
      {
        "description": "Web Hosting",
        "price": 150,
        "qty": 2
      },
      {
        "description": "Domain",
        "price": 15,
        "qty": 5
      }
    ],
    "Email": "support@mycompany.com"
  }

  Result PDF File

nodes_used:
  ["@custom-js/n8n-nodes-pdf-toolkit.html2Pdf","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook"]

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

metadata_json:
  {"categories":["automation","document generation","pdf generation","integration"],"complexity":"medium","use_cases":["Automated invoice generation","On-demand PDF creation via webhook","Billing and record-keeping for small businesses","Generating invoices to attach to emails or store in cloud storage","Converting structured invoice data to a styled, printable document"],"estimated_setup_minutes":20,"required_services":["Self-hosted n8n instance (community nodes support)","CustomJS API (API key for html-to-pdf via @custom-js/n8n-nodes-pdf-toolkit)","Publicly reachable webhook endpoint (or tunneling tool like ngrok)"],"key_features":["Webhook trigger to receive invoice data","Preprocessing node to convert data into HTML (address splitting, items table)","HTML-to-PDF conversion with custom styling","Immediate webhook response returning the PDF","Uses community/html2Pdf and CustomJS PDF toolkit nodes"],"target_audience":["Developers or DevOps setting up automation","Small business owners and freelancers handling invoicing","SaaS/product teams automating billing workflows (with developer support)"]}


name: LinkedIn Profile Finder via Form using Bright Data & GPT-4o-mini
author_name: Miquel Colomer
author_username: mcolomer
categories: []
created_at: 2025-03-26T17:02:16.057Z
updated_at: 2025-03-26T17:02:16.057Z
url: https://n8n.io/workflows/3335
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-30 08:33:37
description:
  This n8n workflow template automates the process of finding LinkedIn profiles for a person based on their name, and company. It scrapes Google search results via Bright Data, parses the results with GPT-4o-mini, and delivers a personalized follow-up email with insights and suggested outreach steps.

  🚀 What It Does
  Accepts a user-submitted form with a person’s full name, and company.
  Performs a Google search using Bright Data to find LinkedIn profiles and company data.
  Uses GPT-4o-mini to parse HTML results and identify matching profiles.
  Filters and selects the most relevant LinkedIn entry.
  Analyzes the data to generate a buyer persona and follow-up strategy.
  Sends a styled email with insights and outreach steps.

  🛠️ Step-by-Step Setup
  Deploy the form trigger to accept person data (name, position, company).
  Build a Google search query from user input.
  Scrape search results using Bright Data.
  Extract HTML content using the HTML node.
  Use GPT-4o-mini to parse LinkedIn entries and company insights.
  Filter for matches based on user input.
  Merge relevant data and generate personalized outreach content.
  Send email to a predefined address.
  Show a final confirmation message to the user.

  🧠 How It Works: Workflow Overview
  Trigger:** When User Completes Form
  Search:** Edit Url LinkedIn, Get LinkedIn Entry on Google, Extract Body and Title, Parse Google Results
  Matching:** Extract Parsed Results, Filter, Limit, IF LinkedIn Profile is Found?
  Fallback:** Form Not Found if no match
  Company Lookup:** Edit Company Search, Get Company on Google, Parse Results, Split Out
  Content Generation:** Merge, Create a Followup for Company and Person
  Email Delivery:** Send Email, Form Email Sent

  📨 Final Output
  An HTML-styled email (using Tailwind CSS) with:
  Matched LinkedIn profile
  Company insights
  Persona-based outreach strategy

  🔐 Credentials Used
  BrightData account** for scraping Google search results
  OpenAI account** for GPT-4o-mini-powered parsing and content generation
  SMTP account** for sending follow-up emails

  ❓Questions?
  Template and node created by Miquel Colomer and n8nhackers.  

  Need help customizing or deploying? Contact us for consulting and support.

nodes_used:
  ["n8n-nodes-base.html","n8n-nodes-base.formTrigger","n8n-nodes-brightdata.brightData","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.form","n8n-nodes-base.filter","n8n-nodes-base.limit","n8n-nodes-base.splitOut","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.html","n8n-nodes-brightdata.brightData","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.merge","n8n-nodes-base.emailSend","n8n-nodes-base.form"]

workflow_json_compressed:
  [encoded data, 4260 characters]

metadata_json:
  {"categories":["automation","integration","data enrichment","lead generation","sales outreach"],"complexity":"medium","use_cases":["Find and verify LinkedIn profiles from a person/company","B2B prospect enrichment for sales and outreach","Automated personalized follow-up email generation","Recruiting candidate discovery and outreach","Data extraction and company context enrichment"],"estimated_setup_minutes":45,"required_services":["Bright Data (Google scraping)","OpenAI (GPT-4o-mini)","n8n instance (webhook/form hosting)","Email provider or SMTP/Gmail (to send follow-up emails)"],"key_features":["Accepts user-submitted form (name + company)","Performs Google scraping via Bright Data to locate LinkedIn profiles and company info","Parses and extracts relevant results using GPT-4o-mini","Generates personalized follow-up email with insights and suggested outreach steps","HTML parsing and result filtering/deduplication and limiting logic (split/merge/if/filter nodes)"],"target_audience":["sales development reps (SDRs)","recruiters and talent sourcers","marketing and outreach teams (demand/gen)」「automation/operations engineers and data enrichment specialists"]}


name: Automate Blog Content Creation with GPT-4, Perplexity & WordPress
author_name: Dr. Firas
author_username: drfiras
categories: []
created_at: 2025-03-26T21:04:55.087Z
updated_at: 2025-03-26T21:04:55.087Z
url: https://n8n.io/workflows/3336
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Who Is This For

  This workflow is ideal for content creators, solo founders, marketers, and AI enthusiasts who want to automate the full process of blog content creation.  
  It is especially useful for professionals in tech, AI, and automation who publish frequently and need SEO-ready content fast.

  What Problem Does This Workflow Solve

  Creating SEO-optimized blog content is time-consuming and requires consistency.  
  Manually researching trending topics slows down the content pipeline.  
  Formatting, publishing, and promoting across multiple platforms takes effort.  
  This workflow automates the entire process from research to publication.

  What This Workflow Does

  Research: Uses Perplexity AI to gather up-to-date content ideas via form input.  
  Content Generation: GPT-4 creates a short, SEO-optimized article (max 20 lines) with H1, H2 structure and meta-description.  
  Publishing: Automatically posts the content to WordPress.  
  Email Notification: Sends the article title and URL via Gmail.  
  Slack Notification: Notifies a specified Slack channel when the article is live.  
  Database Logging: Saves the article details to a Notion database.

  Setup Guide

  Prerequisites

  WordPress account with API access  
  OpenAI API Key  
  Perplexity API Key  
  Slack Bot Token  
  Notion integration (Database ID)  
  Gmail API credentials (optional)  
  Community Node Required: This workflow uses n8n-nodes-mcp, which only works on self-hosted instances of n8n.  
    &gt; To install: Go to Settings &gt; Community Nodes &gt; Install n8n-nodes-mcp

  Steps

  Import the workflow into your n8n instance  
  Install the required community node (n8n-nodes-mcp)  
  Set up API credentials for OpenAI, Perplexity, WordPress, Slack, Gmail, and Notion  
  Customize the form trigger with your preferred prompt  
  Run a test using a sample topic

  How to Customize This Workflow

  Modify the research prompt to match your niche or industry  
  Adjust GPT-4 settings for tone, structure, or content length  
  Customize Notion fields (e.g., add tags, categories, or labels)  
  Add logic for generating or assigning featured images automatically

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-mcp.mcpClientTool","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.wordpressTool","n8n-nodes-base.gmailTool","n8n-nodes-mcp.mcpClientTool","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.formTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-mcp.mcpClientTool","n8n-nodes-mcp.mcpClientTool"]

workflow_json_compressed:
  [encoded data, 5368 characters]

metadata_json:
  {"categories":["automation","content creation","integration","publishing","marketing"],"complexity":"complex","use_cases":["Automate end-to-end blog publishing","Generate short SEO-optimized articles from prompts","Automated research-to-publish content pipeline","Notify teams and log publications in a CMS/database"],"estimated_setup_minutes":45,"required_services":["Self-hosted n8n instance","n8n-nodes-mcp (community node)","WordPress with API access","OpenAI (GPT-4) API key","Perplexity API key","Slack Bot Token","Notion integration (Database ID)","Gmail API credentials"],"key_features":["Perplexity-driven topic research via form input","GPT-4 SEO-optimized article generation (H1/H2 + meta)","Automatic WordPress publishing","Gmail email notification with article title and URL","Slack channel notification when live','Notion database logging of article metadata and links"],"target_audience":["Content creators","Solo founders","Marketers and growth teams focused on content/SEO','Developers/automation engineers implementing publishing workflows"]}


name: Automate Sales for Digital Products & SaaS with AI (GPT-4o)
author_name: Badr
author_username: b4dr
categories: []
created_at: 2025-03-28T09:49:32.961Z
updated_at: 2025-03-28T09:49:32.961Z
url: https://n8n.io/workflows/3342
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  Skyrocket Your Sales Outreach with AI-Powered Automation!

  Tired of manually finding leads, collecting emails, and sending messages that get ignored? Let AI do the heavy lifting.  

  Introducing AI-Powered Cold Outreach Engine, an n8n workflow that automates prospecting, email discovery, and personalized outreach, designed for digital products, SaaS, and online services.  

  🚀 How It Works  

  1️⃣ Smart Prospecting  
  Enter your product name, description, and link.  
  The AI searches Google Maps for businesses in your niche.  
  It extracts website URLs, filtering out irrelevant results.  

  2️⃣ Email Discovery  
  Scrapes professional emails from websites.  
  Generates a clean, targeted list.  

  3️⃣ AI-Powered, SEO-Optimized Emails  
  GPT-4o** analyzes website content.  
  Crafts concise, personalized outreach emails (&lt;200 words).  
  Uses SEO-friendly language with strategic keywords.  
  Embeds your product link naturally in a compelling CTA.  
  Sends via Gmail or SMTP with smart delays for better deliverability.  

  🔥 Why It Stands Out  
  ✅ Saves Time – Automates lead generation & outreach.  
  ✅ Scales Effortlessly – Finds and targets ideal prospects.  
  ✅ SEO-Optimized – GPT-4o enhances discoverability.  
  ✅ Boosts Replies – Personalized emails = higher engagement.  
  ✅ Drives Conversions – Directs traffic to your product page.  

  🔧 What You Need  
  n8n** (Cloud or self-hosted).  
  OpenAI GPT-4o** (API costs apply).  
  Gmail + Google Cloud OR SMTP node** for email sending.  
  Optional:** Jina AI for advanced data extraction.  

  ⚡ Quick Setup  
  Import the workflow into n8n.  
  Connect GPT-4o & Gmail or SMTP.  
  Add your product details.  
  Test & launch 🚀  

  💡 Sell Smarter, Not Harder  
  This isn’t just automation—it’s a growth engine. Let AI handle outreach while you focus on scaling.  

  🔗 Get started today!  

  ⚠️ Disclaimer  
  API Fees Apply** – OpenAI, Google services may have costs.  
  Email Compliance* – Follow *Gmail/SMTP limits & anti-spam laws** (e.g., CAN-SPAM, GDPR).  
  Scraping Updates** – Website structures may change over time.  

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.removeDuplicates","n8n-nodes-base.removeDuplicates","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","n8n-nodes-base.httpRequest","n8n-nodes-base.filter","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.gmail","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.noOp","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE7VaW2/USBb+K5YfVqzUJ1M31yVPywCDMgLCJrDzgNDqVNWpxKJjZ9zuATbKf1/ZCXSTttvuAV4iRSlXfV+dc75zqdzkV9RifnyTl9WqxSrQScyPc2Ws9oklbgMjS04EqXmkAnlhA/qkyDPvpXeBc8kc96xQKQlNsnDIhMtvF3lVR1rlx+9u8rLbMml0VjADSWoLSlgHlksCTaSkZshcUeSLvMIryo/zZ5/aBkObvT17scpSU19lz+v6YknZOWETLvNF3n6+7hZWtoL+JPC4oqNQR8oX+XW9KtuyrvLjd1wothCavV/k19jgFbXUrPLjm9u7Lf5DzapfKG4X90hVNFq4FIC85KB8VIBKeKBkC8e5wpD4BukZXdV/UfZ0fb0sA7bUQx7F1/Srvy7uFtbVs6apm/w4D3XVltWa+t9P1+31uv2Wi+CCLbid5MKP+CLH5Uf8vLrb5il2Rm6bNX1l6YVP1voEiZsAyjgEH4wFgS5F54VyrtjD8tkVlsufxpMxtuDziH4lpKN0Hq0A0oUGFRDBCu8heeklIxusFRtC59fLsr1nkZVVW2cnLV2NE1p16097oLtEzuhivcRBKlxatnBqmsmkwbhmJnKVgCsmQWmjAaNRwERMxAtK3skNv8cXFw1dfLVU9qJctePs8Mvqw+zEOzvNIfeVBBM+RcMYJB4kKJIIVhYGhKLAvA4iBL9lpD7Yv4T+S7weZ3DZttdn9OeaVg8wWjsr/NXRRgDQGx24DRBlEUAJrwFJOyDFkjeBUmHSBuRv5bKlJjtdt/dAfzkPl3SF+4Ug9V8d7E1FJ2bTFy6OxJA/JVyuNg4VhXUapQQZowVFKoKLmoAz9CkI40huOdSLur7O3lw29friMntblX+uJ6Suj5iT6ldsw+WIAOxhKrRgCzltNznN0zPGQiflTFIE5ZIHh15BSkYVZJlSyLbMSW24zP4gvypbyp7UVUtVmz36q+wN+s+ZDngQV8k0W6hptVNzrOoL8tFaBoWKBSgeGDglCzBBqBAcE0qLEas+JL0x3c+wsBnVDvpEYd3SaRXont3hRtepIJ6MA+uiAEURwbNogAulA0crmY275QZWMbuP54kEd19oHMTY6i6rienoncwFhRGi4EaBEw5BodOAVjmwpnBIUUuOYcTI95r67zU15SG2/SY2Z4mQ/AqXEuc62QDKdqnLFAosjwakcZSkDiE43MD9A8s2+5VS3dDMqu8jlg+uWrMvqv+R/GVdf+jLWiko2BgUUCwQFAsWLC8QvHUioWLMMZsfUHIUznPvXQSvnQEVdATU5CBpY9EgqYRbTva6qQOtVtnjE3hOFTXYUpy0w25B2+X/WTlg0ouYDNIoIvAmWFDKGLBBGyiM84xrqXE7z33BvJ2Ov8DPHp1eU/X4ZEse/1XZ6pcNmSVWF+ESy+qo7laWDzj19vp7YsCP1HSxm3zSCRPEVERQRhOgLDRIrjkq5Fxg2lWDp/UVltVd+9HLwQFWcl2s2x9hJXQsFho9GG8NKKU0eIcMdGFjMCqR9BNpekLK9oV6V2/MobGJda8i084n0Bg5qJQsWCET+CLaaH1Eh1twz0OD17Sbbn8vKzzC8qek274jnENqJN9+Yx3ZZVtlFBReESiHEpz0Cph2NnUtNLItuk8uKXzIUt1kPfGyusjugI/RLNNAATjLr7bqWaIYEvcO0BsFSnIPrtAKhEUrlWBM41ZJ8KZZV32L98Aoh/TcxnYoZzTdk/drOSsSIwdKdplO8QDIZARTFMGywiEK9vB+y9SVatmzT3t7np2r7UBLdtDNIsYYyBVgQ1dCBxHAFh6BVLSMey183HZ2quJ9O9aVk8/3SsrF/V+/zbtsIZjdSWvSW9MpBJO2AOWZAmdIgkGjpQjkVd/KT7DapDXFArfWeuDoHShMBpxgApyxJliRoi/STrpuPxJVU1Kzm6il6ooJvsOJKe/IGgOCIoHqLtUZ6UH6yASiUDHEQ1I1S+hloAgUowdljAenpQZJ6K0u0DNnBnLdGVaxvsqe0hI/HxAAwomO1Qxn2ly6UQlt7Kt1CcraABiEBx1RG659UmJrHnPeluHD5+xV3dLxRkvOKfQARpW+/6r76Fu4bLEDtBfSLuqP83y8nQ9cyOgFgdHcdGIfunrbg+E2SurGEoaPgL6Lg/tUW9bVd4B3uyX1PPjcmpSIc5BeWVDdcMWGyKAopNNcE5GLI/BfU7OqK1yW/8Me/T+yLrq/xwjQzfb0rsvMoyIUYYxeQ3DYlbY2AUougPGCRRFS5DEO+PeGBn2RpkcvXrzMnnSl2pxqrv/5Ynn1cFDZJ4A5A7xiS3aUIBQFoBWs03sNrkgOTGIiIGmLxVaIvsZmRdnjk3vUdwkke/T7+emrWVVov77fpDlvm3Vo1w3FByz6RmdGw8a3UoJgpJUgBUqnbq6qOGBAApaQootENm6J56v69Dp7dHKXsE6qv3BZxvGip6pPrx9OSueNSTaOQsEYq5gHJ1MCFdGAM8GD11oLQhkIt0L25eNXbx+/yN6cnTx//uzsODtvsWmzP+rmQ1rWH0eBXmG1xuWbpry46Idc227uRkv9EcTOR629YJA0j6CKrnwRlCDywkkTSVHCkSh9cvrqt5Pnb88evzk5fXV4RDrLFrtI5wWkZVJrjAhKd6UBsxK80wpS4bX0WJiQ3FbhUlepvFg3lN01Ul0AttnLOtIye/T89RtQNVyVVTnHtZdX3cenA21W7y2HOnTywhHv2iYbEignJVinEIj5pBlKw4owcv1f/CR7SqvQlNd/UxeNYAt3qDC+X3R/r+7EuF8+ME0+vsm7Fi8/fvfupn+wOuTpqf9ykZdVpE/5Mbt9//52MViBDp0y8Wy0s/di8+mEZgzCGirShmDNaR8HDxisbYdOmCitBjcffswY2n3yWWdw/2FMQ/vvLXYH9x429Ny7n/CKwQN+inlH7nWWa886YbQ1/mE8tkJouscdxDhqoUmMk6P1fWhnP0kMgh7lujc65xaGg0eOD9AGY3b2DGjvYbuz+59glS0tHZhPD7Lb84Y528nmEhob7u/zrhnTzmmcDw7eArp91IzJ/uBRe2v945scy/9u1/Pf59EPN9sBs2+M/+Ms1B21/2l56Ky9A7DBMyYq/L0iMe8lYG/UjlVZQ+fOfGkfvsoJDf2BCXlSz8YNt28yPB2EY3I2dN7E/4fMEYw9j6X7q6y9bjMEdt7L2f5DJ8J/WLr3zWuHq5jZfdydbHVd2xovqF/x3br17W7fYru9/T8n0HR77CcAAA==

metadata_json:
  {"categories":["automation","sales","lead-generation","AI-integration","email-outreach"],"complexity":"complex","use_cases":["Cold outreach for digital products and SaaS","Automated lead discovery via Google Maps","Website email scraping and list building","AI-personalized, SEO-optimized email campaigns","Scalable drip/sending with deliverability controls"],"estimated_setup_minutes":45,"required_services":["n8n (cloud or self-hosted)","OpenAI GPT-4o (API)","Gmail + Google Cloud (OAuth) or SMTP provider","Google Maps / Google Places search API (or Google Maps access)","Optional: Jina AI (advanced extraction)","Web scraping / HTTP access to target sites"],"key_features":["Smart prospecting using product name/description and Google Maps","Website URL extraction and relevance filtering","Automated email discovery/scraping and deduplication","GPT-4o generated concise, personalized, SEO-friendly outreach (<200 words)","Sending via Gmail or SMTP with smart delays to improve deliverability and avoid throttling (batching)"],"target_audience":["SaaS founders and digital product owners","Growth marketers and demand-generation teams","Sales teams and SDRs focused on outbound outreach agencies and freelancers who run outreach campaigns"]}


name: 🛻 AI Agent for Logistics Order Processing with GPT-4o, Gmail and Google Sheet
author_name: Samir Saci
author_username: samirsaci
categories: []
created_at: 2025-03-28T11:48:57.811Z
updated_at: 2025-03-28T11:48:57.811Z
url: https://n8n.io/workflows/3344
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  Tags: Supply Chain, Logistics, AI Agents

  Context

  Hey! I’m Samir, a Supply Chain Data Scientist from Paris, and the founder of LogiGreen Consulting.

  We design tools to help companies improve their logistics processes using data analytics, AI, and automation—to reduce costs and minimize environmental impacts.

  &gt;Let’s use N8N to improve logistics operations!

  📬 For business inquiries, you can add me on LinkedIn

  Who is this template for?

  This workflow template is designed for logistics or manufacturing operations that receive orders by email.

   

  The example above illustrate the challenge we want to tackle using an AI Agent to parse the information and load them in a Google sheet.

  If you want to understand how I built this workflow, check my detailed tutorial:

    
  🎥 Step-by-Step Tutorial

  How does it work?

  The workflow is connected to a Gmail Trigger to open all the emails that include Inbound Order in their subject.

  The email is parsed by an AI Agent equipped with OpenAI's GPT to collect all the information.

  The results are pulled in a Google Sheet.



  These orderlines can then be transferred to warehouse teams to prepare *order receiving.

  What do I need to get started?

  You’ll need:
  Gmail and Google Drive Accounts** with the API credentials to access it via n8n
  An OpenAI API key (GPT-4o) for the chat model.
  A Google Sheet with these columns: PO_NUMBER, EXPECTED_DELIVERY DATE, SKU_ID, QUANTITY

  Next Steps

  Follow the sticky notes in the workflow to configure each node and start using AI to support your logistic operations.

  🚀 Curious how N8N can transform your logistics operations?  
  📬 Let’s connect on LinkedIn

  Notes

  An example of email is included in the template so you can try it with your mailbox.

  This workflow was built using N8N version 1.82.1  
  Submitted: March 28, 2025

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

workflow_json_compressed:
  [encoded data, 4500 characters]

metadata_json:
  {"categories":["automation","integration","data processing","supply chain","logistics"],"complexity":"medium","use_cases":["Automatically parse inbound order emails and extract order lines","Populate and update Google Sheets with purchase order data","Hand off parsed orders to warehouse/fulfillment teams","Reduce manual data entry and accelerate order intake","Prototype AI-assisted order processing using GPT-4o"],"estimated_setup_minutes":20,"required_services":["Gmail (API / account)","Google Sheets (Google Drive / API credentials)","OpenAI (GPT-4o API key)","n8n instance"],"key_features":["Gmail trigger to detect inbound order emails","AI Agent using GPT-4o to parse free-text order emails","Structured output parsing and validation","Write parsed order lines to a Google Sheet","Conditional logic and lightweight code node for data handling"],"target_audience":["logistics operations teams","supply chain analysts","manufacturing operations managers"]}


name: Automate LinkedIn Requests & Icebreaker with Browserflow and Google sheets
author_name: PollupAI
author_username: zeerobug
categories: []
created_at: 2025-03-28T13:56:12.050Z
updated_at: 2025-03-28T13:56:12.050Z
url: https://n8n.io/workflows/3345
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  Disclaimer: As this workflow uses a Community node, it is available only to  self-hosted installation of n8n

  Who is this for?
  This n8n template is designed for professionals, recruiters, and marketers who need to automate LinkedIn data population and contact request processes. It is particularly useful for those looking to streamline their outreach efforts and manage LinkedIn connections more efficiently.
  What problem is this workflow solving? / Use Case
  The workflow addresses the challenge of manually managing LinkedIn connections and sending contact requests followed by an AI generated ice-breaker. By automating these tasks, users can save time, reduce errors, and ensure consistent follow-ups with potential clients, partners, or candidates. 
  What this workflow does:
  This template extract LinkedIn adresses from a google sheet, check if they already are connected to you, and send them a contact request if hey are not. Then it sends to them an AI generated Ice breaker messages, which take into account the personal and company posts, and your company description, to find common points of interest. 
  You can contact up to 50 persons for free. 
  Setup
  Copy this google sheet to your Google account

  Enter your data in "Set your Data Here":
      Google sheet URL: Paste here the URL of your google sheet
      Your activity: Define here what your company is about (used to match your activity with the users activity)
      Your name: Enter your name (used to sign your mail)
      Your company: Enter here your company name
      Your email: Used to send your email
      Maxitems: The number of maximum posts to download from LinkedIn

  Set an account on Rapid API, you are allowed for free to 50 credits (5$ for 500) and most of the calls cost 1 credit. 
  Setup an account at Browserflow You will benefit from a 7 days free trial. And then you will have to pay $17.95. With this account you'll be able to send 1920 connection invites and 3204 messages. 

  Install n8n-nodes-browserflow from your n8n Settings &gt; Community Nodes. (it means for now that you'll need a self-hosted installation of n8n). and paste the API key you copied earlier as a credential.
     
  Execute it regularly to check if your connections have accepted your connection request.
  How to customize this workflow to your needs
  Customize Contact Messages**: Personalize the AI agent prompt that generates the icebreaker
  Integrate with Other Tools**: Add additional nodes to integrate with CRM systems or other marketing tools for enhanced functionality.
  Monitor and Optimize**: Regularly review the workflow's performance and make adjustments to improve efficiency and effectiveness.

  By following this setup and customization guide, users can leverage this n8n template to enhance their LinkedIn outreach and connection management processes.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.executeWorkflow","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.limit","n8n-nodes-base.aggregate","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.limit","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-browserflow.browserflow","n8n-nodes-browserflow.browserflow","n8n-nodes-browserflow.browserflow","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.sort","n8n-nodes-base.sort","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","outreach","data processing"],"complexity":"complex","use_cases":["Automate LinkedIn connection requests from a Google Sheet","Check connection status and re-run checks regularly","Generate personalized AI-driven icebreaker messages using profile/company posts","Bulk outreach while respecting rate limits/credits","Integrate outreach data into CRMs or marketing tools"],"estimated_setup_minutes":45,"required_services":["n8n self-hosted installation (required for community nodes)","n8n-nodes-browserflow community node and Browserflow account (API key)","Google Sheets (Google account)","RapidAPI account (used for LinkedIn/profile calls and/or AI endpoints)","AI text generation service (via RapidAPI or configured AI provider)"],"key_features":["Reads LinkedIn addresses from Google Sheets","Checks whether you are already connected to each profile","Sends LinkedIn connection requests when not connected","Generates personalized AI icebreakers that incorporate personal/company posts and your company description","Configurable max items and prompt for message personalization','Supports periodic execution to re-check accepted connections and continue outreach"],"target_audience":["Recruiters","Sales and business development teams","Growth marketers/outreach specialists','Professionals who manage LinkedIn outreach at scale','Automation engineers or power users comfortable self-hosting n8n"]}


name: Create an AI-Powered Discord Assistant with GPT-4o for Multi-Channel Messaging
author_name: YungCEO
author_username: yungceo
categories: []
created_at: 2025-03-28T16:30:32.716Z
updated_at: 2025-03-28T16:30:32.716Z
url: https://n8n.io/workflows/3346
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  🤖 Discord AI Workflow: Your Automated Assistant! 🚀

  🌟 Workflow Overview
  Transforms your Discord server into an intelligent, responsive powerhouse of communication and automation!

  🔧 Core Components
  💬 AI-Powered Messaging
  🤝 Multi-Channel Interaction
  🧠 Smart Response Generation
  🔗 Seamless Workflow Integration

  🚦 Trigger Modes
  1️⃣ Workflow Trigger 
  🔓 Activated by external workflows
  📨 Processes incoming tasks
  🌐 Supports complex automation scenarios

  2️⃣ Chat Message Trigger
  🗣️ Responds to direct Discord messages
  🤔 Contextual understanding
  🔍 Real-time interaction

  🛠️ Key Features
  🤖 AI-Driven Conversations
  📊 Dynamic Message Handling
  🔒 Secure Credential Management
  🌈 Flexible Configuration

  🚀 Use Cases
  📢 Automated Announcements
  🆘 Support Ticket Management
  📝 Content Generation
  🤝 Community Engagement

  💡 Smart Capabilities
  🧩 Modular Design
  🔄 Seamless Data Flow
  📝 Character Limit Management
  🌐 Multi-Channel Support

  🛡️ Security & Performance
  🔐 OAuth Integration
  🚧 Error Handling
  📊 Performance Optimization
  🛠️ Continuous Improvement

  🎯 Workflow Magic
  User Input ➡️ AI Processing ➡️ Smart Response ➡️ Discord Channel 
     🌟        🤖             💬            📨

  🔍 Customization Playground
  🎨 Personalize AI Responses
  🔧 Adjust Interaction Rules
  📐 Fine-Tune Workflow Behavior

  🚧 Troubleshooting Toolkit
  🕵️ Credential Verification
  🔬 Permissions Check
  📋 Comprehensive Logging
  🆘 Error Handling Strategies

  🌈 Future Possibilities
  🤖 Advanced AI Integration
  🚀 Expanded Interaction Modes
  🧠 Machine Learning Enhancements
  🌐 Ecosystem Expansion

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

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

metadata_json:
  {"categories":["automation","integration","AI","messaging","community management"],"complexity":"medium","use_cases":["automated announcements","support ticket management","content generation","community engagement","multi-channel messaging orchestration"],"estimated_setup_minutes":45,"required_services":["Discord API (bot credentials)","OpenAI (GPT-4o) or compatible LLM","n8n instance","OAuth for Discord authentication","Persistent storage/session memory (e.g., Redis or database) for memoryBufferWindow"],"key_features":["AI-driven conversations (GPT-4o)","Multi-channel interaction and routing","Contextual response generation (memory buffer)","Workflow and chat message triggers","Secure credential management (OAuth integration)"],"target_audience":["community managers","developers/automation engineers","support teams / helpdesk operators"]}


name: AI-Powered Language and Coding Tutor with GPT-4 and Timed Telegram Messages
author_name: YungCEO
author_username: yungceo
categories: []
created_at: 2025-03-28T17:03:17.817Z
updated_at: 2025-03-28T17:03:17.817Z
url: https://n8n.io/workflows/3347
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  📚 MOTION TUTOR - AI-Powered Language Learning System

  Unlock the Power of Language with Personalized AI Learning!  
  MOTION TUTOR is a revolutionary AI-powered language learning platform that adapts to your progress and guides you from basic vocabulary to complex sentence structures. Whether you're a beginner or looking to refine your skills, MOTION TUTOR provides an engaging and structured learning experience.

  🎯 Key Features:
  ✅ AI-Powered Lessons:  
  Receive interactive, real-life conversation-based lessons generated by cutting-edge AI. MOTION TUTOR dynamically adapts content to match your learning pace.

  ✅ Personalized Progress Tracking:  
  Track your growth effortlessly! The system connects with Airtable to monitor your vocabulary, grammar, and situational language skills, ensuring lessons align with your goals.

  ✅ Memory Retention for Contextual Learning:  
  With built-in memory capabilities, MOTION TUTOR remembers where you left off and keeps the conversation flowing. No need to repeat or restart — pick up right where you left off!

  ✅ Real-Time Telegram Integration:  
  Learn on the go! Engage with MOTION TUTOR directly through Telegram and receive instant feedback and lesson suggestions based on your performance.

  ✅ Structured Learning Path:  
  From mastering essential vocabulary to crafting complex sentences, MOTION TUTOR guides you step-by-step with a well-defined roadmap.  
  Basic Vocabulary & Phrases  
  Basic Grammar Structures  
  Situational Vocabulary  
  Intermediate Grammar Concepts  
  Advanced Vocabulary  
  Complex Sentence Structures  

  ✅ Customized Role-Playing & Practice Scenarios:  
  Practice vocabulary and grammar in context by engaging in situational conversations that simulate real-life interactions.

  💡 How It Works:
  Message on Telegram: Send a message to initiate your learning session.
  AI Processes Input: MOTION TUTOR analyzes your request and customizes the next lesson.
  Context Retention: Continuation from previous sessions to ensure seamless learning.
  Track Progress: Updates and tracks progress in Airtable for personalized learning insights.
  Receive Feedback: AI-generated lessons and tips sent directly through Telegram.

  📡 Why Choose MOTION TUTOR?
  🎉 Engaging & Interactive Learning: Learn in a fun and practical way with interactive scenarios.  
  🚀 AI Adaptation for All Levels: Whether you're learning from scratch or advancing your fluency, MOTION TUTOR customizes content to suit your journey.  
  📝 Progress You Can Measure: Track your achievements and growth with structured Airtable data.  
  🔁 Never Lose Track: Memory-powered learning ensures you continue smoothly where you last paused.  

  🎁 Ideal For:
  Language learners seeking a personalized, guided learning experience.
  Professionals preparing for international business communication.
  Travelers aiming to learn practical vocabulary before their next adventure.
  Students looking to enhance their grammar and conversation skills.

  🚀 Get Started Today!
  Embrace the future of language learning with MOTION TUTOR and gain the confidence to engage in everyday conversations and complex dialogues effortlessly.  

  Ready to Speak with Confidence?  
  💬 Connect with MOTION TUTOR on Telegram and Start Learning Today!

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.telegram","n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.airtable","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.airtable","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4156 characters]

metadata_json:
  {"categories":["education","chatbot","automation","integration","conversational AI"],"complexity":"complex","use_cases":["Personalized language lessons via chat","On-the-go microlearning through Telegram","Progress tracking and adaptive lesson sequencing","Role-play and situational conversation practice","Scheduled reminders and timed lesson delivery"],"estimated_setup_minutes":90,"required_services":["OpenAI (GPT-4) or compatible LLM API","Telegram Bot API","Airtable","n8n (self-hosted or cloud)"],"key_features":["AI-generated, adaptive lessons and exercises","Session memory/context retention across interactions","Airtable-backed progress tracking and user state","Real-time Telegram messaging interface","Scheduled/timed message delivery (reminders) and workflows','Role-playing and situational practice scenarios"],"target_audience":["Language learners (beginners to advanced)","Language teachers and tutors","EdTech startups and product builders implementing chat-based learning features\",\"Developers/automation engineers building conversational learning bots"]}


name: Automate Blog Content Creation with Notion MCP, DeepSeek AI, and WordPress
author_name: Dr. Firas
author_username: drfiras
categories: []
created_at: 2025-03-29T03:27:21.509Z
updated_at: 2025-03-29T03:27:21.509Z
url: https://n8n.io/workflows/3348
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  Who Is This For
  This workflow is ideal for content creators, bloggers, marketers, and professionals seeking to automate the creation and publication of SEO-optimized articles. It's particularly beneficial for those utilizing Notion for content management and WordPress for publishing.​

  What Problem Does This Workflow Solve
  Manually creating SEO-friendly articles is time-consuming and requires consistent effort. This workflow streamlines the entire process—from detecting updates in Notion to publishing on WordPress—by leveraging AI for content generation, thereby reducing the time and effort involved.​

  What This Workflow Does
  Monitor Notion Updates: Detects changes in a specified Notion database.​
  AI Content Generation: Utilizes an AI model to produce an SEO-optimized article based on Notion data.​
  Publish to WordPress: Automatically posts the generated article to a WordPress site.​
  Email Notification: Sends an email containing the article's title and URL.​

  Update Notion Database: Updates the corresponding entry in the Notion database with the article details.​

  Setup Guide
  Prerequisites
  WordPress account with API access.​
  API key for the AI model used.​
  Notion integration with the relevant database ID.​
  Credentials for the email service used (e.g., Gmail).​

  Community Node Requirement: This workflow utilizes the n8n-nodes-mcp community node, which is only compatible with self-hosted instances of n8n. For more information on installing and managing community nodes, refer to the n8n documentation.​
  n8n Docs

  Steps
  Import the workflow into your self-hosted n8n instance.​
  Install the required community node (n8n-nodes-mcp).​
  Configure API credentials for WordPress, the AI service, Notion, and the email service.​
  Define necessary variables, such as the notification email address and Notion database IDs.​
  Activate the workflow to automate the process.​

  How to Customize This Workflow
  AI Prompt: Adjust the prompt used for content generation to align with your preferred tone and style.​
  Article Structure: Modify the structure of the generated article by tweaking settings in the content generation node.​
  Notifications: Customize the content and recipients of the emails sent post-publication.​
  Notion Updates: Tailor the fields updated in Notion to suit your specific requirements.

nodes_used:
  ["n8n-nodes-base.notionTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmailTool","n8n-nodes-base.wordpressTool","n8n-nodes-mcp.mcpClientTool","n8n-nodes-mcp.mcpClientTool","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatDeepSeek"]

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

metadata_json:
  {"categories":["automation","integration","content creation"],"complexity":"medium","use_cases":["Automate blog/article creation from Notion notes","Generate SEO-optimized articles using AI","Auto-publish content to WordPress","Send publication notifications via email","Sync article metadata back to Notion"],"estimated_setup_minutes":45,"required_services":["Notion (database + integration)","WordPress with API access","AI service (DeepSeek AI / lmChatDeepSeek or equivalent)","Email provider (Gmail/SMTP)","Self-hosted n8n with n8n-nodes-mcp community node support"],"key_features":["Detects updates in a Notion database","AI-driven SEO-optimized content generation","Automatic publishing to WordPress","Updates Notion record with article details","Sends email notifications with title and URL (configurable)"],"target_audience":["Content creators","Bloggers","Marketers and SEO specialists」「Content managers」「Technical users/self-hosted n8n administrators"]}


name: Telegram AI Bot-to-Human Handoff for Sales Calls
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-03-29T15:23:05.743Z
updated_at: 2025-03-29T15:23:05.743Z
url: https://n8n.io/workflows/3350
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  This n8n template demonstrates an approach to perform bot-to-human handoff using Human-in-the-loop functionality as a switch.

  In this experiment, we play with the idea of states we want our agent to be in which controls it's interacton with the user.
  First state** - the agent is onboarding the user by collecting their details for a sales inquiry. After which, they are handed-off / transferred to a human to continue the call.
  Second state** - the agent is essentially "deactivated" as further messages to the bot will not reach it. Instead, a canned response is given to the user. The human agent must "reactivate" the bot by completing the human-in-the-loop form and give a summary of their conversation with the user.
  Third state** - the agent is "reactivated" with context of the human-to-user conversation and is set to provide after sales assistance. An tool is made available to the agent to again delegate back to the human agent when requested.

  How it works
  This template uses telegram to handle the interaction between the user and the agent.
  Each user message is checked for a session state to ensure it is guided to the right stage of the conversation. For this, we can use Redis as a simple key-value store.
  When no state is set, the user is directed through an onboarding step to attain their details. Once complete, the agent will "transfer" the user to a human agent - technically, all this involves is an update to the session state and a message to another chat forwarding the user's details.
  During this "human" state, the agent cannot reply to the user and must wait until the human "transfers" the conversation back. The human can do this by replying to "human-in-the-loop" message with a summary of their conversation with the user. This session state now changes to "bot" and the context is implanted in the agent's memory so that the agent can respond to future questions.
  At this stage of the conversation, the agent is now expected to handle and help the user with after-sales questions. The user can at anytime request transfer back to the human agent, repeating the previous steps as necessary.

  How to use
  Plan your user journey! Here is a very basic example of a sales inquiry with at most 3 states. More thought should be developed when many more states are involved.
  You may want to better log and manage session states so no user is left in limbo. Try connecting the user and sessions to your CRM.
  Note, the Onboarding agent and After-Sales agent have separate chat memories. When adding more agents, it is recommend to continue having separate chat memories to help focus between states.

  Requirements
  Telegram for chatbot & interface
  Redis for session store and chat memory
  OpenAI for AI agent

  Customising this workflow
  Not using Telegram? This template works with Whatsapp and other services with equivalent functionality.

nodes_used:
  ["n8n-nodes-base.telegram","n8n-nodes-base.redis","n8n-nodes-base.redis","n8n-nodes-base.redis","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryRedisChat","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.telegramTrigger","n8n-nodes-base.telegram","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.code","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.redis","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryRedisChat","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflow","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/n8n-nodes-langchain.memoryRedisChat","@n8n/n8n-nodes-langchain.memoryManager","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.memoryRedisChat","@n8n/n8n-nodes-langchain.memoryManager","n8n-nodes-base.telegram"]

workflow_json_compressed:
  [encoded data, 9572 characters]

metadata_json:
  {"categories":["automation","integration","conversational AI","customer support","sales"],"complexity":"medium","use_cases":["Sales inquiry onboarding via chatbots","Bot-to-human handoff for live agent takeover","After-sales support with contextual bot memory","Human-in-the-loop workflows for conversation control","Session state management and CRM linkage"],"estimated_setup_minutes":45,"required_services":["Telegram (bot)","Redis (session store / chat memory)","OpenAI (LLM)"],"key_features":["Multi-state conversational flow (onboarding → human → reactivated bot)","Human-in-the-loop handoff and form-based transfer","Redis-backed session state and separate chat memories per agent","Telegram integration for user and human agent messaging","Context transplantation: human summary implanted into bot memory for continuity of conversation (after-sales)"],"target_audience":["Developers/automation engineers building chat workflows","Sales operations teams implementing conversational lead capture","Customer support teams wanting hybrid bot+human handling"]}


name: Automated Discord Spam Moderation with AI and Human-in-the-Loop
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-03-29T15:35:52.637Z
updated_at: 2025-03-29T15:35:52.637Z
url: https://n8n.io/workflows/3351
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n template demonstrates how you can automate community moderation using human-in-the-loop functionality for Discord.

  The use-case is for detecting and dealing with spam messages in a predefined and consistent way. Human-in-the-loop allows for a balance between overly aggressive bots and time and effort from the moderation team.

  How it works
  A scheduled trigger is used to scan the most recent messages in a Discord Channel. Messages are tagged via the "Remove Duplicates" node so they don't get processed again in the future.
  Messages are grouped by user to allow for minimising of number of notifications sent.
  An AI text classifier node is then used to detect for spam in each user's message.
  When detected, a notification is sent to a moderation channel using the Send-and-wait mode for Discord. This notification comes with an n8n form and dropdown list of predefined actions to take in dealing with the spam messages. Once sent the workflow waits until a response is received.
  Once a moderator selects an action, the workflow continues and carries out a predefined moderation action.

  How to use
  Depending on how busy your community is and subject to spammers, you may need to increase the scheduled interval.
  Add as many or few moderation actions as required.
  Remember to activate the workflow to  get it started.

  Requirements
  Discord channel for messages to moderate
  OpenAI for text classification

  Customising this template
  It is possible to cover multiple channels. Add as many as your community needs.
  Not using Discord. The template can also work in slack or other services which offer the same bot functionality.

nodes_used:
  ["@n8n/n8n-nodes-langchain.textClassifier","n8n-nodes-base.discord","n8n-nodes-base.removeDuplicates","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitOut","n8n-nodes-base.code","n8n-nodes-base.discord","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.filter","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.discord","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflow","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.scheduleTrigger"]

workflow_json_compressed:
  [encoded data, 7532 characters]

metadata_json:
  {"categories":["automation","moderation","integration","community management"],"complexity":"complex","use_cases":["Automated spam detection and handling in community chat","Human-in-the-loop moderation workflows","Reducing moderator workload by batching notifications per user","Customizable moderation actions (mute, delete, warn, etc.)","Multi-channel or multi-platform moderation (Discord, Slack, etc.)"],"estimated_setup_minutes":30,"required_services":["Discord (bot and channel access)","OpenAI (text classification / LM access)","n8n (workflow runtime)"],"key_features":["Scheduled scanning of recent channel messages","Duplicate message filtering to avoid reprocessing","Grouping messages by user to minimize notifications","AI-based text classification for spam detection","Send-and-wait Discord notifications with an interactive n8n form for moderator decisions (human-in-the-loop)"],"target_audience":["Community managers and moderators","Developers integrating chat moderation","Platform ops and trust & safety teams"]}


name: Health Check Websites with Google Sheets & Telegram Alerts
author_name: Hugues Stock
author_username: hpstock
categories: []
created_at: 2025-03-29T15:45:43.053Z
updated_at: 2025-03-29T15:45:43.053Z
url: https://n8n.io/workflows/3352
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  What does this template do ? 

  This workflow performs scheduled health checks on a list of URLs stored in a Google Sheet. Every X minutes, it retrieves the URLs, sends HTTP requests to check their availability, and notifies a Telegram chat if any request fails.

  You can easily replace Telegram with any other notification service supported by n8n, such as Slack, Discord, Email, or Microsoft Teams.

  Use Case
  Ideal for monitoring internal or external services, ensuring uptime and responsiveness. Integrate with your preferred messaging platform for real-time failure notifications—without setting up complex infrastructure.

  What the Workflow Does
  ⏰ Triggers at regular intervals using Schedule Trigger  
  📄 Reads URLs from a Google Sheet  
  🌐 Sends HTTP requests to check URL health  
  🚨 Sends failure alerts (including error code and URL) to Telegram (or any service of your choice)  

  Apps & Services Used
  Google Sheets  
  Telegram (or alternative notification service)  
  HTTP Request  

  Pre-requisites
  Telegram bot and chat ID (if using Telegram)  
  Connected Google Sheet with a URLS column  (template)

  Customization Tips
  Adjust the schedule interval in the trigger node  
  Replace Telegram with Slack, Email, Discord, or any other notification node  
  Customize alert messages with more context or formatting  
  Add filters, retries, or logging as needed  

nodes_used:
  ["n8n-nodes-base.noOp","n8n-nodes-base.telegram","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE5VW227bOBD9FYLdR9GRSEqUDPTBTTfdFt0ETZoCaRMUI3Jkq5EprUTFyRr69wXlNHZrZ9G+WdZczsycmaM1LQ2d0pWdx/f6vrqaJd9OLhJLA7pEB3S6pqXtHFiNb72d4YniYZrlGQopwIhcZ2EOUREVURZynuaoAUUqI5WYJOYiNVxlCQ+TrCikMjSgDpdNBQ6PWzTdBbq+Oa6XTYUODZ26tschoBaWSKf079nbGWHkL4TKLcjxAvWtDwDzjk6/3ATU1gb9z/WmiCgUIpZJzNJYGCYVAgMwigkpk1ArGeVK0qfgpzU5a7AFV9Y2IKYmtnaL0s59hofGW9jUsjEFy6HDia3PGhrQpu5K70OnX9IkDBgPbwLaQAtLdNh2dLoeNhE+YduNdtEQPCJEUEpFOTBhRMwkF8CyNBKMQxJLmUIUF3qL8CNWOG9h+SwitzX4CVWUeFQrzBd1fTtOLtEhV4oDSwsZMmmynKUFxozzEEAnQguJ9KdCqMN7R6f05e4EyJSQ9Zr88a2r7eTy/P0FGYZre22f/sO2rduJrg2SYaAB1QtwI4QolmkYi1AlNKBgzAgYqpMSKzOmg6ZBa2bOtWXeb6opoOpwGAKqWzRoXQnVI7JN6bOmHEnq43+4wkILOX/TLT5/uDyv9ztJQOu6t44OezOa8Kcp5YChMFoxFHHOpEpClhpMWRRHhptMiSzKt7Ev9AJNXyH52JbzObbPTqt7NNza7QwtDPZoRNu+ws0GOmzvoBqZXvhu0SldlrZ32NHh5n9rgVgUOWSahYVCJlWsWJprw1AknKcyxjTc2YkTdHpBLtuqe7aKeV3PK7xYILruxxI4P1RE3fjXj2vRebfTMdeafv3aVpuND+iyNj5XVXaOBvQOqt4/zkvzMvQMAt+6c+z6yl16J7pwrummR0em1t0jpImul0dd0yKYMU13ZI4ixdxV9nVl2Wt+8inh6uJesM8C8n9Oru7+VZlEg98UdvG7ZHWEpnQvDqU8fRy0jxrRIaCm1v0S7cjqg3WUZqeK3wFBD1B9t+Nns94t+C7p20UiXiXJ+6x5173q3WI7zDejH9k4Ps98OYmf2KKzBHioQpbFImcSQsFAhCkzgBk3qYzSONom2JyDy/P3z5LFj+kc/+lxHGtt//SnweeprSttj+PzWe+a3v3Ipfggl/px9i9/vj4+9JZl+/XxgEK1goduk+k1eGHbHJbvhcsCY5nnyATHgsnIcJbJImUclJGoIxXnyc7Ku1LfPpDT2uHz2z7aPJrsVBaNmrEvGmNP0Ppz++IFuXDYkOjaHrcIDgkQiyuyIQIZ2U1WC2yRzCJSdgSIK12FAQFriFugJX6RSGmJrqt+acmMQFX5N6Rvq4481D1ZgXXE1UT7IU7o85qVJUWaizxnRmDEZBQDg1RmLJV5ZGIuQefxwdZEv92bNAwD8Uut4df2Y036Dsl3IQhIVy6b6oEYLEqLxKtOaSZema7qnmiwpMWmAo1kVboFAftAPDpSF175y6LU46cAqcpbJF0F+jYg6PRkcqg5NwEF7co7/L74HTpX2vkIF+9Rj/J11hr0dL8br8bdxn2UQhVKrfxmKRVnTBYiYpBnkmmuY4FCx2iUv0K1tai/U3tn4aZruoTS9+zLevwM+qUPmtEloKU1eE+n4XATbL33Pzb2rG+GYFchDmE4cBIOhtkTzUPBDqnRgWjD8B+qzgDXxQoAAA==

metadata_json:
  {"categories":["monitoring","automation","integration"],"complexity":"simple","use_cases":["Uptime and availability monitoring for websites/APIs","Alerting on failed or slow endpoints","Lightweight service health checks without dedicated infrastructure","Integrating spreadsheet-managed URL lists with notification channels"],"estimated_setup_minutes":15,"required_services":["Google Sheets","Telegram (or alternative notification service: Slack, Discord, Email, Microsoft Teams)","Publicly reachable HTTP endpoints to check"],"key_features":["Periodic scheduled checks of URLs from a Google Sheet","HTTP request-based health checks with status and error detection","Failure notifications sent to Telegram (replaceable with other services)","Configurable check interval and alert message content","Simple node-based workflow using built-in n8n nodes"],"target_audience":["Developers","DevOps / SREs","IT administrators / operations teams"]}


name: Summarize Microsoft 365 Outage Alerts with ChatGPT and Send to Slack
author_name: Luke
author_username: ozskywalker
categories: []
created_at: 2025-03-29T16:18:13.432Z
updated_at: 2025-03-29T16:18:13.432Z
url: https://n8n.io/workflows/3353
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Built this for a dedicated Slack outage-notifications channel — works well on both desktop and mobile.

  This is for:

  IT Administrators & small MSPs looking to streamline M365 alerts from one or multiple mailboxes into a single or specific Slack channels
  IT Admins who prefer ChatOps over management-by-email

  What does it do

  Scans for M365 outage alerts emails (every 1 min)
  Checks if it impacts a specific user region (if the alert calls it out, countries have to be manually set)
  Summarizes the incident using OpenAI o4-mini (cheap model - or you can swap for local Ollama)
  Sends a Slack Block to your outage channel with incident link (can be extended)
  Deletes the original alert email after successful delivery

  Credentials

  Outlook:

  Create an Outlook credential (OAuth2.0) to point to the mailbox (regular or shared) where M365 service alerts will be received

  Slack:

  Create a Slack bot credential with access to the slack channel you want updates posted to

  OpenAI:

  Create a OpenAI credential that has access to the GPT-4O-MINI model.
  Recommend you use projects in OpenAI so that you may set a per-project-budget and not impact other projects.

  Review this OpenAI documentation for more info on managing Projects in the API portal. Expect this to consume no more than 1-2 cents per month on average.

  Setup

  Download & import the workflow
  Modify the first Outlook block (Check for 365 Service Alert) to use the Outlook credential
  Modify the OpenAI block's system prompt to call out the countries your users reside in
     ie. "- Assume the organization has users primarily in the U.S. and Australia. If those regions are affected, state: "Your users may have been affected." Otherwise, add: "No impact expected for your user base."" ← swap U.S. & Australia for desired countries
  Modify the Slack block (Post outage to Slack) to specify the channel updates will be posted to

   Sample Slack Output

   Workflow Diagram

nodes_used:
  ["n8n-nodes-base.microsoftOutlookTrigger","n8n-nodes-base.slack","n8n-nodes-base.microsoftOutlook","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","n8n-nodes-base.code"]

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

metadata_json:
  {"categories":["automation","integration","incident-management","communication"],"complexity":"medium","use_cases":["Aggregate Microsoft 365 outage emails into a single Slack channel","Summarize incidents with OpenAI for quick triage","Notify teams only when configured user regions may be affected","Convert email alerts into ChatOps messages for faster response"],"estimated_setup_minutes":20,"required_services":["Microsoft 365 / Outlook mailbox (regular or shared)","Slack (bot with channel posting permission)","OpenAI API access (GPT-4o-mini) — or local Ollama as alternative","n8n instance"],"key_features":["Polls mailbox for M365 service alert emails every minute","Filters alerts by specified user regions (configurable countries)","Summarizes incident details using OpenAI (o4-mini)","Posts a Slack Block message to a dedicated outage channel","Deletes original alert email after successful delivery to avoid duplicates"],"target_audience":["IT administrators","Small managed service providers (MSPs)","Site Reliability Engineers (SREs) / DevOps teams using ChatOps"]}


name: Automatically document and backup N8N workflows
author_name: Luke
author_username: ozskywalker
categories: []
created_at: 2025-03-29T17:16:27.848Z
updated_at: 2025-03-29T17:16:27.848Z
url: https://n8n.io/workflows/3354
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Automatically backs up your workflows to Github and generates documentation in a Notion database.

  Weekly run, uses the "internal-infra" tag to look for new or recently modified workflows
  Uses a Notion database page to hold the workflow summary, last updated date, and a link to the workflow
  Uses OpenAI's 4o-mini to generate a summarization of what the workflow does
  Stores a backup of the workflow in GitHub (recommend a private repo)
  Sends notification to Slack channel for new or updated workflows

  Who is this for

  Anyone seeking backup of their most important workflows
  Anyone seeking version control for their most important workflows

  Credentials required

  N8N: You will need an N8N credential created so the workflow can query the N8N instance to find all active workflows with the "internal-infra" tag
  Notion: You will need an Notion credential created
  OpenAI: You will need an OpenAI credential, unless you intend on rewiring this with your AI of choice (ollama, openrouter, etc.)
  GitHub: You will need an GitHub credential
  Slack: You will require an Slack credential, recommend a Bot / access token configuration

  Setup

  Notion

  Create a database with the following columns. Column type is specified in [type].
    Workflow Name [text]
    isActive (dev) [checkbox]
    Error workflow setup [checkbox]
    AI Summary [text]
    Record last update [date/time]
    URL (dev) [text/url]
    Workflow created at [date/time]
    Workflow updated at [date/time]

  Slack

  Create a channel for updates to be posted into

  Github

  Create a private repo for your workflows to be exported into

  N8N

  Download & install the template
  Configure the blocks to use your N8N, Notion, OpenAI & Slack credentials for your own
  Edit the "Set Fields" block and change the URL to that of your N8N instance (cloud or self-hosted)
  Edit the "Add to Notion" action and specify the Database page you wish to update
  Edit the Slack actions to specify the Channel you want slack notifications posted to
  Edit the GitHub actions to specify the Repository Owner & Repository Name


  Sample output in Notion

  Workflow diagram

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.notion","n8n-nodes-base.notion","n8n-nodes-base.slack","n8n-nodes-base.slack","n8n-nodes-base.slack","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.github","n8n-nodes-base.github","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.if","n8n-nodes-base.n8n","n8n-nodes-base.if"]

workflow_json_compressed:
  [encoded data, 5516 characters]

metadata_json:
  {"categories":["automation","backup","documentation","integration"],"complexity":"medium","use_cases":["Automated backup of n8n workflows to GitHub","Generating human-readable workflow documentation in Notion","Keeping versioned copies of important workflows","Notifying teams about new or updated workflows via Slack","Periodic auditing of workflows tagged for internal infra"],"estimated_setup_minutes":45,"required_services":["n8n (self-hosted or cloud) with API access","Notion (database)","OpenAI (or alternative LLM credential)","GitHub (repo access)","Slack (bot/access token)"],"key_features":["Weekly scheduled run that scans workflows with a specific tag","Uses LLM (OpenAI 4o-mini) to generate workflow summaries","Creates/updates records in a Notion database with summary, links, timestamps","Exports workflow JSON to a GitHub repository (recommended private)","Sends Slack notifications for new or updated workflows"],"target_audience":["DevOps / Infrastructure engineers","Automation engineers","Platform / internal tools teams wanting version control and backups of workflows"]}


name: Automated Interview Scheduling with GPT-4o and Google Calendar Chat Bot
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-03-30T03:22:28.201Z
updated_at: 2025-03-30T03:22:28.201Z
url: https://n8n.io/workflows/3363
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  ✨ Overview

  This workflow allows candidates to schedule interviews through a conversational AI assistant. It integrates with your Google Calendar to check for existing events and generates a list of available 30-minute weekday slots between 9 AM and 5 PM Eastern Time. Once the candidate selects a suitable time and provides their contact information, the AI bot automatically books the meeting on your calendar and confirms the appointment.

  ⚡ Prerequisites

  To use this workflow, you need an OpenAI account with access to the GPT-4o model, a Google account with a calendar that can be accessed through the Google Calendar API, and an active instance of n8n—either self-hosted or via n8n cloud. Within n8n, you must have two credential configurations ready: one for Google Calendar using OAuth2 authentication, and another for your OpenAI API key.

  🔐 API Credentials Setup

  For Google Calendar, go to the Google Cloud Console and create a new project. Enable the Google Calendar API, then create OAuth2 credentials by selecting “Web Application” as the application type. Add http://localhost:5678/rest/oauth2-credential/callback as the redirect URI if using local n8n. After that, go to n8n, navigate to the Credentials section, and create a new Google Calendar OAuth2 credential using your account. For OpenAI, visit platform.openai.com to retrieve your API key. Then go to the n8n Credentials page, create a new credential for OpenAI, paste your key, and name it for reference.

  🔧 How to Make This Workflow Yours

  To customize the workflow for your use, start by replacing all instances of the calendar email rbreen.ynteractive@gmail.com with your own Google Calendar email. This email is referenced in multiple places, including Google Calendar nodes and the ToolWorkflow JSON for the node named "Run Get Availability." Also update any instances where the Google Calendar credential is labeled as Google Calendar account to match your own credential name within n8n. Do the same for the OpenAI credential label, replacing OpenAi account with the name of your own credential.

  Next, go to the node labeled Candidate Chat and copy the webhook URL. This is the public chat interface where candidates will engage with the bot—share this URL with them through email, your website, or anywhere you want to allow access. Optionally, you can also tweak the system message in the Interview Scheduler node to modify the tone, language, or logic used during conversations. If you want to add branding, update the title, subtitle, and inputPlaceholder in the Candidate Chat node, and consider modifying the final confirmation message in Final Response to User to reflect your brand voice. You can also update the business rules such as time zone, working hours, or default duration by editing the logic in the Generate 30 Minute Timeslots code node.

  🧩 Workflow Explanation

  This workflow begins with the Candidate Chat node, which triggers when a user visits the public chat URL. The Interview Scheduler node acts as an AI agent, guiding the user through providing their email, phone number, and preferred interview time. It checks availability using the Run Get Availability tool, which in turn reads your calendar and compares it with generated free time slots from the Generate 30 Minute Timeslots node. The check day names tool helps the AI interpret natural language date expressions like “next Tuesday.”

  The schedule is only populated with 30-minute weekday slots from 9 AM to 5 PM Eastern Time, and no events are scheduled if they overlap with existing ones. When a suitable time is confirmed, the AI formats the result into structured JSON, creates an event on your Google Calendar, and sends a confirmation back to the user with all relevant meeting details.

  🚀 Deployment Steps

  To deploy the interview scheduler, import the provided workflow JSON into your n8n instance. Update the Google Calendar email, OpenAI and Google credential labels, system prompts, and branding as needed. Test the connections to ensure the API credentials are working correctly. Once everything is configured, copy and share the public chat URL from the Candidate Chat node. When candidates engage with the chat, the workflow will walk them through the interview booking process, check your availability, and finalize the booking automatically.

  💡 Additional Tips

  By default, the workflow avoids scheduling interviews on weekends and outside of 9–5 EST. Each interview lasts exactly 30 minutes, and overlapping with existing events is prevented. The assistant does not reveal details about other meetings. You can customize every part of this workflow to fit your use case, including subworkflows like Get Availability and check day names, or even white-label it for client use. This workflow is ready to become your AI-powered interview scheduling assistant.

  🤝 Connect with Me

  Description  
  I’m Robert Breen, founder of Ynteractive — a consulting firm that helps businesses automate operations using n8n, AI agents, and custom workflows. I’ve helped clients build everything from intelligent chatbots to complex sales automations, and I’m always excited to collaborate or support new projects.

  If you found this workflow helpful or want to talk through an idea, I’d love to hear from you.

  Links  
  🌐 Website: https://www.ynteractive.com  
  📺 YouTube: @ynteractivetraining  
  💼 LinkedIn: https://www.linkedin.com/in/robert-breen  
  📬 Email: rbreen@ynteractive.com

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.if","n8n-nodes-base.noOp","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.googleCalendar","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.googleCalendar","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 11068 characters]

metadata_json:
  {"categories":["automation","integration","scheduling","chatbot","calendar-management"],"complexity":"complex","use_cases":["Candidate interview scheduling via chat","Automated appointment/meeting booking","Conversational availability checking","Calendar event creation and confirmation","White-label chatbot scheduling for clients"],"estimated_setup_minutes":45,"required_services":["OpenAI (GPT-4o API key)","Google Calendar API (Google account + OAuth2 credentials via Google Cloud Console)","n8n instance (self-hosted or n8n cloud)"],"key_features":["Conversational webhook chat interface for candidates","Generates 30-minute weekday slots between 9 AM–5 PM Eastern","Checks Google Calendar for conflicts and prevents overlaps","Creates Google Calendar events automatically","Parses natural language dates (e.g., 'next Tuesday') and returns structured JSON results for bookings and confirmations"],"target_audience":["Recruiters and HR teams","Small business owners and hiring managers","Automation consultants and agencies (e.g., Ynteractive clients)"]}


name: Convert Parquet, Feather, ORC & Avro Files with ParquetReader
author_name: ParquetReader
author_username: parquetreader
categories: []
created_at: 2025-03-30T09:17:15.940Z
updated_at: 2025-03-30T09:17:15.940Z
url: https://n8n.io/workflows/3365
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  📄 Convert Parquet, Feather, ORC & Avro Files with ParquetReader

  This workflow allows you to upload and inspect Parquet, Feather, ORC, or Avro files via the ParquetReader API. It instantly returns a structured JSON preview of your data — including rows, schema, and metadata — without needing to write any custom code.

  ✅ Perfect For
  Validating schema and structure before syncing or transformation
  Previewing raw columnar files on the fly
  Automating QA, ETL, or CI/CD workflows
  Converting Parquet, Avro, Feather, or ORC to JSON

  ⚙️ Use Cases
  Catch schema mismatches before pipeline runs
  Automate column audits in incoming data files
  Enrich metadata catalogs with real-time schema detection
  Integrate file validation into automated workflows

  🚀 How to Use This Workflow

  📥 Trigger via File Upload

  You can trigger this flow by sending a POST request with a file using curl, Postman, or from another n8n flow.

  🔧 Example (via curl):
  curl -X POST http://localhost:5678/webhook-test/convert \
  -F "file=@converted.parquet"
  &gt; Replace converted.parquet with your local file path. You can also send Avro, ORC or Feather files.

  🔁 Reuse from Other Flows
  You can reuse this flow by calling the webhook from another n8n workflow using an HTTP Request node.  
  Make sure to send the file as form-data with the field name file.

  🔍 What This Flow Does:
  Receives the uploaded file via webhook (file)
  Sends it to https://api.parquetreader.com/parquet as multipart/form-data (field name: file)
  Receives parsed data (rows), schema, and metadata in JSON format

  🧪 Example JSON Response from this flow
  {
    "data": [
      {
        "full_name": "Pamela Cabrera",
        "email": "bobbyharrison@example.net",
        "age": "24",
        "active": "True",
        "latitude": "-36.1577385",
        "longitude": "63.014954",
        "company": "Carter, Shaw and Parks",
        "country": "Honduras"
      }
    ],
    "meta_data": {
      "created_by": "pyarrow",
      "num_columns": 21,
      "num_rows": 10,
      "serialized_size": 7598,
      "format_version": "0.12"
    },
    "schema": [
      { "column_name": "full_name", "column_type": "string" },
      { "column_name": "email", "column_type": "string" },
      { "column_name": "age", "column_type": "int64" },
      { "column_name": "active", "column_type": "bool" },
      { "column_name": "latitude", "column_type": "double" },
      { "column_name": "longitude", "column_type": "double" },
      { "column_name": "company", "column_type": "string" },
      { "column_name": "country", "column_type": "string" }
    ]
  }

  🔐 API Info
  Authentication: None required
  Supported formats: .parquet, .avro, .orc, .feather
  Free usage: No signup needed; API is currently open to the public
  Limits: Usage and file size limits may apply in the future (TBD)

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

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

metadata_json:
  {"categories":["data processing","file conversion","integration","automation"],"complexity":"simple","use_cases":["Preview Parquet/Avro/ORC/Feather files as JSON","Validate schema and structure before ETL or sync","Catch schema mismatches in CI/CD or pipeline runs","Automate file QA and column audits","Enrich metadata catalogs with detected schema"],"estimated_setup_minutes":10,"required_services":["ParquetReader API (https://api.parquetreader.com/parquet)","n8n instance with a public webhook endpoint (self-hosted or cloud)"],"key_features":["Upload and inspect Parquet, Avro, ORC, Feather files via webhook","Returns structured JSON preview: rows, schema, metadata","Sends file as multipart/form-data to ParquetReader API","No custom code required to parse columnar formats","Reusable webhook for integration with other workflows"],"target_audience":["data engineers","ETL developers","data analysts/BI engineers"]}


name: Webpage Change Detection & Alerts with Google Suite and Hash Tracking
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-03-30T11:27:55.561Z
updated_at: 2025-03-30T11:27:55.561Z
url: https://n8n.io/workflows/3366
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n template can monitor and detect changes to a webpage's contents and notify you only when a change occurs.

  Great to keep an eye on and track publicly available documents such as  company TOS, government policy or competitor pages.

  How it works
  A scheduled trigger is used so we can run everyday to automate this process.
  A website page is then fetched with the HTTP request node and the contents we want to track are extracted using the HTML node.
  To detect changes, we generate a hash on the contents with the cryptography node and compare it with previously seen hashes using the "remove duplicates" node. If the hash was seen before, the workflow stops here.
  Finally, when new changes are detected a copy of the contents are uploaded to Google Drive and a logged into a Google sheet. A notification email can also be sent if action is required.

  How to use
  Update the URL you want to track in the node named "variables" and ensure the HTML node has updated selectors to get the content you want.
  Ensure the timezone is set correctly when using the Scheduled Trigger node.

  Requirements
  Google Sheets, Drive and Gmail for storing and notifying about changes.
  Webpages should ideally be publicly accessible. If not, you may need to switch the HTTP request node with a webscraping service.

  Customising this workflow
  Not using Google? Easier swap to other Service providers such as Miscrosoft365.
  Need more URLs? Try modifing the variables node to accept multiple URLs though the HTML node will need to be customised.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.crypto","n8n-nodes-base.gmail","n8n-nodes-base.markdown","n8n-nodes-base.set","n8n-nodes-base.removeDuplicates","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.html","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["monitoring","automation","integration","notifications"],"complexity":"medium","use_cases":["Detect and alert on webpage content changes (TOS, policy pages)","Track competitor or public document updates","Archive changed page snapshots","Maintain change log for audit/compliance"],"estimated_setup_minutes":15,"required_services":["Google Sheets","Google Drive","Gmail","Publicly accessible webpages (or a web-scraping service if pages are protected)"],"key_features":["Scheduled checks (daily)","HTML content extraction via selectors","Content hashing for change detection (deduplication)","Upload snapshot to Google Drive","Log entries in Google Sheets for history/audit trails"],"target_audience":["product managers","legal/compliance teams","marketing/competitive intelligence teams (marketers)  | analysts"]}


name: 🚀 Instagram Reels Automation - Turn YouTube Videos into Viral Instagram Reels ✨
author_name: Matt F.
author_username: lemolex
categories: []
created_at: 2025-03-30T12:26:42.247Z
updated_at: 2025-03-30T12:26:42.247Z
url: https://n8n.io/workflows/3367
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Automatically Create and Post Instagram Reels from Podcasts and Other Videos Using AI & Spikes Studio (Simplified)

  Transform podcasts and other videos into engaging, fully optimized Instagram Reels with this all-in-one automation solution—designed for content creators who love repurposing dynamic clips.

  Overview

  This automation transforms YouTube videos into engaging, professional-grade Instagram Reels using AI-powered editing. Perfect for content creators, podcasters, marketers, and brands, the workflow extracts your most captivating moments, enhances them with dynamic captions, transitions, and effects, and auto-schedules them for Instagram—all without manual editing or uploading.

  With just a YouTube link, this template automates the entire lifecycle of short-form content creation—from input to upload—so you can repurpose long-form videos into viral clips in minutes.

  Key Features

  Insights-Driven Highlight Extraction:**  
    Automatically analyzes engagement metrics to select the most resonant moments from podcasts or other creators’ videos, ensuring each clip connects with your audience.

  AI-Powered Editing:**  
    Utilizes professional-grade editing—adding captions, effects, transitions, and more—to produce visually stunning, high-impact reels.

  Auto-Generated Metadata:** 
    Effortlessly creates dynamic titles, descriptions, and hashtags to optimize your clips for immediate upload on Instagram.

  Customizable Scheduling:**  
    Allows you to set upload intervals that fit your content strategy, ensuring a consistent flow of engaging reels on your profile.

  Seamless Instagram Integration:**  
    Directly connects with Instagram’s API, streamlining the posting process so your profile stays active and engaging with minimal effort.

  Customization Options

  🎨 Style & Branding: Modify the Spikes Studio API request to include your custom branding, text overlays, or templates.
  🎥 Clips Length: Previously adjust the length of each clip generated. 
  🕒 Scheduling Delay: Adjust the time interval to control how often posts are made.
  🔁 Multi-Platform Support: Add additional nodes to also post to TikTok, Facebook, or LinkedIn.

  Step-by-Step Setup Instructions

  Prepare Prerequisites:  
     Ensure you have a Spikes Studio account (free at spikes.studio), a YouTube video URL, an Upload-Post account (free at Upload-Post), and a working n8n instance.

  Configure APIs:  
     Spikes Studio: Obtain your API key and connect credentials.
     Upload-Post: Obtain your API key and connect credentials and customize the request.

  Assemble the Workflow:  
     Trigger: Trigger the workflow with a YouTube video URL and desired clip length.  
     Output: Auto-upload the formatted Reels to Instagram on a scheduled basis.

  Designed specifically for content creators repurposing YouTube videos—and requiring only a Spikes Studio account (it’s Free) for full functionality—this simplified automation template streamlines the conversion of long-form content into bite-sized, shareable clips. Elevate your content strategy, maximize audience engagement, and reclaim valuable time with a solution built to drive your channel’s growth.

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

workflow_json_compressed:
  H4sIAAAAAAAAE62XyW7bSBCGX4XgXFlG74sug3GCAMEA40yW8SHwobq72iYikRqx5SQw/O4DSo4XmYotT26SQP79/bV16apuUz2ru/m5+vPdyfHl+9O/0/Gn07qpF1Swnl3VbTcU7CK9HZ/jSiaBQevoQs6BmeyCjxaTZFJqa1ROUbkQAkaKgYTgLmEK3juUQnBZN3WhxXKOhV6tKA0fqKyXr/rFck6FUj0rqzVdN3WHC6pn9dvx6PMVLqr3RPOh+mNd+gWWtu9GHTwf6tnns6bu+kTjx6utF+kd8mQdWOclKIwevEcGpHmIMkmdta1vz/hQ2vjle/VXX2gU/b4cf+xcBxtVCDjQ0bB55uaRZT+0G4TZZ5CONcAFO2vqJa5wQYVWwxi02HeFulLP6vp6q/oPrYbNW/y6uQFliSOij6CTSaAiRXBSe+BZYoyko+XToPxwUsEakC8G5c5xxhg4ZRkobjSgUBZ4YMxjsMnQNKg8GNQz1oBgLwTNzoQsvAYpSIFi1gGmnEF6LSw55oXlk6DqYFCu/xcpx2C9VxaCjxGUVhwCYwTaee1MNMHqMEmqDyYV3LFGvhTUJWmTFxakTgyUsBGC5gq0M4opla1l/g70TTufV22X+9W2T6vSVx8Krspe6vHRj6v2/JxWuyVrWKNG6q8ULvr+y2YAmSiNZz6BTQxBWQzgfXSgmDCE1ntPG/v3je6aE0fi1l7ITLtAGZxHA0olPeYBQbicNCPtQkx39k6xLdVv+9vvK7ZlJ/huwgRxwUVECcoTA6WZBS8MA6eFyz6TweyeMsGP7nKklJdcU4acxxxpkuB5FMApEzGhhPV214Q4xIQQrJGPbOjoMzrDgGnHQZkQwSdmgbnseY4mS6UPsZF49EFaAcrLCEoaB4FlMxadDUpYZeT0mDGHz0Mu1Ni+6oVdEV1OhusElsYMRiHB5WhBkfMmCucTqklUezCqHNv3hZhGuKhlVKCzcaBUNoA5WUDBtKBkRJbmDvPdipa4ou1lu5fzopTle/p3TcNOlfyo9J/mWx2Jpsb5V/w+nKzLcl1e47hmbO/9Hz3JtdRuHNtOZFA2WwhZCgghi6CMI+vuUb/uv3bzHlNVLm7Qq7bbfmnPL0r1ZjOLDrcj1C8zpL0yLlgNPvEEihkLzqcMpHzmPJLQiPfS0A+l+thXt9vPC9jdc9nv5jy6HMYSFpgUKJ00oCYCbQRLnFPS0t2v6NU6lvWTxTIs5205We/gjbtE83gZeVTHTwbWCiW8CAkSjdPbRwHonQeD3hC5HKLEB5dTodWmNI5pKDfFUvrq03IsoL0mYp92L/9xrD9t4C660QrnxTiSlWCgfNYQvE5AmF2IRDzQ/eueunRDxyssFValXfxkPR2D/LY7xhIvaNghdeI5pPKWFANyEZCB4zqCciQAs+KgTTJMGuWy0BPNt6U9vaCuek+Yvh9es8ocWrIsE6JNFhgzHlRADS6wBIEHlMI5Iay8Q90SbuB+30vX5odQRj0HalwozpoaY2kvqZ5lnA/U1AOV0nbnm2lN3yiuR82TVaJVPasv+Ti2L7cKm9s0GMMxiAAhkQaFhIBKSjBWaEPGGLHZCGPfdRRHqY3wj41kdlUvsB2RP19t/hA9Lzmbd5q67RJ9q2fs+uzsurldEKY0nyrNScEHoZ9U3TdOHsk1dy89WsYmz354qU0d/jydXcQppWcPmGnSR3N/P614inY6TfcE70fy0Ct08sj91TZlY7obJ4X3/6eYEt6zxOxT/mm+flkDPDPAk372bwMTR11f/wcgxW6J0REAAA==

metadata_json:
  {"categories":["automation","integration","content repurposing","social media","video editing"],"complexity":"medium","use_cases":["Repurpose long-form YouTube/podcast episodes into short-form Instagram Reels","Automate captioning, effects and metadata generation for short clips","Consistent scheduling and posting of short-form content","Multi-platform cross-posting (optional extension)"],"estimated_setup_minutes":30,"required_services":["Spikes Studio (API)","Upload-Post (API)","YouTube (video source / URL)","Instagram API or Upload-Post Instagram integration","n8n instance"],"key_features":["AI-powered highlight extraction to find engaging moments","Automated professional-grade editing (captions, transitions, effects)","Auto-generated titles, descriptions and hashtags","Customizable scheduling for automated uploads","Direct posting integration to Instagram (can extend to TikTok/Facebook/LinkedIn)"],"target_audience":["Content creators and podcasters","Social media managers and marketers","Small agencies and growth teams repurposing content at scale"]}


name: Automate Product Training & Customer Support via WhatsApp, GPT-4 & Google Sheets
author_name: Dr. Firas
author_username: drfiras
categories: []
created_at: 2025-03-30T16:46:52.017Z
updated_at: 2025-03-30T16:46:52.017Z
url: https://n8n.io/workflows/3379
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  WhatsApp AI Agent: Auto-Train Product Data & Handle Customer Support

  Who Is This For

  This workflow is ideal for eCommerce founders, product managers, customer support teams, and automation builders who rely on WhatsApp to manage product information and interact with clients.

  It’s perfect for businesses that want to automate product data entry and support responses directly from WhatsApp messages using GPT-4 and Google Sheets.

  What Problem Does This Workflow Solve

  Manual Product Data Entry**: Collecting and organizing product data from links is tedious and error-prone.  
  Slow Customer Response Times**: Responding to client questions manually leads to delays and inconsistent support.  
  No Logging System for Issues**: Without automation, support issues often go undocumented, making it harder to learn and improve.

  What This Workflow Does

  Step 1 – Incoming Message Detection
  Listens for incoming messages via WhatsApp.
  If the message starts with train:, it routes to the product training process.
  Otherwise, it routes to the customer support assistant.

  Step 2 – Product Data Training
  Extracts URL** from the message using a regex script.
  Fetches HTML content** from the URL.
  Cleans HTML data** to extract readable product description.
  Saves raw data** (URL + description) into Google Sheets.
  Uses GPT-4** to enhance product data:  
    → Name, price (one-time or subscription), topic, and FAQs.  
  Updates the product row** in Google Sheets with structured information.

  Step 3 – Customer Support Flow
  Analyzes user messages with GPT-4 to understand the request or issue.
  Looks up relevant product info in Google Sheets.
  Detects potential problems (e.g. payment, login, delivery).
  Suggests an appropriate solution.
  Logs the problem, solution, and category to the Customer Issues sheet.
  Sends a response back to the client via WhatsApp.

  Step 4 – Client Response
  Sends the AI-generated response to the client via WhatsApp.
  Keeps the communication fast, clear, and professional.

  Setup Guide

  Prerequisites

  WhatsApp Business API access**
  OpenAI API Key**
  Google Account** with Google Sheets access
  A hosted instance of n8n (Cloud or self-hosted)

  Setup Steps

  Import the Workflow into your n8n instance.
  Connect your credentials for WhatsApp, OpenAI, and Google Sheets.
  Customize Google Sheet IDs and names as needed.
  Test by sending a train: message or a regular customer message to WhatsApp.
  Activate the workflow to make it live.

  How to Customize This Workflow

  Edit AI prompts** to reflect your product type, language style, or tone.
  Change the trigger keyword** (e.g. from train: to add: or anything else).
  Add integrations** like Notion, Airtable, or CRM tools.
  Expand the Sheets structure** with more product fields (e.g. stock status, image link).
  Add notifications** to Slack or email after product updates or issue logging.

  📄 Documentation: Notion Guide

  Need help customizing?
  Contact me for consulting and support : Linkedin / Youtube

nodes_used:
  ["n8n-nodes-base.whatsApp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.whatsAppTrigger","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.googleSheetsTool","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTool"]

workflow_json_compressed:
  [encoded data, 7752 characters]

metadata_json:
  {"categories":["automation","integration","customer support","e-commerce","data processing"],"complexity":"complex","use_cases":["Auto-ingest and structure product data from URLs","AI-powered customer support over WhatsApp","Automated FAQ generation and product enrichment","Issue detection and logging into a central sheet","Fast, consistent WhatsApp responses tied to product data"],"estimated_setup_minutes":45,"required_services":["WhatsApp Business API (or WhatsApp provider)","OpenAI API (GPT-4)","Google Sheets (Google account)","Hosted n8n instance (cloud or self-hosted)","Public HTTP access for webhook/HTML fetches"],"key_features":["Keyword-based routing (train: vs support)","URL extraction via regex and HTML fetch/cleaning","Save raw product data to Google Sheets","GPT-4 enrichment: name, price type, topic, FAQs","Lookup product info in Sheets to answer queries contextually」「Detect and categorize common issues (payment, delivery, login) and log them」,"],"target_audience":["eCommerce founders","Product managers","Customer support teams and agents」「Automation builders / devops engineers"]}


name: Transcribe YouTube Videos with AI Enhancement via Chat Interface
author_name: ivn
author_username: jnr
categories: []
created_at: 2025-03-30T22:40:55.999Z
updated_at: 2025-03-30T22:40:55.999Z
url: https://n8n.io/workflows/3381
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  About:

  This workflow automates the transcription of YouTube videos by processing a video URL provided via a chat message. Designed for users who need quick access to video content in text form, this workflow ensures a seamless experience for transcribing videos on demand, regardless of the topic.

  Who is this for?

  This workflow is designed for individuals who need quick and accurate transcriptions of YouTube videos without watching them in full. It is particularly useful for:

  Students who need text-based notes from educational videos.

  Researchers looking to extract information from lectures or discussions.

  Professionals who prefer reading over watching videos.

  Casual users who want an efficient way to summarize video content.

  What problem is this workflow solving?

  Manually transcribing YouTube videos is time-consuming and prone to errors. Watching long videos just to extract key information is inefficient. This workflow automates transcription, allowing users to quickly convert video content into text. Use cases include:

  Summarizing lectures or webinars.

  Extracting insights from interviews and discussions.

  Creating searchable text from video content.

  Generating reference material without watching entire videos.

  What This Workflow Does?

  This workflow automates the transcription of YouTube videos by:

  Accepting Input: User provide a YouTube video URL through a chat message.

  Processing the Video: It utilizes an external transcription service to retrieve the full transcript of the YouTube video from the provided URL.

  Enhancing Output: An AI model (OpenAI) refines the transcription for accuracy and readability.

  Delivering Results: The final text transcript is returned to the user via the chat interface.

  Setup:

  Install n8n: Ensure you have n8n installed and running.

  Import the Workflow: Copy the JSON workflow file into your n8n instance.

  Configure API Keys:

  	Set up your Supadata (Supadata) API key for transcription.

  	Configure the OpenAI (OpenAI) API key for additional processing.

  Run the Workflow: Provide a YouTube video URL and receive a transcription in response.

  How to customize this workflow to your needs:

  The workflow is flexible and can be tailored to suit specific requirements. Here are some customization ideas:

  Language Support:** Adjust the transcription language in both the HTTP Request and OpenAI nodes to support transcriptions in different languages (e.g., French, German).

  Integrate with Other Services:** Store transcriptions in a database, send them via email, or connect with a document management system.

  Notification:** Add a notification node (e.g., email or Slack) to alert you when the transcription is complete, especially for long videos.

  Quality Check:** Integrate an additional AI step to summarize or highlight key points in the transcript for quicker insights.

  This workflow is designed to be scalable, efficient, and adaptable to various transcription needs.

  Limitations

  Video Length Limitation:** Very long videos may not have a complete transcription due to constraints in processing capacity or service limitations.

  Transcription Dependency:** The accuracy of the transcription relies entirely on the presence of video captions or subtitles. If a video lacks these, no transcription will be generated.

  Access Restrictions:** Private or restricted YouTube videos may not be accessible for transcription due to permission limitations.

  Processing Time:** The time required to process a video can vary significantly, especially for longer videos, depending on the transcription service and server resources.

  Regional Restrictions:** Some YouTube videos may have geographic or regional access limitations, which could prevent the workflow from retrieving the content for transcription.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.respondToWebhook","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.set","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi"]

workflow_json_compressed:
  [encoded data, 4856 characters]

metadata_json:
  {"categories":["automation","integration","data processing","AI/transcription"],"complexity":"medium","use_cases":["Transcribe and summarize YouTube lectures and webinars","Extract interview or discussion transcripts for research","Create searchable text archives from video content","Generate reference notes or summaries for professionals","On-demand transcription via chat interface"],"estimated_setup_minutes":20,"required_services":["n8n instance","YouTube (public video URLs)","Supadata transcription API (or equivalent HTTP transcription service)","OpenAI API (or compatible LLM for enhancement)","Webhook/chat endpoint (n8n Webhook node or integrated chat service)"],"key_features":["Accepts YouTube URL via chat/webhook","Fetches/transcribes video using external transcription API","Enhances and cleans transcription with OpenAI","Returns final transcript back through chat interface","Configurable language and post-processing steps (summaries, highlights, storage, notifications)"],"target_audience":["Students","Researchers","Professionals (analysts, consultants, knowledge workers)"]}


name: Populate Retell Dynamic Variables with Google Sheets Data for Call Handling
author_name: Agent Studio
author_username: agentstudio
categories: []
created_at: 2025-03-31T14:40:28.707Z
updated_at: 2025-03-31T14:40:28.707Z
url: https://n8n.io/workflows/3385
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Overview
  This workflow provides Retell agent builders with a simple way to populate dynamic variables using n8n.
  The workflow fetches user information from a Google Sheet based on the phone number and sends it back to Retell.
  It is based on Retell's Inbound Webhook Call.
  Retell is a service that lets you create Voice Agents that handle voice calls simply, based on a prompt or using a conversational flow builder.

  Who is it for
  For builders of Retell's Voice Agents who want to make their agents more personalized.

  Prerequisites
  Have a Retell AI Account
  Create a Retell agent
  Purchase a phone number and associate it with your agent
  Create a Google Sheets - for example, make a copy of this one.
  Your Google Sheet must have at least one column with the phone number. The remaining columns will be used to populate your Retell agent’s dynamic variables.
  All fields are returned as strings to Retell (variables are replaced as text)

  How it works
  The webhook call is received from Retell. We filter the call using their whitelisted IP address.
  It extracts data from the webhook call and uses it to retrieve the user from Google Sheets.
  It formats the data in the response to match Retell's expected format.
  Retell uses this data to replace dynamic variables in the prompts.

  How to use it
  See the description for screenshots!
  Set the webhook name (keep it as POST).
  Copy the Webhook URL (e.g., https://your-instance.app.n8n.cloud/webhook/retell-dynamic-variables) and paste it into Retell's interface. Navigate to "Phone Numbers", click on the phone number, and enable "Add an inbound webhook".


  In your prompt (e.g., "welcome message"), use the variable with this syntax: {{variable_name}} (see Retell's documentation).


  These variables will be dynamically replaced by the data in your Google Sheet.

  Notes
  In Google Sheets, the phone number must start with '+.
  Phone numbers must be formatted like the example: with the +, extension, and no spaces.
  You can use any database—just replace Google Sheets with your own, making sure to keep the phone number formatting consistent.

  👉 Reach out to us if you're interested in analysing your Retell Agent conversations.

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

metadata_json:
  {"categories":["integration","telephony","automation","data lookup"],"complexity":"medium","use_cases":["Populate Retell dynamic variables from a contact database","Personalize voice agent prompts based on caller phone number","Lookup caller information during inbound calls","Prototype call-handling logic with Google Sheets as a datastore"],"estimated_setup_minutes":20,"required_services":["Retell AI account","Retell phone number (inbound webhook enabled)","Google Sheets","n8n instance with public webhook endpoint"],"key_features":["Inbound webhook to receive Retell call data","IP-based filtering of inbound webhook requests","Phone-number lookup in Google Sheets","Map sheet columns to Retell dynamic variables (all returned as strings)","Respond to Retell in expected format to replace variables in prompts"],"target_audience":["Retell Voice Agent builders","Developers and engineers integrating telephony data","No-code/low-code automation builders and integrators"]}


name: Automate Docker Container Updates with Telegram Approval System
author_name: Jaber Zare
author_username: j4b3r
categories: []
created_at: 2025-03-31T15:35:34.305Z
updated_at: 2025-03-31T15:35:34.305Z
url: https://n8n.io/workflows/3386
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?
  This workflow is for DevOps engineers, system administrators, and Docker users who want to automate the process of checking for updates, verifying them, and applying updates to their Docker-based deployment in a controlled manner.
  For example, this workflow is used to update the n8n Docker image.

  What does this workflow do?
  Fetches the latest Docker image version from GitHub.
  Compares it with the currently running version on the server.
  Sends a Telegram message requesting confirmation if an update is available.
  If confirmed, pulls the latest n8n Docker image, updates the container, and restarts it.
  Sends a Telegram message confirming the update is completed.
  Schedules automatic checks, Uses a cron trigger in n8n to check for updates at regular intervals.

  Setup
  Ensure n8n is installed and running in a Docker container.
  Create a Telegram bot using BotFather.
  Set up Telegram credentials. 
  Set up SSH credentials (ensure the SSH user has sudo access).
  Obtain the bot token and chat ID.
  Set the Default variable node
     telegram-id (You can find it by messaging @get_id_bot).
     n8n-container-name (Specify the name of the n8n container.)
     working-directory (The directory where your docker-compose.yml is).
   You can use a manual trigger or a schedule trigger to update (for n8n, I use Cron every 3 days to check for a new version).

  How to customize this workflow
  Change the update mechanism: Modify the Docker commands if using a different container runtime or orchestration tool.
  Modify the confirmation flow: Add extra validation steps, such as checking for breaking changes before updating.
  Use a different notification method: Replace Telegram with Slack, email, or another notification service.

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

workflow_json_compressed:
  [encoded data, 4852 characters]

metadata_json:
  {"categories":["automation","devops","deployment"],"complexity":"medium","use_cases":["Automated Docker image update checks","Human-in-the-loop update approvals","Scheduled maintenance for containerized apps","Remote container update and restart via SSH","Notify and confirm updates via Telegram"],"estimated_setup_minutes":30,"required_services":["n8n instance (self-hosted)","Telegram Bot API (BotFather, bot token, chat ID)","SSH access to target server with sudo and Docker/docker-compose","Image source (GitHub or container registry)"],"key_features":["Fetch latest image version from GitHub/registry and compare to running container","Telegram approval prompt when update available","SSH-based pull, update and restart of Docker container (supports docker-compose)","Scheduled checks via cron trigger in n8n","Pre- and post-update Telegram notifications and confirmation flow (configurable variables)"],"target_audience":["DevOps engineers","System administrators","Docker users running self-hosted services (e.g., n8n)"]}


name: Transcribe audio files with Google Gemini and Telegram
author_name: Solomon
author_username: solomon
categories: []
created_at: 2025-03-31T17:32:21.750Z
updated_at: 2025-03-31T17:32:21.750Z
url: https://n8n.io/workflows/3388
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Transcribe audio messages from Telegram using Google Gemini for free.

  Send an audio file to your Telegram bot and get a full transcription using Gemini’s free model.

  Who is this template for?

  Anyone who needs quick and accurate transcriptions of audio messages.

  Perfect for:

  Creators and podcasters
  Coaches or educators
  People who receive a lot of audio on Telegram

  You can also adapt this workflow to transcribe audio from other sources, like WhatsApp, Google Drive, or direct uploads.

  How it works

  You send an audio file to your Telegram bot
  n8n downloads the file and converts it to text using Google Gemini
  The transcript is sent back to you on Telegram

  How to set up

  You’ll just need:

  A Telegram bot token
  A Google Gemini API key (free tier supported)

  The rest works out by itself.

  Check out my other templates

  👉 https://n8n.io/creators/solomon/

nodes_used:
  ["n8n-nodes-base.switch","n8n-nodes-base.telegram","n8n-nodes-base.telegramTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.readWriteFile","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WY224bORKGX6XR16oBD8UiqbvFBDMYYE9IMrMXQS6KZFFpRGpp1e1kvIbffdGyY8l2y6e5NFgufvWz+mdRV+1GRm6XV23XDyP3WX4r7bItlJwypTKWWIryJpfssknJk3UuEGnlbCWnTYgmausMB0RlRelki07toh1ls1vzKD/vpQwfZLzY/bzd7NYySmmX4/5Crhdtvy0ytMtPV2037Wp9RMxEoIoPgDYicDYevKFqKHLF6NpF2/NG2mX74Xs35i/TTpe76e8+9HBICIkH+Wn4sbzbDt3Ybft2+UkTqQUY9XnR7njPGxllP7TLq+ubJH/IfjgE2p/M9eIWynkumbhCQFsAYyrA0UXIkYNoCjGrcIT6KGtZ7Xljz3KNtxEPyCKqBWg1oX2X9GW7/Xo4CNZZBxULRGcjoFiBZIwAKyaTESsqbp+pRp9UY0umwOwhJELA5Aok4gDeaW9FZ8PRPq6m+bjvVivZ62erug18UBziD9lPa1NIRNUIxBA8IIYITMmCEeedoEMq9fna9F1thZMp1iFoUh7QKgF23kJQZEMRypj4WFvXd2PH6+5/0lzs1lsuzSDDIem5Gr+M4+69/PdChvF+fUYf6nu+r/DkJCg75pg8RLIO0JoIIVUDEtFYx5ZiNEfa328Qa7eWN/C5MDXXK/kURROxQEoigJIVcPQWsGabOGkio458/5D96jzZ5nb1lMm+kMmenLB1VJR4hsJYAZNoCKokMNkGXVOwPuUj09+Gr82vsun6rhm3zbjnfsj7Lr1FwGBeL+Ckm5rsgkoSwGojMDJDzKRCUSoXSUfY97JbXzZd33w8+sNrDMQqvEM8/cikEok3BjJWBPQ6AgfMIMb4qq0jY8trDITQlKySAxN9BkzeQLRaQwlZ66QVJX9yBB/GLn+9bP65Hc+rPhxibkPudYhSC7D0SPQ2b/tR+rFdtu0j1DtQQ5FK0AUIsQAmTcCcELgWZ2tizORPne7PsdnIMPBKhma1bcYv3dB858uz2P32X7sZD39BkxwZXZWovHWgciiATghCiQQxZdHGOR+9nxXzvBGfUzNOYhp8o5g+ZisxJNAhKEAJCQIWmazaJoM6YZFZUPMmUBveyIkmluILgaOJM1MARgxgss6sSyYMdpbz/H19jtNNgr6VM5uoI8UEXsUE6CJCzExQBYt2KihXcf7g1dtA33zy2lmbyISboQepGEiTlaFJnjMGyzL/veOrQTX+JVLlxIkkCzlmA4gikKwtEJF00VZRivrUb7k0v3RrGZq6326ad93w9SzxXrj8Z9+N8svN/XtvpAyz/XqeMwZdXcjTnaoZUGuBaE2CqqLX1udiYzxyvtt+7++u/hvU39///fVX2PThvoTz9AbzMeXkqwGubsJFAY46Q9bEQWXxPvOTpL9ut6u1NO/23bfz/r86BP2IudcPpBbueWR79NNCTunKwM4KICaCpJFBFdSCXkmydAT+936bZRga+Sb7y9shUG7xu77hpm7X5TDLPgs+P/ZOrfEC/pPWSFkxFQ/ZaAOYHQHbqUlCVYmQUNd82sJZum/SXAxdv2puL/2ztMf1hxLfdMXp0JB8RaxUQJucAY0iiFF7CKhrLKbYepiznqzqpI2McspzhErZTSNDBDYuA9mcCvmIQnXWQtzbLMQ+voKfdpDPi2m9lzxlOYTfjLPLq3bD3ZT309XhrXpuED9ELdquL/Jnu1TXnz9fL368T+eSzLwSH6VYnIY/O5zMEhy3mYN4wQPoYdbF3T8/mPfvB+qb7U+lmgN4fj5/sqrjo3Qu+cNfB2ZTnSWYy/jEhD6b/Ly+c9mfFPSQ8fr6/64TcYCtEQAA

metadata_json:
  {"categories":["automation","communication","transcription","integration","ai"],"complexity":"medium","use_cases":["Transcribe Telegram audio messages to text","Create transcripts for podcasts or creator content","Coach/educator voice note transcription","Automate processing of incoming audio messages","Adapt workflow to other sources (WhatsApp, Google Drive, uploads)"],"estimated_setup_minutes":15,"required_services":["n8n","Telegram Bot (bot token)","Google Gemini API (API key, free tier supported)","Google Drive (optional, for saving files)"],"key_features":["Receive audio via Telegram bot","Automatically download and transcribe audio with Google Gemini","Send full transcript back to the user on Telegram","Supports converting and handling multiple audio file types","Optional save/export to Google Drive"],"target_audience":["Creators and podcasters","Coaches and educators","Anyone receiving many audio messages on Telegram who needs transcripts"]}


name: Stripe Payment Order Sync – Auto Retrieve Customer & Product Purchased
author_name: Matt F.
author_username: lemolex
nodes_used: ["n8n-nodes-base.stripeTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.set"]
categories: []
created_at: 2025-03-31T20:51:21.991Z
updated_at: 2025-03-31T20:51:21.991Z
url: https://n8n.io/workflows/3391
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Overview

  This automation template is designed to streamline your payment processing by automatically triggering upon a successful Stripe payment. The workflow retrieves the complete payment session and filters the information to display only the customer name, customer email, and the purchased product details. This template is perfect for quickly integrating Stripe transactions into your inventory management, CRM, or notification systems.

  Step-by-Step Setup Instructions

  Stripe Account Configuration:
     Ensure you have an active Stripe account.
     Connect your Stripe Credentials.
    
  Retrieve Product and Customer Data:
     Utilize Stripe’s API within the automation to fetch the purchased product details.
     Retrieve customer information such as: email and full name.

  Integration and Response:
     Map the retrieved data to your desired format.
     Trigger subsequent nodes or actions such as sending a confirmation email, updating a CRM system, or logging the transaction.

  Pre-Conditions and Requirements

  Stripe Account:** A valid Stripe account with access to API keys and webhook configurations.
  API Keys:** Ensure you have your Stripe secret and publishable keys ready.

  Customization Guidance

  Data Mapping:** Customize the filtering node to match your specific data schema or to include additional data fields if needed.
  Additional Actions:** Integrate further nodes to handle post-payment actions like sending SMS notifications, updating order statuses, or generating invoices.

  Enjoy seamless integration and enhanced order management with this automation template!

workflow_json_compressed:
  H4sIAAAAAAAAE61V7W7bNhR9FYEY9ku0KZH6BPojddMsA5qmTdZuCIzikryylcqUK1KeU0PA3mFvuCcZaCfOR72lGPZPFHjvPfeccy83pNakJL99OPv5beOu2fWbd+BOvpKQLNABKTekNtaBUXjq70WC6xhkkqhcVpVkaZXLQmWgOeM8yVJRaSVyKSUoVBLjOMo1aFkUOfA4jjgJicPFsgGHkw61vUDXLyftYtmgQ01K1/U4hMTAAklJLlxXLzE4h5sFGhe87TR2wcWNUcFff/wZHPWuDd6j62pcYTDprWsX2AU/Buddq3vlgvO+U3OwqH1VmFlSXk1DYlqN/nOz67xgPI4rTGiS8JSKSHEKiuUUIc8gT9IsjyR5iuiyq2cz7ILW7MEdr9A4X+hm6S+a3NBtJSrB4shu427DSEiWra1d3RpSXrGQTUPyO8p5237ekox5AiovBJUyzajgqaKgeUE5y4ExlWMRxz4HdLBAh531MqGv7/siao7qc9u7kUVr69aM1J7f6RAS1aFG42potnE7ZEfLequ1Lz9pJi/Zx7Y9WTeWfzx58233aB0Zhl2vH7Cz20aiIbxNwCuUTDJOizhCKmSlaQ4JozKWqRQZFqLI7pMer10HygUXO7TBqanabgFbdv6Jzrlzy/f4pfdAHpHJ2Y7Ox9z0XUNK8sJH2XI8hmV9K4inZryKxneUjW8ps+PNJvjh2rZmpMHBqJXXqNyo1sEwkJC0S1/Opx5CYtHodz12Nzv3hgR6N/cEq10PJVl6xqvaoJ7sub/0fYXkiw88fwT2IfSrzR1LuF6C0VdTEpIVNL3/1dQGP9UOF5YMXljPz5MC5QN5/0fpQ+Kp/AlBY3fUu/k+vvjlTKWnr/qXzdnk1/Srvo8/f/U6cG1wiesD1hGjeG+eBARPdaRonmNBRREjzStklHNIMpZqjCS/T/u6bhx23+UZi0+8kqSHvPJIW7C2npnFbrI2j4/7BZJAmiOrqMyEokJBTPNIcBoJKdICIJXVgwWyX1Nn/rzH6qUwswfivtgbUN1GfNLooG7syGfyPtxTlqVcYAUpZaLiVGhQNE9YQZMUAOOiUiorDiA4XkDd/DcI6EMfYYgYZhGyjKZacyoipihkmaARYlVhLDGD5IEbDm3oZ2HcG347lVdsOtJoVVdvJdvCmX7jLT4SwzQkoFy9QlJW0Fj0Q+tcbWa7zblG1fsM2/eFlGQVeYuvdhl2G5lXqQSWUp7qggopIlqoBKhClaaFwoRlXmPVGoPqzj//utnKDVlA7W3oZ7zVz5l5ezkktdG4JiUbpn7in3uNDhX5rnV7oNow/A3PFmy3KwgAAA==

metadata_json:
  {"categories":["integration","payments","automation","e-commerce"],"complexity":"simple","use_cases":["Sync Stripe payments to a CRM","Update inventory/orders on successful payment","Send payment confirmation emails or notifications","Log transactions for bookkeeping or analytics"],"estimated_setup_minutes":15,"required_services":["Stripe (API keys + webhooks)","Public webhook endpoint (n8n cloud or self-hosted instance)","Optional: Email provider / CRM / SMS provider for downstream actions"],"key_features":["Automatically triggers on successful Stripe payment","Fetches full payment session, customer (name, email) and purchased product details","Filters and maps relevant fields for downstream systems","Simple 3-node workflow (Stripe, HTTP/Webhooks, Set) for easy customization"],"target_audience":["Developers/DevOps implementing payment integrations","E‑commerce merchants and store managers","Operations or finance teams automating order workflows"]}


name: Create and Join Call Sessions with Plivo and UltraVox AI Voice Assistant
author_name: Yohita
author_username: yohita
categories: []
created_at: 2025-04-01T04:12:57.053Z
updated_at: 2025-04-01T04:12:57.053Z
url: https://n8n.io/workflows/3392
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow template creates an audio stream session on UltraVox compatible with Plivo and sends it to Plivo.

  How It Works : 
  Plivo initiates a call and requests the Answer URL.

  The workflow responds with Plivo XML to join the session.

  Note:
  Ensure you update the UltraVox API Key in the credentials.
  Update System Prompt based on your requirements.

   Check Youtube Video

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

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

metadata_json:
  {"categories":["integration","telephony","voice AI"],"complexity":"medium","use_cases":["Add an AI voice assistant to inbound phone calls","Bridge Plivo calls into an UltraVox real-time audio session","Build interactive IVR or conversational voice agents","Prototype real-time voice analytics or monitoring"],"estimated_setup_minutes":20,"required_services":["Plivo account (phone number and Answer URL configuration)","UltraVox account / API key","Publicly reachable webhook endpoint (ngrok or hosted URL)","n8n instance with HTTP/Webhook credentials"],"key_features":["Creates UltraVox audio stream session compatible with Plivo","Responds to Plivo with XML to join the created session","Customizable system prompt for UltraVox AI assistant","Uses n8n HTTP/Webhook and respondToWebhook nodes to handle incoming calls","Compact 5-node workflow for quick deployment"],"target_audience":["Developers","Voice platform engineers","Contact center integrators/operators"]}


name: Google Calendar Reminder System with GPT-4o and Telegram
author_name: Davide
author_username: n3witalia
categories: []
created_at: 2025-04-01T07:27:50.382Z
updated_at: 2025-04-01T07:27:50.382Z
url: https://n8n.io/workflows/3393
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  How many times have you missed a meeting or forgotten an appointment because a calendar reminder got lost in the noise? Traditional notifications are often dry, easy to ignore, or scattered across different apps—leaving you scrambling at the last minute.

  This smart Google Calendar workflow fixes that by sending you a clear, friendly reminder exactly 1 hour before your event starts—delivered through Telegram as if a personal assistant were looking out for you. Powered by AI, it transforms cold calendar alerts into warm, conversational nudges you won't ignore.

  Why This Works Better:  
  ✅ No More Overlooked Alerts – Consolidates reminders into one clear, accessible place (Telegram), so you never miss them.  
  ✅ Friendly & Engaging – AI transforms robotic calendar entries into natural, human-like reminders that are harder to ignore.  
  ✅ Works Everywhere – Whether you're on your phone, laptop, or tablet, you’ll get the same clear notification, no matter the platform.  

  How It Works
  Scheduled Trigger: The workflow starts with a Schedule Trigger node that runs every minute to check for upcoming events.
  Google Calendar Check: The "Get upcoming event" node queries Google Calendar for events starting within the next hour (between timeMin and timeMax).
  Duplicate Prevention: The "Already sent?" node ensures reminders are not sent multiple times for the same event by filtering out duplicates.
  AI-Powered Reminder: The "Secretary Agent" node, powered by GPT-4, crafts a friendly and professional reminder message. It includes event details like name, description, location, start/end time, and creator, formatted in a conversational tone.
  Telegram Notification: The final "Send reminder" node delivers the reminder via Telegram, ensuring the user receives it in a clear and accessible format.
  Set Up Steps
  Configure Schedule Trigger: Set the interval (e.g., every minute) to check for events.
  Connect Google Calendar: Link your Google Calendar account and specify the calendar to monitor.
  Set Up AI Agent: Customize the "Secretary Agent" with the provided system message to ensure reminders are warm, professional, and detailed.
  Link Telegram: Add your Telegram credentials and specify the CHAT_ID where reminders will be sent.
  Activate Workflow: Ensure the workflow is active and set to the correct timezone (e.g., Europe/Rome).
  Why It’s Useful
  Never Miss an Event**: Traditional calendar reminders can be easy to overlook, especially when scattered across platforms. This workflow consolidates reminders into a single, accessible channel (Telegram).
  Clear and Friendly**: The AI agent transforms generic calendar alerts into personalized, conversational reminders, making them harder to ignore.
  Cross-Platform Accessibility**: By delivering reminders via Telegram, users receive them in a consistent format, regardless of the device or platform they’re using. No more missed events due to unclear notifications!
  Need help customizing?  
  Contact me for consulting and support or add me on Linkedin.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleCalendar","n8n-nodes-base.removeDuplicates","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","notifications","calendar integration","AI-assistant"],"complexity":"medium","use_cases":["Personal meeting reminders","Consolidating calendar alerts into a single chat channel","Transforming calendar entries into natural-language reminders","Preventing duplicate notifications for events","Team/event reminder delivery via Telegram"],"estimated_setup_minutes":15,"required_services":["Google Calendar API/account","Telegram Bot API (CHAT_ID)","OpenAI (GPT-4/GPT-4o) or compatible LLM","n8n instance"],"key_features":["Scheduled polling for events starting within next hour","Duplicate detection to avoid resends","AI-generated friendly, contextual reminder messages","Delivery via Telegram for cross-device consistency","Configurable timezone and schedule interval"],"target_audience":["Busy professionals","Freelancers and consultants","Office administrators and assistants small teams"]}


name: Airtable Batch Update / Insert rows (send faster + save API call requests)
author_name: Simon Mayerhofer
author_username: s3n
categories: []
created_at: 2025-04-01T08:53:00.311Z
updated_at: 2025-04-01T08:53:00.311Z
url: https://n8n.io/workflows/3394
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow allows you to batch update/insert Airtable rows in groups of 10, significantly reducing the number of API calls and increasing performance.

  🚀 How It Works

  Copy the 3 Nodes  
     Copy the three nodes inside the red note box into your workflow.

  Set Your Fields  
     In the Set Fields node, define the fields you want to update.  
     ➤ Only include fields that match column names in your Airtable table.  
     ➤ Make sure the field names are spelled exactly as they appear in Airtable.
     ➤ Make sure the field type are correctly set. So numbers columns in Airtable need numbers type set as the field.

  Configure the Airtable Batch Node  
     Enter your Airtable Base ID
       The part with app... in the URL:
  airtable\.com / app8pqOLeka1Cglwg / tblnXZOdy8VtkAAJD/...
     Enter your Airtable Table ID
       The part with tbl... in the URL:
  airtable\.com / app8pqOLeka1Cglwg / tblXXZOdy8VtkAAJD /...
     Set Matching Fields (fieldsToMergeOn)  
     Provide a string array that tells Airtable how to match existing rows. Examples:
       Match by one field (e.g. TaskID):  
       {{["TaskID"]}}
       Match by multiple fields (e.g. firstname and lastname):  
       {{["firstname", "lastname"]}}

     Choose the Mode (mode field)  
     Available options:
       upsert: Update if a record exists, otherwise insert a new one
       insert: Always insert as new records
       update: Only update existing records (you must provide a field named id)

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.debugHelper","n8n-nodes-base.manualTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.executeWorkflow","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 6064 characters]

metadata_json:
  {"categories":["integration","automation","data processing"],"complexity":"medium","use_cases":["Bulk insert or update Airtable records","Reduce Airtable API calls and improve performance","Data sync between systems and Airtable","Importing or merging datasets into Airtable"],"estimated_setup_minutes":10,"required_services":["Airtable","n8n"],"key_features":["Batch updates/inserts in groups of 10 to reduce API calls","Supports upsert / insert / update modes","Configurable matching fields for merging records","Field mapping with type-awareness (numbers, text, etc.)","Copy-and-paste node pattern for easy reuse"],"target_audience":["Developers","Automation engineers","Data engineers/analysts handling Airtable data integrations"]}


name: Auto-assign Support Tickets with JIRA, Supabase and AI
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-04-01T09:04:10.393Z
updated_at: 2025-04-01T09:04:10.393Z
url: https://n8n.io/workflows/3395
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n template builds a simple automation to ensure no JIRA issues go unassigned for more than a week to prevent them falling through the cracks. It uses AI to perform searching tasks against a Supabase Vector Store.
  This can be one way to help reduce the amount of manual work in managing the issue backlog for busy teams with little effort.

  How it works
  This template contains 2 separate flows which run continuously via schedule triggers.
  The first populates our Supabase vector store with resolved issues within the last day. This helps keep our vector store up-to-date and relevant for the purpose of finding similar issues.
  It does this by pulling the latest resolved issues from JIRA and populating the Supabase vectorstore with carefully chosen metadata. This will come in handy later.
  The second flow watches for stale, unassigned issues for the purpose of aut-assigning to a relevant team member.
  It does this by comparing the stale issue against our vector store of resolved issues with the goal of identifying which team member would have best context regarding the issue.
  In a busy team, this may net a few team members as possible candidates to assign. Therefore, we can introduce additional logic to count each team member's assigned, in-progress issues. This is intended to not overload our busiest members.
  The team member with the least assigned issues is pressumed to have the most capacity and therefore is assigned. A comennt is left in the issue to notify the team member that they've been auto-assigned due to age of issue.

  How to use
  Modify the project and interval parameters to match those of your use-case and team members.
  Add additional criteria before assigning to a team member eg. department, as required.

  Requirements
  OpenAI for LLM
  JIRA for Issue Management
  Supabase for Vector Store

  Customising this workflow
  Not using JIRA or Supabase? The beauty of these AI templates are these components are entirely interchangeable with competing services. Try Linear and Qdrant instead!
  Auto-assigning logic is simplified in this template. Expand criteria as required for your team and organisation. eg. Might be a good idea to pull in annual leave information from HR system to prevent assigning to someone who is on currently on holiday!

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.jira","n8n-nodes-base.splitInBatches","n8n-nodes-base.jira","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.removeDuplicates","n8n-nodes-base.set","n8n-nodes-base.jira","n8n-nodes-base.splitInBatches","n8n-nodes-base.noOp","n8n-nodes-base.jira","n8n-nodes-base.stickyNote","n8n-nodes-base.jira","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.summarize","n8n-nodes-base.set","n8n-nodes-base.sort","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8216 characters]

metadata_json:
  {"categories":["automation","integration","AI","ticketing","knowledge-management"],"complexity":"medium","use_cases":["Automatically assign stale/unassigned support tickets","Reduce manual backlog triage","Find relevant assignees using past resolved-issue similarity","Maintain an up-to-date vector store of resolved issues","Balance workload by choosing least-busy team member"],"estimated_setup_minutes":45,"required_services":["OpenAI (LLM / embeddings)","JIRA","Supabase (vector store)"],"key_features":["Scheduled sync of recently resolved JIRA issues into Supabase vector store","Vector-similarity search over past issues to suggest relevant assignees","Workload counting to avoid overloading busiest team members","Auto-assign selected team member in JIRA and add comment","Configurable project/interval/assignment criteria and easily swapable components (e.g., Linear, Qdrant)"],"target_audience":["Support teams","Engineering teams","DevOps/Automation engineers implementing workflows in n8n"]}


name: Parse Incoming Invoices From Outlook using AI Document Understanding
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-04-01T09:17:11.659Z
updated_at: 2025-04-01T09:17:11.659Z
url: https://n8n.io/workflows/3396
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  This n8n template monitors an Outlook mailbox for invoices, automatically parses/extracts data from them and then uploads the output to an Excel Workbook.

  One of my top workflow requests, this template can save many hours of manual labour for you or your finance/accounts team.

  How it works
  A scheduled trigger is set to fetch recent Outlook messages to the Accounts receivable mailbox.
  Each message is analysed to determine whether or not it from a supplier and is issuing/contains an invoice.
  For each valid message, the attachments are downloaded and non-invoice documents are filtered out via AI Vision classification.
  Invoices are then processed through a AI vision model again to extract the details.
  The extracted data can then be used for reconciliation or otherwise. For this demonstration, we'll just append the row to an Excel sheet for now.

  How to use
  Ensure your Microsoft365 credential points to the correct mailbox. If a shared folder is used, toggle "shared folder" option to "on" and for the principal ID, use the email address.
  If you receive lots of other types of messages such as replies and forwards, you may want to implement additional checks to prevent processing invoices twice. The "remove duplicates" node can help with this.

  Requirements
  Outlook for Mailbox
  Google Gemini for Document Understanding and Invoice Extraction
  Excel for Data Storage

  Customising this workflow
  Note the assumption for this template is that all invoices will come as a PDF attachment. In real life, this is rarely the case! Adding in document conversion to cover all invoice formats.
  Human feedback is also an important factor in AI workflows. Try tagging emails as a way to notify team members that the invoice was processed.

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.microsoftOutlook","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.noOp","@n8n/n8n-nodes-langchain.textClassifier","n8n-nodes-base.extractFromFile","n8n-nodes-base.markdown","n8n-nodes-base.set","n8n-nodes-base.wait","n8n-nodes-base.filter","n8n-nodes-base.if","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.microsoftOutlook","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.microsoftExcel","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7604 characters]

metadata_json:
  {"categories":["automation","integration","data processing","document understanding","finance/accounts payable"],"complexity":"medium","use_cases":["Automated invoice ingestion and data extraction","Accounts receivable / accounts payable automation","Populating financial records or spreadsheets for reconciliation","Document triage (filtering non-invoice attachments)","Reducing manual data entry and speeding up invoice processing"],"estimated_setup_minutes":45,"required_services":["Microsoft 365 / Outlook mailbox","Google Gemini (Document Understanding / Invoice Extraction)","Microsoft Excel (OneDrive/SharePoint workbook access)"],"key_features":["Scheduled monitoring of an Outlook mailbox","Attachment download and filtering","AI vision classification to detect invoices","AI extraction of invoice fields (auto-parsing)","Duplicate prevention and basic deduplication checks"],"target_audience":["Finance / accounts teams (AP/AR)","Operations managers","Small business owners wanting automation for invoicing workflows"]}


