# templates

name: Generate M&A due diligence reports with Decodo, OpenAI and Pinecone
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2026-02-18T18:19:10.555Z
updated_at: 2026-02-18T18:19:10.555Z
url: https://n8n.io/workflows/13500
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Turn unstructured pitch decks and investment memos into polished Due Diligence PDF reports automatically. This n8n workflow handles everything from document ingestion to final delivery, combining internal document analysis with live web research to produce analyst-grade output in minutes.

  The Problem It Solves

  Reviewing a single deal manually reading the deck, cross-checking claims online, formatting the summary easily takes half a day. Multiply that by 10–20 inbound deals per week, and your team is buried in low-leverage work before any real analysis begins.

  This workflow compresses that cycle into a single automated pipeline.

  How It Works

  Upload: Send a PDF, DOCX, or PPTX to the webhook endpoint.
  Parse: LlamaParse extracts clean Markdown from complex layouts, preserving tables and financial data.
  Enrich: The workflow identifies the target company, then pulls supplementary data from the open web (corporate pages, risk signals) using Decodo's search and scraping APIs to verify and contextualize claims made in the source documents.
  Analyze: An AI Agent runs six targeted retrieval queries against the combined dataset: revenue history, key risks, business model, competitive landscape, management profile, and deal terms.
  Deliver: Results render into a branded HTML template, convert to PDF via Puppeteer, upload to Cloudflare R2, and return a download link.

  Each deal gets a unique namespace in Pinecone, so documents are isolated and repeat uploads skip redundant parsing.

  What You Need

  | Service | Role |
  | --- | --- |
  | n8n | Workflow orchestration |
  | LlamaIndex Cloud | Document parsing (LlamaParse) |
  | Pinecone | Vector storage & retrieval |
  | OpenAI API | Embeddings (text-embedding-3-small) & LLM analysis (GPT-5.4) |
  | Decodo API | Web search & page scraping |
  | Cloudflare R2 | Report file storage (S3-compatible) |

  Quick Start

  Import the workflow JSON into your n8n instance.
  Add credentials for OpenAI, Pinecone, LlamaIndex (Header Auth), Decodo, and Cloudflare R2 (S3-compatible).
  Update the R2 base URL in the "Build Public Report URL" node.
  Fire a test POST with a sample deck to the webhook.

  Customization Ideas

  Swap the HTML template to match your firm's branding and report structure.
  Extend the AI Agent prompt to cover additional dimensions like ESG scoring or technical debt.
  Route the finished PDF to Slack, email, or your CRM instead of (or alongside) R2.

  Troubleshooting

  | Symptom | Likely Fix |
  | --- | --- |
  | Parsing times out | Increase the Wait node duration; check file size against LlamaParse limits |
  | Thin or generic analysis | Verify the source PDF is text-based, not a scanned image, enable OCR if needed |
  | Broken PDF layout | Simplify CSS in the HTML render node; older Puppeteer builds handle basic layouts better |

  Created by: Khmuhtadin
  Category: Business Intelligence | Tags: AI, RAG, Due Diligence, Decodo

  Portfolio • Store • LinkedIn • Medium • Threads

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.vectorStorePinecone","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","n8n-nodes-base.aggregate","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.code","n8n-nodes-base.html","n8n-nodes-puppeteer.puppeteer","n8n-nodes-base.convertToFile","n8n-nodes-base.s3","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.respondToWebhook","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","@decodo/n8n-nodes-decodo.decodo","n8n-nodes-base.code","n8n-nodes-base.aggregate","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","@decodo/n8n-nodes-decodo.decodo","@decodo/n8n-nodes-decodo.decodo","n8n-nodes-base.code","n8n-nodes-base.aggregate","n8n-nodes-base.code","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.vectorStorePinecone","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.vectorStorePinecone","n8n-nodes-base.code","@decodo/n8n-nodes-decodo.decodo","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 26080 characters]

metadata_json:
  {"categories":["AI/ML","Data Processing"],"complexity":"medium","use_cases":["automate M&A due diligence reports","analyze pitch decks","summarize investment memos","generate analyst-grade output"],"estimated_setup_minutes":60,"required_services":["Decodo","OpenAI","Pinecone"],"key_features":["unstructured document processing","live web research integration","automated report generation","PDF report creation","batch document handling"],"target_audience":["investment analysts","due diligence teams","M&A professionals"]}


name: Manage WooCommerce store operations via AI Telegram bot with OpenRouter
author_name: Nid Academy
author_username: nidacademy
categories: []
created_at: 2026-02-18T22:22:43.000Z
updated_at: 2026-02-18T22:22:43.000Z
url: https://n8n.io/workflows/13503
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:21
description:
  Who’s it for
  This template is built for WooCommerce store owners, eCommerce managers, and automation agencies who want to manage store operations directly from Telegram using an AI assistant. It’s ideal for users looking to save time, automate support, and access store data conversationally.

  How it works
  When a user sends a message via Telegram, the workflow triggers an AI agent that understands the request using a chat model with memory. Based on the intent, the agent executes the appropriate action such as retrieving orders, fetching product data, updating product information, logging data into Google Sheets, or sending email notifications.

  How to set up
  Connect your Telegram bot credentials  
  Add your WooCommerce API keys  
  Connect Google Sheets for data storage  
  Connect your Gmail account  
  Configure your OpenRouter or OpenAI API key  
  Test the workflow via Telegram commands  

  Requirements
  WooCommerce store with API access  
  Telegram bot token  
  Google Sheets account  
  Gmail credentials  
  OpenRouter or OpenAI API key  

  How to customize
  You can expand this agent by adding tools like order creation, refund processing, CRM integrations, shipping updates, or advanced reporting. The AI prompt can also be modified to match your store operations.

