# templates

name: Vector Database as a Big Data Analysis Tool for AI Agents [3/3 - anomaly]
author_name: Jenny
author_username: mrscoopers
categories: []
created_at: 2024-12-19T09:46:01.013Z
updated_at: 2024-12-19T09:46:01.013Z
url: https://n8n.io/workflows/2656
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Vector Database as a Big Data Analysis Tool for AI Agents

  Workflows from the webinar "Build production-ready AI Agents with Qdrant and n8n".

  This series of workflows shows how to build big data analysis tools for production-ready AI agents with the help of vector databases. These pipelines are adaptable to any dataset of images, hence, many production use cases.

  Uploading (image) datasets to Qdrant
  Set up meta-variables for anomaly detection in Qdrant
  Anomaly detection tool
  KNN classifier tool

  For anomaly detection
  The first pipeline to upload an image dataset to Qdrant.
  The second pipeline is to set up cluster (class) centres & cluster (class) threshold scores needed for anomaly detection.
  3. This is the third pipeline --- the anomaly detection tool, which takes any image as input and uses all preparatory work done with Qdrant to detect if it's an anomaly to the uploaded dataset.

  For KNN (k nearest neighbours) classification
  The first pipeline to upload an image dataset to Qdrant.
  The second is the KNN classifier tool, which takes any image as input and classifies it on the uploaded to Qdrant dataset.

  To recreate both
  You'll have to upload crops and lands datasets from Kaggle to your own Google Storage bucket, and re-create APIs/connections to Qdrant Cloud (you can use Free Tier cluster), Voyage AI API & Google Cloud Storage. 

  [This workflow] Anomaly Detection Tool
  This is the tool that can be used directly for anomalous images (crops) detection. 
  It takes as input (any) image URL and returns a text message telling if whatever this image depicts is anomalous to the crop dataset stored in Qdrant. 

  An Image URL is received via the Execute Workflow Trigger, which is used to generate embedding vectors using the Voyage AI Embeddings API.
  The returned vectors are used to query the Qdrant collection to determine if the given crop is known by comparing it to threshold scores of each image class (crop type).
  If the image scores lower than all thresholds, then the image is considered an anomaly for the dataset.

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

workflow_json_compressed:
  [encoded data, 5272 characters]

metadata_json:
  {"categories":["automation","integration","data processing","machine learning","anomaly detection"],"complexity":"complex","use_cases":["Image-based anomaly detection for agriculture (crops)","KNN image classification using vector DB","Building production-ready AI agent pipelines","Large-scale image dataset indexing and search"],"estimated_setup_minutes":120,"required_services":["n8n","Qdrant Cloud (or self-hosted Qdrant)","Voyage AI Embeddings API (or compatible embedding service)","Google Cloud Storage (or other object storage)","Kaggle (to obtain example datasets)","HTTP/Webhook endpoint for Execute Workflow Trigger"],"key_features":["Uploads image datasets and stores embeddings in Qdrant","Creates class/cluster centers and threshold scores for anomaly detection","Embeddings generation via external API","Anomaly decision by comparing query vector against per-class thresholds","KNN classification using Qdrant nearest neighbours search (separate pipeline)"],"target_audience":["ML engineers","Data engineers","MLOps practitioners implementing vector-search pipelines for vision models','Developers building AI agents and production image-analysis tools"]}


name: Vector Database as a Big Data Analysis Tool for AI Agents [2/2 KNN]
author_name: Jenny
author_username: mrscoopers
categories: []
created_at: 2024-12-19T09:50:11.092Z
updated_at: 2024-12-19T09:50:11.092Z
url: https://n8n.io/workflows/2657
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Vector Database as a Big Data Analysis Tool for AI Agents

  Workflows from the webinar "Build production-ready AI Agents with Qdrant and n8n".

  This series of workflows shows how to build big data analysis tools for production-ready AI agents with the help of vector databases. These pipelines are adaptable to any dataset of images, hence, many production use cases.

  Uploading (image) datasets to Qdrant
  Set up meta-variables for anomaly detection in Qdrant
  Anomaly detection tool
  KNN classifier tool

  For anomaly detection
  The first pipeline to upload an image dataset to Qdrant.
  The second pipeline is to set up cluster (class) centres & cluster (class) threshold scores needed for anomaly detection.
  The third is the anomaly detection tool, which takes any image as input and uses all preparatory work done with Qdrant to detect if it's an anomaly to the uploaded dataset.

  For KNN (k nearest neighbours) classification
  The first pipeline to upload an image dataset to Qdrant.
  This pipeline is the KNN classifier tool, which takes any image as input and classifies it on the uploaded to Qdrant dataset.

  To recreate both
  You'll have to upload crops and lands datasets from Kaggle to your own Google Storage bucket, and re-create APIs/connections to Qdrant Cloud (you can use Free Tier cluster), Voyage AI API & Google Cloud Storage.

  [This workflow] KNN classification tool
  This tool takes any image URL, and as output, it returns a class of the object on the image based on the image uploaded to the Qdrant dataset (lands).

  An image URL is received via the Execute Workflow Trigger, which is then sent to the Voyage AI Multimodal Embeddings API to fetch its embedding.
  The image's embedding vector is then used to query Qdrant, returning a set of X similar images with pre-labeled classes.
  Majority voting is done for classes of neighbouring images.
  A loop is used to resolve scenarios where there is a tie in Majority Voting, and we increase the number of neighbours to retrieve.
  When the loop finally resolves, the identified class is returned to the calling workflow.

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

workflow_json_compressed:
  [encoded data, 5628 characters]

metadata_json:
  {"categories":["integration","data processing","AI/ML"],"complexity":"medium","use_cases":["Image classification using KNN over vector embeddings","Similarity search / visual nearest-neighbours","Component for production AI agents to label incoming images","Reusable building block for anomaly-detection pipelines"],"estimated_setup_minutes":90,"required_services":["Qdrant Cloud (vector DB)","Voyage AI Multimodal Embeddings API","Google Cloud Storage (to host uploaded datasets)","Kaggle (source datasets to upload)","n8n (workflow runner)"],"key_features":["Accepts image URL input and fetches multimodal embedding","Performs KNN vector search in Qdrant to retrieve nearest labeled images","Majority-voting classification with looped tie-breaking by increasing neighbours","Adaptable to any image dataset (e.g., lands, crops)","Designed to integrate into larger anomaly-detection and agent workflows"],"target_audience":["ML engineers","Data engineers","Developers building AI agents or visual classification services"]}


name: API Schema Extractor
author_name: Polina Medvedieva
author_username: polina-n8n
categories: []
created_at: 2024-12-19T12:39:56.130Z
updated_at: 2024-12-19T12:39:56.130Z
url: https://n8n.io/workflows/2658
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  This workflow automates the process of discovering and extracting APIs from various services, followed by generating custom schemas. It works in three distinct stages: research, extraction, and schema generation, with each stage tracking progress in a Google Sheet.

  🙏 Jim Le deserves major kudos for helping to build this sophisticated three-stage workflow that cleverly automates API documentation processing using a smart combination of web scraping, vector search, and LLM technologies.

  How it works
  Stage 1 - Research:
  Fetches pending services from a Google Sheet
  Uses Google search to find API documentation
  Employs Apify for web scraping to filter relevant pages
  Stores webpage contents and metadata in Qdrant (vector database)
  Updates progress status in Google Sheet (pending, ok, or error)

  Stage 2 - Extraction:
  Processes services that completed research successfully
  Queries vector store to identify products and offerings
  Further queries for relevant API documentation
  Uses Gemini (LLM) to extract API operations
  Records extracted operations in Google Sheet
  Updates progress status (pending, ok, or error)

  Stage 3 - Generation:
  Takes services with successful extraction
  Retrieves all API operations from the database
  Combines and groups operations into a custom schema
  Uploads final schema to Google Drive
  Updates final status in sheet with file location

  Ideal for:
  Development teams needing to catalog multiple APIs
  API documentation initiatives
  Creating standardized API schema collections
  Automating API discovery and documentation

  Accounts required:
  Google account (for Sheets and Drive access)
  Apify account (for web scraping)
  Qdrant database
  Gemini API access

  Set up instructions:
  Prepare your Google Sheets document with the services information. Here's an example of a Google Sheet – you can copy it and change or remove the values under the columns. Also, make sure to update Google Sheets nodes with the correct Google Sheet ID. 
  Configure Google Sheets OAuth2 credentials, required third-party services (Apify, Qdrant) and Gemini.
  Ensure proper permissions for Google Drive access.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.set","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","n8n-nodes-base.set","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.executionData","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.filter","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.vectorStoreQdrant","n8n-nodes-base.wait","n8n-nodes-base.removeDuplicates","n8n-nodes-base.filter","n8n-nodes-base.executeWorkflow","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.splitOut","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","@n8n/n8n-nodes-langchain.vectorStoreQdrant","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.removeDuplicates","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.executeWorkflow","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.executeWorkflow","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 16048 characters]

metadata_json:
  {"categories":["automation","integration","data processing","web scraping","documentation','AI/ML"],"complexity":"complex","use_cases":["Automated API discovery and cataloging","Extracting API operations from documentation","Generating standardized API schemas","Maintaining progress/status tracking for large API inventories","Creating searchable documentation via vector embeddings"],"estimated_setup_minutes":90,"required_services":["Google Sheets (with OAuth2)","Google Drive","Apify (web scraping)","Qdrant (vector database)","Gemini API (LLM and embeddings)","Google account for Sheets/Drive access"],"key_features":["Three-stage pipeline: research, extraction, generation","Automated web search + Apify scraping to gather docs","Vectorization and storage of web content in Qdrant","LLM-based extraction of API operations","Schema assembly and upload to Google Drive"],"target_audience":["Development teams","API/product managers","Technical writers / documentation teams','Data engineers"]}


name: Upload files via n8n form and save them to Digital Ocean Spaces
author_name: Alfred Nutile
author_username: dailyaistudio
nodes_used: ["n8n-nodes-base.formTrigger","n8n-nodes-base.s3","n8n-nodes-base.form"]
categories: []
created_at: 2024-12-19T19:35:17.854Z
updated_at: 2024-12-19T19:35:17.854Z
url: https://n8n.io/workflows/2660
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  How it works
  This workflow provides a streamlined process for uploading files to Digital Ocean Spaces, making them publicly accessible. The process happens in three main steps:

  User submits the form with file, in this case I needed it to upload images I use in my seo tags.
  File is automatically uploaded to Digital Ocean Spaces using S3-compatible storage
  Form completion confirmation is provided

  Setup steps
  Initial setup typically takes 5-10 minutes
  Configure your Digital Ocean Spaces credentials and bucket settings
  Test the upload functionality with a small sample file
  Verify public access permissions are working as expected

  Important notes
  Credentials are tricky check the screenshot above for how I set the url, bucket etc.
  I am just using the S3 Node
  Set the ACL as seen below

  Troubleshooting
  Bucket name might be incorrect
  Region Wrong
  Check Space permissions if uploads fail
  Verify API credentials are correctly configured


  You can see a video here. (live in 24 hours)
  https://youtu.be/pYOpy3Ntt1o

workflow_json_compressed:
  H4sIAAAAAAAAE41Ua2/cNhD8KypRwAkgnkmJoh5APxQ2jLRp6yB2U9jGIViSqzNrnaRI1MXXg/57Qen8uNpt+o0Sd4fDGc7uiDWkICdXm2iI7F/d6vqPu0S9JyFZowNS7Iitewe1xp98nUpTFafC5BwY46lMIFNllMWRAqN5mZVaJ4KlOs+10LKMS5kZKXhspIyxzGISEofrtgKHJx2a/gLd0J4067ZCh4YUrhtwDEkNayQFObUrC9W5Rqh/b6sGjG+HVU+Km93MW16p6/sTJc5Pf44+rjdAHnvBrG1NQqI7BIfmR0cKErFIUB5Rxi+5KHhWJPGCZ+KahGRozbfLxmVI6sbgMwIGjclEmlBe5owKLZFCqmJqRCSkFFmpUT+ROq+DsunWQT+ote1723iGbtv6vTqr6QROFfS48HWXnV2tsCMhaZveOl9e3ESMhbFgy5B8RXXbNHeTMWXCZJlqQ41BQ0XOgapEIi2VQIZgMOfM40AHa3TY9d7apvWYfjmGZDrQuspzmdUOzmyFZN45s1iZqWkD1bBXoPQ/L2f65b7W//oFFFakIL4/cE3waF6HXwbboZnQ9m4v92efYq872863fGDgbjEo9yh+3Q6qsjroXdPBCgPoEMg4S/gJu0nQIlpEY7i3RylAE6ecxplkVMQpoxlnMeVSpSpPEm1SfLLnIv5XO/r40IVYPrhwKKkn+9uM9sNuF3z/Z9/UN0eHQhwtb9hy4Sv9ucE4kpA0LXawv/vwIJca9B26PZwBW23BkpCAMRMNqJ5cAe0Fn+X5iGC8KsrW0G0/dB7bbfcwnspn13zeezJOCTFYOwvVhNTHU+q9emfvtqx69/6sukRWf/qwIQfJdFAFUzaDixY09mT8pxP80QcDEceEZRRkVFKRG0NBc00lGqFyiFkK8gn9rOnW/xmMQy8S8VoiNAJnZR5TyVOkIpURzbVgNMkiyAxP8kh8IxHPPdHzjJoT+/TxEJirZujmh9qCuw1sHyismq/fHRT/in0Pq+lp3DrX9sXx8d7URb3V8UKbemFmYRuvaz/JutDN+tg/pTdHL8fH0dtFabvevXm7+H8v7aVFy5CAdnaDcx5D0qNztl5NeuA96sFzP+8MdqQgG+4hNnP7pDOmZWLSNKWx1DEVknGaIZbUaA5KZrqUU8R0U9eoH9T1USt2ZA3WG3izm8bqC+en7ZDY2uA9Kdi49LPilRn6GtLzLL+CM45/Awp33Ar6BgAA

metadata_json:
  {"categories":["integration","file storage","automation","forms"],"complexity":"simple","use_cases":["Collect and store files from web forms","Host publicly accessible assets (images) for SEO)","Automate uploading files to S3-compatible storage","Provide upload confirmation to users"],"estimated_setup_minutes":10,"required_services":["DigitalOcean Spaces (S3-compatible)","n8n (Form node, S3 node)","DigitalOcean account with Spaces and credentials"],"key_features":["Form-based file upload","Uploads files via n8n S3 node to DigitalOcean Spaces","Makes files publicly accessible (ACL)","Simple 3-node workflow (2 form nodes + S3)","Upload confirmation/response to user"],"target_audience":["developers","site administrators","content managers/SEOs\",\"marketers"]}


name: Parse PDF with LlamaParse and save to Airtable
author_name: Mark Shcherbakov
author_username: lowcodingdev
categories: []
created_at: 2024-12-19T21:56:14.136Z
updated_at: 2024-12-19T21:56:14.136Z
url: https://n8n.io/workflows/2661
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:31
description:
  Video Guide

  I prepared a comprehensive guide detailing how to automate the parsing of invoices using n8n and LlamaParse, seamlessly capturing and storing vital billing information.



  Youtube Link

  Who is this for?
  This workflow is ideal for finance teams, accountants, and business operations managers who need to streamline invoice processing. It is particularly helpful for organizations seeking to reduce manual entry errors and improve efficiency in managing billing information.

  What problem does this workflow solve?
  Manually processing invoices can be time-consuming and error-prone. This automation eliminates the need for manual data entry by capturing invoice details directly from uploaded documents and storing structured data efficiently. This enhances productivity and accuracy across financial operations.

  What this workflow does
  The workflow leverages n8n and LlamaParse to automatically detect new invoices in a designated Google Drive folder, parse essential billing details, and store the extracted data in a structured format. The key functionalities include:
  Real-time detection of new invoices via Google Drive triggers.
  Automated HTTP requests to initiate parsing through Lama Cloud.
  Structured storage of invoice details and line items in a database for future reference.

  Google Drive Integration: Monitors a specific folder in Google Drive for new invoice uploads.
  Parsing with LlamaParse: Automatically sends invoices for parsing and processes results through webhooks.
  Data Storage in Airtable: Creates records for invoices and their associated line items, allowing for detailed tracking.

  Setup

  N8N Workflow
  Google Drive Trigger: 
     Set up a trigger to detect new files in a specified folder dedicated to invoices.

  File Upload to LlamaParse: 
     Create an HTTP request that sends the invoice file to LlamaParse for parsing, including relevant header settings and webhook URL.

  Webhook Processing: 
     Establish a webhook node to handle parsed results from LlamaParse, extracting needed invoice details effectively.

  Invoice Record Creation: 
     Create initial records for invoices in your database using the parsed details received from the webhook.

  Line Item Processing: 
     Transform string data into structured line item arrays and create individual records for each item linked to the main invoice.

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

workflow_json_compressed:
  [encoded data, 5808 characters]

metadata_json:
  {"categories":["automation","document processing","data extraction","integration"],"complexity":"medium","use_cases":["Automated invoice parsing","Accounts payable automation","Reducing manual data entry for billing","Storing structured invoice and line-item data"],"estimated_setup_minutes":45,"required_services":["n8n","Google Drive","LlamaParse (Lama Cloud) or compatible parsing API","Airtable"],"key_features":["Real-time monitoring of a Google Drive folder for new invoices","HTTP request to send files to LlamaParse for parsing","Webhook node to receive and process parsed results","Creates structured invoice records in Airtable","Transforms parsed line-item strings into structured arrays and creates linked records"],"target_audience":["Finance teams","Accountants","Business operations managers\",\"Developers/IT implementing automation"]}


name: Generate 9:16 Images from Content and Brand Guidelines
author_name: Alex Kim
author_username: alexk1919
categories: []
created_at: 2024-12-19T23:45:55.512Z
updated_at: 2024-12-19T23:45:55.512Z
url: https://n8n.io/workflows/2662
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:31
description:
  Overview
  This n8n workflow automates the creation of 9:16 aspect ratio images optimized for short-form video content and thumbnails. It integrates multiple tools to retrieve content, generate scripts, and create AI-generated imagery.

  Key Features
  Trigger Workflow Manually  
     The workflow starts when triggered manually in n8n.

  Retrieve Brand Guidelines  
     Fetch brand elements like style, tone, and guidelines from Airtable.

  SEO Keywords and Blog Post Retrieval  
     Retrieves blog posts and associated SEO keywords from Airtable to form the basis of image content.

  Content Preparation  
     Uses GPT-4 to prepare a 4-scene script and thumbnail prompts for short-form videos.

  AI Image Generation  
     Uses Leonardo.ai API to generate:
       Thumbnail Images
       Scene-specific Images (9:16 Aspect Ratio)

  Airtable Asset Management  
     Generated assets (images) are saved back into Airtable with metadata like URLs and file sizes.

  Tools and Integrations
  n8n**: Workflow automation platform.
  OpenAI**: Generates scripts and prompts (GPT-4O-MINI).
  Leonardo.ai**: AI tool for improving prompts and generating high-quality images.
  Airtable**: Used as a data source for brand guidelines, blog posts, and to store generated assets.

  Workflow Steps
  Manual Trigger  
     Initiate the workflow.

  Retrieve Brand and SEO Guidelines  
     Fetch essential brand elements like tone, style, and keywords.

  Filter and Fetch Blog Content  
     Search for blog posts relevant to selected SEO keywords.

  Script Preparation  
     Use GPT-4 to generate a script with image prompts for scenes and thumbnails.

  Image Generation  
     Call Leonardo.ai to create:
       Scene Images in 9:16 Aspect Ratio.
       A Thumbnail Image with an improved prompt.

  Store Assets  
     Save generated assets (images) to Airtable for future use.

  Workflow Structure
  Nodes Breakdown:
  Manual Trigger**: Start the workflow.
  Get Brand Guidelines**: Pull brand-related information (style, tagline, tone, etc.) from Airtable.
  Set Guidelines**: Prepare fetched data.
  Get SEO Keywords**: Retrieve keywords to filter relevant content.
  Keyword Filter*: Filter results for specified keywords (e.g., *"AI Automation").
  Script Prep**: Generate 4-scene scripts and prompts with GPT-4.
  Leo - Improve Prompt**: Improve image prompts for clarity and detail.
  Leo - Generate Image**: Create AI-generated images for scenes and thumbnails.
  Wait Nodes**: Ensures Leonardo image generation is complete.
  Add Asset Info**: Store the generated images back into Airtable with metadata.

  API Credentials Required
  Ensure the following credentials are configured in n8n:
  OpenAI API Key
  Leonardo.ai API Key
  Airtable API Token

  Output
  Generated Images**: High-quality AI-generated images with a 9:16 aspect ratio.
  Saved Metadata**: Asset details (URLs, sizes, types) stored in Airtable.

  Usage
  Import this workflow into n8n.
  Set up your Airtable API, Leonardo.ai API, and OpenAI API credentials.
  Run the workflow manually.
  Monitor image generation and check the Airtable output for results.

  Tags
  OpenAI**
  RunwayML**
  Leonardo**
  Airtable**
  Video Automation**

  Author
  AlexK1919  
  AI-Native Workflow Architect  
  More Workflow Templates  
  YouTube Channel  
  Connect with Alex

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.removeDuplicates","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.airtable","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.limit","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolWikipedia","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7204 characters]

metadata_json:
  {"categories":["automation","content creation","media generation","asset management"],"complexity":"complex","use_cases":["Generate 9:16 images for short-form video scenes","Create thumbnails for social and video platforms","Repurpose blog content into visual assets","Produce brand-compliant imagery at scale","Automate asset storage and metadata tracking"],"estimated_setup_minutes":45,"required_services":["n8n","OpenAI (GPT-4 / GPT-4O-MINI)","Leonardo.ai","Airtable"],"key_features":["Manual workflow trigger in n8n","Fetch brand guidelines and SEO keywords from Airtable","Generate 4-scene scripts and thumbnail prompts with GPT-4","Improve prompts and produce high-quality 9:16 images via Leonardo.ai","Wait/retry handling for async image generation jobs in Leonardo.ai and n8n wait nodes, and save results back to Airtable with metadata (URLs, file sizes, types)"],"target_audience":["content creators","social media managers","marketing teams / agencies producing short-form video content bulk assets for campaigns or thumbnails"]}