nodes_used:
  ["n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.telegram","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.gmailTool","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, 4928 characters]

metadata_json:
  {"categories":["AI/ML","ECommerce","Communication"],"complexity":"medium","use_cases":["integrate WooCommerce with Telegram","automate customer support via AI","execute inventory checks via chat","manage orders through conversation","query store data using natural language"],"estimated_setup_minutes":15,"required_services":["WooCommerce","Telegram","OpenRouter","MySQL","Google Sheets"],"key_features":["AI-powered intent recognition","conversational store management","memory context retention","automated order lookup","inventory status queries"],"target_audience":["eCommerce managers","store owners","automation specialists"]}


name: Automate daily standups using Slack, Notion, and Redis
author_name: BytezTech
author_username: chintan
categories: []
created_at: 2026-02-19T04:37:53.236Z
updated_at: 2026-02-19T04:37:53.236Z
url: https://n8n.io/workflows/13505
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:22
description:
  Run automated daily standups using Slack, Notion, and Redis

  📌 Overview

  This workflow fully automates your team's daily standup process using Slack for communication, Notion for structured data storage, and Redis for real-time session management.

  It automatically sends standup questions to active team members, collects and stores their responses, manages conversation sessions, and generates structured summary reports for managers.

  Morning and evening standups run on schedule without manual intervention. Redis ensures fast and reliable session tracking, prevents duplicate standups, and maintains conversation state. All responses are securely stored in Notion for long-term reporting and tracking.

  This workflow eliminates manual follow-ups, improves reporting consistency, and gives managers full visibility into team progress, blockers, and attendance.

  ⚙️ How it works

  This workflow runs automatically based on configured schedules.

  Morning standup

  Fetches active team members from the Notion database  
  Creates standup sessions in Redis  
  Sends standup questions to each team member via Slack direct message  
  Stores responses in Notion  
  Tracks session state using Redis  

  Automated reports

  The workflow automatically generates:

  Morning summary report showing attendance, responses, and blockers  
  Evening summary report showing accomplishments, completion status, and help requests  

  Both reports are automatically sent to the Slack admin channel.

  Redis ensures session tracking and prevents duplicate standups.

  🛠 Setup steps

  Import this workflow into n8n  
  Connect your Slack credentials  
  Connect your Notion credentials  
  Connect your Redis credentials  
  Configure your Notion database IDs  
  Configure your Slack admin channel ID  
  Activate the workflow  

  The workflow will run automatically based on the configured schedule.

  🚀 Features

  Automated standup management

  Automatically sends standup questions  
  Tracks team responses  
  Stores responses securely in Notion  
  Prevents duplicate standup sessions  

  Automated reporting

  Attendance tracking  
  Task completion tracking  
  Blocker detection  
  Missing response detection  
  Automatic Slack summary reports  

  📋 Requirements

  You need the following accounts:

  n8n  
  Slack  
  Notion  
  Redis  

  🎯 Benefits

  Fully automated standup system  
  No manual follow-ups required  
  Automatic attendance tracking  
  Identifies blockers early  
  Improves team visibility  
  Saves management time  

  👨‍💻 Author

  BytezTech Pvt Ltd

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.notion","n8n-nodes-base.merge","n8n-nodes-base.notion","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.code","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.slack","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.notion","n8n-nodes-base.notion","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.notion","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.redis","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.notion","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.redis","n8n-nodes-base.slack","n8n-nodes-base.notion","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.notion","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.redis","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.notion","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.redis","n8n-nodes-base.slack","n8n-nodes-base.code","n8n-nodes-base.noOp"]

workflow_json_compressed:
  [encoded data, 17656 characters]

metadata_json:
  {"categories":["Communication","Data Processing","DevOps","Collaboration","Management"],"complexity":"medium","use_cases":["Automate daily team standups","Collect real-time employee updates","Generate structured meeting summaries","Manage scheduled conversations","Sync messages to Notion pages"],"estimated_setup_minutes":30,"required_services":["Slack","Notion","Redis"],"key_features":["Scheduled task execution","Real-time session management","Multi-channel automation","Structured data aggregation","Role-based filtering"],"target_audience":["Team leads","Project managers","Operations managers"]}


name: Find competitor keyword gaps and log opportunities to Notion with DataForSEO
author_name: DataForSEO
author_username: dataforseo
categories: []
created_at: 2026-02-19T07:38:35.121Z
updated_at: 2026-02-19T07:38:35.121Z
url: https://n8n.io/workflows/13508
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  This workflow helps you discover new SEO content opportunities by automatically identifying keyword gaps between your website and a competing domain.

  On each manual run, the workflow retrieves the top 100 organically ranked keywords for your domain and for a selected competitor using the DataForSEO Labs API. It then compares both keyword lists to find valuable search terms where your competitor already has visibility on Google, but your website doesn’t.

  For every missing keyword, the workflow adds useful SEO metrics, including search volume, competition level, competitor ranking position, and the competitor’s exact URL that ranks on Google. All identified keywords are stored in a structured Notion database, making it easy to review, prioritize, and turn them into actionable content ideas.

  Once the keywords are saved, you can use Notion AI to instantly generate a content plan based on these opportunities. Recommended prompt: “Analyse the keywords present in this table - this is the keyword gap between my website’s page {{my url}} and the competitor’s URL listed in the table, and based on this data, build a content strategy for me.”

  Who’s it for
  This workflow is ideal for SEO specialists, content marketers, and website owners who want to discover new content ideas, improve organic visibility, and systematically close the keyword gap with competitors.

  What it does
  This workflow automatically identifies keywords that your competitor ranks for on Google, but your domain does not, and saves them in Notion with key SEO context for content planning.

  How it works
  Triggers manually whenever you want to perform the research.
  Fetches the top 100 organically ranked keywords for your website via DataForSEO Labs API.
  Fetches the competitor’s top-ranked organic keywords from the same source.
  Compares both datasets to find keywords missing for your domain.
  Extracts key metrics, including search volume, competition, ranking position, and ranking URL.
  Writes all keyword gap opportunities into a Notion database for review and planning.
  Allows you to generate a content roadmap using Notion AI.

  Requirements
  DataForSEO account and API credentials 
  Notion account with a prepared database (matching the required column structure)
  Notion integration to n8n

  Customization
  You can easily customize this workflow by increasing the number of keywords analyzed, filtering by specific countries or languages, adding wider SEO context (CPC, keyword difficulty, SERP features), exporting results to other tools, or automating content brief creation rather than storing keywords only.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.notion","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-dataforseo.dataForSeoLabsApi","n8n-nodes-dataforseo.dataForSeoLabsApi","n8n-nodes-base.set"]

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

metadata_json:
  {"categories":["SEO & Content Marketing","Data Processing"],"complexity":"medium","use_cases":["identify keyword gaps","competitor analysis","log opportunities"],"estimated_setup_minutes":15,"required_services":["DataForSEO","notion"],"key_features":["competitor keyword comparison","opportunities automation","manual triggers"],"target_audience":["seo specialists","content marketers","competition analysts"]}


name: Generate AI videos and carousels with Blotato for Instagram and TikTok
author_name: Dr. Firas
author_username: drfiras
categories: []
created_at: 2026-02-19T22:59:51.791Z
updated_at: 2026-02-19T22:59:51.791Z
url: https://n8n.io/workflows/13526
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:21
description:
  Generate AI videos and carousels with Blotato and publish to Instagram & TikTok

  📄 Documentation: Notion Guide

  Who is this for?

  This workflow is designed for content creators, marketers, solopreneurs, and automation enthusiasts who want to generate and publish short-form content on Instagram and TikTok automatically.  
  It is ideal for users looking to combine AI-generated videos and carousels with Blotato and orchestrate everything using n8n.

  What this workflow does

  This workflow provides a complete end-to-end automation pipeline:

  Receives a message from Telegram containing a public URL and a publishing instruction.
  Creates a content source from the URL using Blotato.
  Retrieves and validates the extracted text content.
  Generates either:
     An AI tweet-card carousel for Instagram, or
     An AI-generated video for TikTok.
  Continuously checks the visual generation status until it is fully completed.
  Publishes the final media automatically to Instagram or TikTok.
  Sends a confirmation message back to Telegram once the post is successfully published.

  Setup

  To use this workflow, you will need:

  An active n8n instance
  A Blotato account with API access
  Instagram and/or TikTok accounts connected in Blotato
  A Telegram Bot for triggering the workflow and receiving notifications

  Setup steps:
  Import the workflow JSON into n8n.
  Add your Blotato API credentials.
  Configure the Telegram Trigger with your bot token.
  Select your Instagram and TikTok accounts in the Blotato post nodes.
  Activate the workflow.

  How to customize this workflow to your needs

  You can customize this workflow by:
  Changing the visual templates used in Blotato.
  Adjusting AI prompts to control tone, format, or content style.
  Adding additional publishing platforms after the posting step.
  Modifying polling behavior or adding timeouts for long visual renders.
  Replacing Telegram with another trigger such as Webhooks or Slack.

  The workflow is modular and easy to extend, making it suitable for a wide range of content automation use cases.

  🎥 Watch This Tutorial

  👋 Need help or want to customize this?
  📩 Contact: LinkedIn  
  📺 YouTube: @DRFIRASS  
  🚀 Workshops: Mes Ateliers n8n

  Need help customizing?
  Contact me for consulting and support : Linkedin / Youtube / 🚀 Mes Ateliers n8n  

nodes_used:
  ["@blotato/n8n-nodes-blotato.blotatoTool","@blotato/n8n-nodes-blotato.blotatoTool","@blotato/n8n-nodes-blotato.blotatoTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.telegramTrigger","@blotato/n8n-nodes-blotato.blotatoTool","@blotato/n8n-nodes-blotato.blotatoTool","@blotato/n8n-nodes-blotato.blotatoTool","@blotato/n8n-nodes-blotato.blotatoTool","n8n-nodes-base.telegramTool","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6988 characters]

metadata_json:
  {"categories":["Marketing","Communication"],"complexity":"medium","use_cases":["generate Instagram content","create TikTok videos","publish carousels automatically","orchestrate social media campaigns"],"estimated_setup_minutes":15,"required_services":["Blotato","Telegram","Instagram","TikTok"],"key_features":["AI video generation","carousel creation","automated publishing","social media scheduling"],"target_audience":["content creators","marketers","automation enthusiasts"]}


name: Create AI-driven social media posts and publish to all major platforms
author_name: Vincent Nguyen
author_username: vincentthenguyen
categories: []
created_at: 2026-02-20T03:51:19.794Z
updated_at: 2026-02-20T03:51:19.794Z
url: https://n8n.io/workflows/13528
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:22
description:
  This n8n template is a complete, two-part social media engine: it automates competitor/inspiration research, uses AI to recreate viral formats for your niche, and handles multi-platform distribution with auto-generated visuals.

  Instead of staring at a blank page, this workflow scrapes top-performing content, breaks down the psychological hooks, rewrites it for your specific audience, and drafts a custom text graphic. Once you approve the draft, n8n handles the heavy lifting of posting it everywhere.

  You curate and approve. n8n researches, writes, designs, and publishes.

  How it works
  Part 1: Research & Recreating

  A scheduled trigger runs daily to pull a target username from your Airtable database.
  Apify scrapes the latest tweets from that user, filtering out replies and links, and sorts them by the highest view count.
  An AI Analysis Agent (Gemini) breaks down the top post's structure and creates a reusable template.
  An AI Writing Agent (GPT) uses that template to write a fresh, original post tailored to your niche.
  A Caption Agent (GPT) writes an engaging, long-form caption with hooks and hashtags.
  The draft is saved into Airtable for your review.

  Part 2: Auto-Posting & Repurposing

  When you change a draft's status to "Approved" in Airtable, the second flow triggers.
  An AI Image generator creates a sleek text-graphic based on your short post.
  The image is uploaded to ImgBB to generate a public URL.
  The pure text version is pushed directly to X (Twitter) and Threads (via authenticated HTTP requests).
  The generated image and long-form caption are published to LinkedIn, Facebook, and Instagram.
  Finally, the Airtable record is marked as "Posted."

  How to use

  Set up an Airtable base with your target usernames and a table for content drafts.
  Update the AI Agent system prompts (Writing and Caption) to match your specific target audience, expertise, and tone.
  Connect all your platform credentials in n8n (ensure you use the credential manager for the HTTP nodes, like HTTP Header Auth for Threads and Query Auth for ImgBB—no hardcoded API keys!).
  Let the schedule scrape and draft content for you.
  Simply mark a draft as "Approved" in Airtable when you want it to go live.

  What you get

  Automated viral content research and curation
  AI-driven structural analysis and rewriting
  Auto-generated text-graphics for visual platforms
  Hands-free publishing to 5 platforms (X, Threads, IG, FB, LinkedIn)
  A centralized content approval system

  Requirements

  Airtable account
  Apify account (Twitter Scraper actor)
  OpenAI & Google Gemini API credentials
  ImgBB account
  X (Twitter), Threads, LinkedIn, Facebook, and Instagram accounts

  Need help tweaking the AI agents for your specific funnel?

  Ask in the n8n Forum or shoot me a DM on LinkedIn

  Happy automating 🚀

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.twitter","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.linkedIn","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","@apify/n8n-nodes-apify.apify","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.airtable","n8n-nodes-base.limit","n8n-nodes-base.sort","n8n-nodes-base.filter","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtableTrigger","n8n-nodes-base.airtable","n8n-nodes-base.facebookGraphApi","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 13064 characters]

metadata_json:
  {"categories":["Marketing","Social Media","Content Creation"],"complexity":"medium","use_cases":["auto-generate viral social media posts","scrape competitor content for inspiration","AI-powered visual content creation","automated multi-platform distribution","analyze top-performing content trends"],"estimated_setup_minutes":20,"required_services":["Facebook Graph API","Twitter","LinkedIn","Apify","AI text generative models","AI image generative models"],"key_features":["competitor research automation","psychological hook analysis","AI-native text rewriting","auto-generated visual content","multi-platform posting orchestration"],"target_audience":["social media managers","content creators","marketing teams"]}


name: Design scalable sync workflows with Data Tables, ProspectPro and HubSpot
author_name: Olivier
author_username: olivier-nl
categories: []
created_at: 2026-02-20T09:41:54.351Z
updated_at: 2026-02-20T09:41:54.351Z
url: https://n8n.io/workflows/13536
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:22
description:
  This template is a pattern library (one importable workflow) that shows a repeatable way to structure n8n automations so they remain easy to extend, cheaper to run, and safer to scale.

  It’s intentionally opinionated and dry: the goal is not “plug & play”, but a set of proven building blocks you can copy into your own workflows.

  Problems this framework solves
  Spaghetti workflows that are hard to change**  
    A consistent split into Trigger → Manager → Function → Utility so changes don’t ripple through everything.
  Duplicate processing when runs overlap**  
    Uses “in progress / success / error” indicators so the trigger can skip items that are already being processed.
  Unnecessary re-runs that keep failing**  
    Items that fail can be marked/parked, so you don’t burn executions repeating the same error.
  Execution costs exploding over time**  
    Offers polling + batching alternatives when “one event = one execution” becomes too expensive.
  Rate limits and API throttling under load**  
    Includes rate-limited processing patterns (delays/throttling) to smooth spikes.
  Missed items during downtime, deploys, or restarts**  
    Stores sync state (e.g., lastSync) in n8n Data Tables instead of relying on in-memory state.
  Long-running pagination that becomes fragile**  
    Demonstrates manual “page-wise” pagination (fetch N → process N → checkpoint → repeat) to avoid huge in-memory batches.
  Debugging incidents without visibility**  
    Includes an error workflow pattern (Error Trigger + notification) and structured error logging.

  What you get in this template
  Trigger patterns (simple and rate-limited)
  Polling / batching patterns (basic → more robust → fully configurable with pagination)
  A “manager” pattern for stateful processing and overlap protection
  Function + utility workflow examples for reusability
  Error logging to a Data Table and an example Telegram alert

  Requirements / setup
  n8n version that includes the Data Table node
  Create/replace Data Tables used in the template (e.g. Timestamps, Errors)
  Example nodes use ProspectPro, HubSpot, and Telegram (optional). Replace these with your own tools if you’re not using them.

  Important notes
  This is not a finished automation. Import it, then choose the pattern(s) you need and swap the example “get items / process item” steps for your own logic.
  Some patterns include looping/recursion options—configure stop conditions carefully to avoid unintended infinite runs.
  This framework is one effective route to scalable n8n systems, not the only one.

  Note: this is a living document that will be updated periodically.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflow","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@bedrijfsdatanl/n8n-nodes-prospectpro.prospectproTrigger","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.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.dataTable","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.dataTable","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.noOp","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.dataTable","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.noOp","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.executeWorkflow","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.splitInBatches","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflow","n8n-nodes-base.wait","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.splitInBatches","n8n-nodes-base.executeWorkflow","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.if","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.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflow","n8n-nodes-base.if","n8n-nodes-base.executeWorkflow","n8n-nodes-base.if","n8n-nodes-base.executeWorkflow","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro","n8n-nodes-base.if","n8n-nodes-base.code","@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro","n8n-nodes-base.executeWorkflow","n8n-nodes-base.if","n8n-nodes-base.executeWorkflow","n8n-nodes-base.if","n8n-nodes-base.executeWorkflow","n8n-nodes-base.if","@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro","n8n-nodes-base.code","@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro","@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro","n8n-nodes-base.code","@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro","n8n-nodes-base.stickyNote","n8n-nodes-base.stopAndError","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflow","n8n-nodes-base.switch","n8n-nodes-base.if","n8n-nodes-base.executeWorkflow","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stopAndError","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.executeWorkflow","n8n-nodes-base.if","n8n-nodes-base.hubspot","n8n-nodes-base.if","n8n-nodes-base.hubspot","n8n-nodes-base.if","@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro","@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","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.errorTrigger","n8n-nodes-base.dataTable","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 39948 characters]

metadata_json:
  {"categories":["DevOps","Data Processing","Template"],"complexity":"medium","use_cases":["structure workflows","design scalable sync","build automation patterns"],"estimated_setup_minutes":45,"required_services":["ProspectPro","HubSpot","Data Tables"],"key_features":["repeatable structure","modular design","scalable automation"],"target_audience":["developers","system architects","workflow engineers"]}


name: Archive HR and legal documents with UploadToURL, Google Drive and Airtable
author_name: Jitesh Dugar
author_username: jiteshdugar
categories: []
created_at: 2026-02-20T10:52:57.915Z
updated_at: 2026-02-20T10:52:57.915Z
url: https://n8n.io/workflows/13544
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:22
description:
  Eliminate the manual chaos of HR and legal document management. This workflow automates the transition from a raw document upload to a structured, audit-ready archive by combining UploadToURL for instant CDN hosting, Google Drive for long-term storage, and Airtable for status tracking and database management.

  🎯 What This Workflow Does

  Transforms loose document scans into a structured corporate filing system:

  📝 Captures Legal Assets - Receives signed contracts or IDs via mobile scan (binary) or remote URL.
  🛡️ Duplicate Prevention - Checks Airtable first to ensure a contract isn't already filed for that specific Employee ID.
  ☁️ Instant CDN Hosting - UploadToURL hosts the document to provide a high-speed link for immediate HR review.
  📁 Smart Folder Logic - Automatically navigates or creates a structured Google Drive path: HR/Contracts/{Year}/{Department}/{EmployeeName}/.
  🗃️ Database Synchronization - Updates (or creates) an Airtable record to tick "Contract Received," logging both the Drive URL and the CDN backup.
  📧 Automated Confirmation - Sends a professional HTML email to HR and the employee with access links and filing metadata.

  ✨ Key Features

  UploadToURL Integration**: Provides a redundant, accessible CDN link stored alongside your primary Drive storage for total data reliability.
  Auto-Nomenclature**: Renames files using a strict audit-ready format: {EmployeeID}{LastName}{Type}_{Date}.pdf.
  Intelligent Folder Creation**: Never manually create a folder again; the workflow builds the entire hierarchy on the fly.
  Audit Trail Generation**: Captures "Filed By," "Filed At," and unique "Upload IDs" for every document.
  Conflict Handling**: Built-in 409 Conflict logic prevents accidental overwrites or double-filing of critical legal papers.

  💼 Perfect For

  HR Teams**: Managing onboarding documents and employment contracts at scale.
  Legal Departments**: Archiving NDAs, vendor agreements, and compliance certifications.
  Small Businesses**: Moving away from "loose files in folders" to a searchable, automated database.
  Remote Teams**: Enabling employees to "upload and forget" their paperwork via a simple link.

  🔧 What You'll Need

  Required Integrations
  UploadToURL** - To host documents and provide public CDN backup links.
  n8n Community Node** - n8n-nodes-uploadtourl must be installed.
  Google Drive** - OAuth2 credentials for secure document storage.
  Airtable** - Personal Access Token to manage your employee/document database.
  Gmail / SMTP** - To send automated filing confirmations.

  Configuration Variables
  GDRIVE_ROOT_FOLDER_ID: The ID of your main HR folder in Google Drive.
  AIRTABLE_BASE_ID: Your specific Airtable base for HR/Legal tracking.

  🚀 Quick Start

  Import Template - Copy the JSON and import it into your n8n workspace.
  Install Node - Ensure the UploadToURL community node is active.
  Set Credentials - Link your UploadToURL, Google Drive, Airtable, and Gmail accounts.
  Define Variables - Set your Root Folder ID and Airtable Base details in n8n variables.
  Test the Pipeline - Send a test POST with a sample PDF to the Webhook URL.
  Activate - Enable the workflow to begin hands-free archiving.

  🎨 Customization Options

  Expiration Alerts**: Add a node to calculate 1-year expiry dates and set an automated reminder in Slack.
  OCR Processing**: Integrate an OCR step to read the content of scans and verify names automatically.
  Watermarking**: Add a "Confidential" or "Draft" watermark to documents before they are uploaded to the CDN.
  Multi-Base Routing**: Route documents to different Airtable bases depending on the "Department" field.

  📈 Expected Results

  100% Consistency** in file naming and folder structures across the entire organization.
  Zero manual data entry**—employee records and checkboxes update automatically.
  Audit-ready in minutes**: Every file has a timestamped trail and redundant storage links.
  Instant Accessibility**: HR can view documents via the CDN link before Drive permissions even propagate.

  🏆 Use Cases

  High-Growth Onboarding
  A startup hiring 20 people a month can automate all contract filings, ensuring the "Contract Received" flag is always accurate for payroll.

  Compliance Audits
  When auditors ask for specific contracts, use the Airtable "Structured Filename" column to find and share the relevant Drive or CDN links in seconds.

  Field Service Scans
  Technicians in the field can upload signed site reports via a mobile app; the workflow handles the filing and notifies the office immediately.

  💡 Pro Tips

  Folder IDs**: You can find your GDRIVE_ROOT_FOLDER_ID by looking at the last string in the URL when you are inside that folder in your browser.
  Structured JSON**: Use the returned auditTrail object to build a log of all uploads in a separate "Master Audit" spreadsheet.
  Employee IDs**: If no ID is provided, the workflow generates a temporary one using a timestamp to ensure the archive never breaks.

  Ready to secure your document pipeline? Import this template and connect UploadToURL to build a world-class archiving system in under 20 minutes.

  Need help with Airtable field mapping? The workflow includes detailed sticky notes explaining the exact field names required for the automation to run.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.airtable","n8n-nodes-base.if","n8n-nodes-base.respondToWebhook","n8n-nodes-base.if","n8n-nodes-uploadtourl.uploadToUrl","n8n-nodes-uploadtourl.uploadToUrl","n8n-nodes-base.code","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.googleDrive","n8n-nodes-base.airtable","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.code","n8n-nodes-base.gmail","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook"]

workflow_json_compressed:
  [encoded data, 10752 characters]

metadata_json:
  {"categories":["HR & Compliance","Legal","Document Management"],"complexity":"medium","use_cases":["archive HR and legal documents","normalize document metadata","store files permanently","track document status","scrape signatures from mobile scans"],"estimated_setup_minutes":15,"required_services":["UploadToURL","Google Drive","Airtable"],"key_features":["binary data processing","conditional file routing","structured metadata extraction","integrated CDN storage","compliance-oriented tracking"],"target_audience":["HR administrators","legal teams","compliance officers"]}


name: Host a static HTML KPI dashboard from Google Sheets with CustomJS
author_name: CustomJS
author_username: customjs
categories: []
created_at: 2026-02-20T12:41:01.892Z
updated_at: 2026-02-20T12:41:01.892Z
url: https://n8n.io/workflows/13545
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:21
description:
  Hosting a static HTML KPI dashboard with CustomJS

  This workflow demonstrates how to automatically generate a weekly KPI dashboard from Google Sheets and host it as a live static HTML page using CustomJS.  

  Instead of manually building and updating dashboards, the workflow fetches KPI data, transforms it into JSON, and generates charts, tables, and KPI cards automatically. The hosted HTML page can be connected to a custom domain with one click.

  The result is a fully interactive, production-ready KPI dashboard that updates weekly with minimal effort.

  Why This Workflow?

  Creating dashboards manually or passing raw sheet data to visualization tools is:

  time-consuming  
  error-prone  
  hard to automate  

  This workflow automates the process by converting sheet data into structured JSON and feeding it directly into a CustomJS HTML template, generating charts and tables automatically.

  What This Workflow Does

  Fetches KPI metrics (Visitors, Leads, Demo Booked, Proposal Sent, Won) from Google Sheets  
  Aggregates metrics by week and channel  
  Converts the structured data into JSON for dashboard consumption  
  Generates a static HTML page with KPI cards, charts, and tables  
  Hosts the HTML page on CustomJS, optionally connected to a custom domain  

  All without manual intervention.

  Key Features

  Automated KPI Dashboards**  
    Generate charts, tables, and KPI cards from Google Sheets data

  Static HTML Hosting**  
    Live dashboards are instantly deployable and accessible anywhere

  Custom Domains**  
    Connect your own domain with a single click

  Interactive Charts**  
    Uses Chart.js for bar and line charts, fully responsive

  QR Code Ready**  
    Optional QR code generation for sharing dashboard links

  Token-Efficient**  
    Only structured JSON is processed, no large unnecessary payloads

  How It Works

  Manual or Scheduled Trigger  
     Run the workflow on demand or weekly

  Load Data from Google Sheets  
     Pull metrics for the desired period  
     Aggregate weekly or by channel

  Prepare Structured JSON  
     Format sheet rows into structured JSON for the dashboard

  Generate HTML Dashboard  
     Feed JSON into a CustomJS HTML template node  
     Automatically builds KPI cards, charts, and tables

  Host Static HTML  
     Deploy instantly via CustomJS  
     Optional: connect a custom domain  
     Each update overwrites the previous dashboard

  Optional Enhancements  
     Generate QR codes for the dashboard link  
     Include multiple charts, historical trends, or multiple sheets

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.html","n8n-nodes-base.httpRequest","@custom-js/n8n-nodes-pdf-toolkit-v2.pdfToolkit","n8n-nodes-base.extractFromFile","n8n-nodes-base.aggregate","n8n-nodes-base.scheduleTrigger","@custom-js/n8n-nodes-pdf-toolkit-v2.pdfToolkit"]

workflow_json_compressed:
  [encoded data, 5540 characters]

metadata_json:
  {"categories":["Data Processing","Reporting"],"complexity":"medium","use_cases":["generate kpi dashboards","automate chart generation","build web reports"],"estimated_setup_minutes":30,"required_services":["Google Sheets"],"key_features":["auto data fetching","json transformation","html report generation","charts and tables"],"target_audience":["analysts","dashboard builders"]}


name: Schedule client meetings via web forms with Google Calendar, Zoom
author_name: SpaGreen Creative
author_username: spagreen
categories: []
created_at: 2026-02-22T07:10:40.754Z
updated_at: 2026-02-22T07:10:40.754Z
url: https://n8n.io/workflows/13579
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:22
description:
  Who it's for
  This n8n workflow is designed for businesses, consultants, and service providers who want to automate their meeting scheduling process. The workflow creates a seamless booking system that can handle meeting requests, check availability, create calendar events, set up video conferences, and send notifications through multiple channels.

  Features 
  Integrates with web forms to receive booking requests
  Checks Google Calendar availability automatically
  Creates calendar events with booking details
  Sets up Zoom meetings instantly
  Sends notifications via email, WhatsApp, Discord, and Teams
  Notifies politely if requested slots aren’t available
  Supports Your time zone conversions

  Requirements
  Google Calendar API Credentials**: For checking availability and creating events
  Zoom API Credentials**: For generating meeting links and video conferences
  Gmail OAuth2 Credentials**: For sending email confirmations
  Notification Service Credentials**:
    Discord Bot API, Microsoft Teams API, Rapiwa API (for WhatsApp)

  Important Notes
  Time Zone Configuration**: The workflow is set to Asia/Dhaka time zone but can be customized
  Meeting Settings**: Default meeting duration (40 minutes) and password can be adjusted
  Notification Templates**: All notification messages can be customized to match your brand voice
  Calendar Selection**: Ensure the correct Google Calendar ID is configured for your booking system

  Support & Help
  WhatsApp**: Chat on WhatsApp
  Discord**: SpaGreen Community
  Facebook Group**: SpaGreen Support
  Website**: https://spagreen.net
  Developer Portfolio**: Codecanyon SpaGreen

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.microsoftTeams","n8n-nodes-base.discord","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.dateTime","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.gmail","n8n-nodes-rapiwa.rapiwa","n8n-nodes-base.googleCalendar","n8n-nodes-base.microsoftTeams","n8n-nodes-base.gmail","n8n-nodes-base.zoom","n8n-nodes-base.googleCalendar"]

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

metadata_json:
  {"categories":["Communication","Data Processing"],"complexity":"medium","use_cases":["automate meeting scheduling","sync calendar events","integrate web forms","setup video conferences"],"estimated_setup_minutes":30,"required_services":["Google Calendar","Google Apps Script"],"key_features":["auto-check calendar availability","create calendar events","send email notifications","integrate with web forms"],"target_audience":["businesses","consultants","service providers"]}


name: Scan Gmail links with VirusTotal and send alerts to WhatsApp, Teams, and Sheets
author_name: SpaGreen Creative
author_username: spagreen
categories: []
created_at: 2026-02-22T07:25:15.570Z
updated_at: 2026-02-22T07:25:15.570Z
url: https://n8n.io/workflows/13581
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:22
description:
  Who it's for
  This n8n workflow is designed for IT security professionals, email administrators, and organizations that want to automatically scan URLs received in emails for potential security threats. It provides a complete end-to-end system capable of automatically detecting malicious URLs using VirusTotal API, analyzing the results, and sending notifications when suspicious links are found.

  Features
  Automatically monitors Gmail for new emails on a continuous basis (every minute)
  Extracts all URLs from email content while filtering out Google links
  Scans each URL using VirusTotal's comprehensive security database
  Categorizes URLs based on threat level (malicious, suspicious, harmless, undetected)
  Sends immediate alerts through multiple channels (WhatsApp via Rapiwa, Microsoft Teams)
  Updates Google Sheets with scan results for historical tracking and analysis
  Processes URLs in batches to optimize performance
  Filters out common Google links to reduce false positives

  Requirements
  Gmail account with OAuth2 credentials
  VirusTotal API key
  Google Sheets API access with OAuth2 credentials
  Rapiwa API credentials for WhatsApp notifications
  Microsoft Teams credentials for team notifications
  A Google Sheet configured to store scan results

  Important Notes
  Workflow runs continuously, checking for new emails every minute
  Only non-Google URLs are scanned to focus on potentially suspicious links
  Results are categorized based on VirusTotal's analysis: malicious, suspicious, harmless, undetected, timeout, failure, or type_unsupported
  Alert messages include the URL and all relevant security statistics from VirusTotal
  All scan results are stored in a Google Sheet for future reference and analysis
  The workflow processes URLs in batches to optimize performance and avoid API limits
  Immediate notifications are sent when potentially malicious URLs are detected

  Support & Help
  WhatsApp**: Chat on WhatsApp
  Discord**: SpaGreen Community
  Facebook Group**: SpaGreen Support
  Website**: https://spagreen.net
  Developer Portfolio**: Codecanyon SpaGreen