name: YouTube Report Generator
author_name: Mauricio Perera
author_username: rckflr
categories: []
created_at: 2024-12-20T02:18:31.382Z
updated_at: 2024-12-20T02:18:31.382Z
url: https://n8n.io/workflows/2663
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  YouTube Subtitles Report Generator

  Overview

  This template enables users to generate analytical reports from YouTube video subtitles, providing insights into the thematic content of the video. Designed for efficiency and simplicity, it processes video subtitles without requiring an API key, making it an accessible solution for content analysis. The system assumes videos already have subtitles available, excluding live streams and videos without subtitle data.

  Key Features

  Trigger Webhook: Seamlessly receive video IDs through a webhook trigger.
  Fetch Video HTML: Retrieves the video’s HTML content directly from YouTube.
  Extract Subtitles URLs: Processes the HTML content to find and decode subtitle URLs.
  Fetch Subtitles Content: Downloads the subtitles from the decoded URLs in XML format.
  Generate Analytical Report: Utilizes an AI model to summarize and analyze the thematic essence of video content.
     The system supports models such as Google Gemini, OpenAI, and other compatible language models. 
     The quality of the results may vary depending on the model used, with better models providing faster and more accurate summaries.
     The default prompt focuses on identifying and summarizing the main theme of the video while excluding content related to promotions, subscriptions, or sponsored content.
  Return Analytical Report: Delivers concise analytical reports as the final response to the webhook, suitable for various use cases like research, content creation, or consumption as plain text.

  Setup Instructions

  Step 1: Webhook Configuration
  Set up the webhook URL in your external system (e.g., app, API) to send YouTube video IDs to this workflow.

  Step 2: API Access
  Ensure that your environment has access to YouTube’s public HTML content. An API key is not required since the workflow parses publicly available data.

  Step 3: AI Integration
  Verify the connection to the AI model used for report generation. Supported models include Google Gemini and OpenAI.
  Note that the system can be customized by modifying the provided prompt to suit specific analysis needs.

  Step 4: Testing
  Run a sample test with a YouTube video ID to ensure subtitles are correctly retrieved and the report is generated successfully.

  Expected Outcomes

  Effortless Content Analysis:** Generate thematic reports with minimal setup.
  No API Key Dependency:** Simplified access by leveraging YouTube’s public HTML.
  Actionable Insights:** Gain valuable information on video content for business, research, or personal projects.
  Cost Considerations:** The execution cost depends primarily on the model used and the length of the video (affecting token usage). Leveraging the free tier of Google Gemini models is recommended to minimize costs.
  Main Theme Extraction:** The default prompt excludes irrelevant promotional content, providing clear and focused thematic summaries.

  Estimated setup time: 15–20 minutes with a ready environment.

  Prompt Description

  The workflow includes a customizable prompt used to process subtitles in XML format and generate analytical reports. The generated report includes:

  Title: A brief phrase capturing the essence of the main theme.
  Body: An analytical description of the main theme, structured into a maximum of three concise paragraphs. It focuses on summarizing key ideas, recurring themes, and connections without referencing the source explicitly (e.g., avoiding phrases like “this video”). The system also removes content related to sales, subscriptions, or promotions to maintain a clear thematic focus.

  Example Output

  Title: The Ethical Challenges of Artificial Intelligence  

  Report:  
  Artificial intelligence presents significant challenges in areas such as privacy, fairness, and automated decision-making. Its implementation in critical sectors such as healthcare, justice, and security has sparked debates about inherent biases and lack of transparency. Additionally, there is growing concern over the ethical implications of automation, including its impact on employment and the global economy. Finally, the importance of establishing strong regulatory frameworks is highlighted to balance technological innovation with the protection of human rights.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["content analysis","automation","data extraction","AI summarization"],"complexity":"medium","use_cases":["Thematic analysis of YouTube videos","Research and insight generation","Content ideation and repurposing","Media monitoring and trend detection","Generating concise summaries for accessibility"],"estimated_setup_minutes":20,"required_services":["YouTube public HTML access (no API key required)","AI model provider (OpenAI, Google Gemini, or compatible)","Webhook/HTTP endpoint for incoming video IDs","Internet/network access"],"key_features":["Webhook trigger to receive video IDs","Fetch and parse YouTube video HTML","Extract and decode subtitle URLs from page HTML","Download subtitles in XML format","AI-driven thematic summary and analytical report generation (customizable prompt and model selection)"],"target_audience":["Developers integrating video analysis into workflows","Content creators and editors","Researchers and analysts studying video content themes"]}


name: Analyze Suspicious Email Contents with ChatGPT Vision
author_name: Angel Menendez
author_username: djangelic
categories: []
created_at: 2024-12-20T23:00:52.354Z
updated_at: 2024-12-20T23:00:52.354Z
url: https://n8n.io/workflows/2665
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Phishing Email Detection and Reporting with n8n

  Who is this for?
  This workflow is designed for IT teams, security professionals, and managed service providers (MSPs) looking to automate the process of detecting, analyzing, and reporting phishing emails.

  What problem is this workflow solving?
  Phishing emails are a significant cybersecurity threat, and manually detecting and reporting them is time-consuming and prone to errors. This workflow streamlines the process by automating email analysis, generating detailed reports, and logging incidents in a centralized system like Jira.

  What this workflow does
  This workflow automates phishing email detection and reporting by integrating Gmail and Microsoft Outlook email triggers, analyzing the content and headers of incoming emails, and generating Jira tickets for flagged phishing emails. Here’s what happens:

  Email Triggers: Captures incoming emails from Gmail or Microsoft Outlook.
  Email Analysis: Extracts email content, headers, and metadata for analysis.
  HTML Screenshot: Converts the email’s HTML body into a visual screenshot.
  AI Phishing Detection: Leverages ChatGPT to analyze the email and detect potential phishing indicators.
  Jira Integration: Automatically creates a Jira ticket with detailed analysis and attaches the email screenshot for review by the security team.
  Customizable Reports: Includes options to customize ticket descriptions and adapt the workflow to organizational needs.

  Setup
  Authentication: Set up Gmail and Microsoft Outlook OAuth credentials in n8n to access your email accounts securely.
  API Keys: Add API credentials for the HTML screenshot service (hcti.io) and ChatGPT.
  Jira Integration: Configure your Jira project and issue types in the workflow.
  Workflow Configuration: Update sticky notes and nodes to include any additional setup or configuration details unique to your system.

  How to customize this workflow to your needs
  Email Filters**: Modify email triggers to filter specific subjects or sender addresses.
  Analysis Scope**: Adjust the ChatGPT prompt to refine phishing detection logic.
  Integration**: Replace Jira with your preferred ticketing system or modify the ticket fields to include additional information.

  This workflow provides an end-to-end automated solution for phishing email management, enhancing efficiency and reducing security risks. It’s perfect for teams looking to minimize manual effort and improve incident response times.