nodes_used:
  ["n8n-nodes-base.gmailTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-rapiwa.rapiwa","n8n-nodes-base.googleSheets","n8n-nodes-base.microsoftTeams","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WXW0/bWBCA/4rlp66Ug87d5/BG2VWFVLar0m2l3fJwLuNg1bGz9gktQvz3HRtK0pBAEl4gicYz39zHt3kV8+P83Xm80J/lydsv9PQfdc7yST6D5PLj27xq+uSaAGeDXPDWMVCCs0IXXgumtZAFN0IyLgpQWnquTOE8U76QwVFnLHjKnRLSyKhRb4LZvHYJTjuI/QWkxfy0xV8gARpI3QLuJnnjZoDWThapnblUBVfXN9nvKBJSdrHo51Wo2kWfva+ab31WNdm7mavq7Bz63k2hH4y4aZ8f/3uJqtoIw8fbe0dtYBGClMSokhMZvSCmYJYwCmUZYmSc2vwR4F7vp66aTqEb1N7Mh58b05BRL/Guh6PpILUUmrd9laq2QaNSmokxFDHmrkOVCTpkub271/QZv41y7EjcTR4AFZWcg+ekoMIRKZUnNoqSFEyVvqTBh5IuAd+37Tz7cA1ddoZx7bci9vO6SmfNW5fC1RigFUhGudyFcskoVHQmgifOSEqkkECcCpEIp5xRXAZOxZLxAhP47Sb7s03AtgOOQoPMWgQFnxjB19ny0DYJmoSK8ifRfOQMwjkefSBcWUw2KwOxXlkigyyZtaCDNhs5+d6c9HBKWeqIKJhx4IDRFIAlaUuiNZSWemqNjhsp5d6UXFA50UofBmrLKCxgxp01ikgXHMFoWqJAR0eFp1H7Jegp4mRvTtsGqzP1WbqCzHWdu8naMqsfGje1+CdW11VcuPq3re4E/PirI2Yoi5dLli/ZAWdUNJ5QHg2RBhR6gQ3mpBPSYmlYxZfsZyWSX0EYIMvs74/v+2yIkMNR8zWftu20HqBmX/Ns0VfNNOtgCj+281flWsfxAd8+ScMT/JW5AFGrKE2JtTw6oA3xIVhS+hiM5w51ymcdcB1kTZsyHL/pZg9WHO8Ty57U9nOs0YOjhXREeaaJhBKDzQIjhjkhcCXocrWiP1fdov/UJldnby4WflZhtYzEZdtlrnH1TV/124GvUpp/hP8W0Kc1cm31LlGWR2KSww+s/9gPSwn7oHI1Grp+BDuZV/mjd8xEo2wJJIRCYL/SAr0DTIc3JoQSFcSw3gYrPnYwb7uUYemjzc7hRuughmvXJOwFdHlYeG2zTzPgytrJ0WU3gLVeRBaIc7gK0YVIjMYEcS0o0GB5odXShY9uXn132ZsvVy71J/P5UEZViVt5K2g3PnF0/299BBm5C+xy7GgFUlgrSJQa52OginjNAzFOx+CKkmstVzfi9GHYPFQOhrdf1MMEajOXvRubN7u4AkjbF/ooNMr0G+gL/uLgkUfFcltKXYiA3cBCxG1phLnflhq7Fje9LIRnK/N9KEMEPa9C1/ZtmbJP4Gb9LzHfCj77+dD4zAZ0Rouhk7+Dv2rbbw8nnYwONyIO9IhTXRQF8dJworgzwFVRRj6U846VJUAZfACXgvK4aA1nxNJCYbIYDgRa4DEYNi4zsfcyY/o1t4GICr0useYltrLk2AxWKo0ziruC4YbzNq538R/3DftzPHXtDKfpcCE+WNynafVuR9cysrzweMpIrBsmsIyo4Dh2vCaccitEBOrKlaPrZFn947gZYZdT6IBpaulOfSuP2B3KYJiqa9RfurqHSd5DSrgox/S4awyZ8zWcNeenfz2KwA8Ii8HYhy7iHY3jlw3pu75XPJYqx47BbWcJRIYh8KbAew47yQKXqrBSMzfkDLPR4JsCPjXa+/WIxx/w++ARvhIMjh+S3VHDBF+NIvzIj+nd5SWSrt/iK5YuJ0tjr70tNtp+Kd3bvX7NZtqI8vLpsQlm3yPgiemVCG99KdrIu6PlTdA7N9lGw7tW3fbcHXZcPwOzl8JNXPuF/sBWeJ3h51tx25X8TNAO6KBNHux6Za2TTFZicMDps13dfpfIhgDd3f0PCIt4FF4SAAA=

metadata_json:
  {"categories":["Security","Communication","IT Operations"],"complexity":"medium","use_cases":["monitor incoming emails for malicious links","automate threat detection scan","send security alerts to chat platforms","log scan results to spreadsheets"],"estimated_setup_minutes":15,"required_services":["Gmail","VirusTotal API","WhatsApp Business API","Microsoft Teams","Google Sheets","HTTP Request"],"key_features":["continuous email monitoring","batch URL extraction and processing","conditional alert routing based on threat score","multi-channel notification delivery","spreadsheet logging of scan results"],"target_audience":["IT security professionals","email administrators","operations managers"]}


name: Enrich B2B Google Maps leads with Apify, Jina AI, GPT-5.2 and Google Sheets
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2026-02-22T07:27:39.658Z
updated_at: 2026-02-22T07:27:39.658Z
url: https://n8n.io/workflows/13582
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Stop wasting hours manually hunting for business leads. This workflow automates the entire process from scraping Google Maps to extracting contact emails all triggered from your phone via Telegram.

  What It Does

  Send a single message to your Telegram bot (Sector; Limit; MapsURL) and the system takes over. It scrapes business data from Google Maps using Apify, generates AI-powered company summaries via OpenAI, hunts for contact emails from business websites using Jina AI, then stores everything neatly in Google Sheets.

  Who It's For

  Sales reps building cold outreach lists, marketing agencies prospecting new clients, or anyone who needs targeted local business data fast — without paying for overpriced lead databases.

  Why It's Worth It

  Manual research that takes 4 hours gets done in under 5 minutes for 50 leads. Pay only for what you use (Apify + OpenAI) instead of fixed monthly subscriptions. AI deduplication keeps your CRM clean and consistent.

  What You'll Need

  | Tool | Purpose |
  |------|---------|
  | n8n | Workflow engine |
  | Apify | Google Maps scraper |
  | OpenAI API | Summaries & email extraction |
  | Google Sheets | Lead storage |
  | Telegram Bot | Mobile trigger interface |
  | Jina AI | Website-to-text conversion |

  Quick Setup

  Import the JSON workflow into your n8n instance
  Connect credentials: Telegram bot token, Apify API key, OpenAI key, Google account
  Set up your Sheet with the matching column headers
  Test with: Coffee Shops; 5; https://www.google.com/maps/search/coffee+shops+london

  How the Logic Works

  The workflow runs a two-stage loop per business. First it saves core data (name, phone, address). If a website exists, it then attempts email enrichment. This way, you never lose basic lead data even if a website crawl fails.

  Extend It Further

  Swap Google Sheets for HubSpot or Pipedrive, push results to a Slack sales channel, or chain a Gmail node to auto-send intro emails the moment a lead is found.

  Created by: Khaisa Studio
  Category: Marketing | Tags: Lead Gen, AI, Google Maps, Telegram
  Need custom workflows? Contact us

  Connect with the creator:
  Portfolio • Workflows • LinkedIn • Medium • Threads

nodes_used:
  ["@apify/n8n-nodes-apify.apify","n8n-nodes-base.removeDuplicates","@apify/n8n-nodes-apify.apify","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.wait","n8n-nodes-base.telegramTrigger","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.if","n8n-nodes-base.jinaAi","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, 7308 characters]

metadata_json:
  {"categories":["Data Processing","Marketing","AI/ML"],"complexity":"complex","use_cases":["Scrape Google Maps business listings","Extract contact emails with AI","Generate company summaries","Save structured leads to spreadsheets"],"estimated_setup_minutes":25,"required_services":["Apify","OpenAI","Jina AI","Google Sheets","Telegram Bot"],"key_features":["Mobile-triggered automation via Telegram","Automated Google Maps data scraping","AI-powered business summary generation","Web-based contact email extraction","Duplicate removal and deduplication logic"],"target_audience":["Sales teams","Business developers","Marine agents"]}


name: Build an AI agent for WhatsApp with WOZTELL and Google Gemini
author_name: Kris newey
author_username: krisatwoztell
categories: []
created_at: 2026-02-24T02:00:02.600Z
updated_at: 2026-02-24T02:00:02.600Z
url: https://n8n.io/workflows/13641
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  ✨ What this template does
  This workflow automatically replies to incoming WhatsApp messages using AI.

  When a customer sends a text message, the workflow retrieves the recent conversation history, generates a professional AI reply based on context, and sends it back through WOZTELL.

  Use this to provide instant automated responses without live agents.

  👷 Who it’s for
  Ideal for businesses that receive frequent WhatsApp inquiries and want automated, context aware replies without manual handling. Suitable for teams looking to reduce response workload using AI.

  ⚙️ How it works
  Receives an incoming WhatsApp message via webhook.
  Checks that the message is a text message and not handled by live chat.
  Retrieves the recent conversation history.
  Formats the conversation for AI analysis.
  Generates a professional reply using Google Gemini.
  Sends the reply back to the customer.

  🧭 How to use
  Import the template into your n8n workspace.
  Copy the webhook Production URL into your WOZTELL inbound webhook settings.
  Connect your WOZTELL credentials.
  Connect your Google Gemini API credentials.
  Activate the workflow.

  🧩 Requirements
  n8n account
  WOZTELL account with WhatsApp channel configured
  Google Gemini API key

  🧠 Customization ideas
  Modify the AI system prompt to match your brand tone and response style
  Add additional IF nodes for routing logic, keyword detection, or data validation
  Replace the AI provider with another supported model instead of Google Gemini
  Customize the WOZTELL message format, tone rules, or response structure

  🤖About WOZTELL
  This template uses WOZTELL to connect n8n with the official WhatsApp Business Platform, allowing you to send and receive WhatsApp messages through approved templates and automation workflows.

  You can create a WOZTELL account and register a WhatsApp Business API account for free.

  Sign up [here](
  https://platform.woztell.com/signup?lang=en&utm_campaign=plugin-n8n&utm_medium=plugin-n8n&utm_source=N8N)
  Verify your email and complete your account setup.
  Follow the WhatsApp Business API [setup guide](
  https://doc.woztell.com/docs/procedures/basic-whatsapp-chatbot-setup/standard-procedures-wa-connect-waba/)

  Once your WhatsApp Business account is connected and message templates are approved, you can activate this workflow.

  🚀 More templates
  We’re continuously building more WOZTELL n8n templates. Check our n8n profile to explore the latest workflows.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.filter","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@woztell-sanuker/n8n-nodes-woztell-sanuker.woztell","@woztell-sanuker/n8n-nodes-woztell-sanuker.woztell"]

workflow_json_compressed:
  [encoded data, 5516 characters]

metadata_json:
  {"categories":["AI/ML","Communication"],"complexity":"medium","use_cases":["automate WhatsApp customer responses","generate AI replies with context","handle incoming inquiries instantly"],"estimated_setup_minutes":15,"required_services":["WOZTELL","Google Gemini"],"key_features":["AI-powered reply generation","Context-aware conversation history","Automated messaging"],"target_audience":["business owners","customer support teams","marketing managers"]}


name: Generate AI trading alerts from CoinGecko and Alpha Vantage via Slack, email and SMS
author_name: Oneclick AI Squad
author_username: oneclick-ai
categories: []
created_at: 2026-02-24T11:29:59.993Z
updated_at: 2026-02-24T11:29:59.993Z
url: https://n8n.io/workflows/13651
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:22
description:
  Automates real-time market monitoring, technical analysis, AI-powered signal generation for cryptocurrencies (and stocks), filters high-confidence trades, and delivers actionable alerts via multiple channels.

  Good to Know
  Runs every 5–30 minutes (configurable trigger) to catch fresh market opportunities
  Pulls real-time price data from multiple crypto/stock sources in parallel
  Calculates popular technical indicators (RSI, MACD, Moving Averages, etc.)
  Uses an AI model (likely Grok/xAI, OpenAI, or similar) to interpret indicators and generate buy/sell signals with confidence scores
  Applies multi-layer filtering to reduce noise (thresholds, validation rules)
  Stores signals in a database, logs execution history, and sends notifications
  Supports email, Telegram, Discord, SMS (via Twilio), or trading execution webhooks
  Saves significant time compared to manual chart watching

  How It Works

  1. Trigger
  Schedule Trigger* or *Manual Trigger** (every 5–30 minutes)
  Optional: Market Hours / Kill-zone filter (e.g. avoid low-volume periods)
  Can be webhook-based for on-demand runs

  2. Fetch & Prepare Data
  Fetches real-time / recent OHLCV data for a watchlist of cryptocurrencies (and possibly stocks)
  Sources: CoinGecko, Binance, Alpha Vantage, CoinMarketCap, Bybit, Kraken, etc. (multiple in parallel)
  Combines data from different APIs
  Prepares structured dataset (candles, volume, current price)
  Calculates technical indicators in parallel or via Code node / community nodes (e.g. RSI(14), MACD, EMA/SMA crossovers, Bollinger Bands, etc.)

  3. Analysis & Signal Generation
  Sends prepared market data + calculated indicators to an AI model
  Prompt instructs the model to:
    Analyze current market structure
    Evaluate indicator confluence
    Generate Buy / Sell / Hold signal
    Assign confidence score (e.g. 0–100%)
    Provide short reasoning
  Optional: Rule-based pre-filter (e.g. only proceed if RSI &lt; 30 or MACD crossover)

  4. Validate, Alert & Store
  Filters** signals: minimum confidence threshold, no-duplicate check, max signals per run, etc.
  Validates** against additional rules (e.g. volume spike, no recent opposite signal)
  Stores** signal in database (PostgreSQL, Supabase, Airtable, Google Sheets, etc.)
    Includes: timestamp, symbol, signal type, confidence, price, indicators snapshot, AI reasoning
  Logs** full execution trace
  Sends alerts**:
    Email notification
    Telegram / Discord message (with formatting)
    SMS (Twilio)
    Webhook to trading bot / execution system
    Optional: Push to tradingview alert or auto-execute (paper/live)

  Data Sources
  Market Data APIs** — CoinGecko, Binance, Alpha Vantage, CoinMarketCap, etc.
  Technical Indicators** — Calculated via Code node, community nodes (e.g. phoenix indicators), or external libraries
  AI Model** — Grok (xAI), OpenAI (GPT-4o), Claude, Gemini, or local LLM
  Notification Channels** — Email (Gmail/SMTP), Telegram, Discord, Twilio, webhook
  Storage** — Google Sheets, PostgreSQL, Supabase, Notion, Airtable

  How to Use
  Import the workflow JSON into your n8n instance
  Configure credentials:
     API keys for market data providers (Alpha Vantage, CoinGecko Pro, Binance, etc.)
     AI provider (Grok API key, OpenAI key, etc.)
     Notification services (Telegram bot token, email SMTP, Twilio, etc.)
     Database connection if used
  Set your watchlist — edit the symbols in the fetch node(s)
  Tune the schedule — change interval in the trigger node
  Customize AI prompt — adjust in the AI node for more aggressive/conservative signals
  Set filters — confidence threshold, max alerts per cycle, etc.
  Test manually — use Execute Workflow button with sample data
  Activate & monitor — check Executions tab for logs

  Requirements
  n8n (self-hosted or cloud)
  API keys for at least one market data provider
  AI API access (Grok, OpenAI, etc.)
  Notification credentials (Telegram bot, email account, etc.)
  Optional: Database for persistent signal history

  Customizing This Workflow
  Add more exchanges/sources for better data redundancy
  Include on-chain metrics (whale alerts, funding rates) via additional APIs
  Switch AI model or fine-tune prompt for your trading style
  Add risk management rules (position sizing, stop-loss levels)
  Integrate auto-trading via exchange API (Binance, Bybit, Alpaca, etc.)
  Create dashboard output (Google Sheets + Looker Studio / Grafana)
  Add backtesting mode using historical data
  Implement blackout periods or news filter to avoid high-impact events

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.filter","n8n-nodes-base.postgres","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.emailSend","n8n-nodes-base.httpRequest","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 8744 characters]

metadata_json:
  {"categories":["Finance","AI/ML","Communication"],"complexity":"medium","use_cases":["Real-time market monitoring","AI-driven trading analysis","Multi-channel alert delivery","Stock price tracking","Crypto signal generation"],"estimated_setup_minutes":25,"required_services":["Slack","Email","SMS","CoinGecko","Alpha Vantage","LLM Provider","Database"],"key_features":["Technical indicator calculation","High-confidence trade filtering","Multi-source price aggregation","AI-powered signal generation","Flexible alert channels"],"target_audience":["traders","financial analysts","algorithmic traders"]}


name: Analyze domain threats via Telegram with VirusTotal, AbuseCH, and Gemini AI
author_name: MaTns
author_username: mtns
categories: []
created_at: 2026-02-24T12:49:37.649Z
updated_at: 2026-02-24T12:49:37.649Z
url: https://n8n.io/workflows/13656
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:22
description:
  Domain AI Analysis via Telegram, AbuseCH and VirusTotal

  Workflow Description
  This workflow allows Telegram users to submit a domain for quick threat intelligence analysis. It queries VirusTotal, AbuseCH URLHaus, and AbuseCH ThreatFox, then uses Gemini AI to generate a formatted summary with key findings, assessment/analysis, and actionable recommendations.
  Note: Currently supports domains only.

  VirusTotal is widely known, so there’s no need for further explanation. AbuseCH, on the other hand, is a well‑known community threat intelligence project that focuses on tracking and sharing indicators related to malware, botnets, and other malicious activities.

  Who is this for?
  For SOC analysts, threat hunters, security engineers, or anyone needing instant domain reputation checks via Telegram.
  Delivers quick IOC validation with AI analysis and recommendations.

  Prerequisites:
  Telegram:
  Token and bot are needed
  Follow the instructions here Telegram Bot Creation

  VirusTotal:
  API Key is needed
  Community addition is enough VirusTotal API

  AbuseCH URLhaus:
  API Key is needed AbuseCH URLhaus API

  AbuseCH ThreatFox:
  API Key is needed AbuseCH ThreatFox API

  Gemini AI:
  API key is needed Gemini API

  Nodes Configuration

  Telegram Trigger
  add your credentials (token)
  it is recomended to set up the restricted Chat-ID OR/AND User-ID option

  VirusTotal, ThreatFox, URLHaus HTTP Requests
  For each one of the nodes, add your credentials

  Message an AI Model (Gemini)
  Set the model (tested with Gemini 3 Flash)
  Set your credentials (token)

  Referencese:
  VirusTotal API
  AbuseCH URLhaus API
  AbuseCH ThreatFox API
  Telegram Bot & Token Creation
  Gemini API

  Disclaimer
  This was tested and built on self hosted Community node
  Treat output with caution—always validate independently. False positives/negatives can occur.
  Tested with Gemini 3 Flash Ai model

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.telegramTrigger","n8n-nodes-base.telegram","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.merge","n8n-nodes-base.set","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"]

workflow_json_compressed:
  [encoded data, 6564 characters]

metadata_json:
  {"categories":["Cybersecurity","Communication"],"complexity":"medium","use_cases":["submit_domain_check","generate_threat_report","get_ai_recommendations"],"estimated_setup_minutes":15,"required_services":["Telegram Bot API","Google Gemini AI","VirusTotal API","AbuseCH API"],"key_features":["real_time_analysis","multi_source_integration","ai_summarization","automated_reporting"],"target_audience":["security_analysts","soc_analysts","threat_intel_ops"]}


name: Create AI shorts with HeyGen, Creatomate, Replicate, Gemini and OpenAI
author_name: Adam Goodyer
author_username: adamfromapgsoftware
categories: []
created_at: 2026-02-24T23:23:10.074Z
updated_at: 2026-02-24T23:23:10.074Z
url: https://n8n.io/workflows/13676
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:20
description:
  Shorts Creation v10 (Telegram Filming) — n8n Template Description

  How it works

  This workflow is a fully automated YouTube Shorts production pipeline. It takes the structured output from a video digestion workflow (transcript, key moments, metadata) and produces finished, rendered vertical shorts complete with AI-generated avatar narration, AI-generated B-roll video clips, dynamic multi-layout compositions, social media copy, and a lead magnet document — all uploaded to Google Drive and tracked in Google Sheets.

  It's designed to be called as a sub-workflow — triggered by a parent workflow that provides video analysis data (transcript, key moments, visual analysis, metadata).

  The full pipeline:

  Stage 1 — Extract & Prepare
  The workflow receives pre-analysed video data (transcript, sections, B-roll clips, metadata) from the parent workflow via the Execute Workflow Trigger. A Code node extracts and structures the key snippets, B-roll timestamps, and video context ready for AI processing.

  Stage 2 — Short-Form Concept Ideation (Gemini AI Agent)
  A Gemini-powered AI agent analyses the transcript, key moments, and video overview to generate 3 unique short-form concepts per video. Each concept includes a hook, body structure, CTA, full avatar script, and a lead magnet deliverable prompt. The agent uses structured output parsing to guarantee clean JSON. Concepts are fed with real examples from top-performing creators for style reference.

  Stage 3 — Loop Through Concepts
  The workflow loops through each concept and for each one runs the full production pipeline in parallel:

  Stage 4 — HeyGen Avatar Generation
  Each concept's full script is sent to HeyGen's API to generate a vertical (1080×1920) AI avatar video. The workflow polls HeyGen's status endpoint until rendering is complete, then captures the avatar video URL.

  Stage 5 — AI B-Roll Generation (Replicate — Seedance 1 Lite)
  While the avatar renders, the workflow generates AI video B-roll clips using ByteDance's Seedance 1 Lite model on Replicate. The AI Video Director determines what B-roll is needed, and prompts are sent to Replicate to generate 2-second vertical clips at 24fps and 720p. Multiple clips are generated and aggregated.

  Stage 6 — AI Video Director (Gemini AI Agent)
  A Gemini-powered AI Video Director creates a beat-by-beat storyboard with dynamic layout transitions. It generates a RenderScript specifying layout types (avatar full-frame for hooks/CTAs, split-screen for demos, picture-in-picture overlays for focus moments), transition effects, and timing. The effects library provides scroll-stopping transitions like RGB glitch, accent flash, zoom shake, and whip pan.

  Stage 7 — Creatomate Rendering
  The Creatomate Template Builder Code node converts the AI Director's storyboard into a Creatomate-compatible render payload — assembling avatar video, B-roll clips, transitions, text overlays, and effects into a single 1080×1920 composition. The render is sent to Creatomate's API, polled until complete, then downloaded.

  Stage 8 — Upload & Social Copy
  The finished video is uploaded to Google Drive and shared. An OpenAI-powered Social Media Copywriter generates platform-optimised titles, descriptions, hashtags, and captions for YouTube Shorts, Instagram Reels, and TikTok. Everything is logged to a Google Sheets tracker.

  Stage 9 — Lead Magnet Document Generation
  In parallel, a Gemini-powered Document Generator creates a downloadable lead magnet (actionable guide, template, checklist, etc.) based on the CTA promise from each concept. The document is converted to HTML and uploaded as a Google Doc, shared publicly, and linked in the tracker sheet — ready to use as a content magnet in video descriptions.

  Setup guide

  Required accounts & API keys

  | Service | What it does | Sign up |
  |---------|-------------|---------|
  | HeyGen | AI avatar video generation (talking head narration) | https://heygen.com |
  | Replicate | AI video B-roll generation (Seedance 1 Lite by ByteDance) | https://replicate.com |
  | Creatomate | Video composition rendering (assembles final short) | https://creatomate.com |
  | Google AI Studio (Gemini) | Powers 4 AI agents (concept ideation, video direction, output parsing, document generation) | https://aistudio.google.com |
  | OpenAI | Social media copywriting (titles, descriptions, hashtags) | https://platform.openai.com |
  | Google Cloud | Google Drive (video storage) + Google Sheets (tracking) + Google Docs (lead magnets) | https://console.cloud.google.com |

  Replicate model

  This workflow uses Seedance 1 Lite by ByteDance for AI-generated B-roll video clips:

  https://replicate.com/bytedance/seedance-1-lite

  n8n credentials to configure

  | Credential type | Used by |
  |----------------|---------|
  | HeyGen API Key (HTTP Header Auth) | Avatar generation + status polling |
  | Replicate API Token (HTTP Header Auth) | AI B-roll video generation |
  | Creatomate API Key (HTTP Header Auth) | Video render + status polling |
  | Google Gemini API Key | Concept ideation, video direction, structured parsing, document generation |
  | OpenAI API Key | Social media copywriting |
  | Google Drive OAuth2 | Video upload, Google Doc creation, file sharing |
  | Google Sheets OAuth2 | Shorts tracker logging |

  Google Workspace setup

  Google Sheets — Create a spreadsheet called shorts_tracker with a sheet named Shorts Tracker. Columns should include: Created Date, YouTube Title, Short Title, Concept Type, YouTube Short Title, YouTube Description, Instagram Caption, TikTok Caption, Hashtags, Google Drive URL, Magnet URL.
  Google Drive — Create a folder for rendered shorts. Update the Upload to Google Drive node with your folder ID.
  Google Docs — Lead magnet documents are auto-created and shared via the Google Drive API.

  Steps

  Import the workflow into n8n
  Configure all credential sets (HeyGen, Replicate, Creatomate, Gemini, OpenAI, Google OAuth2)
  Set up your Google Sheets tracker and Drive folder
  Update the HeyGen avatar IDs in the "HeyGen - Generate Full Avatar" node to match your HeyGen avatars
  Connect this as a sub-workflow — it expects to be called by a parent workflow (like the Video Digestion Workflow) via the Execute Workflow Trigger
  The parent workflow passes in: source video data, transcript, sections, key moments, visual analysis, and video overview

  What this workflow produces (per video)

  For each source video, the workflow generates 3 unique shorts, and for each short:

  ✅ Finished rendered vertical video (1080×1920 MP4) uploaded to Google Drive
  ✅ AI avatar narration with hook, body, and CTA
  ✅ AI-generated B-roll video clips
  ✅ Dynamic layouts with scroll-stopping transitions
  ✅ Platform-optimised copy (YouTube, Instagram, TikTok)
  ✅ Lead magnet Google Doc with shareable link
  ✅ Full tracking row in Google Sheets

  Nodes used (44 total)

  Execute Workflow Trigger
  Code nodes (x4 — snippet extraction, effects library, Creatomate template builder, HTML converter)
  AI Agents (x4 — Gemini-powered concept ideator, video director, document generator + structured output parsers)
  OpenAI node (social media copywriter)
  Google Gemini Chat Models (x5)
  HeyGen API (x2 — generate + poll status)
  Replicate API (AI B-roll generation)
  Creatomate API (x2 — render + poll status)
  Google Drive (x2 — upload + share)
  Google Sheets (x2 — tracker logging)
  HTTP Request (Google Docs creation)
  Set/Edit Fields, Split In Batches, Split Out, Merge, Aggregate, Wait, If nodes

  Example Reels:
  Example 1
  Example 2

  Built by @adamgoodyer — The Anti-Guru Technical Educator. Real workflows, real implementation, no fluff.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.wait","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.splitOut","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 78984 characters]

metadata_json:
  {"categories":["AI/ML","Content Creation","Data Processing"],"complexity":"medium","use_cases":["Automated YouTube Shorts production","Vertical format video generation","AI avatar narration creation","Social media content packaging","Automated lead magnet generation"],"estimated_setup_minutes":10,"required_services":["HeyGen","Creatomate","Replicate","Google Gemini","OpenAI","Google Drive","Superalpine"],"key_features":["End-to-end video pipeline automation","AI-generated narration and B-roll","Dynamic multi-layout video composition","Automated social media copy generation","Direct integration to cloud storage"],"target_audience":["video creators","content producers","media marketers"]}


name: Generate and schedule LinkedIn posts with Google Sheets, OpenAI
author_name: SpaGreen Creative
author_username: spagreen
categories: []
created_at: 2026-02-25T06:20:14.146Z
updated_at: 2026-02-25T06:20:14.146Z
url: https://n8n.io/workflows/13681
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Who is this for?
  This workflow is designed for content creators, social media managers, digital marketers, and business owners who want to automate their LinkedIn content creation and publishing process. It's especially valuable for those who struggle with consistently creating engaging content or want to maintain a regular posting schedule without manual effort.

  What this Workflow Does / Key Features
  Automatically runs every 6 hours to generate and post LinkedIn content
  Retrieves content topics from a Google Sheet that haven't been processed yet
  Uses AI to research trending topics and create detailed content frameworks
  Generates engaging LinkedIn post content based on those topics
  Creates professional images to accompany posts using AI
  Develops optimized hashtags to improve post visibility
  Posts the complete content package to both LinkedIn profiles and company pages
  Updates the Google Sheet to track which topics have been processed

  Requirements
  Google Sheets OAuth2 API credentials for accessing your content spreadsheet
  LinkedIn OAuth2 API credentials for posting to profiles and pages
  OpenAI API credentials for content generation and image creation
  Google Gemini (PaLM) API credentials for AI processing
  Mistral Cloud API credentials for trend analysis
  A Google Sheet with specific columns: SL, Topic, Status, row_number

  Workflow Components Explained
  Schedule Trigger**: Automatically starts the workflow every 6 hours
  Get row(s) in sheet**: Retrieves topics from your Google Sheet that haven't been processed
  Loop Over Items**: Processes topics one at a time to avoid overwhelming the system
  Content topic generator**: Creates detailed content topics with titles, rationale, and hooks
  AI Agent Tool**: Gathers trending topics from external sources
  Content creator**: Writes the actual LinkedIn post content based on the topic
  OpenAI**: Creates images to accompany the LinkedIn posts
  SEO**: Generates relevant hashtags for the LinkedIn posts
  Merge**: Combines the post content, image, and hashtags into a single package
  LinkedIn page & LinkedIn profile**: Posts the content to both a LinkedIn company page and personal profile
  Update row in sheet**: Marks the processed topic as "checked" in the Google Sheet

  Support & Help
  For n8n workflow questions: n8n Community
  For LinkedIn API issues: LinkedIn Developer Portal
  For Google Sheets integration: Google Sheets API Documentation

  Support & Help
  WhatsApp**: Chat on WhatsApp
  Discord**: SpaGreen Community
  Facebook Group**: SpaGreen Support
  Website**: https://spagreen.net
  Developer Portfolio**: Codecanyon SpaGreen

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agentTool","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.linkedIn","n8n-nodes-base.linkedIn","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.openAi"]

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

metadata_json:
  {"categories":["Social Media Management","Marketing","AI/ML"],"complexity":"medium","use_cases":["automate linkedin posting","generate content topics","schedule content","integrate google sheets","apply ai writing"],"estimated_setup_minutes":25,"required_services":["linkedin","google sheets","openai"],"key_features":["automated content generation","scheduled posting","topic research","multi-node workflow","structured data handling"],"target_audience":["social media managers","content creators","marketing professionals"]}


name: Generate Shopify product images using AI Agent and deAPI
author_name: deAPI Team
author_username: deapi
categories: []
created_at: 2026-02-25T12:21:31.519Z
updated_at: 2026-02-25T12:21:31.519Z
url: https://n8n.io/workflows/13704
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  Who is this for?

  E-commerce store owners using Shopify                                                                                                     
  Product managers who need consistent product imagery                                                                                      
  Marketing teams looking to automate visual content creation                                                                               
  Dropshipping businesses needing quick product photos

  What problem does this solve?

  Creating professional product images is time-consuming and expensive. This workflow eliminates the need for manual photo editing by automatically generating styled hero images and transparent PNGs ready for your product catalog.

  What this workflow does

  Triggers when a new product is created in Shopify
  Extracts product title, description, category, and tags
  AI Agent analyzes the product data and uses the deAPI Prompt Booster tool to create an optimized image generation prompt
  Generates a professional product image using deAPI
  Removes background to create a transparent PNG version
  Updates the Shopify product with both images (hero + transparent)

  Setup

  Requirements
  n8n instance** (self-hosted or n8n Cloud)
  deAPI account for image generation and prompt boosting
  Shopify scopes: read_products, write_products, write_files
  Anthropic account for the AI Agent

  Installing the deAPI Node
  n8n Cloud: Go to **Settings → Community Nodes and toggle the "Verified Community Nodes" option
  Self-hosted: Go to **Settings → Community Nodes and install n8n-nodes-deapi

  Configuration
  Add your deAPI credentials (API key + webhook secret)
  Add your Shopify credentials (Shop subdomain + APP secret key + Access token)
  Add your Anthropic credentials (API key)
  Ensure your n8n instance has an HTTPS webhook URL
  Set up the webhook URL for the product creation event in Shopify

  How to customize this workflow

  Change the AI model**: Swap Anthropic for any other LLM providers
  Adjust the prompt**: Modify the AI Agent system message for different photography styles
  Add more processing**: Insert upscaling(e.g. deAPI Upscale an Image) or additional image transformations
  Different e-commerce platform**: Replace Shopify nodes with WooCommerce, BigCommerce, etc.
  Add human review**: Insert a Wait node + Slack notification before uploading to Shopify

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.shopifyTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-deapi.deapi","n8n-nodes-deapi.deapi","n8n-nodes-base.shopify","n8n-nodes-deapi.deapiTool","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4884 characters]

metadata_json:
  {"categories":["E-commerce","Marketing","AI/ML"],"complexity":"medium","use_cases":["Automate product image generation","Create consistent visual content","Generate product photos for e-commerce"],"estimated_setup_minutes":30,"required_services":["Shopify","Anthropic (Claude)","deAPI"],"key_features":["AI-assisted product image generation","Automated visual content workflow","Structured data output from AI agents"],"target_audience":["e-commerce store owners","product managers","marketing teams"]}


name: Track Google rankings daily with Decodo and Google Sheets
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2026-02-26T14:47:22.198Z
updated_at: 2026-02-26T14:47:22.198Z
url: https://n8n.io/workflows/13736
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  Automatically monitor your keyword positions on Google every day. This workflow uses Decodo to pull live search results and logs them straight into Google Sheets, no manual checking needed.

  Why This Workflow?

  Save Time: No more spending an hour every morning checking rankings by hand. Everything runs on autopilot.  
  Save Money: Skip expensive SEO tools that charge per keyword for basic rank tracking.  
  Accurate Data: Every result — including meta descriptions and URLs — gets recorded without copy-paste mistakes.  
  Easy to Scale: Want to add more keywords, switch countries, or change devices? Just tweak one config node.

  Who Is This For?

  SEO Specialists:** Keep tabs on daily keyword movements for clients or internal projects.
  Content Marketers:** See how your latest content stacks up against competitors for target keywords.
  Digital Agencies:** Deliver automated ranking reports to clients without touching a spreadsheet manually.

  How It Works

  Scheduled Start: The workflow kicks off every morning at 9:00 AM using the Schedule Trigger.
  Set Parameters: Keyword, country code (e.g., "id"), language ("en"), and device type are defined upfront.
  Fetch Results: The Decodo node runs a live Google search based on your settings.
  Filter & Validate: The workflow strips out ads, maps, and snippets — keeping only organic results with valid URLs.
  Store Rankings: Top results (e.g., Top 5) get appended to a "SERP_Results" tab in Google Sheets.
  Log Issues: If something goes wrong (API timeout, empty results), errors are recorded in a separate "SERP_Errors" tab.

  What You Need

  | Requirement | Purpose |
  |-------------|---------|
  | n8n instance | Platform to run the workflow |
  | Decodo API | Pulls live Google Search data |
  | Google Sheets | Stores ranking data and error logs |

  Setup Steps

  Import the JSON file into your n8n instance.
  Add your credentials:
     Decodo API: Sign up at Decodo, grab your API key, and paste it into the Decodo Search node.
     Google Sheets: Connect your Google account via OAuth2. Make sure your spreadsheet has two tabs: SERP_Results and SERP_Errors.
  Select your spreadsheet: In the Write SERP Results and Write SERP Errors nodes, pick the spreadsheet you prepared.
  Adjust your settings: Open the Set Search Input node to change the keyword, country code, and how many results to track (top_n).
  Run a test: Click "Test Workflow" and confirm the data shows up in your Google Sheet.

  How the Logic Works

  The workflow uses a Split Out + Extract Organic approach. Even when Google returns mixed results like ads, map packs, or featured snippets, this setup specifically targets organic blue links. The "Valid Row" check keeps your spreadsheet clean by only saving results that fall within your Top N threshold.

  Customization

  Quick Changes:
  Run Frequency:** Switch the Schedule Trigger to hourly, weekly, or whatever fits your needs.
  Rank Depth:** Change the top_n value in the input node to track the Top 10, 20, or 50.

  Going Further:
  Slack Alerts:** Add a Slack node to notify your team when a keyword drops out of the Top 3.
  Multiple Keywords:** Swap the "Set" node with a Google Sheet "Read" node to loop through hundreds of keywords at once.

  Real-World Examples

  Competitor Tracking for E-commerce
  Problem: A retail brand needs to know who's ranking for "best running shoes" every day.  
  Solution: This workflow checks the Top 5 results each morning, making it easy to spot when a competitor's blog post overtakes their product page.  
  Outcome: The marketing team catches ranking drops within 24 hours and updates content right away.

  Local SEO Monitoring
  Problem: A service business wants to track rankings specifically in Indonesia ("id") using English ("en") search settings.  
  Solution: By setting the country and language parameters in the Set node, the workflow captures localized search data accurately.  
  Outcome: The business gets a clear view of their local visibility without needing a VPN.

  Created by: Khairul Muhtadin  
  Category: Marketing | Tags: SEO, SERP, Google Sheets, Decodo  
  Need custom workflows? Contact us

  Connect with the creator:  
  Portfolio • Store • LinkedIn • Medium • Threads

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","@decodo/n8n-nodes-decodo.decodo","n8n-nodes-base.if","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4496 characters]

metadata_json:
  {"categories":["Marketing","Data Processing"],"complexity":"simple","use_cases":["Daily keyword tracking","SEO performance monitoring","Competitor ranking analysis"],"estimated_setup_minutes":15,"required_services":["Google Sheets","Decodo"],"key_features":["Automated daily execution","Live search result parsing","No-code data logging"],"target_audience":["Marketers","SEO specialists"]}


name: Track daily Google SERP rankings with Decodo and Google Sheets
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2026-02-26T14:47:26.224Z
updated_at: 2026-02-26T14:47:26.224Z
url: https://n8n.io/workflows/13737
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  Automate your SEO competitive analysis with this daily SERP tracker. This workflow uses Decodo to scrape Google Search results for specific keywords and logs rankings directly into Google Sheets, saving SEO teams hours of manual reporting.

  Why Use This Workflow?

  Time Savings: Reduces manual rank checking from 60 minutes daily to 0 minutes through full automation.  
  Cost Reduction: Eliminates the need for expensive "per-keyword" SEO tracking software for basic monitoring needs.  
  Error Prevention: Captures 100% of search data accurately, including meta descriptions and URLs, without human copy-paste errors.  
  Scalability: Easily monitor dozens of keywords across different countries and devices by adjusting a single configuration node.

  Ideal For

  SEO Specialists:** Track keyword movements and SERP feature changes for clients or internal projects daily.
  Content Marketers:** Monitor how new content pieces are ranking against competitors for target high-intent keywords.
  Digital Agencies:** Provide automated, transparent ranking reports to clients without manual data entry.

  How It Works

  Trigger: The workflow starts every morning at 9:00 AM via the Schedule Trigger.
  Data Collection: Parameters like keyword, country (e.g., "id"), language ("en"), and device type are defined.
  Processing: The Decodo node executes a live Google search based on your specific localized parameters.
  Intelligence Layer: The workflow filters the raw JSON response to extract organic results only and validates that each result has a valid URL.
  Output & Delivery: Top-ranked results (e.g., Top 5) are appended to a "SERP_Results" Google Sheet.
  Storage & Logging: Any errors (API timeouts or empty results) are automatically logged to a separate "SERP_Errors" sheet for troubleshooting.

  Setup Guide

  Prerequisites

  | Requirement | Type | Purpose |
  |-------------|------|---------|
  | n8n instance | Essential | Workflow execution platform |
  | Decodo API | Essential | Scrapes live Google Search results |
  | Google Sheets | Essential | Destination for ranking data and error logs |

  Installation Steps

  Import the JSON file to your n8n instance
  Configure credentials:
     Decodo API: Create an account at Decodo and paste your API key into the Decodo Search node.
     Google Sheets: Connect your Google account via OAuth2 and ensure you have a spreadsheet ready with two tabs: SERP_Results and SERP_Errors.
  Update environment-specific values:
     In the Write SERP Results and Write SERP Errors nodes, select your specific Spreadsheet from the dropdown.
  Customize settings:
     Open the Set Search Input node to change the keyword, country code, and the "top_n" (number of ranks to track).
  Test execution:
     Click "Test Workflow" to verify data appears in your Google Sheet.

  Technical Details

  Core Nodes

  | Node | Purpose | Key Configuration |
  |------|---------|-------------------|
  | Set Search Input | Configuration | Defines keyword, geo-location, and rank limit |
  | Decodo Search | Data Acquisition | Performs localized Google Search via API |
  | Split Out | Data Structuring | Converts the API array into individual rows for processing |
  | IF Nodes | Validation | Filters for top-N ranks and ensures data integrity |
  | Google Sheets | Storage | Appends successful data or logs failures |

  Workflow Logic

  The workflow uses a Split Out and Extract Organic strategy. This ensures that even if Google returns various SERP features (ads, maps, snippets), the workflow specifically targets the organic blue links. The "Valid Row" logic ensures your spreadsheet stays clean by only recording results that meet your "Top N" criteria (e.g., only store the top 5 results).

  Customization Options

  Basic Adjustments:
  Search Frequency:** Change the Schedule Trigger to run weekly or hourly depending on your needs.
  Rank Depth:** Change the top_n value in the input node to track the Top 10, 20, or 50 results.

  Advanced Enhancements:
  Slack Notifications:** Add a Slack node to alert your team if a specific keyword drops out of the Top 3.
  Multi-Keyword Support:** Replace the "Set" node with a Google Sheet "Read" node to loop through a list of hundreds of keywords.

  Troubleshooting

  Common Issues:

  | Problem | Cause | Solution |
  |---------|-------|----------|
  | Empty Google Sheet | No results found for keyword | Check the SERP_Errors sheet for the raw API response. |
  | Permission Error | Google Sheets node not authorized | Re-connect your Google Sheets OAuth2 credentials. |
  | Decodo 401 Error | Invalid API Key | Verify your Decodo API key is active and has remaining credits. |

  Use Case Examples

  Scenario 1: E-commerce Competitor Tracking
  Challenge: A retail brand needs to know who is winning the "best running shoes" keyword daily.  
  Solution: This workflow tracks the Top 5 results every morning, allowing the brand to see when a competitor's blog post overtakes their product page.  
  Result: The marketing team identifies a ranking drop within 24 hours and updates their content immediately.

  Scenario 2: Local SEO Monitoring
  Challenge: A service business wants to monitor rankings specifically in Indonesia ("id") using English ("en") search settings.  
  Solution: By configuring the country and language parameters in the Set node, the workflow captures localized SERP data accurately.  
  Result: The business gets an accurate picture of their local visibility without using a VPN.

  Created by: Khairul Muhtadin  
  Category: Marketing | Tags: SEO, SERP, Google Sheets, Decodo  
  Need custom workflows? Contact us

  Connect with the creator:  
  Portfolio • Store • LinkedIn • Medium • Threads

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","@decodo/n8n-nodes-decodo.decodo","n8n-nodes-base.if","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4428 characters]