nodes_used:
  ["n8n-nodes-base.gmailTrigger","n8n-nodes-base.microsoftOutlookTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.jira","n8n-nodes-base.code","n8n-nodes-base.jira","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5700 characters]

metadata_json:
  {"categories":["automation","integration","security","incident-response"],"complexity":"complex","use_cases":["Automated phishing detection and triage","Security incident creation and tracking","Managed Service Provider email threat handling","Reducing manual analysis time for suspicious emails","Generating evidence (screenshots) for investigations"],"estimated_setup_minutes":45,"required_services":["Gmail (OAuth)","Microsoft Outlook (OAuth / Microsoft 365)","OpenAI / ChatGPT (Vision-enabled API)","hcti.io (HTML to image screenshot API) or equivalent","Jira (project and issue type access)","n8n instance"],"key_features":["Email triggers for Gmail and Outlook","Extraction of email body, headers and metadata","HTML-to-image screenshot generation for visual evidence","AI-based phishing analysis using ChatGPT/vision","Automatic Jira ticket creation with detailed analysis and attachments"],"target_audience":["IT teams","Security professionals / SOC analysts","Managed Service Providers (MSPs)"]}


name: Analyze & Sort Suspicious Email Contents with ChatGPT
author_name: Angel Menendez
author_username: djangelic
categories: []
created_at: 2024-12-21T00:48:36.281Z
updated_at: 2024-12-21T00:48:36.281Z
url: https://n8n.io/workflows/2666
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:31
description:
  Analyze & Sort Suspicious Email Contents with ChatGPT and Jira

  Who is this for?
  This workflow is tailored for IT security teams, managed service providers (MSPs), and organizations aiming to streamline the detection and reporting of phishing emails. It's especially useful for teams handling high email volumes and requiring quick, automated analysis.

  What problem is this workflow solving?
  Phishing emails pose a significant cybersecurity threat, and manual review processes are time-consuming and prone to human error. This workflow automates the identification of malicious emails, provides AI-driven insights, and generates structured reports, enabling faster and more efficient responses to email-based threats.

  What this workflow does
  This workflow integrates Gmail or Microsoft Outlook to monitor and capture incoming emails. It processes the email content and headers, converts the email's body to a visual screenshot for clarity, and uses ChatGPT's advanced AI to analyze the email for phishing indicators. Based on the analysis, it categorizes emails as potentially malicious or benign, creating detailed Jira tickets for each case. Attachments, including the email body and screenshots, are automatically uploaded for comprehensive reporting.

  Key steps include:
  Email Integration: Captures emails from Gmail or Microsoft Outlook.
  Content Processing: Extracts and organizes email content and metadata.
  AI Analysis: Uses ChatGPT to evaluate email content and headers.
  Classification: Categorizes emails as malicious or benign.
  Automated Reporting: Creates Jira tickets with detailed analysis and attachments.

  Setup
  Authentication: Configure Gmail or Microsoft Outlook credentials in n8n.
  API Keys: Add credentials for the HTML screenshot service (hcti.io) and OpenAI.
  Jira Configuration: Set up project and issue types in the Jira nodes.
  Customization: Update sticky notes and nodes to fit your organizational requirements, such as modifying the AI prompt or Jira ticket fields.

  How to customize this workflow to your needs
  Adjust email triggers to include or exclude specific senders or subjects.
  Refine the AI prompt in the ChatGPT node to tailor phishing detection criteria.
  Modify Jira ticket content to include additional fields or match specific workflows.

  This workflow is ideal for automating email threat detection, reducing response times, and enhancing overall cybersecurity processes. By leveraging AI-powered insights, it helps organizations stay ahead of phishing attacks.

nodes_used:
  ["n8n-nodes-base.gmailTrigger","n8n-nodes-base.microsoftOutlookTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.jira","n8n-nodes-base.jira","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.jira","n8n-nodes-base.jira","n8n-nodes-base.convertToFile","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7244 characters]

metadata_json:
  {"categories":["security","email processing","automation","integration","incident response"],"complexity":"complex","use_cases":["Automated phishing detection and triage","AI-driven email content analysis","Creating structured incident tickets in Jira","Evidence collection (screenshots and attachments) for investigations","Reducing manual review workload for high email volumes"],"estimated_setup_minutes":45,"required_services":["n8n","Gmail or Microsoft Outlook account (email integration)","OpenAI (ChatGPT) API key","HTML screenshot service (hcti.io)","Jira (project and API access)"],"key_features":["Monitors incoming emails (Gmail/Outlook)","Extracts email content and headers","Converts email body to screenshot for clarity","Uses ChatGPT to analyze and classify phishing indicators","Automatically creates detailed Jira tickets with attachments (email body, screenshots)"],"target_audience":["IT security teams","Managed service providers (MSPs)","Security operations center (SOC) analysts and incident responders\",\"Automation/DevOps engineers managing security workflows"]}


name: 🛠️ Auto Workflow Positioning
author_name: Lucas Peyrin
author_username: lucaspeyrin
categories: []
created_at: 2024-12-21T21:35:21.612Z
updated_at: 2024-12-21T21:35:21.612Z
url: https://n8n.io/workflows/2667
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Check Online Version !
  [https://n8n-tools.streamlit.app/](https://n8n-tools.streamlit.app/
  )
  Who is it for?  
  This workflow is perfect for n8n users who want to maintain clean and organized workflows without manually repositioning nodes.

  Whether you're building complex workflows or sharing them with a team, maintaining visual clarity is essential for efficiency and collaboration.

  This template automates the positioning process, saving time and ensuring consistent layout standards.

  How does it work?  
  The template is divided into two parts:  

  Positioning Engine:  
     A webhook node kicks off the process by receiving a workflow ID.  
     Using the provided workflow ID, an n8n API node fetches the workflow details.  
     The fetched workflow is sent to a processing webhook that calculates optimized positions for the nodes.  
     Finally, an n8n API node updates the workflow with the newly positioned nodes, ensuring a clean and professional layout.  

  Reusable Positioning Block:  
     This is an HTTP Request node that can be seamlessly integrated into any workflow you create. When triggered, it sends the current workflow for automatic positioning via the first part of this template.  

  How to set it up?  

  Enable n8n API Access:  
     Ensure that your n8n instance has API access enabled with the appropriate credentials.  

  Input Your n8n API URL and Credentials:  
     Open the template, locate the n8n API nodes, and update them with your instance API key.
     Update the URL of the 'Magic Positioning' Http Request node to point to your n8n instance webhook URL.

  Embed the Reusable Block:  
     Add the provided HTTP Request node to any of your workflows to instantly connect to the auto-positioning engine.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.retrieverVectorStore","@n8n/n8n-nodes-langchain.vectorStoreInMemory","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.chainRetrievalQa","n8n-nodes-base.switch","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.splitInBatches","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.noOp","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.n8n","n8n-nodes-base.httpRequest","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","n8n-nodes-base.n8n","n8n-nodes-base.respondToWebhook","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4208 characters]

metadata_json:
  {"categories":["automation","integration","workflow-management","developer-tools","ui/ux"],"complexity":"medium","use_cases":["Automatically arrange n8n workflow nodes for readability","Embed a reusable positioning block into other workflows","Keep shared/team workflows consistently laid out","Run automated layout as part of workflow maintenance or CI"],"estimated_setup_minutes":15,"required_services":["n8n instance with API access (API key)","Public webhook endpoint or reachable n8n webhook URL"],"key_features":["Fetch workflow by ID via n8n API","Calculate optimized node positions and update workflow","Webhook-triggered positioning engine","Reusable HTTP Request block to call positioning engine from any workflow","Reduces manual node repositioning and enforces consistent layout"],"target_audience":["n8n users","workflow designers and architects","developers and DevOps engineers who manage automation workflows (teams)"]}


name: 📚 Auto-generate documentation for n8n workflows with GPT and Docsify
author_name: Eduard
author_username: eduard
categories: []
created_at: 2024-12-22T21:51:40.651Z
updated_at: 2024-12-22T21:51:40.651Z
url: https://n8n.io/workflows/2669
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:31
description:
  This workflow creates a documentation system for n8n instances using Docsify.js. It serves a dynamic documentation website that allows users to:

  View an overview of all workflows in a tabular format
  Filter workflows by tags
  Access automatically generated documentation for each workflow
  Edit documentation with a live Markdown preview
  Visualize workflow structures using Mermaid.js diagrams

  &gt; 📺 Check out the short 2-min demonstration on LinkedIn. Don't forget to connect!

  🔧 Key Components

  Main Documentation Portal
  Serves a Docsify-powered website
  Provides a navigation sidebar with workflow tags
  Displays workflow status, creation date, and documentation links

  Documentation Generator
  Uses GPT model to auto-generate workflow descriptions
  Creates Mermaid.js diagrams of workflow structures
  Maintains consistent documentation format

  Live Editor
  Split-screen Markdown editor with preview
  Real-time Mermaid diagram rendering
  Save/Cancel functionality

  ⚙️ Technical Details

  Environment Setup
  Requires write access to the specified project directory
  Uses environment variables for n8n instance URL configuration
  Implements webhook endpoints for serving documentation

  ⚠️ Security Considerations
  &gt; Note: The current implementation doesn't include authentication for editing. Consider adding authentication for production use.

  Dependencies
  Docsify.js for documentation rendering
  Mermaid.js for workflow visualization
  OpenAI GPT for documentation generation

  🔍 Part of the n8n Observability Series

  This workflow is part of a broader series focused on n8n instance observability. Check out these related workflows:

  Workflow Dashboard - Get comprehensive analytics of your n8n instance
  Visualize Your n8n Workflows with Mermaid.js - Create beautiful workflow visualizations

  Each workflow in this series helps you better understand and manage your n8n automation ecosystem!

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.convertToFile","n8n-nodes-base.if","n8n-nodes-base.extractFromFile","n8n-nodes-base.html","n8n-nodes-base.html","n8n-nodes-base.sort","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.readWriteFile","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.readWriteFile","n8n-nodes-base.set","n8n-nodes-base.n8n","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserAutofixing","n8n-nodes-base.respondToWebhook","n8n-nodes-base.html","n8n-nodes-base.noOp","n8n-nodes-base.merge","n8n-nodes-base.html","n8n-nodes-base.executeCommand","n8n-nodes-base.merge","n8n-nodes-base.html","n8n-nodes-base.html","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.noOp","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.n8n","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.n8n","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.webhook"]

workflow_json_compressed:
  [encoded data, 16408 characters]

metadata_json:
  {"categories":["documentation","observability","automation","developer tools"],"complexity":"complex","use_cases":["Auto-generate human-readable documentation for n8n workflows","Visualize workflow structure with Mermaid diagrams","Provide a searchable/filterable portal of all workflows by tags","Enable live editing of workflow docs with Markdown preview","Maintain consistent documentation format across an n8n instance"],"estimated_setup_minutes":60,"required_services":["OpenAI (GPT) API or compatible LLM service","n8n instance/API access","Writable project directory or file storage where Docsify files are generated","Public webhook endpoint or n8n webhook system for serving/editing docs","Docsify.js and Mermaid.js libraries (client-side)"],"key_features":["Docsify-powered dynamic documentation site with navigation/sidebar","Auto-generation of workflow descriptions using GPT","Mermaid.js diagrams rendered from workflow structure","Tabular overview of workflows showing status, creation date, tags, docs links","Filter workflows by tags and search navigation sidebar entries (Docsify) | Live split-screen Markdown editor with real-time preview and save/cancel actions"],"target_audience":["n8n developers and automation engineers","DevOps and platform engineers managing n8n instances","Technical writers or documentation maintainers for automation systems"]}


name: LINE Assistant with Google Calendar and Gmail Integration
author_name: Boriwat Chanruang
author_username: boriwatopal
categories: []
created_at: 2024-12-23T06:49:51.118Z
updated_at: 2024-12-23T06:49:51.118Z
url: https://n8n.io/workflows/2671
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?
  This workflow is for small business owners, personal assistants, or project managers who rely on multiple platforms for communication and scheduling.
  Ideal for users managing customer support, personal scheduling, or group event coordination via LINE, Google Calendar, and Gmail.

  What problem is this workflow solving?
  Reduces the manual effort needed to manage conversations, schedule events, and handle email communications.
  Provides an intelligent system for replying to user messages and fetching relevant calendar or email information in real time.
  Bridges the gap between messaging platforms and productivity tools, improving efficiency.

  What this workflow does
  LINE Chatbot Automation**: Automatically processes and responds to messages received via LINE.
  Google Calendar Management**: Retrieves upcoming events or schedules new events dynamically based on user queries.
  Email Retrieval**: Fetches recent emails using Gmail and filters them based on user instructions.
  AI-Powered Replies**: Uses OpenAI GPT to interpret user queries and provide tailored responses.

  Setup
  Prerequisites:
     LINE Developer account and API access.
     Google Calendar and Gmail accounts with OAuth credentials.
     An n8n instance with access to environment variables.

  Steps:
     Set up environment variables (LINE_API_TOKEN and DYNAMIC_EMAIL).
     Configure API credentials for Google Calendar and Gmail in n8n.
     Test the workflow by sending a sample message via LINE.

  Enhancements:
     Use sticky notes to provide inline instructions for each node.
     Include a video walkthrough or a step-by-step document for first-time users.

  How to customize this workflow to your needs
  Localization**: Modify responses in the AI Agent node to match the language and tone of your audience.
  Integration**: Add more integrations like Slack or Microsoft Teams for additional notifications.
  Advanced Filters**: Add specific conditions to Gmail or Google Calendar nodes to fetch only relevant data, such as events with specific keywords or emails from certain senders.

  Advanced Use Cases
  Customer Support**: Automatically schedule meetings with clients based on their messages in LINE.
  Event Management**: Handle RSVP confirmations, event reminders, and email follow-ups for planned events.
  Personalized Assistant**: Use the workflow to act as a personal virtual assistant that syncs your schedule, replies to messages, and summarizes emails.

  Tips for Optimization
  Edit Fields Node**: Add a centralized node to configure dynamic inputs (e.g., tokens, emails, or thresholds) for easy updates.
  Fallback Responses**: Use a switch node to handle unrecognized input gracefully and provide clear feedback to users.
  Logs and Monitoring**: Add nodes to log interactions and track message flows for debugging or analytics.

  Let me know if you'd like me to expand on any specific section or add more customization ideas!

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolWikipedia","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.switch","n8n-nodes-base.webhook","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.gmailTool"]

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

metadata_json:
  {"categories":["integration","automation","communication","productivity"],"complexity":"medium","use_cases":["Automated customer support via LINE","Scheduling and managing events with Google Calendar","Fetching and summarizing relevant emails from Gmail","AI-powered message understanding and replies","Personal virtual assistant for scheduling and communications"],"estimated_setup_minutes":45,"required_services":["LINE Developer API","Google Calendar (OAuth)","Gmail (OAuth)","OpenAI (GPT) or compatible LLM API","n8n instance with access to environment variables"],"key_features":["LINE webhook and automated chatbot responses","Retrieve and create Google Calendar events dynamically","Fetch and filter recent Gmail messages","AI agent (OpenAI) to interpret queries and craft replies","Switch/fallback logic for unrecognized inputs and conditional flows"],"target_audience":["Small business owners","Personal assistants","Project managers and event coordinators`,`Customer support teams`,`Developers/automation engineers"]}


name: Create a Google Analytics Data Report with AI and sent it to E-Mail and Telegram
author_name: Friedemann Schuetz
author_username: freddy-schuetz
categories: []
created_at: 2024-12-25T14:56:34.079Z
updated_at: 2024-12-25T14:56:34.079Z
url: https://n8n.io/workflows/2673
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:31
description:
  What this workflow does
  This workflow retrieves Google Analytics data from the last 7 days and the same period in the previous year. The data is then prepared by AI as a table, analyzed and provided with a small summary.
  The summary is then sent by email to a desired address and, shortened and summarized again, sent to a Telegram account.

  This workflow has the following sequence:

  time trigger (e.g. every Monday at 7 a.m.)
  retrieval of Google Analytics data from the last 7 days
  assignment and summary of the data
  retrieval of Google Analytics data from the last 7 days of the previous year
  allocation and summary of the data
  preparation in tabular form and brief analysis by AI.
  sending the report as an email
  preparation in short form by AI for Telegram (optional)
  sending as Telegram message.

  Requirements
  The following accesses are required for the workflow:
  Google Analytics (via Google Analytics API): Documentation
  AI API access (e.g. via OpenAI, Anthropic, Google or Ollama)
  SMTP access data (for sending the mail)
  Telegram access data (optional for sending as Telegram message): Documentation

  Feel free to contact me via LinkedIn, if you have any questions!

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleAnalytics","n8n-nodes-base.emailSend","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.toolCalculator","n8n-nodes-base.googleAnalytics","n8n-nodes-base.summarize","n8n-nodes-base.summarize","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi"]

workflow_json_compressed:
  [encoded data, 4840 characters]

metadata_json:
  {"categories":["automation","analytics","reporting","AI integration","communication"],"complexity":"medium","use_cases":["Automated weekly Google Analytics reports with AI-driven insights","Year-over-year traffic comparison and trend analysis","Sending digest reports to stakeholders by email","Pushing short summaries to Telegram for on-the-go updates","Regular monitoring of key website metrics"],"estimated_setup_minutes":30,"required_services":["Google Analytics API (GA4)","AI API (OpenAI, Anthropic, Google, Ollama, or similar)","SMTP service (for sending email)","Telegram Bot API (optional, for Telegram messages)"],"key_features":["Scheduled trigger (e.g., every Monday at 7 a.m.)","Retrieves last 7 days and same period previous year from GA","AI prepares tabular data, analyzes and generates summaries","Sends detailed report via email","Generates shortened AI summary for Telegram (optional) and sends message"],"target_audience":["marketers","data analysts","growth/product managers that monitor web metrics regularly</s></s></s></s>"]}


name: Generate Stripe invoice and send it by email
author_name: Solomon
author_username: solomon
categories: []
created_at: 2024-12-26T23:01:02.981Z
updated_at: 2024-12-26T23:01:02.981Z
url: https://n8n.io/workflows/2675
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Generating Stripe invoices through the API can be tricky since it requires four steps to generate and send it via email to the customer.

  With this workflow you can create Stripe invoices automatically and make Stripe send the invoices to the customer email.

  How it works

  To generate a Stripe invoice, you need to create a customer, specify the invoice items, create the invoice, and finalize it.

  What should be a simple task involves multiple steps.

  This workflow simplifies the process by providing everything pre-built for you.

  Who is this for?

  Anyone who wants to generate invoices automatically and send them to the customer’s email.

  Stripe will only send invoices to customers if you generate the invoice correctly through the API.
  .

  Check out my other templates

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

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

workflow_json_compressed:
  H4sIAAAAAAAAE6XVyW7UQBAA0F+x+uyKenMvvkZCyoUDRHCI5tBLddLKjD3YDiEMI+Uz4PfyJchDRBKwh1icXctTqau8I00bsSf1xY7kSGqiK0+NlR5SUB4kWgYuRQ7UB0UjlY45S0rSuA2Smpx26AYsTm/6od1gR0oy3G3HD41p4FAZvOvxpB+6vEVSkm3b5yG3DakvhKElcLoqydZ1boMDdj2pd/tfNT5g1x/i2L58pKWkKsdYgFQ5BJmMBaelBo0GedIu6So90d4fWhbfirPmc5sDFmcDbvpZ4dUwbN/hpxvsh5dM9TqmPOG/oSIwKwx34GJEkFWk4LSIEB33jMuohRQT0Mdh5l/e5VJG6WKqSUZzqj0ogxJkYhpslTzYylnHfFJJ6wnqm9y4df76P1ixHEsDZ8kLAVwqBVLYCJb7BNoLH6NBrSv7HJvD9V3xth1QHHmYY9AY85IHgtMSmFzwPLWwxtCogCaXQNoQwcqQIKRELefWG2aedB+vsCnCOofr3FwWD/ffz7Efitu2u07r9vbh/scseeOaG7c+7/Ll5WHjng9VLlwp9JKHcZicCQ9SWQ5WmgRROYVJBEVVmJzo4oEqSkumFtCop1Gh0WCZF+Mh8mAZjRArwVIVhZVBTNLYYpvlC21BecQqcUjMepBCWrCSRVBSBESdnJwZG19sY1y+ErcqSWibBsOYOYb8dZ3rHdm4PFa92B3u/ivO5CGhJLmJ+IXUdL9a7cu5pKP1567b8QZ/ZB3tMH+UJnv8ewOnus3+8SZ67Pc/AfHmVe1fBwAA

metadata_json:
  {"categories":["automation","integration","billing","finance"],"complexity":"medium","use_cases":["Automatically create Stripe customers and invoices","Add invoice items and finalize invoices via API","Send invoices to customers by email through Stripe","Embed Stripe invoicing into existing n8n workflows","Reduce manual multi-step Stripe billing tasks"],"estimated_setup_minutes":15,"required_services":["Stripe API"],"key_features":["Creates Stripe customer programmatically","Adds invoice items to customer","Creates and finalizes invoice in the correct API sequence","Triggers Stripe to send invoice email to customer","Pre-built n8n workflow with webhook/HTTP nodes included"],"target_audience":["Developers implementing billing automation","Small business owners and freelancers","Accountants and finance teams handling invoices"]}


name: Analyze Email Headers for IP Reputation and Spoofing Detection - Outlook
author_name: Angel Menendez
author_username: djangelic
categories: []
created_at: 2024-12-27T06:09:11.324Z
updated_at: 2024-12-27T06:09:11.324Z
url: https://n8n.io/workflows/2676
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Analyze Emails for Security Insights

  Who is this for?

  This workflow is ideal for security teams, IT Ops professionals, and managed service providers (MSPs) responsible for monitoring and validating email traffic. It’s especially useful for organizations that need to identify potential phishing attempts, spam, or compromised accounts by analyzing email headers and IP reputation.

  What problem is this workflow solving?

  This workflow helps identify malicious or suspicious emails by verifying email authentication headers (SPF, DKIM, DMARC) and analyzing the reputation of the originating IP address. By automating these checks, it reduces manual analysis time and flags potential threats efficiently.

  What this workflow does

  Email Monitoring:** Polls a specified Microsoft Outlook folder for new emails in real-time.
  Header Analysis:** Retrieves and processes email headers to extract critical information such as authentication results and the sender’s IP address.
  IP Reputation Check:** Leverages external APIs (IP Quality Score and IP-API) to analyze the originating IP for potential spam or malicious activity.
  Authentication Validation:** Validates SPF, DKIM, and DMARC headers, determining if the email passes industry-standard authentication protocols.
  Data Aggregation and Reporting:** Combines all analyzed data into a unified format, ready for reporting or integration into downstream systems.
  Webhook Integration:** Outputs the findings via a webhook, enabling integration with alerting tools or security information and event management (SIEM) platforms.

  Setup

  Connect to Outlook:
     Configure the Microsoft Outlook trigger node with valid OAuth2 credentials.
     Specify the email folder to monitor for new messages.

  API Keys (Optional):
     Obtain an API key for IP Quality Score (https://ipqualityscore.com).
     Ensure the IP-API endpoint is accessible.
     This step is optional as ipqualityscore.com will provide a limited number of free lookups each month. See more details here.  

  Webhook Configuration:
     Set up a webhook endpoint to receive the output of the workflow.

  Optional Adjustments:
     Customize polling intervals in the trigger node.
     Modify header filters or extend the validation logic as needed.

  How to customize this workflow to your needs

  Add Alerts:** Use the Respond to Webhook node to trigger notifications in Slack, email, or any other communication channel.
  Integrate with SIEM:** Forward the workflow output to SIEM tools like Splunk or ELK Stack for further analysis.
  Modify Validation Rules:** Update SPF, DKIM, or DMARC logic in the Set nodes to align with your organization’s security policies.
  Expand IP Analysis:** Add more APIs or services to enrich IP reputation data, such as VirusTotal or AbuseIPDB.

  This workflow provides a robust foundation for email security monitoring and can be tailored to fit your organization's unique requirements. With its modular design and integration options, it’s a versatile tool to enhance your cybersecurity operations.

nodes_used:
  ["n8n-nodes-base.microsoftOutlookTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.limit","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.noOp","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10912 characters]

metadata_json:
  {"categories":["security","integration","automation","monitoring"],"complexity":"medium","use_cases":["Detect phishing/spam and compromised accounts","Validate email authentication (SPF, DKIM, DMARC)","Reputation analysis of sender IPs","Automated alerting and SIEM ingestion","Automated email triage and reporting"],"estimated_setup_minutes":30,"required_services":["Microsoft Outlook (OAuth2)","IPQualityScore (optional API key)","ip-api (or equivalent IP lookup API)","Webhook receiver or SIEM endpoint (e.g., Splunk, ELK)"],"key_features":["Polls specified Outlook folder for new email in real time","Parses and extracts email headers (authentication results, sender IP)","Validates SPF, DKIM, and DMARC headers","Performs IP reputation lookups via external APIs","Aggregates analysis into a unified output for reporting or downstream systems」「Outputs findings via webhook for alerts/SIEM integration"],"target_audience":["Security teams","IT operations professionals","Managed service providers (MSPs) / SOCs"]}


name: Analyze Email Headers for IP Reputation and Spoofing Detection - Gmail
author_name: Angel Menendez
author_username: djangelic
categories: []
created_at: 2024-12-27T06:47:56.660Z
updated_at: 2024-12-27T06:47:56.660Z
url: https://n8n.io/workflows/2677
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:31
description:
  Analyze Emails for Security Insights

  Who is this for?

  This workflow is ideal for IT professionals, security analysts, and organizations looking to enhance their email security practices. It is particularly useful for those who need to analyze Gmail email headers for IP tracking, spoofing detection, and sender reputation assessment. 

  What problem is this workflow solving?

  Email spoofing and phishing attacks are significant cybersecurity threats. By analyzing email headers, this workflow provides detailed insights into the email's origin, authentication status, and the reputation of the sending IP address. It helps detect potential spoofing attempts and assess the trustworthiness of incoming emails.

  What this workflow does

  This n8n workflow automates the process of analyzing email headers received in Gmail. It performs the following key functions:

  Triggering and Email Header Extraction: It monitors Gmail inboxes for new emails and extracts their headers for analysis.
  Authentication Analysis: It validates SPF, DKIM, and DMARC authentication results to ensure the email adheres to industry-standard security protocols.
  IP Analysis: The workflow extracts the originating IP address and evaluates its reputation and geographic details using external APIs.
  Reputation Scoring: It integrates with IP Quality Score to detect spam activity and assess the sender's reputation.
  Consolidation and Webhook Response: All results are aggregated into a single JSON response, making it easy to integrate with third-party platforms or tools for further automation.

  Setup

  Authenticate Gmail: Configure the Gmail Trigger node with your Gmail account credentials.
  API Keys (Optional):
     Obtain an API key for IP Quality Score (https://ipqualityscore.com).
     Ensure the IP-API endpoint is accessible.
     This step is optional as ipqualityscore.com will provide a limited number of free lookups each month. See more details here.  
  Activate the Workflow: Ensure the workflow is active to process incoming emails in real-time.

  How to customize this workflow to your needs

  Add Alerts:** Use the Gmail - Respond to Webhook node to trigger notifications in Slack, email, or any other communication channel.
  Integrate with SIEM:** Forward the workflow output to SIEM tools like Splunk or ELK Stack for further analysis.
  Modify Validation Rules:** Update SPF, DKIM, or DMARC logic in the Set nodes to align with your organization’s security policies.
  Expand IP Analysis:** Add more APIs or services to enrich IP reputation data, such as VirusTotal or AbuseIPDB.

  This workflow provides a robust foundation for email security monitoring and can be tailored to fit your organization's unique requirements. With its modular design and integration options, it’s a versatile tool to enhance your cybersecurity operations.

nodes_used:
  ["n8n-nodes-base.gmailTrigger","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.webhook","n8n-nodes-base.limit","n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp"]

workflow_json_compressed:
  [encoded data, 9552 characters]

metadata_json:
  {"categories":["security","email","automation","integration"],"complexity":"complex","use_cases":["Email spoofing and phishing detection","Sender IP reputation and geolocation analysis","Email authentication validation (SPF/DKIM/DMARC)","Threat intelligence enrichment and triage","Forwarding results to SIEMs or alerting channels"],"estimated_setup_minutes":20,"required_services":["Gmail (required)","IPQualityScore (optional, for reputation scoring)","ip-api or similar geolocation API (optional)","Webhook/HTTP endpoint or SIEM/alerting platform (optional for forwarding results)"],"key_features":["Real-time Gmail inbox monitoring and header extraction","SPF, DKIM, and DMARC authentication analysis","Originating IP extraction plus reputation and geolocation lookup","Integration with IPQualityScore for spam/fraud scoring","Aggregates consolidated JSON output for downstream systems or webhooks\",\"Modular nodes to customize validation rules and add additional threat intel sources"],"target_audience":["IT professionals","Security analysts / SOC teams","Email administrators / ops engineers who manage inbound email security reviewers/incident responders"]}


name: Export all Strava Activity Data to Google Sheets
author_name: Sherlockes
author_username: sherlockes
categories: []
created_at: 2024-12-28T22:23:06.727Z
updated_at: 2024-12-28T22:23:06.727Z
url: https://n8n.io/workflows/2678
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  What does this template help with?
  Save the data of activities recorded and stored in Strava to a Google Sheets document.

  How it works:
  We have a Google Sheets spreadsheet where each row represents a Strava activity with the date, reference, distance, time, and elevation.
  Periodically, the workflow checks the latest activities in our Strava account to see if any are missing from the spreadsheet and adds them to the list.
  All fields must be properly formatted according to how they are stored in the Google Sheets spreadsheet.

  Set up instructions
  Complete the Set up credentials step when you first open the workflow. You'll need a Google Sheets and Strava account.
  In the 'activities' node, you must enter the name of the file and the sheet where you want to save the imported data.
  In the 'Strava' node, you must select the corresponding credential.
  You can adjust the format of dates, times, and distances according to your needs in the 'strava_last' node.

  The rest of the information is available at  sherblog.es

  Template was created in n8n v1.72.1

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.strava","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.removeDuplicates","n8n-nodes-base.googleSheets","n8n-nodes-base.sort","n8n-nodes-base.limit","n8n-nodes-base.set","n8n-nodes-base.sort","n8n-nodes-base.limit","n8n-nodes-base.sort"]

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

metadata_json:
  {"categories":["integration","automation","data export","fitness"],"complexity":"medium","use_cases":["Backup Strava activities to a spreadsheet","Maintain a running log for analysis or coaching","Share activity data with others via Google Sheets","Create custom reports or dashboards from Strava data"],"estimated_setup_minutes":10,"required_services":["Strava account / API access","Google Sheets (Google account)","n8n instance"],"key_features":["Periodic check for new activities (schedule)","Adds missing Strava activities as rows in Google Sheets","Configurable date/time/distance formatting","Duplicate detection and removal","Field mapping between Strava response and spreadsheet columns"],"target_audience":["athletes and fitness enthusiasts","coaches and trainers","data analysts who track workouts in spreadsheets','n8n users looking to automate data export"]}


name: ⚡AI-Powered YouTube Video Summarization & Analysis
author_name: Joseph LePage
author_username: joe
categories: []
created_at: 2024-12-29T03:01:45.635Z
updated_at: 2024-12-29T03:01:45.635Z
url: https://n8n.io/workflows/2679
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 19:30:32
description:
  -- Disclaimer: This workflow uses a community node and therefore only works for self-hosted n8n users --



  Transform YouTube videos into comprehensive summaries and structured analysis instantly. This n8n workflow automatically extracts, processes, and analyzes video transcripts to deliver clear, organized insights without watching the entire video.

  Time-Saving Features
  🚀 Instant Processing
  Simply provide a YouTube URL and receive a structured summary within seconds, eliminating the need to watch lengthy videos. Perfect for research, learning, or content analysis.

  🤖 AI-Powered Analysis
  Leverages GPT-4o-mini to analyze video transcripts, organizing key concepts and insights into a clear, hierarchical structure with main topics and essential points.

  Smart Processing Pipeline
  📝 Automated Transcript Extraction
  Supports public YouTube video
  Handles multiple URL formats
  Extracts complete video transcripts automatically

  🧠 Intelligent Content Organization
  Breaks down content into main topics
  Highlights key concepts and terminology
  Maintains technical accuracy while improving clarity
  Structures information logically with markdown formatting

  Perfect For
  📚 Researchers & Students
  Quick comprehension of educational content and lectures without watching entire videos.

  💼 Business Professionals
  Efficient analysis of industry talks, presentations, and training materials.

  🎯 Content Creators
  Rapid research and competitive analysis of video content in your niche.

  Technical Implementation
  🔄 Workflow Components
  Webhook endpoint for URL submission
  YouTube API integration for video details
  Transcript extraction system
  GPT-4 powered analysis engine
  Telegram notification system (optional)

  Transform your video content consumption with an intelligent system that delivers structured, comprehensive summaries while saving hours of viewing time.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-youtube-transcription.youtubeTranscripter","n8n-nodes-base.splitOut","n8n-nodes-base.respondToWebhook","n8n-nodes-base.telegram","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.youTube","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.summarize","n8n-nodes-base.set"]

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

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


name: AI-Powered Social Media Amplifier
author_name: Mudit Juneja
author_username: beingmudit
categories: []
created_at: 2024-12-29T21:28:30.325Z
updated_at: 2024-12-29T21:28:30.325Z
url: https://n8n.io/workflows/2681
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:31
description:
  &gt; Reach out to me  for any setup help/consulting.


  Automate the curation and sharing of trending GitHub discussions from Hacker News to Twitter and LinkedIn. This workflow leverages AI to generate engaging posts, streamlining your social media content creation and distribution.

  How it Works

  Crawl Hacker News for GitHub Posts: The workflow fetches trending GitHub-related discussions from Hacker News.
  Extract Key Information: Relevant data such as post titles, URLs, and metadata are extracted and filtered to focus only on unposted content.
  Fetch Additional Details: For each GitHub post, the workflow retrieves extra information from the GitHub repository page to enrich the post content.
  Generate Social Media Posts: Using AI, the workflow automatically generates tailored posts for Twitter and LinkedIn based on the collected data.
  Post to Twitter & LinkedIn: The generated content is posted to your Twitter and LinkedIn accounts.
  Track and Log Posts: Each post is logged in Airtable for tracking, and its status is updated to ensure no duplicate posts are made.
  Telegram Notification: After posting, a summary of the posts is sent to your Telegram chat for real-time updates.

  Requirements

  n8n Account**: Set up and configured. Sign up here.
  API Credentials**: Valid keys for LinkedIn, Twitter, Airtable, OpenAI, and Telegram.
  Airtable Base**: Configured with fields such as Title, URL, Post Content, Status, and Timestamp. Get started with Airtable.
  Telegram Chat ID**: For receiving real-time notifications.


  Set Up Steps

  Clone the Workflow: Import the workflow into your n8n environment using the provided JSON.
  Configure API Credentials: Enter your API keys for LinkedIn, Twitter, Airtable, OpenAI, and Telegram into the respective nodes.
  Set Up Airtable Base: Create an Airtable base with fields such as Title, URL, Post Content, Status, and Timestamp.
  Customize Telegram Chat ID: Modify the 'Ping me' node with your Telegram chat ID to receive notifications.
  Run the Workflow: Activate the workflow to start the automated content curation and posting process.

  Additional Resources

  n8n AI Agentic Workflows Guide
  n8n AI Workflow Tutorial
  n8n Community Tutorial on Building an AI-Powered Telegram Bot


  &gt; Note: Chat GPT prompt should/can be tweaked in the step to give the desired behaviour.

  Sample Posts from my X and LinkedIn -** 

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.markdown","n8n-nodes-base.filter","n8n-nodes-base.noOp","n8n-nodes-base.airtable","n8n-nodes-base.linkedIn","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.twitter","n8n-nodes-base.code","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8596 characters]

metadata_json:
  {"categories":["automation","social media","content curation","AI integration"],"complexity":"medium","use_cases":["Automated social post generation from developer news","Content curation and distribution across Twitter/X and LinkedIn","Developer community engagement and growth","Keeping a searchable log of posted items for compliance/analytics","Real‑time notifications of published posts"],"estimated_setup_minutes":45,"required_services":["n8n","Hacker News (scraping/API)","GitHub (public repo data or API token optional)","Twitter/X API","LinkedIn API","Airtable","OpenAI (or compatible AI provider)","Telegram"],"key_features":["Crawl Hacker News for GitHub‑related discussions","Extract and filter unposted items to avoid duplicates","Enrich posts by fetching GitHub repo details","AI‑powered generation of platform‑specific post copy (Twitter/X, LinkedIn)","Automated posting to Twitter/X and LinkedIn APIs from n8n nodes"],"target_audience":["social media managers","community managers","developer advocates / engineering marketers"]}


name: 🔍 Perplexity Research to HTML: AI-Powered Content Creation
author_name: Joseph LePage
author_username: joe
categories: []
created_at: 2024-12-29T22:20:41.173Z
updated_at: 2024-12-29T22:20:41.173Z
url: https://n8n.io/workflows/2682
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  Transform simple queries into comprehensive, well-structured content with this n8n workflow that leverages Perplexity AI for research and GPT-4 for content transformation. Create professional blog posts and HTML content automatically while maintaining accuracy and depth.

  Intelligent Research & Analysis

  🚀 Automated Research Pipeline
  Harnesses Perplexity AI's advanced research capabilities
  Processes complex topics into structured insights
  Delivers comprehensive analysis in minutes instead of hours

  🧠 Smart Content Organization
  Automatically structures content with clear hierarchies
  Identifies and highlights key concepts
  Maintains technical accuracy while improving readability
  Creates SEO-friendly content structure

  Content Transformation Features

  📝 Dynamic Content Generation
  Converts research into professional blog articles
  Generates clean, responsive HTML output
  Implements proper semantic structure
  Includes metadata and categorization

  🎨 Professional Formatting
  Responsive Tailwind CSS styling
  Clean, modern HTML structure
  Proper heading hierarchy
  Mobile-friendly layouts
  Blockquote highlighting for key insights 

  Perfect For

  📚 Content Researchers
  Save hours of manual research by automating the information gathering and structuring process.

  ✍️ Content Writers
  Focus on creativity while the workflow handles research and technical formatting.

  🌐 Web Publishers
  Generate publication-ready HTML content with modern styling and proper structure.

  Technical Implementation

  ⚡ Workflow Components
  Webhook endpoint for query submission
  Perplexity AI integration for research
  GPT-4 powered content structuring
  HTML transformation engine
  Telegram notification system (optional)

  Transform your content creation process with an intelligent system that handles research, writing, and formatting while you focus on strategy and creativity.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.noOp","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  [encoded data, 12672 characters]

metadata_json:
  {"categories":["automation","integration","content creation","data processing","research"],"complexity":"complex","use_cases":["Automated research and summarization of complex topics","Generating SEO-friendly blog posts from research","Converting research outputs into responsive HTML with Tailwind CSS","Publishing-ready content workflow with notifications","Rapid prototyping of technical articles and documentation"],"estimated_setup_minutes":60,"required_services":["Perplexity AI","OpenAI (GPT-4 / lmChatOpenAi)","n8n instance (with webhook endpoint)","Telegram (optional for notifications)","Web hosting or CMS to publish generated HTML (optional)"],"key_features":["Automated research pipeline using Perplexity AI","GPT-4 powered content structuring and transformation","Generates clean, semantic HTML with Tailwind CSS styling","Outputs SEO-friendly structure, metadata, and categorization","Webhook-based query submission and optional Telegram alerts"],"target_audience":["Content researchers","Content writers and editors","Web publishers and bloggers (technical and non-technical sites)"]}


name: AI Agent for project management and meetings with Airtable and Fireflies
author_name: Mark Shcherbakov
author_username: lowcodingdev
categories: []
created_at: 2024-12-30T10:31:08.754Z
updated_at: 2024-12-30T10:31:08.754Z
url: https://n8n.io/workflows/2683
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:31
description:
  Video Guide

  I prepared a comprehensive guide detailing how to create a Smart Agent that automates meeting task management by analyzing transcripts, generating tasks in Airtable, and scheduling follow-ups when necessary.



  Youtube Link

  Who is this for?
  This workflow is ideal for project managers, team leaders, and business owners looking to enhance productivity during meetings. It is particularly helpful for those who need to convert discussions into actionable items swiftly and effectively.

  What problem does this workflow solve?
  Managing action items from meetings can often lead to missed tasks and poor follow-up. This automation alleviates that issue by automatically generating tasks from meeting transcripts, keeping everyone informed about their responsibilities and streamlining communication.

  What this workflow does
  The workflow leverages n8n to create a Smart Agent that listens for completed meeting transcripts, processes them using AI, and generates tasks in Airtable. Key functionalities include:
  Capturing completed meeting events through webhooks.
  Extracting relevant meeting details such as transcripts and participants using API calls.
  Generating structured tasks from meeting discussions and sending notifications to clients.

  Webhook Integration: Listens for meeting completion events to trigger subsequent actions.
  API Requests for Data: Pulls necessary details like transcripts and participant information from Fireflies.
  Task and Notification Generation: Automatically creates tasks in Airtable and notifies clients of their responsibilities.

  Setup

  N8N Workflow
  Configure the Webhook: 
     Set up a webhook to capture meeting completion events and integrate it with Fireflies.

  Retrieve Meeting Content: 
     Use GraphQL API requests to extract meeting details and transcripts, ensuring appropriate authentication through Bearer tokens.

  AI Processing Setup: 
     Define system messages for AI tasks and configure connections to the AI chat model (e.g., OpenAI's GPT) to process transcripts.

  Task Creation Logic: 
     Create structured tasks based on AI output, ensuring necessary details are captured and records are created in Airtable.

  Client Notifications: 
     Use an email node to notify clients about their tasks, ensuring communications are client-specific.

  Scheduling Follow-Up Calls: 
     Set up Google Calendar events if follow-up meetings are required, populating details from the original meeting context.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.gmailTool","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.airtable","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.webhook","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6216 characters]

metadata_json:
  {"categories":["automation","integration","AI","project management","meetings"],"complexity":"complex","use_cases":["Automatically generate tasks from meeting transcripts","Schedule follow-up meetings when action items require it","Notify stakeholders of assigned tasks after meetings","Convert discussion points into structured Airtable records","Summarize meeting outcomes and responsibilities"],"estimated_setup_minutes":60,"required_services":["n8n","Fireflies.ai (transcript provider & webhook/GraphQL API)","Airtable","OpenAI or compatible LLM API (for AI processing)","Google Calendar","Email service (SMTP, SendGrid, Mailgun, etc.)"],"key_features":["Webhook listener for meeting-completed events","GraphQL/API calls to pull transcripts and participant data from Fireflies","AI-driven analysis to extract action items and generate structured tasks","Automated creation of Airtable records for tasks","Email notifications to clients/participants with their responsibilities and context-aware messages to participants"],"target_audience":["Project managers","Team leaders","Business owners/executives running teams or projects"]}


name: Check if a Twitch Stream is Live
author_name: Roger Filomeno
author_username: godie
categories: []
created_at: 2024-12-30T11:06:35.454Z
updated_at: 2024-12-30T11:06:35.454Z
url: https://n8n.io/workflows/2684
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Introduction:

  This workflow template helps you determine if a Twitch user's stream is currently live or offline.

  Setup Instructions:

  The Document node holds the sample Twitch username you wish to check, you may adapt it in your workflow by replacing this with a chain that contains the Twitch username you want to check. This value is passed to the GraphQL node query as $('Document').item.json.twitch so make sure to change this based on your workflow.

  How it Works:

  The important nodes here are the GrapQL and IF nodes. The GrapQL queries the Twitch API, and then the output returns a document with the stream property. The IF node then checks if this property has a value, if null means the user is offline, otherwise the user is online or live.

  Common Use Cases:
  You can use this with other workflow templates to post live stream alerts to Twitter/X, Bluesky, and Discord via webhooks, etc to notify your community to join youR stream. You may also use an LLM node to write a custom alert based on the value of property title

  How to adjust this template
  If you want to check a list of Twitch channels, you can simply exchange the Document set node in the beginning with your list of channels.


  For more information on the GraphQL output please see the official Twitch API documentation: Get Streams

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

workflow_json_compressed:
  H4sIAAAAAAAAE5VW627bNhR+FYIY0BYQXV2oK5AfRZdtBbZ2a9MWQxPAFHlks5ZIh6TtGIaAPsb2en2SgfItSZ10/SVezvU73znUBistwOLq0wZLgSvccFHETV0QWrOS0CQvSZk1glDBWZSzJG1YggOsWAe4wj9rvuhAORxgt577E1UoMpgkNbMwsuDv5tpKJ7XC1SeShWEQ0/AqwHNmWAcOjMXVBuu5l/DLPsDMWjlR3vJwd2e7j1TULK/LqCZRDgmhYZmRMmaMsAzSBrIQ6jQ9RupW0vHpMU7rjFQTHOAlaxf+4O8379+Si4+vLl7+Rt6/O3/7+sUf57i/6vutygcwdsggGdE+2IWQ8iwsGpqTRJSUUF7kpIyzhiSZd55RnufFMYSLIQT0q2Hz6V+/PwjZxN9ft/dgS4rTsF0vwKxxhc82lwqhhQXztNUTqSp0iTcb9NPTJ/saPXk2kg660Wer1WgLB+r7S/wMDaoIWWeAdfsdQlLsV0sJKzD2pV4otz9z0rVw2Kznh/WEdXA0cttMv10Mn/5S9TjAoMRcS+VwhafOzW31/Pnkut2FN3JLvxuKZCSrW09UfIYDbOB6Adb9ok3HvK7PCQd4CkyA+fMA0HvpIToANnBnVwzeSlCOSHGLAjPZKciL2U2i+E1Wm4mm3TJbzWQ6jWb6FBmiAxUazsNChIIkCTBC45yTWgAjMcRRWTOWR2V0pMIri96oVip4kAWyuUeAKPsffcO1EnK/v3WFl/uI4wC30LgPu5RxgDmz8A6U97QEXDmzgF2WrJWCbf0P/cIdHnx0tVTMaYMrzJQH8LbbfXsmUQRJnUQkTCAnNM8SUtSUEah5yaKizvPGq+o5mK2tzR4JXX8G7g53W/9Ku/Nu7tY4wFaqSQu7DHy4/d2czjzvB5YL5tjI98Rox+3ec87IyfQIwImqxqP4UNcyFSItkpAwzmtCI5aRMi9DImiSxFSwKEqzY10/TkEh3ko+k2qCvn755wKsQyttZk2rV1+//PtgvTumFqy9MHIyAXOv9MXp0j9CRpbVaVYnhIJICWWJICylJclSCnGc1WmSwjHod07y2Rq91u5hOtpBZidyZ5wXYXCClVwrB0NbX0wBid0IQt4ismCWYBGzyLJu3gKyemE4oEYbNN52/niYZD4+5DTiU+CzS4UfTjipozQKo4QA1ILQpgRSlk1E8khQHok4zXN6MuHoxzOmWRjQ+LGU3RTQMFOQbtD4MGnG6KCApEUMNfIGBJopvVI7+YUFgeo12o1njwhTWq07vbCIs7bdSkiF3BSkQSuorXTwODZlmheN4KQJ/bNOy4aUMc1IWYRCREUkwrQ4iU3849jE9DtsWAFSAAJp1a4PpUV3Adv26hjJBo3Vom3HXtCj5E+8qOcG0k3jB+gIvVDrnfJKti0SoLSDo5y03pkftd9CdDWMLgX8MCcPPzTVBndM+qT8m6HFYw/4IBhgqQTc4Crsr6764L7wKXsnXoGTpr4/VU5Z//bf7ITxvv8PfB1SxgIKAAA=

metadata_json:
  {"categories":["integration","monitoring","automation"],"complexity":"simple","use_cases":["Detect if a Twitch channel is live","Trigger notifications (Twitter/X, Discord, Bluesky) when a stream starts","Monitor multiple Twitch channels and branch workflows","Generate custom live-alert messages with an LLM"],"estimated_setup_minutes":10,"required_services":["Twitch API (GraphQL, Get Streams)"],"key_features":["Queries Twitch GraphQL API for stream data","Conditional IF node determines online/offline from stream property","Easy replacement of input Document node to check single or multiple channels","Can feed results into webhooks or LLM nodes to post alerts or generate messages"],"target_audience":["streamers","community managers","marketers who post live alerts on social platforms (Twitter/X, Discord, Bluesky) or via webhooks)But keep concise: developers and automation users"]}


name: TW-Request-Agri Data Open Platform-Daily Market Sheep Pricing
author_name: darrell_tw
author_username: darrelltw
categories: []
created_at: 2025-01-01T19:24:45.689Z
updated_at: 2025-01-01T19:24:45.689Z
url: https://n8n.io/workflows/2687
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow automates the process of fetching agricultural transaction data from the Taiwan Agricultural Products Open Data Platform and storing it in a Google Sheets document for further analysis.

  Key Features
  Manual Trigger: Allows manual execution of the workflow to control when data is fetched.
  HTTP Request: Sends a request to the Open Data Platform's API to retrieve detailed transaction data, including:
     Pricing (Upper, Middle, Lower, Average)
     Transaction quantities
     Crop and market details
  Split Out Node: Processes each record individually, ensuring accurate handling of every data entry.
  Google Sheets Integration: Appends the data into a structured Google Sheets document for easy access and analysis.

  Node Configurations

  1. Manual Trigger
  Purpose**: Start the workflow manually.
  Configuration**: No setup needed.

  2. HTTP Request
  Purpose**: Fetch agricultural data.
  Configuration**:
    URL: https://data.moa.gov.tw/api/v1/SheepQuotation
    Query Parameters:
      Start_time: 2024/12/01
      End_time: 2024/12/31
      MarketName: 台北二
      api_key: &lt;your_api_key&gt;
    Headers:
      accept: application/json

  3. Split Out
  Purpose**: Split the API response data array into individual items.
  Configuration**:
    Field to Split Out: Data

  4. Google Sheets
  Purpose**: Append the data to Google Sheets.
  Configuration**:
    Operation: Append
    Document ID: &lt;your_document_id&gt;
    Sheet Name: Sheet1
    Mapped Fields:
      TransDate, TcType, CropCode, CropName, MarketCode, MarketName
      Upper_Price, Middle_Price, Lower_Price, Avg_Price, Trans_Quantity


  此 Workflow 從 台灣農業產品開放資料平臺 獲取農產品交易數據，並將其儲存到 Google Sheets 文件 中進行進一步分析。

  主要功能
  Manual Trigger：允許手動執行工作流程，以控制數據獲取的時間。
  HTTP Request：向開放資料平臺的 API 發送請求，獲取詳細的交易數據，包括：
     價格 (Upper, Middle, Lower, Average)
     交易數量
     作物和市場詳細資料
  Split Out Node：逐筆處理每一筆記錄，確保數據準確無誤。
  Google Sheets Integration：將數據追加到結構化的 Google Sheets 文件中，方便存取和分析。

  節點設定

  1. Manual Trigger
  用途**：手動啟動工作流程。
  設定**：無需額外設定。

  2. HTTP Request
  用途**：抓取農產品數據。
  設定**：
    URL: https://data.moa.gov.tw/api/v1/SheepQuotation
    查詢參數 (Query Parameters)：
      Start_time: 2024/12/01
      End_time: 2024/12/31
      MarketName: 台北二
      api_key: &lt;your_api_key&gt;
    標頭 (Headers)：
      accept: application/json

  3. Split Out
  用途**：將 API 回應的數據陣列分解為個別項目。
  設定**：
    Field to Split Out: Data

  4. Google Sheets
  用途**：將數據追加至 Google Sheets。
  設定**：
    Operation：Append
    Document ID：&lt;your_document_id&gt;
    Sheet Name：Sheet1
    映射欄位 (Mapped Fields)：
      TransDate, TcType, CropCode, CropName, MarketCode, MarketName
      Upper_Price, Middle_Price, Lower_Price, Avg_Price, Trans_Quantity

  請多利用 Curl Import 功能
  例如
  curl -X GET "https://data.moa.gov.tw/api/v1/AgriProductsTransType/?Start_time=114.01.01&End_time=114.01.01&MarketName=%E5%8F%B0%E5%8C%97%E4%BA%8C" -H "accept: application/json"

  農業資料開放平台 文件

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  H4sIAAAAAAAAE71XS2/bRhD+K8b2SlriWyQQFI7t+BG/ZMt51DCM0e5Q2phcMtylHMcQkNx6CNBDC7Q9Fei5hyLHHvpjggbJzyiWepgK5CaRjd4E8eM338wOd765IpyRiLzk2xuO6m2E1sZ5lwsgBklRAYmuCBdSgaC4pXExY10HQyv0g9hqWjYNPcaadjf2gNlWbAdhTF03sLzYDSCA0AfHcR3Hty0KYHsOGRpEQIokIqIlzI9/v/3w0+/vf3xNDKKgJ0l0cjUS9BQePTtUbHu/PYB1ceyQ6XsKpeKiRwxCCwSFbEWRiNhN2zUt27TDTjOI3CBy3eWmH35HDFLm7POw4alBRMawJqEZsMB2LWa6rWbXdJnnmKHfBdNtecxi1PXD2L+W9biPYokmnJ5z0Vt69+qXDkq1dJEV53GSXbx79atO8TKfZF7FMrsgcTkFUULSKXivhwUxSJ5JrngmSHTSNJqnBsmhgBQVFpJEV8MRzSMsZIWxhsZEr81iQAjMLrao6YYxM6Hlh6YTUkpjH33G8FrvZqdzsHSIz0uU6kZpfaXya0xNmG3PkUbKIiER0S/JqNFgoGA5zWC5lw2W1UUDct4YWI2jPmLeLjMFFZdBslz/GOcmUbB2icUliVRR4uiPTQRWhRj99Vw/P5iJXNdxcjXJ8UhBoc4UT3XeA0hKHLdAw7IbTYvo0o2h64LdBHRmgLtQnKPagxno+x/+fP/m53/+elNHQs7PzvGyBnNWHmytufc31sODtbb9uPNgbd964lub7uFee2edDE+HBulXuX5JdkAp5qpGD3mecFqVtfFMZkITftou7rI9bRg/BIt51DfBC2PT7bpdM0TPMlngxY4VQuDRWoMf5QlXS/vlzd0iNWIEqLWK685rlZlDjzkmrJMdTd6PyBooIP/R6i27ZbewabqU+qbre9Tsxuianm/FLXTRoV7zWvlGlvUSXNKNp+SN6nsVagqqZeD78zKgWVKmVQaTA6j6l/YxhetLpFOAkGug8DquVMXo/mJc5glMO73A5yUvkJEohkTi9PneKIs6E8MYykTtgqL9KZyCuI/HElknGz/QvNOadWhHx7+1jAnNIhpWiyxfzdjtVdSIFtUx/oRvr2NMtIiO0WVyJxWZoVpcy51UZYZqES3HeY7F2UHB6e3FzHItVBnOWIJ3JOcTskX07GQXd1adWa5F1KwMenekpc600A2nb8izdglCcXV5Nxdune5rNJ0aJIU856K3qz/JiECpsl3It0Reqmq6aYCifS56q5NJcqINwMxkzHIsRj6pGu8oGDGI1DNqJPKKnJ1p0zVKKB2FSris24IeZ/f0NKRA+8gOUZaJOp51ahmV4/m3TLO0IfMCgVVhZIM1rGB9u7OP6r6Ms43zlytrq8ebB9kTaD8OHuy0X/KnafvFw73tPbG2ddxAxtU380KOq1oNWO2oCMtomaJQerH4kjy+Rsb/mu63pczvsYIPULLz+VmLlvjw/R8ff3tbW3m0N6MFMhSKQ1IZiboH2V8pVd9eyXm1hOn+BiUfrjRTG9pPcMfn/g0OZwkozUqhyBzz5+nGBKr4AKcdLFHphaoSgC+Qlrrf9guGBYnIoDqqwYihWgG7QRhaTdc1GQRourYXm2AjmH5oo8NazHftri5CJgTSSSvX3GN0RVLg2ldpKzs66RscWoUzCBcMX5CoOTzV38fM4jKPbI5RnUv0+Y1tHvv8vWlOgOHwX0cn8AlcDwAA

metadata_json:
  {"categories":["integration","data processing","automation"],"complexity":"simple","use_cases":["Ingest daily market pricing for sheep from Taiwan MOA Open Data","Archive agricultural transaction records to Google Sheets","Prepare data for quick analysis and reporting in spreadsheets","Monitor market price/quantity trends for decision making"],"estimated_setup_minutes":15,"required_services":["Taiwan Agricultural Products Open Data Platform (MOA) API","Google Sheets (Google Drive)"],"key_features":["Manual trigger to run data fetch on demand","HTTP request to MOA API with date range, market and api_key parameters","Split Out node to process each record individually","Append mapped fields (dates, crop/market details, upper/middle/lower/avg prices, transaction quantity) into Google Sheets","Supports curl import for testing/quick requests"],"target_audience":["data analysts","market researchers","agriculture extension officers / agronomists`,`operations teams / ETL builders"]}


name: Hacker News Throwback Machine - See What Was Hot on This Day, Every Year!
author_name: ibrhdotme
author_username: ibrhdotme
categories: []
created_at: 2025-01-01T22:21:01.664Z
updated_at: 2025-01-01T22:21:01.664Z
url: https://n8n.io/workflows/2688
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:31
description:
  This is a simple workflow that grabs HackerNews front-page headlines from today's date across every year since 2007 and uses a little AI magic (Google Gemini) to sort 'em into themes, sends a neat Markdown summary on Telegram.

  How it works

  Runs daily, grabs Hacker News front page for this day across every year since 2007.
  Pulls headlines & dates.
  Uses Google Gemini to sort headlines into topics & spot trends.
  Sends a Markdown summary to Telegram.

  Set up steps

  Clone the workflow.
  Add your Google Gemini API key.
  Add your Telegram bot token and chat ID.

  **Built on Day-01 as part of the #100DaysOfAgenticAi
  Fork it, tweak it, have fun!**

nodes_used:
  ["@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.html","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.telegram"]

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

metadata_json:
  {"categories":["automation","content curation","data processing","notifications","AI/ML"],"complexity":"medium","use_cases":["Daily historical Hacker News digest","Content idea generation","Social media/community engagement","Trend spotting and topic analysis","Newsletter or blog material"],"estimated_setup_minutes":10,"required_services":["Google Gemini API (LM chat)","Telegram (bot token and chat ID)","Hacker News front page (public web access)","n8n instance with scheduler enabled"],"key_features":["Scheduled daily run","Scrapes Hacker News front pages for the same calendar date across years","Extracts headlines and dates","Uses Google Gemini to cluster headlines into topics and spot trends","Generates a Markdown summary of themes and notable items only to Telegram chat for easy reading"],"target_audience":["Developers and hobbyists","Community managers and moderators","Content creators and newsletter writers','Data journalists and trend analysts"]}


name: Reusable Subworkflow Zip Multiple Files Dynamically (Compress)
author_name: Simon
author_username: simonfes
categories: []
created_at: 2025-01-02T13:55:41.676Z
updated_at: 2025-01-02T13:55:41.676Z
url: https://n8n.io/workflows/2690
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  📦 Zip Multiple Files Dynamically  

  This template enables you to dynamically bundle multiple files into a ZIP archive. Designed to be used as a Subworkflow, it’s modular, flexible, and easy to integrate into various workflows. The output is a single ZIP file with a name that includes the current date, time, and fileName.

  Shoutout:
  Code from: Tom (mutedjam)

  👤 Who is this for?  
  This workflow is perfect for:  
  🚀 Businesses automating file archiving tasks.  
  💻 Developers managing files programmatically.  
  📂 Anyone needing a reusable solution for bundling files into ZIP archives.

  ❓ What problem is this workflow solving?  
  Manually zipping multiple files is:  
  🕒 Time-consuming.  
  🤔 Prone to errors.  

  This workflow automates the process and, as a Subworkflow, ensures:  
  ⚡ Consistent file archiving across different workflows.  
  🛠️ Reduced manual effort.  
  📈 Streamlined integration into existing automation.

  🔧 What this workflow does  
  🗂️ Dynamically collects binary files from the input.  
  📦 Bundles them into a single ZIP archive.  
  🕒 Names the ZIP file with the current date, time, and a customizable fileName.  
  ✅ Outputs the ZIP file, ready for storage or further processing.  

  ⚙️ Setup  
  🔗 Add this Subworkflow to your existing workflows.  
  📥 Pass the binary files as input to the Subworkflow.  
  ▶️ Call the Subworkflow to generate a ZIP file.

  🛠️ How to customize this workflow to your needs  
  🌐 File Sources**: Adjust the input nodes in your parent workflow to connect to your preferred file sources.  
  📝 File Naming**: Customize the logic for the output fileName in the Subworkflow.  
  🚀 Additional Use Cases**: Use this Subworkflow in various scenarios, such as:  
    ✉️ Sending ZIP files via email.  
    ☁️ Uploading ZIP files to cloud storage.  
    🔄 Triggering further automation.

  🎉 Why use this as a Subworkflow?  
  Instead of building a fixed ZIP functionality for every workflow, this template offers a reusable solution that can be integrated into many different workflows effortlessly. Save time and ensure consistency across your automation projects! 💡

nodes_used:
  ["n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.compression","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.code"]

workflow_json_compressed:
  H4sIAAAAAAAAE31V227bOBD9FYIJEBsQBV2oa5GHotjFZoE2AdrtAmsbLUUOHaYypYp0EtfQvxeUHNtJnLUfZIFnzozPnOFssRK4xF3886/6w9cP/NfPLw9xe4M9vALLcLnFShvLNIcrhwsrHkgqWQKZCDPG4zSiAeVVRYs4ziAJIQnSEIKw4JJFNIgilqdpxkMZcojyDPce1mwFuMT/qRat1rVVbQ1IqhoM9rBlS4PL2cLDuhHgfm7HAnMBSQAiIlVU5IRmQUjyjGZEpjwLk1yyMJF4z/3HI/C1BfRv0/2QdfOAvnRquYTOZdi0DqFzTYYUpGIGfBgDnvAHeNsYZVWjcTkLvGDh4ZZ1bAUWOoPLbT/yfYXODJiw93b1JhDEQgpB0iIFQllASVFAQWhQUAY0zkLGD/V+aFZtB2YgeatE/gxzVBdNT1SGnaKfRvZLwSzbbs918+DLplsxO7nYbDYb8vEjEYJYezHte/+XarGHmxY6NhLjp4zYw5XSrNvcdO7Ybp54t1t0fmca7Y/H337AxqC+x69k8Q/CQJSwSiYJkVWQEJqJgFQsTUhRUYhkkIs8SQ/CfLaK/9igT42FN4UxA2YHOdKFxDTwSBi81uYW1PLW4jJOAw/zRlvQFpf47Ay9r5q1net/DKAVIGbQqhHrmnXoYecMH11pY4EJ1EhUrVUtlF46rFSPIJDSaNOsj+F/r41FnNW1Az3cwgBAGkCgFfhz7b5nZ+hKty7x8ECcaVTBi+lAc03UasnAzDVphXSPx9o8etzc+77v74iu13Zg+qz0sgb0S7VD+Oue7DsiqqxKaZaQKKkSQqkAUsUZkCyosoQXIU0SOHTkpoOWdbDL83ZTwD7vRpqfcmnTuuPdKDFj1FKvQNvh7Nnr0z1QBTzmsahIklNGaM4LUgWckUwmUSbiRCaMHordD8G+TGM7pZfYw/esXu9NPPrXd3PiP8X4HbQ14/C+ridzjObYm+M5ng7+XvQeVprXawHX9ha6PxXUwuDSdmt4KXTs073UKZdpVVSMQMJiQkUiCUvigkBORR4XMoOiOL4VBKCPbKn4/1wK4oXrI3pK5zvjyHCJa7Bo+LcKDLpE295Dx8N7iWaLd85JsunQhDfaWDRTWsCjh5Tz5pWF1cJ5/7q6A2590NZRTc6HU5/V9WQ6naLtXKN9ntl3J+y38+1A1H9foMsDmX+k/bt91FiO367N7eRF9PTdXPeuxA7sutNoNuRCyF1EJdq9uM8RUfmM9a5RenLhXUxHbO+NzxFS7sue695p8Wpyon7hYcatugdcSlYb8LABa5VeDlqPu0Q1+roT0OES34eO436MH9doKlOaBSkJWMQIlYUkrEglkSEtGM0ztyLwcDVp4E8TcuyHcotXTLl+z7bDqnxriQwoZ1YBj7gM+oWz7jHyFNNbM36S7M1de7rG15Y+wdr3vwHQZUI2mAgAAA==

metadata_json:
  {"categories":["automation","file management","integration"],"complexity":"simple","use_cases":["Dynamically bundle multiple files into a single ZIP","Send ZIP as email attachment","Upload ZIP to cloud storage (S3, Google Drive, OneDrive)","Create archival backups or transfer packages","Reuse ZIP logic across multiple workflows via Subworkflow"],"estimated_setup_minutes":10,"required_services":["None (works with built-in n8n nodes; can accept files from any parent workflow)"],"key_features":["Collects binary files dynamically from input","Compresses files into a single ZIP archive","Names ZIP with current date/time and customizable fileName","Outputs ZIP as binary for downstream use","Designed as a reusable Subworkflow for easy integration"],"target_audience":["Developers","Automation engineers","Businesses automating file archiving tasks (ops/admins)"]}


name: Currency Conversion Workflow
author_name: Mauricio Perera
author_username: rckflr
categories: []
created_at: 2025-01-02T18:21:14.460Z
updated_at: 2025-01-02T18:21:14.460Z
url: https://n8n.io/workflows/2691
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Purpose: This workflow exemplifies a sophisticated yet pragmatic mechanism for automating currency conversions by leveraging simple HTTP queries routed through a webhook. By intercepting user requests, sourcing real-time exchange rate data via Google search results, and formatting the data into actionable responses, it obviates the reliance on third-party APIs. This efficiency renders it an indispensable instrument for diverse applications, including dynamic pricing strategies for AI-driven systems, financial data automation, and real-time currency computation within complex workflows. The workflow's architectural simplicity ensures seamless integration across professional and academic domains, optimizing both scalability and reliability.

  Workflow Steps:
  Capture Conversion Query:
     The workflow initiates by intercepting user input delivered as a GET request through a configured webhook. Inputs should adhere to a structured syntax, such as 5usd to mxn, to ensure flawless processing.
     Testing Tip: Use tools like Postman or a browser to test GET requests and verify that the Webhook receives inputs correctly.
  Fetch Exchange Rate:
     Utilizing the HTTP Request node, a Google search query is executed to retrieve current exchange rate data. This method ensures the workflow remains economical and adaptable while circumventing API dependencies.
  Extract Conversion Data:
     By processing the returned HTML from Google's search results, this node extracts precise exchange rate figures and contextual information critical for accurate conversions.
     Error Handling: If extraction fails, verify that the input format is correct and update CSS selectors to reflect any changes in Google's HTML structure.
  Format Currency Response:
     The extracted data undergoes refinement and is formatted into a structured, user-friendly string that conveys the conversion results with clarity and precision.
  Send Conversion Response:
     The workflow culminates by dispatching the formatted response back to the request origin, completing the loop with efficiency and reliability.

  Required Configuration:
  Configure the Webhook node to accommodate GET requests. The query parameters should follow the format: https://your-webhook-url/currency-converter?q=5usd+to+mxn.
  Inputs must adhere strictly to the predefined syntax (e.g., 5usd to mxn). Deviations may induce processing errors or yield erroneous outputs.

  Customization Options:
  The Extract Conversion Data node’s CSS selectors can be fine-tuned to align with modifications in Google’s HTML structure, ensuring long-term operability.
  Adjustments to the Format Currency Response node enable bespoke output formatting, incorporating additional metadata or altering the response structure to meet specific project requisites.

  Advanced Features:
  This workflow’s modular design supports seamless integration into expansive systems. For instance, an e-commerce platform could employ it to dynamically localize product pricing based on user geolocation.
  Enhanced functionality can be achieved by appending nodes to log conversions, monitor performance metrics, or trigger auxiliary workflows conditioned on conversion outputs.

  Expected Results:
  For a query like 5usd to mxn, the workflow generates a response formatted as: 5 USD = 95 MXN. This output is optimized for readability and practical application.

  Use Case Examples:
  AI Integration:** Enables artificial intelligence agents to process real-time price conversions efficiently across diverse currencies, enhancing their computational capabilities.
  Financial Operations:** Automates precise currency conversions for corporate reports, international transactions, and market analytics.
  Personal Financial Planning:** Assists users in calculating currency conversions for investment decisions or travel budgeting with minimal manual effort.
  E-commerce Applications:** Facilitates dynamic price adjustments on online marketplaces, displaying localized prices to augment user experience and conversion rates.
  Workflow Integration:** Embeds seamlessly into larger systems, such as CRMs or ERPs, to streamline financial operations and enhance interoperability.

  Key Benefits:
  No API Dependency:** By leveraging publicly available data from Google, the workflow eliminates the complexities and costs associated with API integration, reducing overhead and enhancing accessibility.
  Precision and Currency:** Ensures accurate and real-time results by querying Google directly.
  Flexibility:** Designed to adapt to various operational contexts and input formats, making it a versatile asset in computational and commercial applications.

  Tags:
  currency conversion, automation, webhook, data extraction, AI integration, financial automation, e-commerce, real-time data, scalable workflows.

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

workflow_json_compressed:
  H4sIAAAAAAAAE52WS2/jNhDHv4rBsybg+6FbkWzaotumTYP2EOQwJEcbYWPJlehsDMPfvbBj2Glir5PeBHAev+EM/6MlazOr2ezi4qpx/S/88oenHz+XKavYlAqyesnabizYJfp5bRek85aCTaSVRUpZochWZi88Ok1GJLRex6hs8twE6SM1QaGK2hodMLNVxQp+GVl9e1exrs+0/lw+Q1ilbZRSANqEoIPygMoRODJWR62cMpFVrMMpsZpdUkn3k09P6R67LzS5xkKsYmUxWx92voNNdIg40tl9KbNr+mdOY2EVm/VjW9q+Y/UtCM4rYfldxWY44JQKDSOrl6vnSH/RMG4M9ZlcVVtM5C5Jbgki1xo0pgjR8ATJC82tclwZs8f89FQGTGVy3nePz9EmF1jwO6jTh/8ySnkMkZ4ozQtddYlYXYY5VWygMiyuuktsH1jd4MNIryoRZ7Ji+PANF+PVvMzmZUOz8d5VGLlLNiQLTTAWtFQRvDYOsuNWqNAETfJFI/phimVyPh8G6tJick3jrO/G490Y6VUXjH1XE9SZ3iFKhdZqHUBlKUHzJkBUSYGUDeqMjUkq7BHPcVbmA71swh9zGhZHEb9RvO/7r6+GRe86sT1/fhPrwTdkwfngQQtK4IMXkKU1TfRCS6HYidL209Vw4TjnCKLJHDTXAoI0GQT3NnHupMtuX9if1OWXVZ28+2FjkG/6vw9VGI6O2qsZEjterY0MpBw0QRvQJiF4ZTVgjKJxyQfeiD3vb32hCUz2yY9MSGnT18Xa+HUHPK/kab79baqUUHAJwoQEmlsJgWcPiSdnFLrYNOEN3U83N79P9nLxQURhP4ZouEuxcQEiqQQ6S4IobANOKy2RYzIiH0D89fNkKy0fRvwoofY6BJktKMQMWgQO3gcNLvukLE9CNvYN4VYVTovBEUgjPwbJZUCB0YPk3IC2OUAUSQMXMgQUjlDIN5Cb5/O/Ef07h/GuYphK+7gT6ZFKabv1FlxuNbztu6sh08Bq9ijWS3L7oDcCIwTpxIOD3EQPOokM3hsBKnjvjEghyLUkpL7rKK1DbQIf2o/1kk2xXbPfLjfb9z0LauNRsbbL9MRqvrq7W1VHvQ5lOL0gDqY4KtoHc3zvb+Bg+KNUh8Kf1tkDOVarfwG/O9qsXgkAAA==

metadata_json:
  {"categories":["automation","data extraction","finance","integration"],"complexity":"medium","use_cases":["Real-time currency conversions for AI agents","Dynamic e-commerce price localization","Automating financial reports and transaction prep","Personal finance/travel budgeting tools","Embedding conversion logic into CRMs/ERPs/workflows"],"estimated_setup_minutes":15,"required_services":["Public Google Search (HTML results scraping)","Publicly accessible n8n instance / webhook endpoint","Optional: HTTP client for testing (e.g., Postman or browser)"],"key_features":["Webhook-driven GET request input (query like '5usd to mxn')","HTTP request to fetch Google search results for live rates","HTML extraction using CSS selectors to parse exchange rates","Formatting and returning a human-readable conversion string","No paid third-party currency API required (scrapes public results)"],"target_audience":["Developers / automation engineers","E‑commerce teams","Finance/operations teams needing lightweight conversions"]}


name: Integrating AI with Open-Meteo API for Enhanced Weather Forecasting
author_name: Davi Saranszky Mesquita
author_username: frkr
categories: []
created_at: 2025-01-02T19:36:50.723Z
updated_at: 2025-01-02T19:36:50.723Z
url: https://n8n.io/workflows/2692
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Use case

  Workshop

  We are using this workflow in our workshops to teach how to use Tools a.k.a functions with artificial intelligence. In this specific case, we will use a generic "AI Agent" node to illustrate that it could use other models from different data providers.

  Enhanced Weather Forecasting

  In this small example, it's easy to demonstrate how to obtain weather forecast results from the Open-Meteo site to accurately display the upcoming days.

  This can be used to plan travel decisions, for example.

  What this workflow does

  We will make an HTTP request to find out the geographic coordinates of a city.
  Then, we will make other HTTP requests to discover the weather for the upcoming days.

  In this workshop, we demonstrate that the AI will be able to determine which tool to call first—it will first call the geolocation tool and then the weather forecast tool. All of this within a single client conversation call.

  Setup

  Insert an OpenAI Key and activate the workflow.

  by Davi Saranszky Mesquita
  https://www.linkedin.com/in/mesquitadavi/

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

workflow_json_compressed:
  H4sIAAAAAAAAE61Z227cuBl+FVa5aAuIYx1HmgEK1Em2u942jrt24gJJEPwif82w1pCzJOXxbGCg970q0Pte9FH6Jn2CPkJBUnOwPXHixV7Zksj/9P3n+RQJHk2j03aeVcXpd+rlulo+L15FcbRAC9H0UySksSAZnrhzSVJMcszrFlnL0nHOmrTO0rRoWNZCM0nStEjyGpsJAB+PS6igKjOeVONJlvCcl1EcWVwsO7D4QiM352j75Qu1WHZokUdTq3u8jSMJC4ym0Ym0ONNghZyR4xOyEnZOXi9R0ldoUZHjsxPSKk2+kXMnICeXCHaOmvxBaWRg3D3HEGYmmr77EEdScXT/fgpK1wnHpsWEsnKS0qKBlAKDlCbjGjiwcQYwibbCXM5REjYHSxZoDMyQaGQorpE7HuulO/N7WcsjWUvqOdEO5IzNQciRu3ehxWyGOoqjpTLCCiWj6bs0SWKaJ8mHOFphM1fqytu5gKLASVVQ3owzWlRZRSeTNKdpBlnWsLrGJHWEQMMCLWrjkFr2TSdYMGIcqaVj4T9YYTsn3ml9Sv73r3/8PYoj0zebtxurHRsjHNR2Sr65AQcJUS25UKoz5I1xGLyYg/327CKKI+g6tfqD6PDNslPATTRtoTMYR+7pTOO1UL05R2O8ltECF0qvo9s4ElJYAd2rYEITTaOL9RJJJ66Q2Lkw0wcgeojtHMkp3lhSkZewNkRIcv6ffytyBn2nHF0HwFvUgV86Sm/jAWRkeVUmWUVTlnBa5HVDJy0DWjWsaBtss6LaA9l51/GJV5S8Uhy7r8C2W7jj/qa4C26RJTEdO2zvArWD5vY2jphGjtJZZfjoCB0vhQ8+p0Iz/+F69fwvP9nTxfdvXzfqnriCAGOqlza6fWCIrRkanrXlZFzROq1rWjRpSydZWdI6Seq6SgDaqtnRPbeCXa3JqbK4M8BO9wYMjow/MxzZU5qWhdO6eKg2U53S0bSMo5Xgdh5NyySJozmK2dxG0ypL4ogpaVHaaBo9e0Z+gfB/L9/LZ8/IG4OEgcHw+IxcKn1l5mrpni+RgEbSew93LkhWSl+1nVo5L1O99s/utCFWEYvA5mSuVu6hNzgECIyuRkDaXjIPbRAWtBWtYAI6IqTFrhMzlAxH5EQGTmaJzJ3wwsVkhWQlus6TBTJDiVow8j46PiHHM5T2fUQcAI6z6LreWA3WhQ1YIixhqu+4v6u8GRbOfw1ptVoQLtoWNUpLOFggS62uBUdtRhuLfMmIW4kX0HUEQ36IibC/NgTBrJ1MHBdKDkINBlKNBSHJaiDabmJao+k7OwjngnsPVyOsVxEY6x2tbk24MMsO1v5kv2Rq4bDisA7yXzjBGEjSOBiRu8vLDiSxGq6xIxyZcPFgYu8vg/CD6uTSme8u7lyhcV/TEbkcIFnAFRKQ5LuLizOi8ccejXV8WiE5Ub31os1QzTQs5w5QpTQXEiwal0WBMGHXo/cyG5GLOcod1p5wAGyftvc1LgxT1xjS354NP2OHDUYbf/VM9kGxQVUM0dR1zmDQdBjAs6gXQiJZzQWbE6tU594zh3crtLH//ds/hQ33/HP4NOjdKQbO88M9kNx9kPcFD+C7IyNy3HXOMkFiYedCEiAuCDskrBPOV5mS16hNIOy4eTU9ar5xCEob1NZBM+TuP+La8wdmxXXQGrfQegLNmryEa0HOQYM0P12tySs0P/bCwns5t3ZppkdHq9Vq1Al5hdxVb7U4EvJoMZzicC2OHhadba7NWYsIZUYhTxNapElK67yqaNLmk7xpy4LV/GCuTZ+cbMdJTIsDqXZIsHmxl2CzBwn2hUZnIOfWylgf/I2vfZuscCw5Mc7S3og2NDC/cl+HDmFKtgbDxgXu0dDFHBVQjEaj0ZHrfB6xVVlWad62jHIYp7QoJwWdTNqCMhg3RVGzBjHb2erbISUen/i0G7LiV5RoGM7t1+Zi23g9Vpzv9RXVVvCqHSc154zWVdPQAsuC1gXUtODNuKnaSZmk6U7w0FD4Log8710u/gqpQ9cUjl8KydXqrgpZcrC9eCh1vpO6auusKHKaYou0qHhOJxkyCpBO8rrMWQ3lQdfMnuyaeZbEn3XMbHzHF+nduN4L5UdcB3leIUwKmrO2pUXFGtq0RUkbhuMsaZI2KccHdSmfrEtVJ/GBPm5oaIptQ5PVe/GWj+/F2zOvFwlV7vzsmxeEkhfCrsm3u/y5rWc+j/pkO1O+75gjefPDn7bxNkPFFBdyRmEpRq5ppE4w5ZPVdXpkELRP46RF6/65l6d9H+DzL/raFPukeUKU7NZEYqiiMwz1wtlw/7BPo+cqJkMdAXMVapJxxUoRIZf94ZueyxKMIUYtkCw1UrwRvs0gQrZKL7x4MTE9mxMwRKPttXSfvWSOzlB9NtR2J4Qk35+/PiWBjBeSBgl+83wd+vnfEuqz2rIDhnPVcdSEupJMttA+LJMbc7TuwdUp48u00MgHJr7/JpSkpFkTji30nSUNMnDt2AlZgbSH5B9uB3kJJWe99ZbYaEGk2vWIGsE4yzS93QRIaPlaMes1+i5kaLuWWjE0ZmgNd2YdPRJO7aRJcFxyCnWJtCjTlDacZxR4WxZNypJ8sle1jrcNwsZHHpR5F1GcKLnvdl+R9Rzd76xd/hAaoXvjsp+X0wOx2Osumkab6DgcExvR3PyLkv+5R73ejMs7asPrT9E1dP2wLxi07sAK23OMnNU275ScPXjJQXTrKA4koqlfeqAG22v8mC0+LuAmXmpkYimst8tH0y82x8+G5txhIrDjbz2NPeJWLPAnJXGP/revLr76+sYKH13jGN1+cC6hVPcSDdNiGQwdXQRgt2Cqlkg3f7+7c/vDXqTvJxfX8Uqf2xx8u1B7ia1fAAx7iQMG3hpzl6L7RePLJb8j4EGzb/H54u0DQN61y5co3DlNwiGnt3+EOQJ3pn1sM1GN8zorJinlvCpp0ZQphYzXlDWTqs6yYgxtfbB+jZ9cv9LMdTtZ9uQSdr9lPFTC7k+Mj5awvet+zvNz8n332ctYBCz5uqD2w8Awn/gC46juU1KSbGCPydZ94s2wch9Dl37DKLSZehodxi0Lw9iJOuwOFiB3WX8pkIWhb595mHBC8vY1QLHeEGGIVH6OxJtl5yblezY6PjvxvN6CFm5SM2FT9lk97nqlk81g11JPXYJ17afTK5SP2A2fvm4GmRCMwGE+86OfkqG0DGVqw3W/mjqmZ7sA98c2In3h3F1ZHzv7SNVKWZ3UFUM6rpOEFsiQ1lle0CyfpAVmKYwn2YOq5UzgE5cNO5+91iQsLNzrX7Bq1W4PmB6YNULR+t3TerqfXb38n72EF5aGuyKSPqWELGD/6l+Nt9Jjtw/XmZNt/XixgcDVnT3jxySYBYnSd9Yqfnc02Bv5z6k2/s8WW2N1+MHgbqK/x+ELST0tAasiSym27YQW46qiTc1a2lRN05Q8y+sSDyb14umLVtcL5Z/fs+bbnF7vrwHq+1uAy7B8Oa1PYweExt1uKPze0fTW+s0OsWhs7HBYq95v3Fx761PHjUUtoQsX3OJkt9ob1gaHes8PceTXNLjxY4M+Jr0aeIOsd7q+1sGbrlNH4jpcPwnjbI1ZWbifSaqaFnU+pnXDU1pVaZvnOYyzlEVeXYls6wgPl/zTTxGIjy6ae5jh8O6dcxTFv2Lv8OCu+52D4000TW4/OL8/MP4HlsMPI/u8vuZ3pt3NPU7xE8R9eNvL+Qjv6adoAUI+xSz+/H0WPzcFB3u5u09Exl/5jBRPHl9+SSlub/8PnYGfE30dAAA=

metadata_json:
  {"categories":["automation","integration","AI-assisted data retrieval","education/workshop"],"complexity":"medium","use_cases":["Teaching how AI agents call external tools/APIs (workshop/demo)","Enhanced weather forecasting for travel planning","Building AI assistants that perform multi-step API workflows (geocoding + weather)","Prototyping tool orchestration with conversational AI"],"estimated_setup_minutes":10,"required_services":["OpenAI (or another AI model provider / API key)","Open-Meteo API (including geocoding and forecast endpoints)","n8n instance with HTTP request capability / internet access"],"key_features":["AI agent determines and sequences which tools to call (geolocation then forecast)","HTTP requests to geocode a city and fetch multi-day weather forecasts","Single-client conversation handles multi-step tool invocation","Memory buffer and chat nodes to manage conversational context","Easy-to-follow workshop/demo structure"],"target_audience":["Developers integrating AI with external APIs","AI practitioners and engineers learning tool chaining","Educators and workshop facilitators demonstrating AI functions/tools usage"]}


name: Make OpenAI Citation for File Retrieval RAG
author_name: Davi Saranszky Mesquita
author_username: frkr
categories: []
created_at: 2025-01-02T20:17:33.155Z
updated_at: 2025-01-02T20:17:33.155Z
url: https://n8n.io/workflows/2693
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Make OpenAI Citation for File Retrieval RAG

  Use case

  In this example, we will ensure that all texts from the OpenAI assistant search for citations and sources in the vector store files. We can also format the output for Markdown or HTML tags.

  This is necessary because the assistant sometimes generates strange characters, and we can also use dynamic references such as citations 1, 2, 3, for example.

  What this workflow does

  In this workflow, we will use an OpenAI assistant created within their interface, equipped with a vector store containing some files for file retrieval.

  The assistant will perform the file search within the OpenAI infrastructure and will return the content with citations.

  We will make an HTTP request to retrieve all the details we need to format the text output.

  Setup

  Insert an OpenAI Key

  How to adjust it to your needs

  At the end of the workflow, we have a block of code that will format the output, and there we can add Markdown tags to create links. Optionally, we can transform the Markdown formatting into HTML.

nodes_used:
  ["n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.markdown","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 4332 characters]

metadata_json:
  {"categories":["automation","integration","data processing","knowledge management","retrieval-augmented generation"],"complexity":"medium","use_cases":["File retrieval with citation-aware responses","Formatting AI outputs as Markdown or HTML","Building RAG (retrieval-augmented generation) pipelines","Providing source citations for assistant responses","Preprocessing AI output to remove/replace strange characters"],"estimated_setup_minutes":15,"required_services":["OpenAI (assistant + vector store / embeddings)","HTTP endpoint or webhook receiver (for requests)","Optional: external app or frontend to display formatted Markdown/HTML"],"key_features":["Searches OpenAI vector store for file-based citations","Returns responses with numbered citations/sources","Post-processes output to add Markdown or HTML formatting","Uses HTTP requests to fetch/format detailed output","Handles dynamic citation numbering and character cleanup"],"target_audience":["Developers","AI engineers","Knowledge managers / librarianship teams implementing RAG workflows in apps or docs systems"]}


name: SSL Expiry Alert with SSL-Checker.io
author_name: Vishal Kumar
author_username: vishalquantana
categories: []
created_at: 2025-01-03T12:28:32.839Z
updated_at: 2025-01-03T12:28:32.839Z
url: https://n8n.io/workflows/2694
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:31
description:
  Use Case

  Managing SSL certificates manually can be time-consuming and error-prone, often leading to unexpected downtime or security risks due to expired certificates.

  What This Workflow Does

  This workflow automatically monitors SSL certificates for a list of websites, checks their expiry status using SSL-Checker.io, and sends timely notifications if a certificate is about to expire.

  Setup
  Add your credentials for Google Sheets, Gmail, and SSL-Checker.io.

  Create a Google Sheet with a list of URLs for the websites you want to monitor.

  Configure the workflow to check the SSL status weekly.

  Set up email notifications to alert you when a certificate is close to expiry.

  Activate the workflow to automate monitoring and notification.

  How to Adjust It to Your Needs

  Customize the URL Source: Replace Google Sheets with another data source like Airtable or CSV files.
  Modify Notification Thresholds: Change the expiry threshold (e.g., notify for 14 days instead of 7).
  Add Additional Actions: Integrate with tools like Slack or Teams for team-wide notifications.
  Automate Renewal Requests: Add a step to send renewal requests directly to your SSL provider if a certificate is nearing expiry.

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

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

metadata_json:
  {"categories":["automation","monitoring","security","integration"],"complexity":"medium","use_cases":["Automated SSL certificate expiry monitoring","Proactive alerting for near-expiry certificates","Centralized tracking of website SSL status from a sheet","Triggering renewal or escalation workflows when certificates are close to expiry"],"estimated_setup_minutes":20,"required_services":["Google Sheets","Gmail","SSL-Checker.io (API/credentials)"],"key_features":["Scheduled weekly checks of SSL certificates","Reads list of URLs from Google Sheets","Uses SSL-Checker.io to fetch expiry status","Threshold-based conditional alerts (e.g., notify when < X days left)","Sends email notifications via Gmail (can be swapped for Slack/Teams)"],"target_audience":["DevOps / Site Reliability Engineers","IT / Security teams","Webmasters and site owners / small business owners"]}


name: Generating New Keywords and their Search Volumes using the Google Ads API
author_name: Zacharia Kimotho
author_username: imperolq
categories: []
created_at: 2025-01-03T14:59:40.018Z
updated_at: 2025-01-03T14:59:40.018Z
url: https://n8n.io/workflows/2695
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:31
description:
  Generate new keywords for SEO with the monthly Search volumes

  This workflow is an improvement on the workflows below. It can be used to generate new keywords that you can use for your SEO campaigns or Google ads campaigns


  Generate SEO Keyword Search Volume Data using Google API and Generating Keywords using Google Autosuggest

  Usage
  Send the keywords you need as an array to this workflow
  Pin the data and map it to the set Keywords  node
  Map the keywords to the Google ads API with the location and Language of your choice
  Split the results and set them data 
  Pass this to the next nodes as needed for storage
  Make a copy of this spreedsheet and update the data accordingly

  Having challenges with the google Ads API? Read this blog 

  Setup

  Replace the trigger with your desired trigger eg a webhook or manual trigger

  Map the data correctly to the set Keywords node
  On the Generate new keywords, Update the {customer_id} on the url and login-customer-id with your actual one. Update the developer-token` also with your values. 

  The url should be corrected as below https://googleads.googleapis.com/v18/customers/{customer-id}:generateKeywordIdeas

  You should send the headers as below



              {
                "name": "content-type",
                "value": "application/json"
              },
              {
                "name": "developer-token",
                "value": "5j-tyzivCNmiCcoW-xkaxw"
              },
              {
                "name": "login-customer-id",
                "value": "513554 "
              }
           
      



  and the json body should take the following format 


  {
    "geoTargetConstants": ["geoTargetConstants/2840"], 
    "includeAdultKeywords": false,
    "pageToken": "",
    "pageSize": 2,
    "keywordPlanNetwork": "GOOGLE_SEARCH",
    "language": "languageConstants/1000", 
    "keywordSeed": {
      "keywords": {{ $json.Keyword }}
    }
  }

  Troubleshooting

  If you get an error with the workflow, check the credentials you are using

  Check the account you are using eg the right customer id and developer token

  Follow the guide on the blog to set up your Google ads account 


  Made by @Imperol

nodes_used:
  ["n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4636 characters]

metadata_json:
  {"categories":["automation","integration","SEO","data processing"],"complexity":"medium","use_cases":["Generate new SEO keywords via autosuggest","Fetch monthly search volumes from Google Ads API","Prepare keyword lists for Google Ads or SEO campaigns","Store and export keyword data to Google Sheets","Automate keyword research workflows"],"estimated_setup_minutes":30,"required_services":["Google Ads API (developer token & customer ID)","Google Sheets","(Optional) Google Autosuggest or HTTP endpoint for suggestions","n8n automation platform"],"key_features":["Generate keyword ideas using Google Autosuggest/seed keywords","Retrieve monthly search volumes via Google Ads API","Configurable location and language targeting (geoTargetConstants, language)","Split and map results for downstream processing","Output/persist results to Google Sheets or other nodes','Supports webhook or manual trigger for automation"],"target_audience":["SEO specialists","PPC/Google Ads managers","Digital marketers/content strategists','Automation engineers/developers"]}


name: Complete Guide to Setting Up and Generating TOTP Codes in n8n 🔐
author_name: AmirHossein MnasouriZade
author_username: amir676080
nodes_used: ["n8n-nodes-base.manualTrigger","n8n-nodes-base.totp"]
categories: []
created_at: 2025-01-04T21:19:45.650Z
updated_at: 2025-01-04T21:19:45.650Z
url: https://n8n.io/workflows/2696
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Setting Up and Generating TOTP

  Step 1: Receive QR Code and Extract the Link

  1. Receive the QR Code from the 2FA service
  After enabling two-factor authentication (2FA) on services like OpenAI, Google, GitHub, etc., a QR Code will be given to you, which you need to scan. This QR Code contains the TOTP link used to generate one-time passcodes.

  2. Extract the link from the received QR Code
  To extract the link from the QR Code, use online tools. These tools will help you extract the corresponding link.

  After using an online tool, the extracted link will appear in the following format:

  otpauth://totp/ServiceName:username?secret=secret_key&issuer=ServiceName
  For example:
  otpauth://totp/OpenAI:amir676080@gmail.com?secret=test-test-test&issuer=OpenAI

  Step 2: Create TOTP Credential in n8n

  Create a new Credential
  To use TOTP in n8n, you need to create a new TOTP Credential.

  Enter the details in the Credential
  In the Secret field:* Enter the *secret key** (extracted from the QR Code link). 
  For example:
   test-test-test

  In the Label field:* Enter *ServiceName:username** 
  For example:
  OpenAI:amir676080@gmail.com




  Save the Credential
  After entering the information, click Save to save the Credential.

  Step 3: Get the TOTP Code
  Click on Test Workflow
  After setting up the credentials in n8n, click on Test, and the corresponding code will be delivered to you.

  Output:
  [
    {
      "token": "720769",
      "secondsRemaining": 18
    }
  ]



  ==This code is exactly the same as the one generated by apps and services like Google Authenticator or Authy. 🔐==


  Contact me on [Telegram]: https://t.me/amir676080

workflow_json_compressed:
  H4sIAAAAAAAAE42STW7UQBCFr2LV2g3t/7Z3USQiFtEkyiSRGM2i3F09acXuNnZPJmFkKUdgwQJW3C0n4AjIHgKCgMS2qlTvq3pvD0ZBBXynXTtcLfjy3J/f7i4hhJY8QrUHYwePVtLbaS6mIpOlrhOppM6TSGFacMkjwTUvkrIUeY3IiUTOFWVJLCIqSckkLaNaxJjAGILFlqCCY9d2DXkKTrZGUeBdcEHeG7sJLrsArQpOyFKPc2W5WJ4Fx07REBgbWGGDb18/fYQQPG4GqFbrEOzUhWq1/3GQpjKrS2Q1xTVLeRwzEZfERJ1LwSPKatTwk+X6hmwgGyNvJ7Wnx89LGnywc/2tbtzu6fHLJPXQTaNWWDZrsRoHetWi3WKz7M1mQz2E0LnBeOMsVCsWCx6yJOXrEDrssSVP/QDVfjwsu6J+mCejMXymjjVRXmesKArOUiFKVpd1zURZa5QkRBGrX9TTV/4J5p3v/uBJ/44DrpsmZrIxBNmTIusNNnNz2nPUmTkJE2KZiuKddOLy/en5te307zgBSum21gen2A9ZBuPLW9choPTmjqDS2AwUwnDw/SBnWvrg7LTvaDD4ekk3PVoIQWLTUH/mGiMfoIJnb4Y3vWsvsKXFzs4G0D3J7XTPolfUQwV30RS6uwPAHGJVYKa1TliipWJpJhWrkecsy1NeFlleaJ1Nis5aks+v+Y+MVHto0UyvXu3nPL7waG6HYKyie6j4uF6P4/gdINECu4MDAAA=

metadata_json:
  {"categories":["security","authentication","credentials management","automation"],"complexity":"simple","use_cases":["Generate TOTP (2FA) codes inside n8n","Automate systems that require time-based one‑time passwords","Test and validate 2FA setup for services (OpenAI, Google, GitHub, etc.)","Provide TOTP tokens to other automation workflows"],"estimated_setup_minutes":5,"required_services":["n8n instance (with TOTP credential support)","A 2FA-enabled service that provides an otpauth:// QR code (e.g., OpenAI, Google, GitHub)","QR code decoding tool (to extract the otpauth:// link) — optional if you already have the secret"],"key_features":["Create and store TOTP credential in n8n from otpauth:// link","Generate current TOTP token and seconds remaining via totp node","Outputs token and time-left in JSON compatible format","Uses standard otpauth URI so tokens match Google Authenticator/Authy"],"target_audience":["Developers","DevOps / SREs","Security engineers / administrators setting up automation with 2FA-required services"]}


name: Learn Anything from HN - Get Top Resource Recommendations from Hacker News
author_name: ibrhdotme
author_username: ibrhdotme
categories: []
created_at: 2025-01-05T01:31:45.526Z
updated_at: 2025-01-05T01:31:45.526Z
url: https://n8n.io/workflows/2697
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Learning something new? Endlessly searching to find the best resources? This workflow finds top community-recommended learning resources on any topic from Hacker News, delivered to your inbox.

  How it works
  User submits a topic they want to learn via a simple form.
  The workflow searches for relevant "Ask HN" posts on Hacker News and extracts top-level comments.
  An LLM analyzes the comments and identifies the best learning resources.
  A personalized email is sent to the user with a Markdown formatted list of top recommendations, categorized by resource type (e.g., book, course, article) and difficulty level.

  Set up steps

  Add your Google Gemini API credentials. You'll need to create a project and enable the Generative Language API.
  Add your SMTP credentials for sending emails.
  Customize the Form and email subject (optional)
  Activate the workflow

  Screenshots for Workflow, Form and Email



  Built on Day-03 as part of the #100DaysOfAgenticAi
  Fork it, tweak it, have fun!

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.hackerNews","n8n-nodes-base.httpRequest","n8n-nodes-base.aggregate","n8n-nodes-base.splitOut","n8n-nodes-base.formTrigger","n8n-nodes-base.emailSend","n8n-nodes-base.markdown","n8n-nodes-base.noOp"]

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

metadata_json:
  {"categories":["automation","integration","content curation","education"],"complexity":"medium","use_cases":["Automate discovery of community-recommended learning resources","Create personalized learning digests delivered by email","Curate resources for newsletters or team onboarding","Quickly build reading lists or learning paths on any topic","Research community opinion and consensus on tools/topics"],"estimated_setup_minutes":20,"required_services":["Google Gemini / Generative Language API (LLM)","SMTP email provider (e.g., Gmail, SendGrid, any SMTP)","Hacker News API (Firebase)"],"key_features":["Form for users to submit a topic","Searches Ask HN posts and extracts top-level comments","LLM analyzes comments to identify best resources","Categorizes recommendations by type (book, course, article) and difficulty","Sends personalized Markdown-formatted email with recommendations"],"target_audience":["learners and self-directed students","educators and curriculum designers","developers and technical researchers wishing to learn new topics quickly\",\"content curators and newsletter writers\",\"community managers and moderators"]}


name: Scrape ProductHunt using Google Gemini
author_name: Mauricio Perera
author_username: rckflr
categories: []
created_at: 2025-01-05T05:47:39.642Z
updated_at: 2025-01-05T05:47:39.642Z
url: https://n8n.io/workflows/2698
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Workflow Description: Product Data Extractor

  This workflow automates the extraction of product data from Product Hunt by combining webhook interactions, HTML processing, AI-based data analysis, and structured output formatting. It is designed to handle incoming requests dynamically and return detailed JSON responses for further usage.

  Overview

  The workflow processes a product name submitted through a webhook. It fetches the corresponding Product Hunt page, extracts and analyzes inline scripts, and structures the data into a well-defined JSON format using AI tools. The final JSON response is returned to the client through the webhook.

  Workflow Steps

  1. Webhook Listener

  Node:** Receive Product Request
  Function:** Captures incoming requests containing the product name to process.
  Details:** Accepts HTTP requests and extracts the product parameter from the query string, such as &lt;custom_webhook_url&gt;/?product=epigram.

  2. Fetch Product HTML

  Node:** Fetch Product HTML
  Function:** Sends an HTTP request to retrieve the HTML content of the specified Product Hunt page.
  Details:** Constructs a dynamic URL using the product name and fetches the page data.

  3. Extract Inline Scripts

  Node:** Extract Inline Scripts
  Function:** Parses the HTML content to extract inline scripts located within the &lt;head&gt; section.
  Details:** Excludes scripts containing src attributes and validates the presence of inline scripts.

  4. Process Data with LLM

  Node:** Process Script with LLM
  Function:** Analyzes the extracted scripts using a language model to identify key product data.
  Details:** Processes the script to derive structured and meaningful insights.

  5. Refine Data with Google Gemini

  Node:** Analyze Script with Google Gemini
  Function:** Leverages Google Gemini AI for enhanced analysis of script data.
  Details:** Ensures the extracted data is precise and enriched.

  6. Format Product Data to JSON

  Node:** Format Product Data to JSON
  Function:** Structures the processed data into a clean JSON format.
  Details:** Defines a schema to ensure all relevant fields are included in the output.

  7. Send JSON Response to Client

  Node:** Send JSON Response to Client
  Function:** Returns the final structured JSON response to the client.
  Details:** Sends the response back via the same webhook that initiated the request. For example, &lt;custom_webhook_url&gt;.

  Key Features

  Versatile Use Cases:** This workflow can be used to gather Product Hunt data for creating blog posts or as a tool for AI agents to research products efficiently.
  Dynamic Processing:** Adapts to various product names through dynamic URL construction.
  AI Integration:** Utilizes the Gemini 1.5 8B AI model, offering reduced latency and minimal or no cost depending on the use case.
  Selector Independence:** Functions even if Product Hunt's DOM structure changes, as it does not rely on direct DOM selectors.
  Reliable Data Output:** A low temperature setting (0) and a precisely defined JSON schema ensure accurate and real data extraction.
  Dynamic Processing:** Adapts to various product names through dynamic URL construction.
  AI Integration:** Utilizes advanced language models for data extraction and refinement.
  Structured Output:** Ensures the output JSON adheres to a predefined schema for consistency.
  Error Handling:** Includes validations to handle missing or malformed data gracefully.

  Customization Options

  Limitations
  Dependency on Product Hunt:** Significant changes to the way Product Hunt loads data on its pages might require modifications to the workflow.
  Adaptability:** Even if changes occur, the workflow can be updated to maintain functionality due to its reliance on AI and not direct DOM selectors.


  Modify the webhook path to suit your application.
  Adjust the prompt for the language model to include additional fields.
  Extend the JSON schema to capture more data fields as needed.

  Expected Output

  Performance Metrics
  Response Time:** Typically ~6 seconds per product.
  Accuracy:** Data extracted with &gt;95% precision due to the pre-defined JSON schema.


  A JSON object containing detailed information about the specified product. Below is an example of a complete response for the product Epigram:

  {
    "id": "861675",
    "slug": "epigram",
    "followersCount": 181,
    "name": "Epigram",
    "tagline": "Open-Source, Free, and AI-Powered News in Short",
    "reviewsRating": 0,
    "logoUuid": "735c2528-554c-467c-9dcf-745ee4b8bbdd.png",
    "postsCount": 1,
    "websiteUrl": "https://epigram.news",
    "websiteDomain": "epigram.news",
    "metaTitle": "Epigram - Open-source, free, and ai-powered news in short",
    "postName": "Epigram",
    "postTagline": "Open-source, free, and ai-powered news in short",
    "dailyRank": "3",
    "description": "An open-source, AI-powered news app for busy people. Stay updated with bite-sized news, real-time updates, and in-depth analysis. Experience balanced, trustworthy reporting tailored for fast-paced lifestyles in a sleek, user-friendly interface.",
    "pricingType": "free",
    "userName": "Fazle Rahman",
    "userHeadline": "Co-founder & CEO, Hashnode",
    "userUsername": "fazlerocks",
    "userAvatarUrl": "https://ph-avatars.imgix.net/129147/f84e1796-548b-4d6f-9dcf-745ee4b8bbdd.jpeg",
    "makerName1": "Fazle Rahman",
    "makerHeadline1": "Co-founder & CEO, Hashnode",
    "makerUsername1": "fazlerocks",
    "makerAvatarUrl1": "https://ph-avatars.imgix.net/129147/f84e1796-548b-4d6f-9dcf-745ee4b8bbdd.jpeg",
    "makerName2": "Sandeep Panda",
    "makerHeadline2": "Co-Founder @ Hashnode",
    "makerUsername2": "sandeepg33k",
    "makerAvatarUrl2": "https://ph-avatars.imgix.net/101872/80b0b618-a540-4110-a6d1-74df39675ad0.jpeg",
    "primaryLinkUrl": "https://epigram.news/",
    "media1OriginalHeight": 1080,
    "media1OriginalWidth": 1440,
    "media1ImageUuid": "ac426fd1-3854-4734-b43d-34a5e06347ea.gif",
    "media1MediaType": "video",
    "media1MetadataUrl": "https://www.loom.com/share/b1a48a9b3cac4ba89ce772a3fbcc2847?sid=75efc771-25fa-4ac0-bb1b-5e38fc447deb",
    "media1VideoId": "b1a48a9b3cac4ba89ce772a3fbcc2847",
    "media2OriginalHeight": 630,
    "media2OriginalWidth": 1200,
    "media2ImageUuid": "8521a6bd-7640-487b-abd6-29b9f65fee32",
    "media2MediaType": "image",
    "media2MetadataUrl": null,
    "launchState": "featured",
    "thumbnailImageUuid": "735c2528-554c-467c-9dcf-745ee4b8bbdd.png",
    "link1StoreName": "Website",
    "link1WebsiteName": "epigram.news",
    "link2StoreName": "Github",
    "link2WebsiteName": "github.com",
    "latestScore": 233,
    "launchDayScore": 233,
    "userId": "129147",
    "topic1": "News",
    "topic2": "Open Source",
    "topic3": "Artificial Intelligence",
    "weeklyRank": "24",
    "commentsCount": 20,
    "postUrl": "https://www.producthunt.com/posts/epigram"
  }

  Target Audience

  This workflow is ideal for developers, marketers, and data analysts seeking to automate the extraction and structuring of product data from Product Hunt for analytics, reporting, or integration with other tools.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.httpRequest","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","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.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE5WW204jRxCGX8Xqaxfp88FXiTbJZiPYJYCSixWKqrurYbL2DJkZwxLL7x6NQdig8a59Y/miDt/fLlf9K1ZlNmPn/yw+XVzoPz5cLR7E1eWCTdmCemSzFavqrsc60YchzrisIjrupNdJ+KRs5Ib7zNHbkn3KVkdD3FOSUsdkXeI22pySdiFYrth6ympcEJuxs8fJQ9N+KfPmgU1Zjzcdm32+nrK6yTR8XT2RSesy995BkolAKy4hcM0BVTLRFkJuBHspekGJqnuanLdNXqZ+ckH/LqnrhwaPd0NA7WvYdICIHZ08ULxtmi9syu6aruqrpmazz8JxPgXh+fWUPQdsxKPNWupoQAuMoCkKCDYZIHRJFRt1snyohC0uqKe2Y7PV+qnzn9R2m+JyPX0WloVC4bUBIqlBc+4gYIqgUAsdc8ZczFbYr9Sn2xdZv12dne7VdNv3d1vdO7qksC+6vgmpT7aYqJzQ2nmwykbQIRpAkwxEV4zIRagi5Rbzl699i6mffKjnVU2Ty9RWd323FzU1md4wGn8Y45bQFuTJKISkYwTtrYPIEwJ3TlnHhRTebgnP2yZR1z2jTR6q/nZyenq2Rfyx9vUPW8451jfpFqv6ZPN5Ol+8BlacHwYsTswLcnGGqxg82OAT6BgdxFIiROGC0yQCkd4i/1Tj/PE/eoX8vmlu5jR5T4uqrg6Any/e3WL/lPWStPvunvOp1N9X8aLBeBJUNIdoJYFOlCCqYEEayhiNlSGonflt2gX2LwP8M/Y46ZvJ75efPh5A3yz7u2V/jm1H7WXfLlO/bCm/+SGUPUzB7nC7xEMKBmSQDjQGBUF5Dc7nnDAlm9BtNVxSnTfEkwvq7pq6o0HCu3lF9f4N025C81Xz19iqUVYeOj3bl0eZUkFDIJAyaIMJMGcL3gkqXjkqKe5Q91X68jj52PS0F7LbxDyH7G5COwy3skeMBVons0wZXCoWtCoJPEUPlutQnMrWSBqFE0fTSW6PpTMGOaqYIQmOoB1GCJgdZBspeGlFJjNKJ4+n0/5YOodaqOIkSO0SaFEIgiaErEpQOiovsxylU8fThaPpjCnWuBQBBSLowDOEEAsYoZSLshgyZZROH083XOBjllGJgUqJGcgnDVo5BWi0g2C1xWCCdVyNspmj2ZTUx7FRKclbG0AV70FzdICaDESpVcg2BPLjM2ePZzPDOlEHrJP19ZRh6qt7YrO+XdKUddT3VT24sBWjr5SWQ81PbaaWzdi9GJzb/VP6xgzFFClGx8EE0qDJc8BkCexgCUTBkMrwj05NXVMaSm0Kj9iY2YotsBroP6825u8AG7FJmLKqzvSVzfj6+no93Zc0Vv+7JmC0wb6ssQ6H3YrRNvs87Fibb9nC0eLfusOzFcPq791be9yjvU1+2/v7PuaJYLj7S7yhsybT/GiE19mvGdbr/wHBSZaM8AwAAA==

metadata_json:
  {"categories":["automation","web scraping","AI integration","data processing","integration"],"complexity":"medium","use_cases":["Automated Product Hunt data extraction","Product research and competitor analysis","Generating structured product profiles for blogs or reports","Feeding product data to AI agents or downstream pipelines","Monitoring product launches and metrics"],"estimated_setup_minutes":20,"required_services":["Product Hunt (public product pages)","Google Gemini API (Gemini 1.5 8B)","n8n instance or compatible workflow runner with public webhook endpoint","HTTP access to fetch web pages"],"key_features":["Webhook-triggered processing","Dynamic Product Hunt URL construction","Inline <head> script extraction (selector-independent)","LLM analysis and refinement (Google Gemini + LLM node)","Structured JSON output via defined schema (low temperature for accuracy)"],"target_audience":["Developers","Marketers","Data analysts / BI teams"]}


name: Obsidian Notes Read Aloud using AI: Available as a Podcast Feed
author_name: Obsidi8n
author_username: derruttie
categories: []
created_at: 2025-01-05T20:13:09.649Z
updated_at: 2025-01-05T20:13:09.649Z
url: https://n8n.io/workflows/2699
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  How it works:

  Send notes from Obsidian via Webhook to start the audio conversion
  OpenAI converts your text to natural-sounding audio and generates episode descriptions
  Audio files are stored in Cloudinary and automatically attached to your notes in Obsidian
  A professional podcast feed is generated, compatible with all major podcast platforms (Apple, Spotify, Google)

  Set up steps:

  Install and configure the Post Webhook Plugin in Obsidian
  Set up Custom Auth credentials in n8n for Cloudinary using the following JSON:

  {
    "name": "Cloudinary API",
    "type": "httpHeaderAuth",
    "authParameter": {
      "type": "header",
      "key": "Authorization",
      "value": "Basic {{Buffer.from('your_api_key:your_api_secret').toString('base64')}}"
    }
  }

  Configure podcast feed metadata (title, author, cover image, etc.)

  Note: The second flow is a generic Podcast Feed module that can be reused in any '[...]-to-Podcast' workflow. It generates a standard RSS feed from Google Sheets data and podcast metadata, making it compatible with all major podcast platforms.

nodes_used:
  ["@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.webhook","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.set"]

workflow_json_compressed:
  [encoded data, 7616 characters]

metadata_json:
  {"categories":["automation","content creation","podcasting","integration","accessibility"],"complexity":"medium","use_cases":["Convert Obsidian notes into podcast episodes","Automatically generate episode descriptions using AI","Repurpose knowledge-base content as audio for broader distribution","Publish a podcast-compatible RSS feed for major platforms","Add audio assets back into Obsidian notes for review or distribution"],"estimated_setup_minutes":45,"required_services":["n8n (self-hosted or cloud)","Obsidian with Post Webhook plugin","OpenAI API (text-to-speech / text generation)","Cloudinary (media storage)","Google Sheets (feed metadata / episode list)","Public URL or webhook endpoint to host/serve the RSS feed"],"key_features":["Webhook-triggered conversion from Obsidian notes","AI-generated natural-sounding audio and episode descriptions","Audio file storage and management in Cloudinary","Automatic attachment of audio files back to Obsidian notes","Reusable Podcast Feed module producing standard RSS compatible with Apple/Spotify/Google"],"target_audience":["Obsidian users and knowledge workers","Podcasters and indie publishers","Content creators and marketers looking to repurpose text as audio/episodes"]}


name: AI Agent to chat with Airtable and analyze data
author_name: Mark Shcherbakov
author_username: lowcodingdev
categories: []
created_at: 2025-01-06T19:57:13.408Z
updated_at: 2025-01-06T19:57:13.408Z
url: https://n8n.io/workflows/2700
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:31
description:
  Video Guide

  I prepared a detailed guide that shows the entire process of building an AI agent that integrates with Airtable data in n8n. This template covers everything from data preparation to advanced configurations.



  Youtube Link

  Who is this for?
  This workflow is designed for developers, data analysts, and business owners who want to create an AI-powered conversational agent integrated with Airtable datasets. It is particularly useful for users looking to enhance data interaction through chat interfaces.

  What problem does this workflow solve?
  Engaging with data stored in Airtable often requires manual navigation and time-consuming searches. This workflow allows users to interact conversationally with their datasets, retrieving essential information quickly while minimizing the need for complex queries.

  What this workflow does
  This workflow enables an AI agent to facilitate chat interactions over Airtable data. The agent can:
  Retrieve order records, product details, and other relevant data.
  Execute mathematical functions to analyze data such as calculating averages and totals.
  Optionally generate maps for geographic data visualization.

  Dynamic Data Retrieval: The agent uses user prompts to dynamically query the dataset.
  Memory Management: It retains context during conversations, allowing users to engage in a more natural dialogue.
  Search and Filter Capabilities: Users can perform tailored searches with specific parameters or filters to refine their results.

  Set up steps

  Separate workflows:
  	Create additional workflow and move there Workflow 2.

  Replace credentials:
  	Replace connections and credentials in all nodes.

  Start chat:
  	Ask questions and don't forget to mention required base name.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.aggregate","n8n-nodes-base.aggregate","n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolCode","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  [encoded data, 11388 characters]

metadata_json:
  {"categories":["automation","integration","data processing","AI/ML","analytics"],"complexity":"complex","use_cases":["Chat-driven data exploration in Airtable","Order/product lookup via conversation","On-the-fly data analysis (averages, totals, aggregations)","Customer support or sales assistant querying database records","Geographic data visualization (optional map generation)"],"estimated_setup_minutes":45,"required_services":["Airtable","n8n (self-hosted or cloud)","OpenAI or compatible LLM provider (lmChatOpenAi)","Public webhook endpoint (or n8n cloud/webhook URL)","Optional mapping/geocoding API (e.g., Google Maps, Mapbox)"],"key_features":["AI conversational agent integrated with Airtable","Dynamic data retrieval from user prompts","Context/memory management across chat (memoryBufferWindow)","Search and filter capabilities with tailored queries","Built-in mathematical/aggregation functions (averages, totals) via aggregate nodes and logic nodes (if)"],"target_audience":["Developers","Data analysts","Business owners and operations managers looking to interact with Airtable via chat"]}


name: Reschedule overdue Asana tasks and clean up completed tasks
author_name: Bastien Laval
author_username: bastien-laval
categories: []
created_at: 2025-01-06T20:52:57.831Z
updated_at: 2025-01-06T20:52:57.831Z
url: https://n8n.io/workflows/2701
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Description

  Boost your productivity and keep your Asana workspace clutter-free with this n8n workflow. 

  It automatically scans for tasks whose due dates have passed and reschedules them to the current date, ensuring no important to-dos slip through the cracks. 

  Additionally, any completed tasks in Asana with an overdue date are removed, maintaining a clear, organized task list.

  Key Benefits

  Streamline Task Management**: No more manual updates—let the workflow reschedule overdue tasks for you.
  Optimize Workspace Organization**: Eliminate finished tasks to focus on active priorities and reduce clutter.
  Save Time and Effort**: Automate repetitive maintenance, freeing you to concentrate on what truly matters.

  Configuration Steps

  Add your Asana credentials
  Schedule the workflow to run at desired intervals (e.g., daily or weekly).
  Select your Workspace Name and your Assignee Name (user) in the Get user tasks node
  (Optional) Tailor filtering conditions to match your preferred due-date rules and removal criteria.
  Activate the workflow and watch your Asana workspace stay up to date and clutter-free. 

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.asana","n8n-nodes-base.asana","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.asana","n8n-nodes-base.asana","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","project management","task management","productivity","integration"],"complexity":"simple","use_cases":["Automatically reschedule overdue Asana tasks to the current date","Remove completed tasks that were overdue to declutter workspaces","Run scheduled maintenance to keep task lists current","Enforce due-date hygiene and reduce manual task upkeep"],"estimated_setup_minutes":10,"required_services":["Asana (API access)","n8n (to run the workflow)"],"key_features":["Auto-reschedule overdue tasks to today","Delete completed tasks with overdue dates","Configurable Workspace and Assignee selection","Schedule node for periodic execution (daily/weekly)","Filter/IF nodes for customizable due-date and removal criteria"],"target_audience":["Project managers","Team leads","Operations/IT administrators who manage Asana workspaces\",\"Productivity-focused individuals and small teams"]}


name: Save Hotmart events to Google Sheets
author_name: Solomon
author_username: solomon
categories: []
created_at: 2025-01-06T23:55:50.691Z
updated_at: 2025-01-06T23:55:50.691Z
url: https://n8n.io/workflows/2702
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Português

  Acompanhe todos os seus eventos do Hotmart em um só lugar e mantenha seus dados organizados para análise.

  Com este fluxo você pode registrar compras, reembolsos, eventos de assinatura e abandono de carrinho diretamente no Google Sheets.

  Como funciona

  O fluxo recebe os eventos da Hotmart e registra automaticamente no Google Sheets.

  Por exemplo:

  Compras são registradas com informações como nome do produto, valor pago e dados do comprador.
  Abandono de carrinho registra informações sobre o produto visualizado, dados de contato do cliente e horários.
  Eventos de assinatura mostram atualizações como cancelamentos ou renovações.

  Para quem é?

  Criadores, empreendedores e negócios que usam o Hotmart e precisam de uma forma clara e automatizada de acompanhar suas vendas e dados de assinatura.

  Remova a necessidade de transferir dados manualmente – este fluxo de trabalho faz isso por você, economizando tempo e reduzindo erros.

  Confira meus outros templates

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

  English

  Track all your Hotmart events in one place and keep your data organized for analysis.

  With this workflow, you can register purchases, refunds, subscription events, and cart abandonment directly in Google Sheets.

  How it works

  The workflow listens for events from Hotmart and automatically records the details in Google Sheets.

  For example:

  Purchases are logged with details like product name, amount paid, and buyer information.
  Cart abandonment records include the product viewed, customer contact details, and timestamps.
  Subscription events show updates like cancellations or renewals.

  Who is this for?

  Creators, entrepreneurs, and businesses using Hotmart who need a clear and automated way to track their sales and subscription data.

  No need to manually transfer data – this workflow does it for you, saving time and reducing errors.

  Check out my other templates

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

nodes_used:
  ["n8n-nodes-base.dateTime","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.executionData","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE+2WzU7kRhDHX6Xlswv1t92zJwKzCRIBxEdyYBGq7i6Ddxn3rG1gV4iHWeUQ5ZBTHoEXizwLw0Bm2CXKMUer/1X1q/K/P26yJkXqstHxTVbHbJRVKmohfASljQAtDAcMKoIThS05Ft5InuVZgxPKRtlGaq6o7VlfT6jrcTLN8qz/PB2WmrKBWW7w2NFaxJ4O6wlleTZNXd3XqclGx6KwPDeWn+TZFFucUE9tl41ubvOsST11W83bi3SdjSq86Ohr6l+o7WbB8ja/Zy6iVlFbDUaKCnQhETxWBmypXBm4ROHLR+aD67oP5ytBu4flGUA2yoDtHe1v/LR+MD7d2989HB8csrs/GLJpW0+obpE1qa+rOuDd73e/JdYl3xKbUqxjYpFYSzTx6aJLb941wA6OfjjY2N/aO9za3TndWN/ZGG9vrw8fDENqegrE3l82fWIhTVhi08s2nGNHp9N2oOlz9vESm5hYYuGipqafVVoowiI1fZtYTGxK7d2faYBAdoYtNn2NM4Z5O/vjt0c7m+NN1t399Vj/oUJIbUssPcnNKuyHRp6k2dj9eW97fDhmXX3WzCbBPl4Sw4A+XbJFEJqDsCFzrJtzqtvE3t99GVQ9NYEYJnZFTaSY2jfvmmd+UZznulzmlyfeUHNvODTRVigBlZegvRLgTSGASkdeYwwVugVv9HX48JntpJ5WG2SmuZcssFnNcxD8m2xizsaNseSEBxGVA42lB+QCgTgKVxTWRauXsol/BSe/PbdHNrKkKZCHivsStNQOSrQFVFEVRWmc9E4tZZOvZhPW8ly8Bs5YIayiAN674aeig9IoA4Wzwha8ICXFAhxeEaNPFC6HgixijysZ57LNr6rn3pP6FZiOtA3cKfCuiKCNq8CHyKHCsqxK58kUy2eoXj9DyV/rPqeN8koJKF0woDkpQKsM8BijtKZ0sZCPdL+SP0/pw0qw6/n6IpXgD8f7/frWUFkrh6WtCErhAmgjLDjyFRhNReG8sTwME3i5j7XHTgpTefJVADTRgI5SAUqvoeI8kJe8UnbhzvoxpbMLYgfnRH23sp+zmWouWmhKKr7qznpCqNfMnBBtiFbJAEWpCHTJS3BkA0ipjK9QRPXkhqKedWlCL1u1o/4ZGNffBabW9BxMWS1EiRy4IgItPEJZKQWOC6qkiYQWl1pUv9qiUmqeq+9x6EmehdQ0FIbIQfJwZ49usgnWQ7Ljm9nD5eUnyEybZ3UT6VM24rcn+f9h/1HYyW0+PxKW/ZXnj6znCfJH5Uun89K6T7fHsuortvjSbP/semk/y7fkkoy3t38DiEFg7FQLAAA=

metadata_json:
  {"categories":["integration","automation","data processing"],"complexity":"medium","use_cases":["Automatically log Hotmart purchases to a spreadsheet","Record refunds and subscription events for bookkeeping","Capture cart abandonment details for follow-up","Centralize sales and subscriber data for analysis and reporting","Reduce manual data entry and human errors"],"estimated_setup_minutes":15,"required_services":["Hotmart (webhooks)","Google Sheets (Google account / Sheets API)"],"key_features":["Receives Hotmart events via webhook","Writes event details to Google Sheets rows","Handles multiple event types: purchase, refund, subscription updates, cart abandonment","Maps event fields (product, amount, buyer, timestamps) to sheet columns","Uses switches and timestamping to route and format events"],"target_audience":["Creators and course sellers","Entrepreneurs and small businesses using Hotmart","Marketing and sales teams tracking conversions and churn"]}


name: AI Agent : Google calendar assistant using OpenAI
author_name: Dataki
author_username: dataki
categories: []
created_at: 2025-01-07T15:09:52.723Z
updated_at: 2025-01-07T15:09:52.723Z
url: https://n8n.io/workflows/2703
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 19:51:23
description:
  This template is a simple AI Agent that acts as a Google Calendar Assistant. 
  It is designed for beginners to have their "first AI Agent" performing common tasks and to help them understand how it works.

  For new users of n8n, AI Agents, and OpenAI:
  This template involves using an OpenAI API Key. If you are new to AI Agents, make sure to research and understand key concepts such as:
  "Tokens"** (used for API requests),
  "Tool calling"** (how the AI interacts with external tools),
  OpenAI's usage costs** (how you will be billed for API usage).

  Functionality

  It has two main functionalities:
  Create events** in a calendar
  Retrieve events** from a calendar

  How you can use it
  Everything is explained with sticky notes in the workflow. 
  It is ready-to-use: all you need to do is connect your OpenAI credentials, and you can start using the workflow.

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

workflow_json_compressed:
  [encoded data, 5596 characters]

metadata_json:
  {"categories":["automation","integration","productivity","ai-agent","calendar"],"complexity":"simple","use_cases":["Create calendar events via natural language","Retrieve upcoming or past events","Automate meeting scheduling workflows","Demo/learn AI Agents and tool calling with OpenAI and Google Calendar"],"estimated_setup_minutes":15,"required_services":["OpenAI API key","Google Calendar (Google account with API/OAuth access)","n8n instance"],"key_features":["Natural-language AI agent for calendar tasks","Create and retrieve Google Calendar events","Uses OpenAI tool-calling via agent node","Memory buffer window to keep short-term context","Sticky notes in workflow for guided setup and learning"],"target_audience":["Beginners new to n8n and AI Agents","No-code/low-code users looking to automate calendars","Developers learning tool-calling patterns with OpenAI and Google APIs"]}


name: ServiceNow Incident Notifications to Slack Workflow
author_name: Angel Menendez
author_username: djangelic
categories: []
created_at: 2025-01-07T17:36:49.670Z
updated_at: 2025-01-07T17:36:49.670Z
url: https://n8n.io/workflows/2704
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?

  This workflow is ideal for IT operations teams or system administrators who use ServiceNow to track incidents and Slack for team communication. It provides real-time updates on new ServiceNow incidents directly in a designated Slack channel, ensuring timely response and collaboration.

  What problem is this workflow solving? / Use case

  Manually monitoring ServiceNow for new incidents can be time-consuming and prone to delays. This workflow automates the process, ensuring that team members are instantly notified of new incidents, complete with all relevant details, in a Slack channel. It enhances operational efficiency and incident response time.

  What this workflow does

  Schedule or Manual Trigger: The workflow can be triggered manually or set to run automatically every 5 minutes.
  Retrieve New Incidents: Fetches incidents created in ServiceNow within the last 5 minutes.
  Error Handling: Posts an error message in Slack if there are issues connecting to ServiceNow.
  Incident Processing:
      If new incidents are found, they are sorted in ascending order by their number.
      Detailed incident information is formatted and sent to a specified Slack channel.
  No Incidents: If no new incidents are found, the workflow does nothing.

  Setup

  ServiceNow API Credentials: Configure ServiceNow Basic Authentication in the workflow to connect to your ServiceNow instance.
  Slack API Credentials: Add your Slack API credentials to enable message posting.
  Slack Channel Configuration:
      Define the Slack channel where notifications should be sent.
      Ensure the channel ID is correctly set in the Slack node.
  Adjust the Schedule: Modify the schedule in the Schedule Trigger node to suit your requirements.

  How to customize this workflow to your needs

  Notification Format:
      Customize the Slack message format to include additional or fewer details.
      Update the Blocks section in the Slack node for personalized messages.
  Incident Query Parameters:
      Adjust the sysparm_query parameter in the ServiceNow node to filter incidents based on specific criteria.
  Error Handling:
      Modify the error message in the Slack node for more detailed troubleshooting information.

  Features

  Real-Time Notifications**: Immediate updates on new ServiceNow incidents.
  Error Handling**: Alerts in Slack if the workflow encounters issues connecting to ServiceNow.
  Customizable Notifications**: Flexibility to modify incident details sent to Slack.

  This workflow streamlines incident management and fosters collaboration by delivering actionable updates directly to your team.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.dateTime","n8n-nodes-base.serviceNow","n8n-nodes-base.if","n8n-nodes-base.slack","n8n-nodes-base.sort","n8n-nodes-base.slack","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4600 characters]

metadata_json:
  {"categories":["automation","integration","IT operations","monitoring"],"complexity":"medium","use_cases":["Real-time incident notifications from ServiceNow to Slack","Automated incident monitoring and alerting","Faster incident response and team collaboration","Filtering and routing incidents to appropriate channels","Logging or auditing new incident creation"],"estimated_setup_minutes":15,"required_services":["ServiceNow API (Basic Authentication)","Slack API (Bot token or incoming webhook)"],"key_features":["Scheduled or manual trigger (default every 5 minutes)","Fetches incidents created within a time window","Sorts incidents and formats detailed notifications","Posts notifications to a specified Slack channel","Error handling with Slack alerts if ServiceNow connection fails (no-op when no incidents)"],"target_audience":["IT operations teams","System administrators","Site reliability engineers (SRE) / Incident responders"]}


name: Chat with GitHub API Documentation: RAG-Powered Chatbot with Pinecone & OpenAI
author_name: Mihai Farcas
author_username: mihailtd
categories: []
created_at: 2025-01-07T20:05:27.294Z
updated_at: 2025-01-07T20:05:27.294Z
url: https://n8n.io/workflows/2705
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  This workflow demonstrates a Retrieval Augmented Generation (RAG) chatbot that lets you chat with the GitHub API Specification (documentation) using natural language. Built with n8n, OpenAI's LLMs and the Pinecone vector database, it provides accurate and context-aware responses to your questions about how to use the GitHub API.
  You could adapt this to any OpenAPI specification for any public or private API, thus creating a documentation chatbout that anyone in your company can use.

  How it works:

  Data Ingestion: The workflow fetches the complete GitHub API OpenAPI 3 specification directly from the GitHub repository.
  Chunking and Embeddings: It splits the large API spec into smaller, manageable chunks. OpenAI's embedding models then generate vector embeddings for each chunk, capturing their semantic meaning.
  Vector Database Storage: These embeddings, along with the corresponding text chunks, are stored in a Pinecone vector database.
  Chat Interface and Query Processing: The workflow provides a simple chat interface. When you ask a question, it generates an embedding for your query using the same OpenAI model.
  Semantic Search and Retrieval: Pinecone is queried to find the most relevant text chunks from the API spec based on the query embedding.
  Response Generation: The retrieved chunks and your original question are fed to OpenAI's gpt-4o-mini LLM, which generates a concise, informative, and contextually relevant answer, including code snippets when applicable.

  Set up steps:

  Create accounts: You'll need accounts with OpenAI and Pinecone.
  API keys: Obtain API keys for both services.
  Configure credentials: In your n8n environment, configure credentials for OpenAI and Pinecone using your API keys.
  Import the workflow: Import this workflow into your n8n instance.
  Pinecone Index: Ensure you have a Pinecone index named "n8n-demo" or adjust the workflow accordingly. The workflow is set up to work with this index out of the box.

  Setup Time: Approximately 15-20 minutes.

  Why use this workflow?

  Learn RAG in Action: This is a practical, hands-on example of how to build a RAG-powered chatbot.
  Adaptable Template: Easily modify this workflow to create chatbots for other APIs or knowledge bases.
  n8n Made Easy: See how n8n simplifies complex integrations between data sources, vector databases, and LLMs.

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

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

metadata_json:
  {"categories":["automation","integration","knowledge management","vector search","RAG (Retrieval-Augmented Generation)"],"complexity":"medium","use_cases":["Interactive chat interface for API documentation","Internal developer knowledge base / doc search","Onboarding and developer self-service","Generating code snippets and usage examples from API specs","Adapting RAG workflows to other OpenAPI specs or private APIs"],"estimated_setup_minutes":20,"required_services":["n8n","OpenAI (API key, LLM + embeddings)","Pinecone (vector database)","GitHub (to fetch the OpenAPI spec)"],"key_features":["Fetches OpenAPI 3 spec directly from GitHub","Text chunking and recursive splitting for large docs","Generates embeddings for chunks and queries with OpenAI","Stores and queries vectors in Pinecone for semantic search","RAG-style response generation using gpt-4o-mini (LLM) with retrieved context and code snippets support"],"target_audience":["Developers","Platform/DevOps engineers","Developer advocates/technical writers creating docs chatbots"]}


name: Auto-Categorize blog posts in wordpress using A.I.
author_name: Keith Rumjahn
author_username: rumjahn
categories: []
created_at: 2025-01-08T06:30:40.394Z
updated_at: 2025-01-08T06:30:40.394Z
url: https://n8n.io/workflows/2706
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:31
description:
  WordPress Post Auto-Categorization Workflow



  📺 Click here to watch youtube tutorial 

  🎯 Purpose
  Automatically categorize WordPress blog posts using AI, saving hours of manual work. This workflow analyzes your post titles and assigns them to predefined categories using artificial intelligence.

  🔄 What This Workflow Does
  • Connects to your WordPress site
  • Retrieves all uncategorized posts
  • Uses AI to analyze post titles
  • Automatically assigns appropriate category IDs
  • Updates posts with new categories
  • Processes dozens of posts in minutes

  ⚙️ Setup Requirements
  WordPress site with admin access
  Predefined categories in WordPress
  OpenAI API credentials (or your preferred AI provider)
  n8n with WordPress credentials

  🛠️ Configuration Steps
  Add your WordPress categories (manually in WordPress)
  Note down category IDs
  Update the AI prompt with your category IDs
  Configure WordPress credentials in n8n
  Set up AI API connection

  🔧 Customization Options
  • Modify AI prompts for different categorization criteria
  • Adjust for multiple category assignments
  • Add tag generation functionality
  • Customize for different content types
  • Add additional metadata updates

  ⚠️ Important Notes
  • Backup your WordPress database before running
  • Test with a few posts first
  • Review AI categorization results initially
  • Categories must be created manually first

  🎁 Bonus Features
  • Can be modified for tag generation
  • Works with scheduled posts
  • Handles bulk processing
  • Maintains categorization consistency

  Perfect for content managers, bloggers, and website administrators looking to organize their WordPress content efficiently.

  #n8n #WordPress #ContentManagement #Automation #AI

  Created by rumjahn

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

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

metadata_json:
  {"categories":["content_management","automation","integration","AI"],"complexity":"medium","use_cases":["Automatically categorize uncategorized WordPress posts","Bulk content organization and cleanup","Scheduled content categorization","Generating or suggesting tags/categories for posts","Reducing manual content management work"],"estimated_setup_minutes":30,"required_services":["WordPress site with admin access","n8n instance","OpenAI API (or alternative AI provider)","Credentials for WordPress REST API"],"key_features":["Fetches uncategorized WordPress posts","Uses AI to analyze post titles and determine categories","Assigns and updates WordPress category IDs in bulk","Configurable AI prompt for custom categorization rules","Supports scheduled or manual runs for batch processing」「Optional extension points: tag generation, multi-category assignment, metadata updates"],"target_audience":["Content managers","Bloggers","Website administrators / editors​​,"]}


name: Food Delivery Notifications and Easy Expense Tracking
author_name: darrell_tw
author_username: darrelltw
categories: []
created_at: 2025-01-08T07:41:52.038Z
updated_at: 2025-01-08T07:41:52.038Z
url: https://n8n.io/workflows/2707
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Workflow Description
  This workflow automates the process of retrieving emails from a food delivery platform, extracting key order details, and sending notifications to a Slack channel. Additionally, the Slack message includes a Moze accounting app URL scheme link for quick expense tracking.

  Key Features
  Manual Trigger: Allows the workflow to be executed manually for immediate testing.
  Gmail Integration: Retrieves emails containing specific keywords in the subject line (e.g., "透過 Uber Eats 系統送出的訂單"). (You can adjust the keywords to fit your language.)
  Data Extraction: Parses the email content to extract key details such as:
     Order price
     Shop name
     Order date and time
  Slack Notification: Sends a notification to a specified Slack channel using a structured block format, including a link to record the expense in the Moze accounting app.

  Node Configurations

  1. Manual Trigger
  Purpose**: Starts the workflow manually for testing or immediate execution.
  Configuration**: No setup needed.

  2. Gmail Trigger
  Purpose**: Automatically polls Gmail for new emails matching specific subject keywords.
  Configuration**:
    Filters:
      q: subject:透過 Uber Eats 系統送出的訂單 (You can adjust the keywords to fit your language.)
    Polling Frequency: Every hour at 30 minutes past the hour.
    Credentials: Linked Gmail account.

  3. Extract Price, Shop, Date, Time
  Purpose**: Extracts key information from the email content using regular expressions.
  Extracted Data**:
    price: Order price (e.g., $200).
    shop: Shop name (e.g., "店名").
    date: Order date (e.g., 2024.01.01).
    time: Order time converted to 24-hour format (e.g., 14:30).

  4. Slack Notification
  Purpose**: Sends a formatted message to a Slack channel with extracted order details.
  Message Content**:
    Text:
          Ubereat 訂餐資訊:
      商家: {{ shop }}
      金額: {{ price }}
      日期: {{ date }}
        Moze App Link: Includes a clickable button in the Slack message with a pre-filled Moze app URL scheme:
          moze3://expense?amount={{ price }}&account=信用卡&subcategory=外送&store={{ shop }}&date={{ date }}&time={{ time }}&project=生活開銷
        Channel: Slack channel ID associated with food delivery notifications.

  Additional Notes
  Customization**: Adjust the email subject filter (subject) to match other types of food delivery platforms or services.
  Error Handling**: Ensure regular expressions for data extraction match the email format. Test with sample emails before deployment.
  Moze URL Scheme Reference**: Learn more about Moze app URL schemes for customization by visiting the Moze Documentation.

  This workflow is ideal for automating expense tracking and centralizing notifications for food delivery orders, streamlining personal or team expense management.

  Image:
  UberEat Gmail with order information


  Slack text with button


  Click the button will call moze url scheme

  工作流程描述
  此工作流程自動化從外送平台獲取郵件，提取關鍵訂單詳細資訊，並將通知發送到指定的 Slack 頻道。此外，Slack 消息中包含一個 Moze 記帳 App URL Scheme 的連結，方便快速記帳。

  主要功能
  Manual Trigger：允許手動執行工作流程，方便測試。
  Gmail Integration：從 Gmail 中提取包含特定關鍵字（例如：「透過 Uber Eats 系統送出的訂單」）的郵件。
  資料提取：解析郵件內容，提取以下關鍵資訊：
     訂單金額
     商家名稱
     訂單日期與時間
  Slack 通知：將結構化的通知發送到指定的 Slack 頻道，並包含一個連結供用戶快速記帳。

  節點設定

  1. Manual Trigger
  用途**：手動啟動工作流程以進行測試或即時執行。
  設定**：無需額外設定。

  2. Gmail Trigger
  用途**：自動檢查 Gmail 中是否有符合特定主題關鍵字的新郵件。
  設定**：
    篩選條件：
      q: subject:透過 Uber Eats 系統送出的訂單
    檢查頻率：每小時的 30 分。
    憑證：已連結的 Gmail 帳號。

  3. Extract Price, Shop, Date, Time
  用途**：使用正則表達式從郵件內容中提取關鍵資訊。
  提取的資料**：
    price：訂單金額（例如：$200）。
    shop：商家名稱（例如：「店名」）。
    date：訂單日期（例如：2024.01.01）。
    time：訂單時間（24 小時制，例如：14:30）。

  4. Slack 通知
  用途**：將訂單詳細資訊以格式化消息發送到 Slack。
  消息內容**：
    文字：
          Ubereat 訂餐資訊:
      商家: {{ shop }}
      金額: {{ price }}
      日期: {{ date }}
        Moze App 連結：Slack 消息中包含一個可點擊按鈕，預填 Moze App URL Scheme：
          moze3://expense?amount={{ price }}&account=信用卡&subcategory=外送&store={{ shop }}&date={{ date }}&time={{ time }}&project=生活開銷
        頻道：與外送通知相關的 Slack 頻道。

  補充說明
  自訂化**：可調整郵件主題篩選條件（subject），以匹配其他外送平台或服務。
  錯誤處理**：確保正則表達式匹配郵件格式。在部署前使用樣本郵件進行測試。
  Moze URL Scheme 參考**：了解更多關於 Moze App URL Scheme 的客製化資訊，請參閱 Moze 官方文件。

  此工作流程適合自動化費用記帳以及集中管理外送訂單通知，提升個人或團隊的費用管理效率。

nodes_used:
  ["n8n-nodes-base.splitInBatches","n8n-nodes-base.manualTrigger","n8n-nodes-base.gmail","n8n-nodes-base.gmailTrigger","n8n-nodes-base.set","n8n-nodes-base.slack"]

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

metadata_json:
  {"categories":["automation","integration","notifications","expense-tracking","accounting"],"complexity":"medium","use_cases":["Automated expense tracking from food-delivery emails","Centralized Slack notifications for delivery orders","Quick mobile bookkeeping via URL-scheme prefilled expense","Parsing order details (price, vendor, date/time) from emails","Team-level expense visibility and auditing"],"estimated_setup_minutes":20,"required_services":["Gmail (or other email provider with searchable subject)","Slack workspace (incoming message permission)","Moze mobile app (URL scheme support)","Food-delivery service that sends order emails (e.g., Uber Eats)"],"key_features":["Manual trigger for testing","Gmail trigger with subject filtering and scheduled polling","Regex-based extraction of order price, shop, date, time","Formatted Slack block message with a clickable button","Pre-filled Moze app URL scheme to create an expense entry quickly (amount, account, subcategory, store, date, time, project)"],"target_audience":["individuals tracking personal food expenses","teams/ops managing shared delivery expenses","finance/bookkeeping personnel wanting automated receipts capture」「n8n users building email-to-Slack automations"]}


name: Send Jira task notifications to Telegram user via Bot
author_name: Abolfazl Akbarzadeh
author_username: abolfazlakbarzadeh
categories: []
created_at: 2025-01-08T19:48:54.739Z
updated_at: 2025-01-08T19:48:54.739Z
url: https://n8n.io/workflows/2708
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  What we wanna do?

  Let's look at the concern. In my experience, some developers don't check their Jira board to find out whether there are new updates on the issues or not or if some Issues need to be addressed as soon as possible. So, the developer or anyone else in other fields needs to be informed about the task as soon as possible, too. One way to send this immediate notification is through the Telegram Bot.

  Setup Guide

  so, first of all, you need to register a Telegram Bot in your account and obtain its token, so that we'll be able to send Telegram messages by using this token through our bot;
  after getting your telegram bot token
  go to the workflow and click on one of the telegram nodes
  select the telegram credential or create one through the Credential to connect with field
  and put the token in the token in the Access Token field.

  Ok, you're done with the Telegram Side setup.

  then you need the Jira accounts (team users) accountId and also their telegram chatId for the telegram account node so that it can find the corresponding telegram user from the assignee of the issue, put this data as following guide comments in the telegram account node.

  Now we go for the Jira side setup, you need to setup some automation rules as your needs.
  go to the Jira settings and Global automation section, click on the Create Rule button
  select the Issue Created trigger type in the When step
  add a Send webhook request action, after selecting it you'll see its settings
  go back to workflow and from the jira-webhook node copy the Production URL 
  paste it in the Web request URL field in the Jira action setting
  then set the HTTP method field on POST 
  set Web request body on Issue Data (Automation format)
  in the header section, add a new header with the name type and value created for the creation event.

  OK, the Jira side also is done! Now It's time to test!

  If you've put your Jira accountId and telegram chatId in the telegram account node and of course started the telegram bot, after creating an Issue that is assigned to you, the creation notif will send to you in telegram!

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.switch","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.webhook"]

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

metadata_json:
  {"categories":["integration","automation","notifications","alerting"],"complexity":"medium","use_cases":["Send real-time notifications to assignees when Jira issues are created","Alert team members about high-priority or time-sensitive issues","Bridge Jira activity into teams using Telegram for faster response","Automate mapping of Jira assignees to Telegram users for direct messages"],"estimated_setup_minutes":20,"required_services":["Jira (Cloud or Server) with automation/webhook capability","Telegram Bot (Bot token)","n8n instance to run the workflow"],"key_features":["Receives Jira issue webhooks","Sends messages via Telegram Bot to mapped assignees","Assignee -> telegram chatId mapping via credential/node configuration","Conditional routing (IF/Switch) to control notifications","Custom message formatting using a Code node"],"target_audience":["Developers","Project managers","Product managers/team leads who use Telegram for communication`,`DevOps/IT teams and automation engineers"]}


name: Automated Email Optin Form with n8n and Hunter io for verification
author_name: Keith Rumjahn
author_username: rumjahn
categories: []
created_at: 2025-01-09T05:40:32.489Z
updated_at: 2025-01-09T05:40:32.489Z
url: https://n8n.io/workflows/2709
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Case Study 📧
  Want to collect email subscribers without paying expensive monthly fees? 💰 This workflow creates a free email collection system with built-in email verification to ensure you only collect legitimate email addresses! ✨

  Learn more:
  📺 Watch the tutorial: 

  What this workflow does 🛠️
  Creates a customizable email collection form that can be embedded on your website 🌐
  Verifies email addresses using Hunter.io to filter out fake or invalid emails ✅
  Stores verified email addresses in SendGrid for your email marketing needs 📊
  Completely free solution (except for Hunter.io's 50 free monthly credits) 🆓

  Setup ⚙️
  Set up a free Hunter.io account for email verification
  Configure your SendGrid account credentials
  Customize the email collection form fields
  Get the embedded form code for your website

  How to adjust it to your needs 🔧
  Add additional form fields beyond just email collection
  Customize the form's appearance and labels
  Modify the verification logic based on your requirements
  Connect to different email marketing platforms instead of SendGrid
  Add additional automation steps after email verification

  Benefits 🌟
  No monthly subscription fees for email collection 💸
  Built-in email verification prevents fake signups 🛡️
  Scalable solution that won't lock you into expensive plans 📈
  Clean email list with only verified addresses ✨
  Simple setup and customization 🎯

  This workflow is perfect for bloggers, small businesses, and anyone looking to build an email list without getting locked into expensive email marketing platforms as their subscriber count grows! 🚀

  Built by rumjahn

nodes_used:
  ["n8n-nodes-base.noOp","n8n-nodes-base.if","n8n-nodes-base.hunter","n8n-nodes-base.formTrigger","n8n-nodes-base.sendGrid","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE5VWbY7bOBK9CsEZzOwAokNKlEQZCBbdmWTTgyDZnc52MOjpH/wo2kxkSpEoO4bhS+weYLDX2FPtERaU3O3+DDJ/DFMsVr2qV/XIHXYGzzFT9en7l/bdy49y9fMpfYsTvIIg8XyHne+D9BrOol2eCyNESTOrilylhgLnBcuUzvKKFWkuFLVU2UpkOje8zKimVPOUq7LUMiskTnCAVVvLAC86MP05hKF90azaGgIYPA/dAPsEe7kCPMcvV9LVyDbdKp6Tix7PL68S7BsD8e9uwk6rihsDFVHSCMIrJYhiBSfMsooZ0LayFt/z6Xrkm4DWsnYmQaaJq6Xzixhn20Y7LzwZAxEle5j55l2LE9w2vQuu8Xh+WXGacEGvEtzKTq4gQNfj+W4/ebiArh/t2D454FRpCYxTIGWZC8JTw4mytCRZpVhpRW61SI84XyxBf0LOorAEBNegR8BPgnT2LsQipUlaPICImzYaHNDqxht3vb61hdc3KSS4BhsuZD3EoDjBWvZwDj4GWsPE2iHtiE9O4XEfOqcDHmOslPMyNB2eY+ljBrfDXjOZcyO4FpIUGQDhFAwRVqUko8xaS1nFVeygpoVu8rW7rpZ1dYBudr0zg8+DrPtjoSKUkd3JYsJ3MNrfTe/5boe+/9g3ftYHGYYe7fc4wZ1bLG9MJhb2V/v7ZKc3ZMuiYtJWktiisIRbw4hUIiWZyXhOaSVMUR7JvoDO2e1E85PsLgcfoLvLcFY8zvDk6XYyU9+PudypQfw8hnfQjVR1YMAHFysz3+Ep6EnrRimImW1eFPDhlw/6Lbx6vT79fHHM4vVoi6TWzeADflCd4yhoC9xUTJGUVprwylgiuMgI48zmkJZWyVujcD6olQs3OvBoceLm+84tFvcrJK4LtAG1bJpPo4wJqiBLy5QAU5rwEjgRjKXEZBUXAgS3XOGvTs0Yz4U6QvmlcR6ttiiW0vkFql0fkG82eDJ75aA200TF/pn63caPb6SC+lqTYpPB58F1YMYTBzG8OgT7GXrdufZAG6Nf0LYZOtR2jRl0cGsXtmjjwjICOZmdzVBwbT9DZz/WNdJDGGXkdHY+Q9IbtHBriOfHr6umD6jtpA5Oy3o8F2s9eZFDaFZjs8zwg26fHfs9o0awwlSklBUjvFQpEZoWxEiqKsa4zcr8yOiJMUg3PkgdUGjGgj3JbA/e/K0bVe+e+qb8TzZ+B30zdDoGOUTHCZZm0iFZH4mKgM5M/093XFwcuLvZxPNLzJjMc54JYrgUhJecEkVzTkxaZlleqdJYwFf7/f7hYF2ndXu0Tl6F07MTd5Z9yf9xTj+8uTUCB+tvGS4QNM1zLUiaq5RwYXIiCpoTU5Y01cqWSt+SnvPg9KctetsEYE9zMBpFm3sXDE0Iow9Z2DgTlnie0zzBS4jSiedM0FH1A/iA5/i779DJ1FuAJorexLE5HVxt4hCNveyFH/v1oCyu+d3/7v/3x7/+g34FacbuvYx3EerDYLZoCR1c/WUZQtvPnz3rhtVHufQz3aye6Q5kADJ2B9GyDUMHJI5VH3+J7QDI0Du/IDFz6Q2J/Cw6Z8YFyN7VW7Lomg2JY0f6QcVxVNCR2A7PfppNyP79X/RBBr2coG2bIQwKUBhC0zlZ3wO42WxmB5MR5Cae/Ov6+dvF+uXrzcCqX/sfwvO0/yn6fjB9R8JtJSqT5ykRTFWEA5REylQQSWmhSpqlgtpHCf/TfGeUJo/xrZs6Xsf8yHaW3mf7Doe/NQPyACZO/wICkoftmWuuW3wk3vn2oF0nfz9Dn2A7Q+9jEX/sUU5RpA3FuXKhRy10aNX4sHwoVGx/leCob8fHSg8hOL+YNOML6CFm+K4zEF8oaxZdHN4/44XBjM3S1ApSmKIiXEJJFK04ySw1oCmrTKamR40HffOCun1xzXd4JV0s4uVufME+ee2PZgl23sAXPKf7q3gF3DF9zNc3vRcfdf21k49F+qp4P4iQHA9+69P7EZT7/f8Br02jcqkMAAA=

metadata_json:
  {"categories":["automation","integration","data collection","email marketing"],"complexity":"simple","use_cases":["Collect email subscribers via embeddable form","Verify email addresses to reduce bounces and spam","Store verified subscribers in SendGrid","Embed lightweight opt-in on websites without monthly fees","Filter out fake or invalid signups"],"estimated_setup_minutes":20,"required_services":["n8n (self-hosted or cloud)","Hunter.io (email verification API)","SendGrid (email list/storage)","Website or CMS to embed the form"],"key_features":["Embeddable customizable opt-in form","Email verification using Hunter.io","Automatic storage of verified emails in SendGrid","Simple conditional logic to accept/reject addresses","Low-cost/free workflow (only Hunter.io credits consumed)"],"target_audience":["Bloggers","Small businesses","Marketers and growth teams looking for low-cost lead capture solutions」「Developers or freelancers implementing lead capture for clients"]}


name: Form with Dynamic Dropdown Field
author_name: Obsidi8n
author_username: derruttie
categories: []
created_at: 2025-01-09T13:29:08.624Z
updated_at: 2025-01-09T13:29:08.624Z
url: https://n8n.io/workflows/2712
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:31
description:
  This workflow creates a customizable form with a dynamic dropdown field that automatically updates its options from an external data source. 

  How it works

  The workflow polls an external data source (Google Sheets in this example) at regular intervals
  New values are processed and formatted for the dropdown
  The form automatically updates with the new dropdown options

  Set up steps

  Configure your data source:

  Default setup uses Google Sheets 
  	replace with credentials for your sheet
  	set up the update frequency
  Or modify to use any other data source (API, database, etc.)

  Adjust the form configuration:

  Customize the form title and description
  Add or modify form fields as needed
  The template includes the dropdown field by default

  Connect form submissions:

  Use the "Execute Workflow" node to process form submissions

  This template provides a foundation for creating dynamic forms that stay synchronized with your data sources, making it ideal for situations where dropdown options need to reflect current data.

nodes_used:
  ["n8n-nodes-base.n8n","n8n-nodes-base.n8n","n8n-nodes-base.formTrigger","n8n-nodes-base.googleSheetsTrigger","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.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.set"]

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

metadata_json:
  {"categories":["forms","integration","data synchronization","automation"],"complexity":"medium","use_cases":["Keep form dropdowns synchronized with live data (e.g., product lists, inventory)","Event registration or signup forms with up-to-date options","Surveys or feedback forms that reflect current categories or teams","Admin panels or internal tools that require dynamic selection lists"],"estimated_setup_minutes":20,"required_services":["n8n (workflow runner)","Google Sheets (example data source) or any other API/database","Credentials/access to the chosen data source"],"key_features":["Polls an external data source at regular intervals to fetch options","Automatically formats and updates a form's dropdown field","Customizable form title, description, and additional fields","Handles form submissions via Execute Workflow node","Extensible to other data sources (APIs, databases) using code/set nodes"],"target_audience":["Developers building internal tools or integrations","Product managers or operations teams needing dynamic forms","Event organizers and marketers managing signups or options lists"]}