metadata_json:
  {"categories":["Marketing"],"complexity":"medium","use_cases":["Track keyword rankings","Monitor SERP positions","Automate SEO reporting","Log search data"],"estimated_setup_minutes":15,"required_services":["Decodo","Google Sheets"],"key_features":["Scrape search results","Schedule daily execution","Log rankings to spreadsheets","Conditional ranking alerts"],"target_audience":["SEO specialists","Digital marketers","Brand managers"]}


name: Get actionable Gmail alerts on Telegram with OpenAI
author_name: Dr. Firas
author_username: drfiras
categories: []
created_at: 2026-02-28T02:24:19.760Z
updated_at: 2026-02-28T02:24:19.760Z
url: https://n8n.io/workflows/13766
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:22
description:
  AI Email Assistant: Get Actionable Gmail Alerts on Telegram

  Who is this for?
  This template is designed for busy professionals, founders, freelancers, and support teams who want to stay on top of important emails without constantly checking Gmail. It’s ideal for anyone who needs instant, actionable notifications directly on Telegram.

  What problem is this workflow solving? / Use case
  Important emails often get buried under newsletters, promotions, and low-priority messages. Constantly refreshing Gmail wastes time and breaks focus.  

  This workflow acts as an AI-powered email filter and alert system. It monitors your inbox, analyzes incoming messages, and sends only relevant, actionable summaries to Telegram — so you can react quickly without inbox overload.

  What this workflow does
  Monitors your Gmail inbox for new emails.
  Uses AI (OpenAI) to analyze and classify each email.
  Extracts key information such as:
    Urgency level  
    Required action  
    Summary of the message  
  Sends a structured, concise alert to Telegram.
  Optionally highlights emails that require:
    Immediate reply  
    Payment confirmation  
    Meeting scheduling  
    Client follow-up  

  The result: you receive smart, decision-ready notifications instead of raw email forwards.

  Setup

  Import the workflow into your n8n instance.  

  Connect Gmail credentials
     Add your Google account in n8n.
     Grant permission to read your inbox.
     Select the mailbox/folder you want to monitor.

  Set up OpenAI credentials
     Add your OpenAI API key in n8n.
     Ensure billing is active.

  Connect Telegram
     Create a Telegram bot via @BotFather.
     Copy the bot token into n8n.
     Add your Chat ID (or group ID) where alerts should be sent.

  Test the workflow
     Send a test email to your Gmail.
     Confirm that a summarized, actionable message appears in Telegram.

  How to customize this workflow to your needs

  Filter specific senders**  
    Modify the Gmail trigger to monitor only emails from clients, payment platforms, or specific domains.

  Adjust AI instructions**  
    Edit the system prompt to:
    Classify emails by priority (High / Medium / Low)
    Detect invoices, contracts, or support requests
    Automatically draft suggested replies

  Change alert format**  
    Customize the Telegram message structure (add emojis, urgency labels, or action buttons).

  Add automation branches**  
    Extend the workflow to:
    Create tasks in Notion or Trello  
    Add calendar events automatically  
    Label emails in Gmail based on AI classification  

  With this template, your inbox becomes an AI-powered assistant that filters noise and delivers only what truly matters — directly to Telegram in real time.
  👋 Need help or want to customize this?
  📩 Contact: LinkedIn  
  📺 YouTube: @DRFIRASS  
  🚀 Workshops: Mes Ateliers n8n

  Need help customizing?
  Contact me for consulting and support : Linkedin / Youtube / 🚀 Mes Ateliers n8n  

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.gmail","n8n-nodes-base.if","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.telegram"]

workflow_json_compressed:
  [encoded data, 4916 characters]

metadata_json:
  {"categories":["Communication","AI/ML","Marketing"],"complexity":"medium","use_cases":["Receive filtered email alerts","Optimize notification delivery","Prioritize important messages"],"estimated_setup_minutes":5,"required_services":["Gmail","Telegram Bot API","OpenAI API"],"key_features":["Unattended email filtering","AI-powered message summarization","Real-time notification delivery"],"target_audience":["busy professionals","founders","support teams"]}


name: Automated NASA Image & Content Publisher for WordPress and Multi-Social Media
author_name: SpaGreen Creative
author_username: spagreen
categories: []
created_at: 2026-02-28T03:53:32.252Z
updated_at: 2026-02-28T03:53:32.252Z
url: https://n8n.io/workflows/13767
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:22
description:
  Who Is This For?
  This workflow is perfect for content creators, digital marketers, and social media managers who want to automatically syndicate their content across multiple platforms. It's ideal for businesses, bloggers, and media outlets looking to maintain a consistent presence across WordPress, Facebook, Instagram, Telegram, and LinkedIn without manual posting efforts.

  What This Workflow Does
  This workflow automates content distribution by monitoring RSS feeds and NASA's Picture of the Day API. It downloads images, applies branded watermarks with custom text and borders, resizes them for optimal display, and publishes the content with captions to multiple social platforms simultaneously. The workflow creates WordPress posts with featured images, shares to Facebook pages, posts to Instagram business accounts, sends to Telegram channels, and publishes to both LinkedIn profiles and company pages.

  Key Features
  Monitors RSS feeds and NASA API for new content
  Downloads and processes images automatically
  Adds branded watermarks with custom text, borders, and colors
  Resizes images to optimal dimensions (1080x1080)
  Creates WordPress posts with featured images and metadata
  Posts to Facebook pages with image and caption
  Publishes to Instagram business accounts
  Sends content to Telegram channels
  Posts to both LinkedIn profiles and company pages
  Maintains consistent branding across all platforms
  Handles multiple content sources in parallel

  Requirements
  RSS Feed URLs** (content sources to monitor)
  WordPress API Credentials** (for creating posts and uploading media)
  Facebook Graph API Access** (for page and Instagram posting)
  Telegram Bot API Token** (for channel posting)
  LinkedIn OAuth2 Credentials** (for profile and page posting)
  Image Processing Tools** (built into n8n)

  Support & Help
  WhatsApp**: Chat on WhatsApp
  Discord**: SpaGreen Community
  Facebook Group**: SpaGreen Support
  Website**: https://spagreen.net
  Developer Portfolio**: Codecanyon SpaGreen

nodes_used:
  ["n8n-nodes-base.nasa","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","n8n-nodes-base.wordpress","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.linkedIn","n8n-nodes-base.linkedIn","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.editImage","n8n-nodes-base.httpRequest","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.wordpress","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.linkedIn","n8n-nodes-base.linkedIn","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.editImage","n8n-nodes-base.httpRequest","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.wordpress","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.linkedIn","n8n-nodes-base.linkedIn","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.editImage","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.rssFeedReadTool","n8n-nodes-base.rssFeedReadTool","n8n-nodes-base.noOp","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.rssFeedReadTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.editImage","n8n-nodes-base.editImage","n8n-nodes-base.editImage","n8n-nodes-base.httpRequest","n8n-nodes-base.rssFeedRead","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4756 characters]

metadata_json:
  {"categories":["Marketing","Communication","Data Processing","Automated Content Management"],"complexity":"medium","use_cases":["Automatic content syndication","Cross-platform social posting","RSS feed monitoring","NASA image integration","WordPress content scheduling"],"estimated_setup_minutes":45,"required_services":["WordPress","Facebook Graph API","LinkedIn","Telegram","Instagram","NASA API","RSS Feeds"],"key_features":["Multi-channel distribution","AI-powered content modification","Conditional posting logic","Scheduled content publishing","Image editing"],"target_audience":["Content creators","Digital marketers","Social media managers"]}


name: Extract invoice data from scanned PDFs to Google Sheets with Sarvam and Gemini
author_name: Divyanshu Gupta
author_username: divyanshugupta
categories: []
created_at: 2026-02-28T14:24:53.267Z
updated_at: 2026-02-28T14:24:53.267Z
url: https://n8n.io/workflows/13779
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  This template is designed for operations, finance, and accounting teams that need to automatically process scanned invoices and extract structured data without manual entry.

  It is ideal for businesses handling vendor invoices, reimbursement forms, or bulk document intake.

  What this workflow does
  This workflow uses Sarvam AI Vision model to perform OCR on scanned invoices and extract raw text. The extracted content is then processed using an LLM to identify key invoice fields such as:

  Vendor name
  Invoice number
  Invoice date
  Total amount
  GST / Tax amount

  The structured data is automatically appended to Google Sheets for tracking, reconciliation, or downstream accounting automation.

  Requirements
  Sarvam Vision API key (configured using HTTP Header credentials)-(https://dashboard.sarvam.ai/key-management)
  Google Gemini API key (configured via Google Gemini credentials in n8n)
  Google Sheets OAuth credentials

  How to set up
  1.) Add your Sarvam API key in Credentials.
  2.) Connect your Google Sheets account.
  3.) Update the target Sheet ID.
  4.)Test with a sample invoice PDF.

  Need Help?
  ask in the Forum!

  Happy Hacking!

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.compression","n8n-nodes-base.extractFromFile","n8n-nodes-base.code","n8n-nodes-base.googleSheets"]

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

metadata_json:
  {"categories":["Data Processing","Finance"],"complexity":"medium","use_cases":["Automate invoice data extraction","Process scanned vendor documents","Convert PDFs to structured spreadsheets","Reduce manual data entry"],"estimated_setup_minutes":45,"required_services":["Google Sheets","Google Gemini","Sarvam AI","HTTP/Webhooks"],"key_features":["OCR processing on scanned documents","LLM-based field extraction","Automatic data mapping to key-value pairs","Bulk document handling"],"target_audience":["accountants","finance managers","operations staff"]}


name: Auto-heal failing workflows with Azure OpenAI, n8n API, and Slack alerts
author_name: Rahul Joshi
author_username: rahul08
categories: []
created_at: 2026-03-02T06:31:57.803Z
updated_at: 2026-03-02T06:31:57.803Z
url: https://n8n.io/workflows/13791
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:22
description:
  📊 Description
  Eliminate manual troubleshooting with an AI-powered autonomous recovery engine for n8n 🤖. This system monitors your entire n8n instance for failures, analyzes the root cause using Azure OpenAI, and automatically repairs broken workflows in real-time. By distinguishing between temporary network glitches and logic errors, it either retries the execution or dynamically patches the workflow JSON via the n8n API. It provides a "closed-loop" automation experience, ensuring your mission-critical processes stay online without human intervention 🔍⚡.

  What This Template Does
  Monitors All Workflows: Captures errors globally across your instance via the Error Trigger.
  Prevents Infinite Loops: Automatically filters out errors originating from the healing system itself.
  Fetches Live Context: Pulls the complete, latest JSON structure of the failing workflow for analysis.
  AI Root Cause Analysis: Uses Azure OpenAI (GPT-4o) to diagnose if the issue is a "RETRY" (timeout/rate limit) or a "FIX" (invalid parameter/logic).
  Autonomous Patching: For logic errors, a JavaScript engine injects the AI's corrected values directly into the workflow code.
  Human-in-the-Loop Alerts: Sends detailed Slack notifications for successful auto-fixes or requests manual help if the error is too complex.

  Key Benefits
  ✅ 24/7 Autonomous Reliability: Workflows fix themselves while you sleep, reducing downtime significantly.
  ✅ Intelligent Recovery: Moves beyond simple retries by actually correcting "hard" errors like broken IDs or missing parameters.
  ✅ Production-Grade Governance: Adds a safety layer to your automation stack that learns and adapts to errors.

  Features

  Global Error Listener: Catch-all trigger for instance-wide monitoring.
  Dual-Path Recovery: Distinct logic branches for transient vs. permanent failures.
  Wait-State Logic: Built-in "cool down" periods to respect external API rate limits during retries.
  AI Patching Engine: Structured output parsing ensures the AI provides valid, deployable code changes.
  Slack Integration: Real-time visibility into the "healing" process with deep-links to specific executions.

  Requirements
  n8n Instance: (Cloud or Self-hosted) with API access enabled.
  Azure OpenAI Account: With GPT-4o deployment and valid API credentials.
  n8n API Key: To allow the system to read and update workflows.
  Slack App: For receiving diagnostic alerts and success notifications.

  Target Audience
  Enterprise Automation Teams: Managing high volumes of mission-critical workflows.
  n8n Power Users: Looking to build "bulletproof" automation infrastructure.
  SaaS Founders: Ensuring customer-facing integrations remain stable.
  Managed Service Providers (MSPs): Offering proactive automation monitoring and maintenance.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatAzureOpenAi","n8n-nodes-base.errorTrigger","n8n-nodes-base.filter","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.switch","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.slack","n8n-nodes-base.slack","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, 5676 characters]

metadata_json:
  {"categories":["Operating Governance","AI/ML","Communication"],"complexity":"complex","use_cases":["automatic error recovery","real-time workflow healing","root cause analysis","dynamic workflow patching","uptime monitoring"],"estimated_setup_minutes":45,"required_services":["Azure OpenAI","n8n API","Slack"],"key_features":["AI-powered failure diagnosis","automatic retry logic","JSON workflow automation","real-time patching","closed-loop automation"],"target_audience":["system administrators","automation engineers","DevOps specialists"]}


name: Creator sponsorship and brand deals CRM
author_name: Paul Abraham
author_username: hellopaul
categories: []
created_at: 2026-03-03T12:39:10.116Z
updated_at: 2026-03-03T12:39:10.116Z
url: https://n8n.io/workflows/13837
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  This n8n template automates the entire sponsorship pipeline for content creators by combining Gmail inbox monitoring, AI-powered deal classification, Notion CRM logging, and automated follow-up reminders to deliver a complete brand deal management system without switching between tools.

  Instead of manually tracking sponsorship emails in scattered spreadsheets or losing deals in your inbox, this workflow focuses on structured pipeline management, AI-drafted replies, and consistent follow-ups including surfacing deals that have gone quiet and need a nudge.

  Use cases
  Automatically detect and classify sponsorship inquiries from your Gmail inbox
  Extract company name, contact, budget, campaign type, and channel from emails using AI
  Log every deal to a Notion CRM with deal stage, follow-up date, and notes
  Receive instant Telegram alerts with AI-drafted reply suggestions
  Get daily follow-up reminders for stale deals with ready-to-send email drafts
  Generate a monthly sponsorship revenue report with AI insights and channel breakdowns
  Power a professional creator business ops system with zero manual data entry

  Good to know
  This workflow monitors your Gmail inbox every minute, uses an AI model to classify emails and draft replies, and syncs all deal data to a Notion database. It does not auto-send emails all replies are reviewed by you before sending, keeping you in full control of brand relationships. The system is designed for solo creators and indie founders who want agency-level pipeline management without hiring an assistant. Setup typically takes 15–20 minutes.

  Requirements
  n8n Cloud or self-hosted instance
  Gmail account with OAuth2 access
  OpenAI API key (GPT-4o-mini recommended)
  Notion account with an integration token
  Telegram Bot Token + Chat ID
  Notion database (schema provided inside)

  Customising this workflow
  Replace Telegram with Slack or Discord for team alerts
  Swap Notion for Airtable or Google Sheets as your CRM
  Add a Gmail auto-send node if you want fully automated reply sending
  Adjust the AI classification prompt to include keywords specific to your niche
  Extend the monthly report to include platform-level breakdowns (YouTube vs Newsletter vs X)
  Adapt the follow-up logic to trigger after custom intervals per deal stage

  Flows included

  Flow A — Inbound sponsorship detection, AI classification, Notion CRM logging, reply drafting

  Flow B — Daily follow-up checker with AI-generated nudge drafts

  Flow C — Monthly revenue report with AI insights delivered via Telegram and Gmail

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.gmailTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.notion","n8n-nodes-base.if","n8n-nodes-base.notion","n8n-nodes-base.notion","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.telegram","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.notion","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.telegram","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.notion","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.telegram","n8n-nodes-base.gmail"]

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

metadata_json:
  {"categories":["Marketing","Communication"],"complexity":"medium","use_cases":["manage brand deals","track sponsorship pipeline","classify deals with AI","automate follow-up emails"],"estimated_setup_minutes":45,"required_services":["Gmail","Notion","Telegram","AI/ML"],"key_features":["email monitoring","AI deal classification","CRM logging","automated follow-ups"],"target_audience":["content creators","marketing managers","deal managers"]}


