# templates

name: Back up and restore n8n workflows with GitHub sync
author_name: Muhammad Anas Farooq
author_username: anasn-farooq
categories: []
created_at: 2026-01-15T09:03:56.419Z
updated_at: 2026-01-15T09:03:56.419Z
url: https://n8n.io/workflows/12721
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  n8n Workflows GitHub Manager

  &gt; A comprehensive n8n workflow that provides complete bidirectional sync between your n8n instance and GitHub - automatically backs up all your workflows with intelligent change detection AND restores them when needed.

  This workflow combines two powerful features in one:
  Backup**: Automatically detects new, edited, renamed, and deleted workflows in your n8n instance, then syncs them to GitHub with smart commit messages and an index tracking system.
  Restore**: Easily restore all workflows from your GitHub repository back to n8n - perfect for disaster recovery, new instance setup, or environment cloning.

  How It Works

  🔄 Backup Mode (Automatic)

  Trigger: Runs automatically every day at 7 PM UTC (or manually when triggered via the Schedule Trigger).
  Get/Create Index: Attempts to fetch index.json from your GitHub repository.
     If found → Downloads and parses it.
     If not found → Creates a new empty index file and waits 3 seconds for GitHub to process.
  Fetch All Workflows: Retrieves all workflows from your n8n instance via the n8n API.
  Smart Comparison: The "C,E,D Checker" (Create, Edit, Delete) analyzes differences:
     CREATE → New workflow not in index.
     RENAME → Workflow name changed (deletes old file, creates new one).
     EDIT → Existing workflow (flagged for content comparison).
     DELETE → Workflow removed from n8n but still in GitHub.
     INDEX UPDATE → Triggered if any changes detected.
  Route Actions: Switch node routes each action to the appropriate branch:
     Create Branch → Creates new workflow files in GitHub.
     Edit Branch → Performs smart edit detection:
       Fetches current file from GitHub.
       Compares GitHub version vs. n8n version (normalized JSON).
       Only commits if content actually changed (avoids timestamp-only updates).
     Delete Branch → Removes workflow files from GitHub.
     Update Index Branch → Updates index.json with latest mappings.
  Commit Messages: Auto-generated with format: [Workflow Name] (Action) YYYY-MM-DD

  ⬇️ Restore Mode (Manual)

  Trigger: Manually execute via the "When clicking 'Execute workflow'" manual trigger.
  Set GitHub Details: Configure your repository owner and name.
  List Workflow Files: Fetches all workflow JSON files from the workflows/ folder in your GitHub repository.
     If folder not found → Workflow stops gracefully (ensure backup ran at least once first).
  Loop Through Files: Sequentially processes each workflow file:
     Downloads the JSON content from GitHub.
     Creates the workflow in your n8n instance via the n8n API.
  Sequential Processing: Handles one workflow at a time to prevent conflicts and respect rate limits.
  Result: All workflows from GitHub are restored to your n8n instance.

  Requirements

  GitHub OAuth2 Credentials**:
    Go to GitHub Developer Settings → OAuth Apps → New OAuth App.
    Set Authorization callback URL to your n8n instance URL (e.g., https://your-n8n.com/rest/oauth2-credential/callback).
    Copy Client ID and Client Secret.
    Add as OAuth2 credential in n8n (Credentials → New → GitHub OAuth2).

  GitHub Repository**:
    Create a new repository (public or private).
    Note your username (repo owner) and repository name.

  n8n API Credentials**:
    In your n8n instance → Settings → API → Create new API key.
    Add as n8n API credential in the workflow.

  How to Use

  Initial Setup

  Import the Workflow:
     Copy the provided JSON file.
     In your n8n instance → click Import Workflow → paste or upload the JSON.

  Create GitHub Repository:
     Go to GitHub → Create a new repository (e.g., n8n-workflows-manager).
     Leave it empty (no README, no .gitignore).

  Set Up GitHub OAuth2:
     In n8n → Credentials → New → GitHub OAuth2.
     Fill in:
       Client ID → from GitHub OAuth App.
       Client Secret → from GitHub OAuth App.
     Click Connect my account and authorize.

  Set Up n8n API Credentials:
     In n8n → Settings → API → Create new API key.
     Copy the key.
     In workflow → Credentials → New → n8n API → paste the key.
     Set Base URL to your n8n instance (e.g., https://your-n8n.com).

  Configure Repository Details:
     Find both "Set Github Data" nodes in the workflow (one for backup, one for restore).
     Edit the assignments in each:
       repo_owner: Replace "your-github-username" with your GitHub username.
       repo_name: Replace "your-github-repository-name" with your repository name.

  Connect Credentials to Nodes:
     Open each GitHub node (there are 8 total):
       Backup section: Create Index File, Get Download Url for Index File, Create New Files, Update Index File, Get Download Url for Github File, Delete Files, Edit Files
       Restore section: List Workflow Files
     Set Credential for GitHub OAuth2 to the one you created.
     Open the n8n API nodes (Get All Workflows, Create Workflow) → Set Credential for n8n API to the one you created.

  Using Backup Mode

  Test Backup:
     Click the "Schedule Trigger" node at the top of the workflow.
     Click "Test workflow".
     Monitor execution → All nodes in the backup section should turn green.
     Check your GitHub repository → Should see index.json and workflows/ folder with your workflows.

  Activate for Auto Backup:
     Once tested successfully, toggle the workflow to Active.
     It will now run automatically every day at 7 PM UTC.

  Using Restore Mode

  Test Restore (only after you have backups in GitHub):
     Click the "When clicking 'Execute workflow'" manual trigger node at the bottom.
     Click "Test workflow".
     Monitor execution → All nodes in the restore section should turn green.
     Check your n8n workflows list → All workflows from GitHub should now be present.

  When to Use Restore:
      Setting up a new n8n instance.
      Recovering after data loss.
      Cloning workflows to another environment.
      Rolling back to a previous state (manually download older commits from GitHub first).

  Important Notes

  Smart Edit Detection**: Uses normalized JSON comparison to avoid unnecessary commits when only timestamps change.
  Credentials**: Credential IDs are included but not actual secrets. You must reconnect credentials after restore.
  Restored Workflows: Created as new workflows with new IDs in **inactive state by default.
  File Structure**: index.json tracks all workflows; workflows/ folder contains individual workflow files.
  Security**: Use a private repository if workflows contain sensitive data. Credential secrets are never backed up.

  Customization

  Change Schedule**: Edit "Schedule Trigger" node → modify triggerAtHour (default: 19 = 7 PM UTC)
  File Path**: Modify filePath in GitHub nodes to change storage location
  Notifications**: Add email/notification nodes to get alerts on backup completion
  Selective Restore**: Add IF nodes to filter which workflows to restore
  Multiple Repos**: Duplicate workflow for separate prod/dev backups

  Author: Muhammad Anas Farooq

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.github","n8n-nodes-base.github","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.manualTrigger","n8n-nodes-base.wait","n8n-nodes-base.n8n","n8n-nodes-base.code","n8n-nodes-base.github","n8n-nodes-base.github","n8n-nodes-base.github","n8n-nodes-base.switch","n8n-nodes-base.github","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.github","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.if","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.github","n8n-nodes-base.n8n","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8732 characters]

metadata_json:
  {"categories":["DevOps","Data Processing","Communication"],"complexity":"medium","use_cases":["backup workflows to git","restore workflows from git","sync workflow changes","track workflow versions"],"estimated_setup_minutes":15,"required_services":["GitHub","n8n REST API","n8n Credentials"],"key_features":["bidirectional sync","intelligent change detection","automatic commit messages","index tracking system","manual restore capability"],"target_audience":["developers","ops engineers","workflow admins"]}


name: Create an AI chatbot for WhatsApp with Whapi.Cloud and OpenAI GPT-3.5
author_name: Jason Mitchell
author_username: whapi-cloud
categories: []
created_at: 2026-01-15T09:36:21.434Z
updated_at: 2026-01-15T09:36:21.434Z
url: https://n8n.io/workflows/12722
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  How it works:
  • Receives WhatsApp messages via webhook from Whapi.Cloud
  • Routes commands: AI chat (/ai), numeric commands (1-9), or help menu
  • Sends responses: text, images, documents, videos, contacts, product info
  • Manages WhatsApp groups: create, send messages, list groups
  • Integrates with OpenAI ChatGPT for AI-powered conversations

  Set up steps:
  Setup takes ~5-10 minutes. Import the workflow, configure Whapi.Cloud credentials (token from dashboard), set up webhook URL in Whapi.Cloud settings, and optionally add OpenAI API key for AI chat. Activate the workflow and start receiving messages.

  Key features:
  • No Meta restrictions or approval
  • Visual no-code workflow - easy to customize
  • Production-ready with error handling
  • Well-documented with sticky notes inside the workflow

  Perfect for businesses, developers, and automation enthusiasts who want WhatsApp automation without coding.

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

workflow_json_compressed:
  [encoded data, 9504 characters]

metadata_json:
  {"categories":["Communication","AI/ML","Automation"],"complexity":"medium","use_cases":["Build WhatsApp chatbots","Route user commands","Send media messages","Manage group chats","Integrate AI responses"],"estimated_setup_minutes":10,"required_services":["Whapi.Cloud","OpenAI GPT-3.5","WhatsApp"],"key_features":["Webhook message reception","Command routing logic","Multi-media messaging","WhatsApp group management","AI-powered conversation handling"],"target_audience":["developers","customer support","business owners"]}


name: Automated error monitoring and reporting system using data tables
author_name: Harshal Patil
author_username: harshalpatil
categories: []
created_at: 2026-01-15T11:59:03.298Z
updated_at: 2026-01-15T11:59:03.298Z
url: https://n8n.io/workflows/12724
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:22
description:
  Automated error monitoring and reporting system using data tables

  This template helps you monitor workflow failures by automatically logging every error to a data table, then sending periodic summaries via email, Slack, Microsoft Teams, or Discord—so you catch issues before they impact your operations.

  What This Workflow Does

  The template uses two synchronized workflows to create a complete error monitoring system:

  Error Capture Workflow - Uses n8n's native error handling to intercept every workflow failure, extract key details (workflow name, error message, timestamp, node information, execution ID), and store them in your data table or database
  Report Scheduler Workflow - Runs on your configured schedule (daily, weekly, or custom) to query stored errors, aggregate insights, and send formatted summaries through your notification channel

  How to Use It

  Capture errors from all workflows → Store them in one centralized table → Get daily/weekly summaries in Slack, email, or Teams

  ✨ Key Features

  Zero-touch error logging** - No modifications needed to existing workflows; errors are captured automatically
  Flexible storage** - Configure any data table, PostgreSQL, MySQL, MongoDB, or cloud database as your error repository
  Multiple notification channels** - Send reports via email, Slack, Microsoft Teams, Discord, or custom HTTP endpoints
  Customizable schedules** - Daily, weekly, or custom-interval reporting to match your team's needs
  Rich error context** - Every logged error includes workflow name, error message, affected node, timestamp, and execution ID for quick troubleshooting
  Historical database** - Build a searchable error archive for pattern analysis and long-term debugging

  🚀 Use Cases

  Monitor production workflows** - DevOps and platform teams tracking system health across multiple automated processes
  Debug ETL failures** - Data engineers identifying where pipelines break and why
  Oversee complex automation** - Teams managing dozens of interconnected workflows without manual checks
  Stay informed as a solo developer** - Get notified of issues without constantly logging into n8n

  📋 Prerequisites

  n8n instance (self-hosted or n8n Cloud)
  Data storage (PostgreSQL, MySQL, MongoDB, n8n's built-in tables, or similar)
  Notification service configured (Gmail, Slack, Teams, Discord, or custom webhook)

  ⚙️ Configuration Steps

  Connect your data storage - Point the error capture workflow to your chosen database or data table
  Enable error monitoring - Activate the error handling trigger for workflows you want to monitor
  Set reporting schedule - Choose daily, weekly, or custom intervals for your summary reports
  Configure notifications - Add your Slack webhook, email address, Teams channel, or Discord endpoint
  Customize report format - Optionally adjust which error metrics and insights appear in summaries

  💡 Customization Ideas

  Add error severity levels (critical, warning, info) to prioritize failures
  Set up real-time critical error alerts in addition to scheduled reports
  Create workflow-specific error thresholds and escalation rules
  Integrate with PagerDuty or Opsgenie for incident management
  Add visualizations or charts to your error summaries
  Implement automatic retry logic for specific error types

  📊 Sample Error Summary Output

  Your reports will include:
  Total errors in the reporting period
  Error count breakdown by workflow
  Most frequently occurring error types
  Error timeline and trends
  Direct links to failed executions for quick debugging

  🔧 Maintenance Tips

  Review error patterns monthly to identify workflows that need optimization
  Archive or delete old error logs periodically to keep your database performant
  Adjust reporting frequency as your workflow volume grows
  Update notification recipients when team members join or leave

nodes_used:
  ["n8n-nodes-base.errorTrigger","n8n-nodes-base.filter","n8n-nodes-base.aggregate","n8n-nodes-base.timeSaved","n8n-nodes-base.splitOut","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmail","n8n-nodes-base.dataTable","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolCalculator","n8n-nodes-base.sort","n8n-nodes-base.filter","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.html","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6520 characters]

metadata_json:
  {"categories":["DevOps","Monitoring"],"complexity":"medium","use_cases":["error monitoring","failure logging","ops alerts","incident reporting","audit tracking"],"estimated_setup_minutes":20,"required_services":["Gmail","Slack","Microsoft Teams","Discord","MySQL"],"key_features":["automatic error capture","periodic notifications","structured error logging","multi-channel alerts","root cause analysis"],"target_audience":["ops engineers","site reliability engineers","tech leads"]}


name: Verify AI draft answers with Pearl Hybrid Intelligence and OpenAI
author_name: Vitaliy
author_username: votek
categories: []
created_at: 2026-01-15T12:22:26.757Z
updated_at: 2026-01-15T12:22:26.757Z
url: https://n8n.io/workflows/12725
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Pearl Hybrid Intelligence: AI draft + expert verification (across 100+ expert domains)

  Deliver higher-confidence answers by combining an AI assistant with professional human verification.

  Pearl provides access to a network of 20,000 licensed experts (including JDs, MDs, PhDs, DVMs, CPAs, engineers) across 100+ domains - Legal and Health are just examples, and the prompts can be tuned for many other areas.

  What this template does
  Lets users ask questions in a conversational format (your app sends the conversation history).
  Collects any missing intake details before answering.
  Generates a clear draft answer using AI.
  Sends the draft to a Pearl expert for professional verification.
  Returns the verified answer back to the user, including who verified it.

  How it works (non-technical)
  A user asks a question.
  If the assistant needs more context, it asks one focused follow-up question.
  Once the assistant has enough information, it drafts a complete answer.
  That draft is automatically reviewed by a qualified Pearl expert.
  The user receives the verified answer, along with expert attribution.

  Setup steps (10–15 minutes)
  Connect your OpenAI credential in n8n (used for intake + drafting).
  Add your Pearl MCP Server API key (used for expert verification). You can request a demo access key here:
    https://www.pearl.com/enterprise/contact-get-started
  Activate the workflow and send a test request using the example payload below.

  Customization
  The intake and draft answer prompts can be adjusted to match end-user needs (domain, tone, risk policy, compliance requirements).
  You can also modify the response format (fields returned, disclaimers, attribution formatting) without changing the core flow.

  Input payload format (conversation history)
  Send a JSON body like:

  {
    "model": "gpt-4o-mini",
    "messages": [
      { "role": "user", "content": "My question..." }
    ]
  }

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

workflow_json_compressed:
  [encoded data, 5012 characters]

metadata_json:
  {"categories":["AI/ML","Knowledge Verification"],"complexity":"medium","use_cases":["verify AI responses","professional fact-checking","expert consultation workflow"],"estimated_setup_minutes":45,"required_services":["OpenAI","Pearl Hybrid Intelligence"],"key_features":["AI-assisted drafting","human expert verification","domain-specific validation"],"target_audience":["content creators","knowledge workers","QA specialists"]}


name: Create AI screencast videos with Claude, VEED, OpenAI and automated slides
author_name: VEED
author_username: veed
categories: []
created_at: 2026-01-15T14:24:24.281Z
updated_at: 2026-01-15T14:24:24.281Z
url: https://n8n.io/workflows/12728
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Create AI screencast videos with VEED and automated slides

  Overview

  This n8n workflow automatically generates presentation-style "screen recording" videos with AI-generated slides and a talking head avatar overlay. You provide a topic and intention, and the workflow handles everything: scriptwriting, slide generation, avatar creation, voiceover, and video composition.

  Output: Horizontal (16:9) AI-generated videos with animated slides as the main content and a lip-synced avatar in picture-in-picture, ready for YouTube, LinkedIn, or professional presentations.

  What It Does

  Topic + Intention → Claude writes script → Parallel processing:
                                              ├── OpenAI generates avatar → ElevenLabs voiceover → VEED lip-sync
                                              └── FAL Flux Pro generates slides
                                            → Creatomate composites everything → Saved to Google Drive + logged to Sheets

  Pipeline Breakdown

  | Step | Tool | What Happens |
  |------|------|--------------|
  | 1. Script Generation | Claude Sonnet 4 | Creates hook, script (25-40 sec), slide prompts, caption, and avatar description |
  | 2. Avatar Generation | OpenAI gpt-image-1 | Generates photorealistic portrait image (1024×1536) |
  | 3. Slide Generation | FAL Flux Pro | Creates 5-7 professional slides (1920×1080) with text overlays |
  | 4. Voiceover | ElevenLabs | Converts script to natural speech (multiple voice options) |
  | 5. Talking Head | VEED Fabric 1.0 | Lip-syncs avatar to audio, creates 9:16 talking head video |
  | 6. Video Composition | Creatomate | Combines slides + avatar in 16:9 PiP layout |
  | 7. Storage | Google Drive | Uploads final MP4 |
  | 8. Logging | Google Sheets | Records all metadata (script, caption, URLs, timestamps) |

  Required Connections

  API Keys (entered in Configuration node)

  | Service | Key Type | Where to Get |
  |---------|----------|--------------|
  | Anthropic | API Key | https://console.anthropic.com/settings/keys |
  | OpenAI | API Key | https://platform.openai.com/api-keys |
  | ElevenLabs | API Key | https://elevenlabs.io/app/settings/api-keys |
  | FAL.ai | API Key | https://fal.ai/dashboard/keys |
  | Creatomate | API Key | https://creatomate.com/dashboard/settings |

  &gt; ⚠️ OpenAI Note: gpt-image-1 requires organization verification. Go to https://platform.openai.com/settings/organization/general to verify.

  n8n Credentials (connect in n8n)

  | Node | Credential Type | Purpose |
  |------|-----------------|---------|
  | 🎬 Generate Talking Head (VEED) | FAL.ai API | VEED video rendering |
  | 📤 Upload to Drive | Google Drive OAuth2 | Store final videos |
  | 📝 Log to Sheets | Google Sheets OAuth2 | Track all generated content |

  Configuration Options

  Edit the ⚙️ Workflow Configuration node to customize:

  {
    // 📝 CONTENT SETTINGS
    topic: "How AI is transforming content creation",
    intention: "informative",                    // informative, lead_generation, disruption
    brand_name: "YOUR_BRAND_NAME",
    target_audience: "sales teams and marketers",
    trending_hashtags: "#AIvideo #ContentCreation #VideoMarketing",
    
    // 🎨 SLIDE STYLE
    slide_style: "vibrant_colorful",            // See slide styles below
    
    // 🎥 VIDEO SETTINGS
    video_resolution: "720p",                   // VEED only supports 720p
    seconds_per_slide: 6,                       // How long each slide shows
    
    // 🖼️ BACKGROUND (Optional)
    background: "",                             // URL, gradient array, or empty
    
    // 🔑 API KEYS (Required)
    anthropic_api_key: "YOUR_ANTHROPIC_API_KEY",
    openai_api_key: "YOUR_OPENAI_API_KEY",
    elevenlabs_api_key: "YOUR_ELEVENLABS_API_KEY",
    creatomate_api_key: "YOUR_CREATOMATE_API_KEY",
    fal_api_key: "YOUR_FAL_API_KEY",
    
    // 🎤 VOICE SELECTION
    voice_selection: "susie",                   // cristina, enrique, susie, jeff, custom
    
    // 🎨 AVATAR OPTIONS (Optional)
    custom_avatar_description: "",              // Leave empty for AI-generated
    custom_avatar_image_url: "",                // Direct URL to use existing image
    
    // 📝 CUSTOM SCRIPT (Optional)
    custom_script: ""                           // Leave empty for AI-generated
  }

  Slide Style Options

  | Style | Description | Best For |
  |-------|-------------|----------|
  | dark_professional | Dark gradients, white text, sleek look | Tech, SaaS, premium brands |
  | light_modern | Light backgrounds, dark text, clean | Corporate, educational |
  | vibrant_colorful | Bold colors, energetic, eye-catching | Social media, startups |
  | minimalist | Lots of whitespace, simple, elegant | Luxury, professional services |
  | tech_corporate | Blue tones, geometric shapes | Enterprise, B2B |

  Background Options

  | Type | Example | Description |
  |------|---------|-------------|
  | None | "" | Full bleed layout, slides take 78% width |
  | URL | "https://example.com/bg.jpg" | Image background with margins |
  | Gradient | ["#ff6b6b", "#feca57", "#48dbfb"] | Gradient background with margins |

  Voice Options

  | Voice | Language | Description |
  |-------|----------|-------------|
  | cristina | Spanish | Female voice |
  | enrique | Spanish | Male voice |
  | susie | English | Female voice (default) |
  | jeff | English | Male voice |
  | custom | Any | Use your ElevenLabs voice clone ID |

  Intention Types

  | Intention | Content Style | Best For |
  |-----------|---------------|----------|
  | informative | Educational, value-driven, builds trust | Thought leadership, tutorials |
  | lead_generation | Creates curiosity, soft CTA | Product awareness, funnels |
  | disruption | Bold, provocative, scroll-stopping | Viral potential, brand awareness |

  Custom Avatar & Script Options

  Custom Avatar Description

  Leave custom_avatar_description empty to let Claude decide, or provide your own:

  custom_avatar_description: "female marketing influencer, cool, working in tech"

  Examples:
  "a woman in her 20s with gym clothes"
  "a bearded man in his 30s wearing a hoodie"
  "a professional woman with glasses in business casual"

  Custom Avatar Image URL

  Skip avatar generation entirely by providing a direct URL:

  custom_avatar_image_url: "https://example.com/my-avatar.png"

  &gt; Image should be portrait orientation, high quality, with the subject looking at camera.

  Custom Script

  Leave custom_script empty to let Claude write it, or provide your own:

  custom_script: "This is my custom script. AI is changing how we create content..."

  Guidelines for custom scripts:
  Keep it 25-40 seconds when read aloud (60-100 words)
  Avoid special characters for TTS compatibility
  Write naturally, as if speaking

  Behavior Matrix

  | custom_avatar_description | custom_avatar_image_url | custom_script | What Claude Generates |
  |---------------------------|-------------------------|---------------|----------------------|
  | Empty | Empty | Empty | Avatar + Script + Slides + Caption |
  | Provided | Empty | Empty | Script + Slides + Caption |
  | Empty | Provided | Empty | Script + Slides + Caption |
  | Empty | Empty | Provided | Avatar + Slides + Caption |
  | Provided | Provided | Provided | Slides + Caption only |

  Video Layout

  The final video uses a picture-in-picture (PiP) layout:

  Without Background (Full Bleed)
  ┌─────────────────────────────────┬──────┐
  │                                 │      │
  │                                 │      │
  │         SLIDES (78%)            │AVATAR│
  │                                 │(22%) │
  │                                 │      │
  │                                 │      │
  └─────────────────────────────────┴──────┘

  With Background (Margins + Rounded Corners)
  ┌─────────────────────────────────────────┐
  │ BG ┌───────────────────────────┐ ┌────┐ │
  │    │                           │ │    │ │
  │    │       SLIDES (74%)        │ │AVA │ │
  │    │                           │ │TAR │ │
  │    │                           │ │20% │ │
  │    └───────────────────────────┘ └────┘ │
  └─────────────────────────────────────────┘

  Output

  Per Video Generated

  | Asset | Format | Location |
  |-------|--------|----------|
  | Final Video | MP4 (1920×1080, 60fps) | Google Drive folder |
  | Avatar Image | PNG (1024×1536) | tmpfiles.org (temporary) |
  | Slide Images | PNG (1920×1080) | FAL CDN (temporary) |
  | Voiceover | MP3 | tmpfiles.org (temporary) |
  | Metadata | Row entry | Google Sheets |

  Google Sheets Columns

  | Column | Description |
  |--------|-------------|
  | topic | Video topic |
  | intention | Content intention used |
  | brand_name | Brand mentioned |
  | slide_style | Visual style used |
  | content_theme | 2-3 word theme summary |
  | script | Full voiceover script |
  | caption | Ready-to-post caption with hashtags |
  | num_slides | Number of slides generated |
  | video_url | Google Drive link to final video |
  | avatar_video_url | VEED talking head video URL |
  | audio_url | Temporary audio URL |
  | status | done/error |
  | created_at | Timestamp |

  Estimated Costs Per Video

  | Service | Usage | Approximate Cost |
  |---------|-------|------------------|
  | Claude Sonnet 4 | 2K tokens | $0.01 |
  | OpenAI gpt-image-1 | 1 image (1024×1536) | ~$0.04-0.08 |
  | FAL Flux Pro | 5-7 images (1920×1080) | ~$0.10-0.15 |
  | ElevenLabs | 100 words | $0.01-0.02 |
  | VEED/FAL.ai | 1 video render | ~$0.10-0.20 |
  | Creatomate | 1 video composition | ~$0.10-0.20 |
  | Total | | ~$0.35-0.65 per video |

  &gt; Costs vary based on script length and current API pricing.

  Setup Checklist

  Step 1: Import Workflow
  [ ] Import create-ai-screencast-videos-with-veed-and-automated-slides.json into n8n

  Step 2: Configure API Keys
  [ ] Open the ⚙️ Workflow Configuration node
  [ ] Replace all YOUR_*_API_KEY placeholders with your actual API keys
  [ ] Verify your OpenAI organization at https://platform.openai.com/settings/organization/general

  Step 3: Connect n8n Credentials
  [ ] Click on 🎬 Generate Talking Head (VEED) node → Add FAL.ai credential
  [ ] Click on 📤 Upload to Drive node → Add Google Drive OAuth2 credential
  [ ] Click on 📝 Log to Sheets node → Add Google Sheets OAuth2 credential

  Step 4: Configure Storage
  [ ] Update the 📤 Upload to Drive node with your Google Drive folder URL
  [ ] Update the 📝 Log to Sheets node with your Google Sheets URL
  [ ] Create column headers in your Google Sheet (see Output section)

  Step 5: Customize Content
  [ ] Update topic, brand_name, target_audience, and trending_hashtags
  [ ] Choose your preferred slide_style and voice_selection
  [ ] Optionally configure background, custom_avatar_description, and/or custom_script

  Step 6: Test
  [ ] Execute the workflow
  [ ] Check Google Drive for the output video
  [ ] Verify metadata was logged to Google Sheets

  MCP Integration (Optional)

  This workflow can be exposed to Claude Desktop via n8n's Model Context Protocol (MCP) integration.

  To enable MCP:

  Add a Webhook Trigger node to the workflow (in addition to the Manual Trigger)
  Connect it to the ⚙️ Workflow Configuration node
  Go to Settings → Instance-level MCP → Enable the workflow
  Configure Claude Desktop with your n8n MCP server URL

  Claude Desktop Configuration (Windows):

  {
    "mcpServers": {
      "n8n-mcp": {
        "command": "supergateway",
        "args": [
          "--streamableHttp",
          "https://YOUR_N8N_INSTANCE.app.n8n.cloud/mcp-server/http",
          "--header",
          "authorization:Bearer YOUR_MCP_ACCESS_TOKEN"
        ]
      }
    }
  }

  &gt; Note: Install supergateway globally first: npm install -g supergateway

  Limitations & Notes

  Technical Limitations

  tmpfiles.org**: Temporary file URLs expire after ~1 hour. Final videos are safe in Google Drive.
  VEED processing**: Takes 1-3 minutes for the talking head.
  Creatomate processing**: Takes 30-60 seconds for composition.
  Total workflow time**: ~3-5 minutes per video.

  Content Considerations

  Scripts are optimized for 25-40 seconds (TTS-friendly)
  Avatar images are AI-generated (not real people)
  Slides are dynamically generated based on script length
  Slide count: 5-7 slides depending on script duration

  Best Practices

  Start simple: Test with default settings before customizing
  Review scripts: Claude generates good content but review before posting
  Monitor costs: Check API usage dashboards weekly
  Use backgrounds: Adding a background image creates a more polished look
  Match voice to content: Use Spanish voices for Spanish content

  Troubleshooting

  | Issue | Solution |
  |-------|----------|
  | "Organization must be verified" | Verify at platform.openai.com/settings/organization/general |
  | VEED authentication error | Re-add FAL.ai credential to VEED node |
  | Google Drive "no binary field" | Ensure Download Video outputs to binary field |
  | JSON parse error from Claude | Workflow has fallback content; check Claude node output |
  | Slides not matching script | Increase seconds_per_slide for fewer slides |
  | Avatar cut off in PiP | Avatar is designed for right-side placement |
  | MCP "Server disconnected" | Install supergateway globally: npm install -g supergateway |
  | Render timeout | Increase wait time in "⏳ Wait for Render" node |

  Version History

  | Version | Date | Changes |
  |---------|------|---------|
  | 2.1 | Jan 2026 | Renamed workflow, improved documentation with section sticky notes, consolidated setup information |
  | 2.0 | Jan 2026 | Added dynamic slide count, background options, FAL Flux Pro for slides, improved PiP layout |
  | 1.0 | Jan 2026 | Initial release with fixed slide count, basic composition |

  Credits

  Built with:
  n8n** - Workflow automation
  Anthropic Claude** - Script & slide prompt generation
  OpenAI** - Avatar image generation
  FAL.ai** - Slide image generation (Flux Pro)
  ElevenLabs** - Voice synthesis
  VEED Fabric** - AI lip-sync video rendering
  Creatomate** - Video composition
  Google Workspace** - Storage & logging

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-veed.veed","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.aggregate","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 19568 characters]

metadata_json:
  {"categories":["AI/ML","Content Creation","Video Editing"],"complexity":"medium","use_cases":["generate presentation videos","create AI screencasts","produce educational content","automate video slides","synthesize talking avatar videos"],"estimated_setup_minutes":45,"required_services":["VEED","Claude","OpenAI","Google Drive"],"key_features":["auto scriptwriting","slide generation","avatar creation","voiceover synthesis","video composition"],"target_audience":["content creators","educators","developers"]}


name: Generate social videos with AI avatars using VEED, Claude, and OpenAI
author_name: VEED
author_username: veed
categories: []
created_at: 2026-01-15T14:26:01.079Z
updated_at: 2026-01-15T14:26:01.079Z
url: https://n8n.io/workflows/12729
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Generate social videos with AI avatars using VEED and Claude

  Overview

  This n8n workflow automatically generates TikTok/Reels-ready talking head videos from scratch. You provide a topic and intention, and the workflow handles everything: scriptwriting, avatar generation, voiceover creation, and video rendering.

  Output: Vertical (9:16) AI-generated videos with lip-synced avatars, ready for social media posting.

  What It Does

  Topic + Intention → Claude writes script → OpenAI generates avatar → OpenAI creates voiceover → VEED renders video → Saved to Google Drive + logged to Sheets

  Pipeline Breakdown

  | Step | Tool | What Happens |
  |------|------|--------------|
  | 1. Script Generation | Claude Sonnet 4 | Creates hook, script (30-45 sec), caption, and image prompt based on your topic and intention |
  | 2. Avatar Generation | OpenAI gpt-image-1 | Generates photorealistic portrait image (1024×1536) |
  | 3. Voiceover | OpenAI TTS-1-HD | Converts script to natural speech (Nova voice) |
  | 4. Video Rendering | VEED Fabric 1.0 | Lip-syncs avatar to audio, creates final video |
  | 5. Storage | Google Drive | Uploads final MP4 |
  | 6. Logging | Google Sheets | Records all metadata (script, caption, URLs, timestamps) |

  Required Connections

  API Keys (entered in Configuration node)

  | Service | Key Type | Where to Get |
  |---------|----------|--------------|
  | Anthropic | API Key | https://console.anthropic.com/settings/keys |
  | OpenAI | API Key | https://platform.openai.com/api-keys |

  &gt; ⚠️ OpenAI Note: gpt-image-1 requires organization verification. Go to https://platform.openai.com/settings/organization/general to verify.

  n8n Credentials (connect in n8n)

  | Node | Credential Type | Purpose |
  |------|-----------------|---------|
  | �� Generate Video (VEED) | FAL.ai API | VEED video rendering |
  | �� Upload to Drive | Google Drive OAuth2 | Store final videos |
  | �� Log to Sheets | Google Sheets OAuth2 | Track all generated content |

  Configuration Options

  Edit the ⚙️ Workflow Configuration node to customize. The configuration uses a JSON format:

  {
    "topic": "AI video creation tools",
    "intention": "informative",
    "brand_name": "YOUR_BRAND_NAME",
    "target_audience": "content creators and marketers",
    "trending_hashtags": "#AIvideo #ContentCreation #VideoMarketing #AItools #TikTokTips",
    "num_videos": 1,
    "anthropic_api_key": "YOUR_ANTHROPIC_API_KEY",
    "openai_api_key": "YOUR_OPENAI_API_KEY",
    "video_resolution": "720p",
    "video_aspect_ratio": "9:16",
    "custom_avatar_description": "",
    "custom_script": ""
  }

  Configuration Fields Explained

  | Field | Required | Description |
  |-------|----------|-------------|
  | topic | ✅ | The subject of your video (e.g., "AI productivity tools") |
  | intention | ✅ | Content style: informative, lead_generation, or disruption |
  | brand_name | ✅ | Your brand/product name to mention |
  | target_audience | ✅ | Who you're creating content for |
  | trending_hashtags | ✅ | Hashtags to include in the caption |
  | num_videos | ✅ | How many videos to generate (1-5 recommended) |
  | anthropic_api_key | ✅ | Your Anthropic API key |
  | openai_api_key | ✅ | Your OpenAI API key |
  | video_resolution | ✅ | Video quality: 720p or 1080p |
  | video_aspect_ratio | ✅ | Aspect ratio: 9:16 (vertical) or 16:9 (horizontal) |
  | custom_avatar_description | ❌ | Optional: Describe your avatar (leave empty for AI-generated) |
  | custom_script | ❌ | Optional: Your own script (leave empty for AI-generated) |

  Intention Types

  | Intention | Content Style | Best For |
  |-----------|---------------|----------|
  | informative | Educational, value-driven, builds trust | Thought leadership, tutorials |
  | lead_generation | Creates curiosity, soft CTA | Product awareness, funnels |
  | disruption | Bold, provocative, scroll-stopping | Viral potential, brand awareness |

  Custom Avatar & Script Options

  The workflow supports flexible content generation - you can let Claude generate everything, or provide your own inputs.

  Custom Avatar Description

  Leave custom_avatar_description empty to let Claude decide, or provide your own:

  "custom_avatar_description": "a female influencer in her 30s, with a coworking space in the background, attractive but charismatic"

  Examples:
  "a woman in her 20s with gym clothes"
  "a bearded man in his 30s wearing a hoodie"
  "a professional woman with glasses in business casual"

  Custom Script

  Leave custom_script empty to let Claude write it, or provide your own:

  "custom_script": "This is my custom script. VEED is a great platform for creating videos like this. You can try it too!"

  Guidelines for custom scripts:
  Keep it 30-45 seconds when read aloud
  Maximum ~450 characters
  Avoid special characters for TTS compatibility
  Write naturally, as if speaking

  Behavior Matrix

  | custom_avatar_description | custom_script | What Claude Generates |
  |---------------------------|---------------|----------------------|
  | Empty | Empty | Avatar + Script + Caption |
  | Provided | Empty | Script + Caption |
  | Empty | Provided | Avatar + Caption |
  | Provided | Provided | Caption only |

  Content Angles (auto-rotated)

  When generating multiple videos, the workflow automatically varies the approach:

  | # | Angle | Hook Style |
  |---|-------|------------|
  | 1 | Problem-solution | Opens with a question |
  | 2 | Myth-busting | Opens with controversial statement |
  | 3 | Quick-tip | Opens with a number/statistic |
  | 4 | Before-after | Opens with transformation |
  | 5 | Trend-commentary | Opens with news/timely angle |

  Output

  Per Video Generated

  | Asset | Format | Location |
  |-------|--------|----------|
  | Final Video | MP4 (720p, 9:16) | Google Drive folder |
  | Avatar Image | PNG (1024×1536) | tmpfiles.org (temporary) |
  | Voiceover | MP3 | tmpfiles.org (temporary) |
  | Metadata | Row entry | Google Sheets |

  Google Sheets Columns

  | Column | Description |
  |--------|-------------|
  | topic | Video topic |
  | intention | Content intention used |
  | brand_name | Brand mentioned |
  | content_theme | 2-3 word theme summary |
  | script_audio | Full voiceover script |
  | script_image | Image generation prompt |
  | caption | Ready-to-post TikTok caption with hashtags |
  | image_url | Temporary avatar image URL |
  | audio_url | Temporary audio URL |
  | video_url | Google Drive link to final video |
  | status | done/error |
  | created_at | Timestamp |

  Estimated Costs Per Video

  | Service | Usage | Approximate Cost |
  |---------|-------|------------------|
  | Claude Sonnet 4 | 2K tokens | $0.01 |
  | OpenAI gpt-image-1 | 1 image (1024×1536) | ~$0.04-0.08 |
  | OpenAI TTS-1-HD | 450 characters | $0.01 |
  | VEED/FAL.ai | 1 video render | ~$0.10-0.20 |
  | Total | | ~$0.15-0.30 per video |

  &gt; Costs vary based on script length and current API pricing.

  Setup Checklist

  Step 1: Import Workflow
  [ ] Import generate-social-videos-with-ai-avatars-using-veed-and-claude.json into n8n

  Step 2: Configure API Keys
  [ ] Open the ⚙️ Workflow Configuration node
  [ ] Replace YOUR_ANTHROPIC_API_KEY with your actual Anthropic API key
  [ ] Replace YOUR_OPENAI_API_KEY with your actual OpenAI API key
  [ ] Verify your OpenAI organization at https://platform.openai.com/settings/organization/general (required for gpt-image-1)

  Step 3: Connect n8n Credentials
  [ ] Click on �� Generate Video (VEED) node → Add FAL.ai credential
  [ ] Click on �� Upload to Drive node → Add Google Drive OAuth2 credential
  [ ] Click on �� Log to Sheets node → Add Google Sheets OAuth2 credential

  Step 4: Configure Storage
  [ ] Update the �� Upload to Drive node with your Google Drive folder URL
  [ ] Update the �� Log to Sheets node with your Google Sheets URL
  [ ] Create column headers in your Google Sheet: topic, intention, brand_name, content_theme, script_audio, script_image, caption, image_url, audio_url, video_url, status, created_at

  Step 5: Customize Content
  [ ] Update topic, brand_name, target_audience, and trending_hashtags
  [ ] Optionally add custom_avatar_description and/or custom_script

  Step 6: Test
  [ ] Set num_videos: 1 for initial testing
  [ ] Execute the workflow
  [ ] Check Google Drive for the output video
  [ ] Verify metadata was logged to Google Sheets

  MCP Integration (Optional)

  This workflow can also be exposed to Claude Desktop via n8n's Model Context Protocol (MCP) integration, allowing you to generate videos through natural language prompts.

  To enable MCP:

  Add a Webhook Trigger node to the workflow (in addition to the Manual Trigger)
  Connect it to the same ⚙️ Workflow Configuration node
  Go to Settings → Instance-level MCP → Enable the workflow
  Configure Claude Desktop with your n8n MCP server URL

  Claude Desktop Configuration (Windows):

  {
    "mcpServers": {
      "n8n-mcp": {
        "command": "supergateway",
        "args": [
          "--streamableHttp",
          "https://YOUR_N8N_INSTANCE.app.n8n.cloud/mcp-server/http",
          "--header",
          "authorization:Bearer YOUR_MCP_ACCESS_TOKEN"
        ]
      }
    }
  }

  &gt; Note: Install supergateway globally first: npm install -g supergateway

  Limitations & Notes

  Technical Limitations

  tmpfiles.org**: Temporary file URLs expire after ~1 hour. Final videos are safe in Google Drive.
  VEED processing**: Takes 2-5 minutes per video depending on length.
  n8n Cloud network**: Some external domains are blocked; workflow uses base64 for images to avoid this.

  Content Considerations

  Scripts are optimized for 30-45 seconds (TTS-friendly)
  Avatar images are AI-generated (not real people)
  Captions include hashtags automatically
  Each video in a batch gets a different content angle

  Best Practices

  Start small: Test with 1 video before scaling to 5
  Review scripts: Claude generates good content but review before posting
  Monitor costs: Check API usage dashboards weekly
  Backup sheets: The Google Sheet serves as your content database

  Troubleshooting

  | Issue | Solution |
  |-------|----------|
  | "Organization must be verified" | Verify at platform.openai.com/settings/organization/general |
  | VEED authentication error | Re-add FAL.ai credential to VEED node |
  | Google Drive "no binary field" | Ensure Download Video outputs to field named data |
  | JSON parse error from Claude | Workflow has fallback content; check Claude node output |
  | Image URL blocked | Workflow uses base64 to avoid this; ensure gpt-image-1 model |
  | MCP "Server disconnected" (Windows) | Install supergateway globally: npm install -g supergateway |
  | MCP path error on Windows | Use supergateway directly instead of npx |

  Version History

  | Version | Date | Changes |
  |---------|------|---------|
  | 2.0 | Jan 2026 | Added custom avatar/script options, MCP integration support, improved configuration |
  | 1.0 | Jan 2026 | Initial release with portrait mode, gpt-image-1, native VEED node |

  Credits

  Built with:
  n8n** - Workflow automation
  Anthropic Claude** - Script generation
  OpenAI** - Image & audio generation
  VEED Fabric** - AI video rendering
  Google Workspace** - Storage & logging

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-veed.veed","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.googleSheets","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"]

workflow_json_compressed:
  [encoded data, 10604 characters]

metadata_json:
  {"categories":["AI/ML","Video Production"],"complexity":"medium","use_cases":["Generate social media scripts","Create AI avatar videos","Produce viral reel content","Automate video creation","Make lip-synced avatar content"],"estimated_setup_minutes":10,"required_services":["VEED","Claude","OpenAI"],"key_features":["Script writing based on topic","Avatar generation from intent","Voiceover creation","Vertical video rendering","Lip-synced avatar output"],"target_audience":["Social Media Managers","Content Creators","Video Producers"]}


name: Create consulting client onboarding tasks with GPT-4, Google Sheets and Slack
author_name: Hyrum Hurst
author_username: hyrum-hurst
categories: []
created_at: 2026-01-15T19:17:20.674Z
updated_at: 2026-01-15T19:17:20.674Z
url: https://n8n.io/workflows/12739
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:20
description:
  Who this workflow is for
  Consulting firms in strategy, management, or IT who want to automate client onboarding and internal task assignment.

  What this workflow does
  Automatically creates onboarding tasks and checklists using AI, routes them to the right consultant, logs client info in Google Sheets, and sends client welcome emails. Internal teams get Slack notifications, and kickoff meetings can be scheduled automatically.

  How the workflow works
  New client intake triggers workflow
  AI generates onboarding checklist
  Tasks routed based on project type
  Client info logged in Google Sheets
  Slack notifications sent to consultants
  Optional PDF of onboarding sent to client
  Email confirmation delivered to client
  Optional CRM integration

  Setup Instructions
  Connect Webhook/Form for intake
  Connect Google Sheets
  Connect OpenAI
  Connect Slack and email
  Configure optional CRM integration

  Author: Hyrum Hurst, AI Automation Engineer  
  Company: QuarterSmart  
  Contact: hyrum@quartersmart.com

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.switch","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.slack","n8n-nodes-base.slack","n8n-nodes-base.slack","n8n-nodes-base.emailSend","n8n-nodes-base.googleCalendar","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5704 characters]

metadata_json:
  {"categories":["Data Processing","Communication","DevOps"],"complexity":"complex","use_cases":["automate client onboarding","generate task checklists with AI","assign tasks to consultants","log client data in spreadsheets"],"estimated_setup_minutes":25,"required_services":["OpenAI","Google Sheets","Slack","Google Calendar"],"key_features":["AI-powered task generation","automated service routing","spreadsheet data logging","calendar integration"],"target_audience":["consultants","managers","operations teams"]}


name: Analyze legal contracts with GPT-4.1 and manage cases in Google Sheets and Slack
author_name: Hyrum Hurst
author_username: hyrum-hurst
categories: []
created_at: 2026-01-15T19:23:25.794Z
updated_at: 2026-01-15T19:23:25.794Z
url: https://n8n.io/workflows/12740
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:20
description:
  Who this workflow is for
  Law firms in corporate, litigation, or family law needing streamlined case and contract management.

  What this workflow does
  Automatically analyzes contracts using AI, extracts key clauses, logs cases in Google Sheets, routes cases to attorneys, sends client summaries, generates PDFs, and schedules follow-ups.

  How the workflow works
  Webhook triggers on new case or contract
  AI analyzes contract
  Case routed by type
  Logs case info in Google Sheets
  Notifies attorney via Slack
  Sends client email summary
  Generates PDF report
  Schedules follow-up events
  Optional integration with practice management software

  Author: Hyrum Hurst, AI Automation Engineer  
  Company: QuarterSmart  
  Contact: hyrum@quartersmart.com

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.switch","n8n-nodes-base.googleSheets","n8n-nodes-base.slack","n8n-nodes-base.emailSend","n8n-nodes-base.convertToFile","n8n-nodes-base.googleCalendar","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6068 characters]

metadata_json:
  {"categories":["Legal","AI/ML"],"complexity":"medium","use_cases":["Analyze contracts","Extract clauses","Log cases","Route cases","Generate summaries"],"estimated_setup_minutes":15,"required_services":["GPT-4.1","Google Sheets","Slack"],"key_features":["AI-powered contract analysis","Automated case logging","Client summary generation","PDF document conversion","Automated attorney notifications"],"target_audience":["lawyers","legal assistants","corporate counsel"]}


name: Warm up Gmail inboxes with OpenAI GPT-4o-mini and Data Tables
author_name: Jatin Khatri
author_username: jatinkhatri
categories: []
created_at: 2026-01-16T07:07:06.461Z
updated_at: 2026-01-16T07:07:06.461Z
url: https://n8n.io/workflows/12750
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Automatically warm up multiple Gmail inboxes with human-like email conversations, smart scheduling, and auto read/reply, powered by n8n Data Tables.

  Cold emails going to spam?
  That’s usually an inbox reputation problem, not your copy.

  This n8n workflow is a complete Email Warmup Engine that helps you warm up Gmail inboxes automatically by sending natural, human-like conversations between your inboxes, spacing them out across the day, and marking messages as read to simulate real inbox activity.

  It includes:
  AI-generated natural conversations (2–3 messages)
  Multi-inbox warmup (sender ↔ receiver rotation)
  Smart daily volume ramp-up (safe warmup growth)
  Random send scheduling inside a time window
  Sends + replies like a real human thread
  Marks warmup emails as read automatically
  Powered entirely by n8n Data Tables (no external DB)

  Perfect for founders, agencies, SDRs, and anyone running outbound.

  What This Workflow Does (Bullets)

  Generates warmup conversations using OpenAI
  Stores conversations in a Data Table
  Creates a warmup queue for each inbox daily
  Assigns random scheduled timestamps (natural behavior)
  Sends and replies via Gmail
  Updates queue status as messages are sent
  Marks warmup emails as read automatically

  Use Cases

  Warm up new inboxes before cold outreach
  Maintain inbox health for outbound operations
  Rotate and warm multiple sender accounts
  Avoid paying per-inbox warmup SaaS fees

  Requirements

  n8n (Cloud or Self-hosted)
  Gmail accounts (2+ recommended)
  Gmail OAuth2 credentials (one per inbox)
  OpenAI API key
  n8n Data Tables enabled
  Data Tables Used

  This template uses 3 n8n Data Tables:

  cold_email_accounts
  Stores warmup inboxes + credential IDs

  warmup_conversations
  Stores AI-generated conversations

  warmup_queue
  Stores scheduled warmup messages + status

  Setup Instructions (Step-by-step)

  Import the Workflow

  Import the template JSON into n8n

  Create Data Tables

  Create these Data Tables:
  cold_email_accounts
  warmup_conversations
  warmup_queue

  Add Inbox Accounts

  Add at least 2 inboxes into cold_email_accounts with:

  email
  cred_id (Gmail OAuth credential ID)
  warmup_daily_limit (ex: 5)

  Connect Credentials

  Create Gmail OAuth2 credentials in n8n for each inbox
  Connect OpenAI credentials to the “Message a model” node

  Enable Schedule Triggers

  Enable all Schedule Trigger nodes so it runs automatically:

  conversation generation
  queue generation
  sender engine
  marking read engine
  Customization

  You can tweak:

  Daily warmup growth

  warmup_daily_limit in cold_email_accounts table per inbox

  Time window

  schedule messages between fixed hours (natural sending)

  Conversation style

  edit the OpenAI system prompt to match your preferred tone

  Notes / Best Practices

  Keep warmup volume safe (20–40/day max per inbox)
  Use 2+ inboxes to avoid self-sending
  Don’t mix cold outreach + warmup in the same workflow

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.dataTable","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","n8n-nodes-base.dataTable","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.dataTable","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.dataTable","n8n-nodes-base.code","n8n-nodes-base.dataTable","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.dataTable","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.dataTable","n8n-nodes-base.code","n8n-nodes-base.dataTable","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.dataTable","n8n-nodes-base.merge","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","n8n-nodes-run-node-with-credentials-x.runNodeWithCredentialsX","n8n-nodes-base.dataTable","n8n-nodes-run-node-with-credentials-x.runNodeWithCredentialsX","n8n-nodes-run-node-with-credentials-x.runNodeWithCredentialsX","n8n-nodes-base.dataTable","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.dataTable","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","n8n-nodes-run-node-with-credentials-x.runNodeWithCredentialsX","n8n-nodes-base.dataTable","n8n-nodes-base.merge","n8n-nodes-run-node-with-credentials-x.runNodeWithCredentialsX","n8n-nodes-run-node-with-credentials-x.runNodeWithCredentialsX","n8n-nodes-base.dataTable","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 12144 characters]

metadata_json:
  {"categories":["Communication","Marketing","AI/ML"],"complexity":"medium","use_cases":["warm up Gmail inboxes","simulate email conversations","improve email deliverability","automate inbox activity","prevent cold emails spam"],"estimated_setup_minutes":10,"required_services":["Gmail","OpenAI GPT-4o"],"key_features":["human-like emails","smart scheduling","auto read simulation","automated conversation","spaced-out activity"],"target_audience":["marketers","sales teams","admins"]}


name: Generate UGC-style AI videos with Google Sheets, NanoBanana Pro and Veo 3.1
author_name: Kristian Ekachandra
author_username: aichandre
categories: []
created_at: 2026-01-16T08:35:21.457Z
updated_at: 2026-01-16T08:35:21.457Z
url: https://n8n.io/workflows/12752
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  🎬 AI-Powered UGC Video Generator

  Automatically create consistent, professional UGC (User-Generated Content) videos at scale using cutting-edge AI models. This workflow combines three reference images into hyper-realistic selfie-style photos, then transforms them into engaging 8-second videos perfect for TikTok, Instagram Reels, and social media ads.

  ✨ What This Workflow Does

  Part 1: Image Generation
  Combines 3 reference images (product + character + background) using NanoBanana Pro
  AI agent generates optimized prompts for realistic UGC selfie photos
  Analyzes output quality before proceeding to video generation

  Part 2: Video Creation
  Transforms static images into dynamic 8-second videos using Google Veo 3.1
  AI agent creates natural dialogue and scene descriptions
  Batch processes multiple tasks automatically via Google Sheets

  🎯 Perfect For

  E-commerce brands** creating product demonstration videos
  Marketing agencies** producing social media ad content at scale
  Content creators** generating consistent UGC-style videos
  A/B testing** multiple video variations quickly
  Dropshippers** needing authentic product videos without filming

  🚀 Key Features

  ✅ Consistent Characters - Same person, style, and aesthetic across all videos  
  ✅ Batch Processing - Manage multiple tasks via Google Sheets  
  ✅ Multi-Model Support - Primary + fallback AI models for reliability  
  ✅ Smart Error Handling - Automatic retries and status tracking  
  ✅ Dual Workflow - Separate pipelines for image and video generation  
  ✅ Quality Analysis - AI checks image quality before video creation

  🛠️ Required APIs

  Essential:
  Google Sheets API (free)
  Atlas Cloud API (for NanoBanana Pro & Veo 3.1)

  Choose at least ONE:
  OpenAI API (GPT-5-Mini recommended)
  Groq API (fast & free tier available)
  Google Gemini API (alternative)

  📋 How It Works

  Image Generation Pipeline:
  Reads tasks from Google Sheets (Status: "Ready")
  AI agent generates optimized image prompt
  Downloads and uploads 3 reference images to temp storage
  NanoBanana Pro combines images into realistic UGC selfie
  Analyzes output image quality
  Updates sheet with results (Status: "Edited")

  Video Generation Pipeline:
  Reads edited tasks from Google Sheets (Status: "Edited")
  AI agent generates video prompt with natural dialogue
  Veo 3.1 transforms image into 8-second video
  Polls generation status every 10 seconds
  Updates sheet with final video (Status: "Finished")

  💡 Pro Tips

  Use high-quality reference images** (minimum 1024x1024px)
  Keep character photos consistent** (same person, similar lighting)
  Write clear scene descriptions** for better results
  Test with 1 task first** before running large batches
  Monitor API quotas** to avoid rate limits

  📺 Full Tutorial

  Complete setup walkthrough available on YouTube: Watch Tutorial

  🎓 What You'll Learn

  Setting up multi-step AI automation workflows
  Integrating multiple AI models (OpenAI, Groq, Gemini)
  Using NanoBanana Pro for advanced image editing
  Generating videos with Google Veo 3.1
  Managing batch processes via Google Sheets
  Implementing fallback models for reliability
  Handling errors and status tracking

  📊 Google Sheets Template Structure

  The workflow includes a pre-built template with these columns:
  Task ID** - Unique identifier
  Product Photo** - Product image URL
  Character** - Person reference image URL
  Background** - Scene background URL
  Product Name** - Name of the product
  Product Description** - Details about the product
  Target Market** - Audience for the video
  Video Scene** - Scene description for video
  Status** - Workflow status (Ready → Edited → Finished)
  Image Prompt** - Generated prompt for image
  Image Result** - Output image URL
  Analyze Image** - Quality analysis results
  Video Prompt** - Generated prompt for video
  Video Result** - Final video URL
  Error Message** - Error details if failed

  🔄 Status Flow
  Ready → Edited → Finished
    ↓        ↓         ↓
  Error    Error    Error

  ⚙️ Customization Options

  Adjust Image Style:
  Modify the Image Prompt Agent system message
  Change composition (close-up, medium shot, wide)
  Adjust lighting (natural, studio, dramatic)

  Modify Video Output:
  Edit Video Prompt Agent for different styles
  Change duration (default: 8 seconds)
  Customize dialogue language (default: Indonesian)
  Adjust camera angles and movements

  Add More AI Models:
  Connect additional providers as fallbacks
  Models are tried in order until success
  Supports OpenAI, Anthropic, Groq, Gemini

  🔐 Security Notes

  Never commit API keys to version control
  Use environment variables in production
  Don't share your Google Sheets publicly
  Rotate API keys regularly
  Set billing alerts on all platforms

  📞 Support & Updates

  Created by: Kristian Ekachandra

  Follow for more AI automation workflows:
  🎥 YouTube: @aichandre
  📸 Instagram: @aichandre
  🎵 TikTok: @aichandre

  🏷️ Tags

  ai-video ugc content-creation video-generation batch-processing google-sheets openai groq nanobanana-pro veo-3.1 marketing social-media tiktok instagram-reels automation

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheets","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatGroq","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10768 characters]

metadata_json:
  {"categories":["Marketing","Creativity","Media Production"],"complexity":"medium","use_cases":["Generate UGC videos for social media","Create personalized video ads","Produce influencer-style content","Batch social content creation"],"estimated_setup_minutes":15,"required_services":["Google Sheets","NanoBanana Pro","Veo 3.1","Groq (lmChatGroq)"],"key_features":["Combines multiple images into cohesive video content","Transforms static images into motion video","Generates hyper-realistic UGC-style output","Automates social media content production","Scales video generation with spreadsheet triggers"],"target_audience":["content creators","social media managers","marketing teams"]}


name: Generate and post Instagram captions with Google Drive, GPT-4.1-mini, Gmail and Blotato
author_name: Automate With Marc
author_username: marconi
categories: []
created_at: 2026-01-16T13:41:53.663Z
updated_at: 2026-01-16T13:41:53.663Z
url: https://n8n.io/workflows/12755
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Social Media Post & Caption Generator (Google Drive → AI Caption → Approval → Auto-Post)

  Automatically turn your existing content library into approved, AI-written social media posts.
  This workflow selects a random file from Google Drive, generates an Instagram caption using AI, sends it to you for approval, and—once approved—uploads and publishes the post via Blotato.

  🎥 Watch Step-By-Step Guide:
  https://youtu.be/9XU9ECcj9dg

  What this template does

  On a scheduled basis (default: 10:00 AM), this workflow:
  Searches a specified Google Drive folder for content files
  Randomly selects one file to avoid repetitive posting
  Uses AI to generate an Instagram-ready caption based on the file name
  Sends the caption + file link to you via email for approval

  If approved:
  Downloads the file from Drive
  Uploads the media to Blotato
  Creates and publishes the social media post

  If rejected:
  Automatically loops back and selects a different random file

  Why it’s useful
  Keeps your social media consistent with minimal manual effort
  Adds a human-in-the-loop approval step for quality control
  Eliminates the need to manually write captions or pick content
  Ideal for creators, solo marketers, and small teams managing content at scale

  Requirements
  Before using this template, connect the following credentials in n8n:
  Google Drive OAuth (searching & downloading files)
  OpenAI API (caption generation)
  Gmail OAuth (approval email workflow)
  Blotato API (media upload & social posting)

  All credentials must be added manually after importing the template.
  No sensitive data is included in the template.
  How it works (Node overview)
  Schedule Trigger
  Runs the workflow at a fixed time each day.
  Google Drive – Search Files and Folders
  Fetches all files from a specified Drive folder.
  Randomizer (Code Node)
  Selects a random file from the available list to ensure content variety.
  Caption Generator AI
  Uses an AI model to generate a descriptive Instagram caption based on the file name.
  Gmail – Send for Approval and Wait
  Emails the generated caption and file link to you and pauses execution until approval or rejection.
  IF (Approved)
  Yes: proceeds to download, upload, and publish
  No: loops back to select another random file
  Google Drive – Download File
  Downloads the approved content file.
  Blotato – Upload Media & Create Post
  Uploads the media and publishes the post to the connected social account.

  Setup instructions

  Import the template into your n8n workspace
  Open the Google Drive nodes and connect your Drive OAuth credential
  Replace the Folder ID with your own content folder
  Connect your OpenAI credential in the Caption Generator node
  Connect Gmail OAuth and set your approval email address
  Connect your Blotato account and select the target social profile
  Run the workflow once to test the approval loop
  Activate the workflow to start automated posting

  Customization ideas

  Adjust the AI system prompt to change tone (funny, educational, sales-focused)

  Add hashtag rules (e.g. max 5 hashtags, niche-specific only)

  Replace random selection with “least recently posted” logic using a Data Table

  Duplicate the Blotato node to post to multiple platforms

  Add a fallback step to auto-edit captions that exceed character limits

  Troubleshooting

  No files found: confirm the Google Drive folder ID and permissions

  Approval email not received: check Gmail OAuth scopes and spam folder

  Caption quality not ideal: refine the AI system prompt

  Upload fails: confirm Blotato account permissions and social account connection

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.if","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.gmail","n8n-nodes-base.googleDrive","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, 4684 characters]

metadata_json:
  {"categories":["Marketing","Social Media","Content Creation"],"complexity":"medium","use_cases":["auto generate social captions","approve and publish content","manage media libraries"],"estimated_setup_minutes":10,"required_services":["Google Drive","OpenAI (GPT-4.1-mini)","Gmail","Blotato"],"key_features":["AI caption generation","approval workflow","scheduled automation"],"target_audience":["marketers","social media managers"]}


name: Ask questions about past meetings using voice with OpenAI and Pinecone
author_name: Rahul Joshi
author_username: rahul08
categories: []
created_at: 2026-01-16T13:50:42.668Z
updated_at: 2026-01-16T13:50:42.668Z
url: https://n8n.io/workflows/12757
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  📊 Description
  This workflow allows users to ask questions about past meetings using their voice. It converts the voice question into text, searches stored meeting notes using Pinecone, and replies with a spoken answer generated by AI.
   It helps teams quickly recall decisions, tasks, and discussions without reading long meeting notes. 🧠🔊

  🔁 What This Template Does
  1️⃣ Receives a voice question through a webhook endpoint. 🌐
   2️⃣ Converts the audio question into text using speech transcription. 🎤➡️📝
   3️⃣ Cleans and prepares the question for searching. ✅
   4️⃣ Converts the question into an embedding for semantic search. 🔍
   5️⃣ Searches relevant meeting notes from Pinecone using the team namespace. 📚
   6️⃣ Combines retrieved meeting context into a single readable format. 🧩
   7️⃣ Uses AI to answer the question strictly from the meeting context. 🤖
   8️⃣ Converts the AI’s text answer into spoken audio. 🔊
   9️⃣ Sends the audio response back to the user via webhook. 🔁

  ⭐ Key Benefits
  ✅ Allows hands-free access to meeting information
   ✅ Saves time searching through meeting notes
   ✅ Prevents AI hallucinations using RAG
   ✅ Supports multiple teams using namespaces
   ✅ Works with voice-based tools and assistants
   ✅ Improves meeting recall and clarity

  🧩 Features
  Voice-based question input
  Speech-to-text transcription
  Semantic search using Pinecone
  Team-based data isolation
  Context-aware AI responses
  Text-to-speech output
  Webhook-driven architecture

  🔐 Requirements
  OpenAI API key for transcription, embeddings, and speech generation
  Azure OpenAI credentials for chat responses
  Pinecone API key with a configured index
  Matching embedding model for ingest and query
  Webhook client capable of sending audio files

  🎯 Target Audience
  Teams that conduct frequent meetings
  Managers needing quick decision recall
  Remote and distributed teams
  Product, engineering, and operations teams
  Automation builders using n8n
  Organizations adopting voice-based workflows

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.webhook","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.vectorStorePinecone","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatAzureOpenAi","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.respondToWebhook"]

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

metadata_json:
  {"categories":["AI/ML"],"complexity":"medium","use_cases":["Voice Q&A on meeting notes","Audio conversation retrieval","Automated meeting search"],"estimated_setup_minutes":45,"required_services":["OpenAI","Pinecone"],"key_features":["Speech voice Q&A","Text-to-speech response","Vector database retrieval"],"target_audience":["developers","meeting organizers"]}


name: Analyze meeting sentiment with Azure OpenAI and save insights to Google Sheets
author_name: Rahul Joshi
author_username: rahul08
categories: []
created_at: 2026-01-16T13:53:06.767Z
updated_at: 2026-01-16T13:53:06.767Z
url: https://n8n.io/workflows/12758
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  📊 Description
  This workflow analyzes meeting transcripts using AI to understand team sentiment, engagement, and morale.
  The results are saved in Google Sheets for easy tracking and review.
  It receives meeting data through a webhook, validates the input, sends the transcript to AI for analysis, cleans the output, and stores the insights in a structured format. This helps teams track morale over time and spot risks early.

  🔁 What This Template Does
  Receives meeting transcript data through a webhook.
  Checks that all required fields are present.
  Sends the transcript to AI for analysis.
  Identifies sentiment, engagement, emotional tone, and morale risk.
  Cleans and structures the AI response.
  Adds a timestamp for when the analysis was done.
  Looks for an existing record in Google Sheets using the meeting ID.
  Updates the row if the meeting already exists.
  Creates a new row if the meeting is new.
  Sends a response back to the webhook caller.

  ⭐ Key Benefits
  Removes the need for manual sentiment review
  Gives consistent and structured meeting insights
  Helps detect morale and engagement risks early
  Avoids duplicate records using meeting ID
  Keeps all sentiment data in one place
  Works with any system that can send webhooks

  🧩 Features
  Webhook-based meeting data input
  AI-powered sentiment and engagement analysis
  Clear extraction of morale and risk signals
  Clean and predictable output structure
  Google Sheets create or update logic
  Safe retry handling using meeting ID
  Webhook response after completion
  Production-ready workflow design

  🔐 Requirements
  A webhook source that can send meeting data
  Azure OpenAI credentials or a compatible AI model
  Google Sheets OAuth credentials
  A Google Sheet with required columns
  An AI prompt for meeting sentiment analysis

  🎯 Target Audience
  Engineering and product teams
  HR and people operations teams
  Project and delivery managers
  Leadership teams tracking team health
  n8n automation builders
  Organizations monitoring meeting effectiveness

nodes_used:
  ["n8n-nodes-base.errorTrigger","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.slack","n8n-nodes-base.telegram","n8n-nodes-base.scheduleTrigger"]

workflow_json_compressed:
  [encoded data, 5792 characters]

metadata_json:
  {"categories":["AI/ML","Communication"],"complexity":"medium","use_cases":["Sentiment analysis","Team engagement tracking","Morale monitoring"],"estimated_setup_minutes":20,"required_services":["Azure OpenAI","Google Sheets"],"key_features":["AI-powered sentiment analysis","Webhook data ingestion","Automated insight storage","Structured output formatting"],"target_audience":["Team leads","HR managers","Project managers"]}


name: Analyze website SEO and log AI recommendations to Google Sheets with OpenAI
author_name: Hyrum Hurst
author_username: hyrum-hurst
categories: []
created_at: 2026-01-16T21:01:51.954Z
updated_at: 2026-01-16T21:01:51.954Z
url: https://n8n.io/workflows/12767
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Analyze website SEO issues and generate optimization actions with AI

  Author: Hyrum Hurst, AI Automation Engineer at QuarterSmart  
  Contact: hyrum@quartersmart.com  

  This workflow provides a fully automated, AI-powered SEO analysis system designed to turn any website URL into a structured set of clear, actionable optimization recommendations. Instead of relying on manual audits, browser extensions, or generic SEO tools, this automation programmatically inspects a page’s core on-page elements and uses AI to translate raw data into practical next steps.

  The workflow is built for repeatability, scale, and operational use inside agencies, internal marketing teams, and consulting environments. Results are logged, scored, and routed automatically so teams can focus on execution rather than analysis.

  What this workflow does

  When a URL is submitted, the workflow:

  Fetches the full HTML content of the page
  Extracts critical SEO-relevant elements such as:
    Page title
    Meta description
    Heading hierarchy (H1–H6)
    Internal and external links
    Image tags and alt text
  Sends the extracted data to an AI model for structured analysis
  Generates specific, prioritized SEO recommendations, including:
    Keyword optimization opportunities
    Title and meta description improvements
    Heading structure fixes
    Internal linking suggestions
    Content clarity and relevance improvements
  Assigns an overall optimization score to the page
  Logs all results to Google Sheets for tracking, reporting, and comparison over time
  Sends summaries or alerts to Slack or email when critical issues are detected

  This creates a hands-off SEO assistant that can be run on demand, scheduled, or integrated into larger automation systems.

  How it works (high level)

  A URL is submitted via a Manual Trigger or Webhook  
  An HTTP Request node fetches the page HTML  
  HTML parsing nodes extract structured on-page elements  
  An AI model analyzes the extracted content and generates recommendations  
  A Set node formats the output into clean, readable fields  
  Google Sheets stores the audit results for reporting and history  
  A Switch node routes results based on severity or score  
  Slack and/or email nodes notify stakeholders when action is required  

  The workflow is modular and can easily be extended with additional checks, scoring logic, or integrations.

  Use cases

  This template is applicable across many industries and workflows, including:

  Digital marketing agencies**  
    Run fast, consistent SEO audits for client websites and landing pages.

  SEO consultants and freelancers**  
    Automate recurring audits and deliver structured recommendations at scale.

  Ecommerce businesses**  
    Analyze product pages and category pages for discoverability improvements.

  SaaS companies**  
    Optimize landing pages, feature pages, and pricing pages for search traffic.

  Content teams and bloggers**  
    Improve on-page SEO without manual checklists or tooling overhead.

  Web development agencies**  
    Validate SEO readiness before site launches or migrations.

  Local businesses**  
    Continuously monitor service pages for SEO health and optimization gaps.

  Real estate, travel, and hospitality websites**  
    Improve visibility of listings, booking pages, and informational content.

  Why this workflow is useful

  Eliminates repetitive manual SEO checks  
  Produces standardized, actionable output  
  Works across unlimited URLs and clients  
  Easy to customize for different SEO frameworks  
  Ideal for automation-first teams and agencies  

  This workflow is designed to act as a practical SEO operations layer, not just an analysis tool.

  For setup support, customization, or help integrating this workflow into your agency or internal systems, contact Hyrum Hurst, AI Automation Engineer at QuarterSmart, at hyrum@quartersmart.com.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.html","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.googleSheets","n8n-nodes-base.slack","n8n-nodes-base.gmail","n8n-nodes-base.set","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, 4916 characters]

metadata_json:
  {"categories":["SEO","Data Processing","AI/ML"],"complexity":"medium","use_cases":["automated SEO audit","generate optimization recommendations","log structured data to spreadsheets","extract on-page SEO elements"],"estimated_setup_minutes":30,"required_services":["OpenAI / GPT","Google Sheets API","Website URL input"],"key_features":["programmatic SEO inspection","AI-driven recommendation generation","structured data output","automated action planning"],"target_audience":["SEO specialists","developers","content marketers"]}


name: Turn an image into a cinematic video with NanoBanana Ultra, Kling, Blotato
author_name: Dr. Firas
author_username: drfiras
categories: []
created_at: 2026-01-16T22:35:23.532Z
updated_at: 2026-01-16T22:35:23.532Z
url: https://n8n.io/workflows/12769
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:20
description:
  💥 AI Image → Professional Video Workflow (NanoBanana Ultra + Kling AI + Blotato)

  📄 Documentation: Notion Guide

  👤 Who is this for?
  This workflow is designed for content creators, marketers, fashion brands, AI creators, and automation builders who want to turn a single image into a cinematic, multi-shot professional video, then automatically publish it on platforms like YouTube—without manual editing.

  It’s especially useful if you already work with Google Sheets, n8n, and AI image/video generation APIs.

  🎯 What problem does this workflow solve? (Use case)
  Creating high-quality video content from images usually requires:
  Manual image editing
  Multiple AI tools
  Video stitching
  Uploading and publishing steps

  This workflow fully automates that pipeline:
  From a single image URL
  To a cinematic multi-shot video
  To automatic publishing

  All driven from a spreadsheet.

  ⚙️ What this workflow does
  This workflow runs in two main phases:

  Step 1 – Contact Sheet Generation (NanoBanana Ultra)
  Reads an image URL from Google Sheets
  Downloads the image from Google Drive
  Uploads it to a public host (tmpfiles)
  Uses NanoBanana Ultra (edit-ultra) to generate a 2×3 cinematic contact sheet
  Ensures:
    Identity preservation
    Fashion & texture fidelity
    Consistent lighting and style
  Saves the generated contact sheet back to Google Drive
  Updates the spreadsheet status

  Step 2 – Video Creation & Publishing (Blotato)
  Splits the contact sheet into 6 keyframes
  Uploads each frame publicly
  Uses Kling AI (start–end frame i2v) to generate multiple cinematic video segments
  Merges the generated clips into a single final video (FFmpeg API)
  Uploads the final video to Google Drive
  Publishes automatically to YouTube via **Blotato**
  Updates the spreadsheet with the final video URL and status

  🛠️ Setup
  To use this workflow, you need:

  n8n (Cloud or Self-Hosted)
  Google Sheets
     Copy the provided template  
     Each row controls one image → one video
  API Keys
     AtlasCloud (NanoBanana + Kling)
     tmpfiles.org (public hosting)
     Blotato (publishing)
  Connected Accounts
     Google Drive
     Google Sheets
     Blotato

  🎛️ How to customize this workflow
  You can easily adapt it to your needs:

  Change video style**
    Edit the Kling prompt (camera movement, mood, pacing)
  Adjust video duration**
    Modify the duration parameter in Kling nodes
  Use fewer or more shots**
    Add/remove crop + Kling generation branches
  Publish to other platforms**
    Blotato supports multiple social networks
  Trigger automatically**
    Use the Schedule Trigger instead of manual execution
  Different aspect ratios**
    Adjust NanoBanana aspect_ratio and crop math

  🚀 Expected outcome
  From one image, you get:
  A high-end editorial contact sheet
  Multiple cinematic AI-generated video clips
  One merged professional video
  Automatically uploaded and published

  No manual editing. No timeline work. Fully automated.

  👋 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.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.editImage","n8n-nodes-base.editImage","n8n-nodes-base.httpRequest","n8n-nodes-base.editImage","n8n-nodes-base.httpRequest","n8n-nodes-base.editImage","n8n-nodes-base.httpRequest","n8n-nodes-base.editImage","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 11352 characters]

metadata_json:
  {"categories":["AI/ML","Content Creation","Marketing"],"complexity":"medium","use_cases":["convert static images to cinematic videos","automate multi-shot movie generation","deploy short films to social media"],"estimated_setup_minutes":45,"required_services":["NanoBanana","Kling AI","Blotato","Google Sheets","Google Drive","YouTube"],"key_features":["predictive video generation prompts","sequential shot composition automation","integrated spreadsheet data management"],"target_audience":["content creators","marketing teams","AI developers"]}


name: Build a full REST-API with n8n webhooks
author_name: Christian Knoflach
author_username: cknoflac
categories: []
created_at: 2026-01-18T13:05:02.909Z
updated_at: 2026-01-18T13:05:02.909Z
url: https://n8n.io/workflows/12789
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:22
description:
  What is it?
  A clean, extensible REST-style API routing template for n8n webhooks with up to 3 path levels.

  How does it work?
  Serves API routes via Webhooks with path variables

  Normalizes incoming requests into "global" _REQUEST and _CFG nodes

  Flexible routing with Switch-nodes based on path segments & request method

  Key features
  No setup required
  Supports multiple HTTP methods
  Global config via code node
  Separation of concern between config/request and implementation data flow
  Easy to extend

  Use cases
  Prototyping backend APIs via JSON-responses
  Serving interactive websites via HTML-nodes + TEXT responses

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.webhook","n8n-nodes-base.webhook","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflow","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.switch","n8n-nodes-base.switch","n8n-nodes-base.noOp","n8n-nodes-base.switch","n8n-nodes-base.switch","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.executeWorkflow","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.executeWorkflow","n8n-nodes-base.set","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.executeWorkflow","n8n-nodes-base.set","n8n-nodes-base.noOp"]

workflow_json_compressed:
  [encoded data, 7476 characters]

metadata_json:
  {"categories":["Development","DevOps","API Integration"],"complexity":"medium","use_cases":["build REST APIs","route incoming requests","normalize webhooks","handle HTTP methods"],"estimated_setup_minutes":10,"required_services":["n8n"],"key_features":["zero configuration setup","supports multiple HTTP methods","global configuration support","path-based routing","request normalization"],"target_audience":["developers","QA engineers","API architects"]}


author_name: Cheng Siong Chin
author_username: cschin
categories: []
created_at: 2026-01-18T14:54:12.621Z
updated_at: 2026-01-18T14:54:12.621Z
url: https://n8n.io/workflows/12790
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:22
name:
  Monitor revenue tax compliance and auto-correct anomalies with Anthropic, MagicCSV, Gmail and WhatsApp

description:
  How It Works
  This workflow automates tax compliance monitoring and revenue analysis for accounting teams and finance managers handling multi-source income data. It solves the critical problem of manually tracking revenue streams, identifying tax anomalies, and ensuring regulatory compliance across multiple data sources. The system fetches revenue data from accounting software via MagicCSV, processes it through three specialized AI models for categorization, anomaly detection, and compliance verification, then automatically syncs validated results to accounting systems and sends tax summary reports via email and WhatsApp. This eliminates hours of manual review, reduces compliance errors, and provides real-time tax insights.

  Setup Steps
  Configure MagicCSV integration with your accounting software API credentials
  Add Anthropic API key for categorization, anomaly detection, and compliance models
  Connect accounting software webhook/API for bidirectional sync
  Set up Gmail authentication for automated report distribution
  Configure WhatsApp Business API credentials for instant alerts

  Prerequisites
  Anthropic API access, MagicCSV account, accounting software with API capabilities
  Use Cases
  Multi-entity corporations tracking cross-border revenue, e-commerce businesses with diverse income streams
  Customization
  Modify AI prompts for industry-specific tax rules, add custom anomaly thresholds
  Benefits
  Reduces manual tax review time by 80%, minimizes compliance errors through triple AI validation

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.n8n","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.whatsApp","@n8n/n8n-nodes-langchain.mcpClientTool","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, 6664 characters]

metadata_json:
  {"categories":["Accounting","Finance","Regulatory Compliance","Data Processing","Communication"],"complexity":"medium","use_cases":["Automate revenue tax compliance checks","Detect financial anomalies","Verify regulatory adherence","Validate income data sources","Auto-correct tax discrepancies"],"estimated_setup_minutes":15,"required_services":["MagicCSV","Gmail","WhatsApp"],"key_features":["Multi-source revenue data aggregation","AI-driven anomaly detection","Automated compliance verification","Classification of revenue streams","Cross-platform communication alerts"],"target_audience":["Accounting teams","Finance managers","Compliance officers"]}


name: Forecast demand, optimize pricing, and engage customers with GPT‑4.1, Postgres, email, and Slack
author_name: Cheng Siong Chin
author_username: cschin
categories: []
created_at: 2026-01-18T15:16:43.226Z
updated_at: 2026-01-18T15:16:43.226Z
url: https://n8n.io/workflows/12791
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:22
description:
  How It Works
  This workflow automates inventory management and customer engagement for e-commerce businesses and retail operations managing multiple product categories. It solves the critical challenge of maintaining optimal stock levels while personalizing customer communications across order fulfillment, product recommendations, and support interactions. The system processes webhook-triggered data across four parallel streams (orders, reviews, inventory, social media), applies AI-powered analysis for sentiment extraction, pricing optimization, promotion targeting, and demand forecasting, then distributes personalized communications through email campaigns and Slack/Microsoft Teams notifications. This eliminates manual inventory tracking, reduces stockouts, and delivers data-driven customer engagement.

  Setup Steps
  Configure webhook URLs for orders, reviews, inventory systems, and social media platforms
  Add AI model API credentials (OpenAI/Anthropic) for sentiment, pricing
  Connect CRM database for customer profile management and segmentation
  Set up email service (Gmail/SendGrid) with campaign templates for personalized communications
  Integrate Slack workspace or Microsoft Teams channels for internal inventory alerts

  Prerequisites
  Active e-commerce platform with webhook support, AI service API keys
  Use Cases
  Multi-channel retailers optimizing stock across locations, subscription box services  
  Customization
  Adjust AI prompts for industry-specific sentiment rules, modify inventory thresholds for restocking alerts
  Benefits
  Reduces inventory management overhead by 70%, prevents stockouts through predictive forecasting

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.wait","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.slack","n8n-nodes-base.slack","n8n-nodes-base.emailSend","n8n-nodes-base.set","n8n-nodes-base.removeDuplicates","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, 12580 characters]

metadata_json:
  {"categories":["AI/ML","E-Commerce","Data Processing"],"complexity":"medium","use_cases":["Forecast demand","Optimize pricing","Engage customers","Automate inventory management"],"estimated_setup_minutes":10,"required_services":["Postgres","Email service","Slack"],"key_features":["AI-driven demand forecasting","Dynamic pricing optimization","Personalized customer communications","Multi-stream data processing"],"target_audience":["E-commerce managers","Retail operations teams","Marketing professionals"]}


name: Optimize fleet routes and anomaly alerts with GPT-4, Slack and Postgres
author_name: Cheng Siong Chin
author_username: cschin
categories: []
created_at: 2026-01-18T15:45:12.739Z
updated_at: 2026-01-18T15:45:12.739Z
url: https://n8n.io/workflows/12792
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:22
description:
  How It Works
  This workflow automates veterinary clinic operations and client communications for animal hospitals and veterinary practices managing appointments, inventory, and patient care. It solves the dual challenge of maintaining medical supply levels while delivering personalized pet care updates and appointment coordination. The system processes scheduled inventory data through AI-powered quality validation and restocking recommendations, then branches into two intelligent pathways: supplier coordination via email for replenishment, and client engagement through personalized appointment reminders, follow-up care instructions, and satisfaction surveys distributed via email and messaging platforms. This eliminates manual inventory tracking, reduces appointment no-shows, and ensures consistent post-visit care communication.

  Setup Steps
  Configure webhook or schedule trigger for veterinary management system inventory data sync
  Add AI model API keys for inventory quality validation
  Connect supplier email system with template configurations for automated purchase orders
  Set up client communication channels with appointment and care instruction templates
  Integrate customer database for pet records and appointment history 

  Prerequisites
  Veterinary practice management software with API/webhook capabilities, AI service API access
  Use Cases
  Multi-location veterinary hospitals coordinating inventory across sites
  Customization
  Modify AI prompts for species-specific care instructions
  Benefits
  Reduces supply management time by 75%, prevents critical medication stockouts

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.removeDuplicates","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.code","n8n-nodes-base.switch","n8n-nodes-base.wait","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.slack","n8n-nodes-base.emailSend","n8n-nodes-base.slack","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 12768 characters]

metadata_json:
  {"categories":["Healthcare"],"complexity":"medium","use_cases":["automate inventory management","trigger client notifications","validate quality data","coordinate appointments"],"estimated_setup_minutes":120,"required_services":["GPT-4","Slack","Postgres"],"key_features":["AI-powered quality validation","dynamic restocking recommendations","intelligent supply pathway branching","automated medical update coordination","structured output parsing"],"target_audience":["veterinary clinic managers","veterinary practice administrators","inventory supervisors"]}


name: Generate AI images via Telegram with WaveSpeed, credit system, PIX and S3
author_name: Cleverton Ruppenthal
author_username: keverupp
categories: []
created_at: 2026-01-18T17:31:57.644Z
updated_at: 2026-01-18T17:31:57.644Z
url: https://n8n.io/workflows/12797
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:22
description:
  🤖 Generate images via Telegram using an AI bot with a credit system and S3 storage

  A complete, production-ready Telegram bot for AI-powered image generation and editing, featuring a built-in credit system, payment integration, and cloud storage.

  ✨ Features

  🎨 AI Image Generation
  Text-to-Image: Generate stunning images from text prompts using the **Nano Banana Pro Ultra model via WaveSpeed API
  Image-to-Image Editing**: Edit existing images by sending a photo with a caption describing the desired changes
  Multiple Resolutions: Support for both **4K and 8K output quality
  Flexible Aspect Ratios**: Choose from 10 different aspect ratios (1:1, 3:2, 2:3, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9)

  💳 Credit Management System
  Per-generation billing**: Different costs for 4K vs 8K resolution
  Balance tracking**: Real-time credit balance displayed to users
  Initial credits**: New users receive starter credits automatically
  Insufficient balance handling**: Graceful messages when credits run out

  Here's the adjusted payment section:

  💰 Payment Integration (Mercado Pago PIX)

  &gt; About PIX: PIX is Brazil's instant payment system, launched by the Central Bank of Brazil in 2020. It allows instant money transfers 24/7, 365 days a year, using QR codes or copy-paste codes. It has become the most popular payment method in Brazil due to its speed and zero fees for individuals.

  This workflow includes a fully integrated PIX payment flow as a reference implementation. You can adapt it to your local payment provider.

  Features:
  Multiple deposit options**: Pre-configured credit packages (R$ 3, R$ 6, R$ 10)
  QR Code generation**: Automatic PIX QR code sent directly to users via Telegram
  Copy-paste code**: PIX code provided for manual payment
  Webhook confirmation**: Real-time payment status updates via Mercado Pago webhooks
  Auto credit top-up**: Credits added automatically upon payment approval
  Payment status handling**: Supports approved, pending, and rejected states

  &gt; 💡 Tip: To adapt this for other regions, replace the Mercado Pago nodes with your preferred payment gateway (Stripe, PayPal, etc.) while keeping the same credit update logic.

  ⚙️ User Configuration
  Resolution settings**: Users can set their preferred default resolution
  Aspect ratio preferences**: Save preferred aspect ratio for future generations
  Custom default prompts**: Set a default prompt that's automatically appended to all generations
  Persistent settings**: All preferences stored in n8n Data Tables

  📦 Cloud Storage (S3/MinIO)
  Automatic upload**: Generated images are automatically uploaded to S3-compatible storage
  Persistent URLs**: Images remain accessible via permanent links
  Edit from storage**: Reference previously uploaded images for editing

  🛠️ Tech Stack

  | Component | Technology |
  |-----------|------------|
  | Bot Platform | Telegram Bot API |
  | AI Generation | WaveSpeed API (Nano Banana Pro) |
  | Storage | S3-compatible (MinIO/AWS S3) |
  | Database | n8n Data Tables |
  | Payments | Mercado Pago PIX |
  | Automation | n8n |

  📋 Prerequisites

  Before using this workflow, you'll need:

  Telegram Bot Token - Create a bot via @BotFather
  WaveSpeed API Key - Sign up at WaveSpeed
  S3-compatible Storage - MinIO, AWS S3, or any S3-compatible service
  Mercado Pago Account (optional) - For payment integration
  n8n Data Table - Create a table with the required schema

  📊 Data Table Schema

  Create a Data Table with the following columns:

  | Column | Type | Description |
  |--------|------|-------------|
  | chat_id | String | Telegram chat ID (primary key) |
  | username | String | Telegram username |
  | status | String | Current user state in the flow |
  | credits | String | User's credit balance |
  | resolution | String | Preferred resolution (4k/8k) |
  | aspect_ratio | String | Preferred aspect ratio |
  | user_default_prompt | String | Custom default prompt |
  | number_images | Number | Total images generated |
  | number_videos | Number | Total videos generated |
  | demo_sended | Boolean | Welcome demo sent flag |

  ⚡ Quick Setup

  Import the workflow into your n8n instance
  Configure the Global Environment node with your settings:
     botName: Your bot's display name
     botToken: Your Telegram bot token
     dataTableId: Your n8n Data Table ID
     bucketName: Your S3 bucket name
     initialCredits: Credits given to new users
     generateImageCost4k: Cost per 4K image
     generateImageCost8k: Cost per 8K image
  Set up credentials:
     Telegram API credentials
     WaveSpeed API credentials
     S3 credentials
     Mercado Pago credentials (if using payments)
  Activate the workflow

  🎮 Bot Commands

  | Command | Description |
  |---------|-------------|
  | /start | Initialize bot and receive welcome message |
  | menu | Return to main menu |
  | config | Open settings menu |
  | Any text | Generate image from prompt (when in generation mode) |
  | Photo + caption | Edit the photo based on the caption |

  🔄 Workflow Flow

  User Message → Telegram Trigger → Route by Status
                                          ↓
                      ┌───────────────────┼───────────────────┐
                      ↓                   ↓                   ↓
                New User            Generate Image       Edit Image
                      ↓                   ↓                   ↓
               Welcome Flow        Check Credits        Check Credits
                      ↓                   ↓                   ↓
              Create User         Submit to WaveSpeed    Upload to S3
                      ↓                   ↓                   ↓
               Show Menu           Poll for Result      Submit Edit
                                          ↓                   ↓
                                   Download Image      Poll for Result
                                          ↓                   ↓
                                   Send to User ←←←←←←←←←←←←←┘

  📝 Notes

  The workflow uses polling to check generation status - WaveSpeed processes may take up to 1 minute
  Credits are deducted when the task is submitted and refunded if generation fails
  All user states are managed through the Data Table for persistence across restarts

  📄 License

  Free to use and modify. Attribution appreciated but not required.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-wavespeed.waveSpeedTaskSubmit","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.switch","n8n-nodes-base.switch","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-wavespeed.waveSpeedTaskSubmit","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.s3","n8n-nodes-base.switch","n8n-nodes-base.dataTable","n8n-nodes-base.switch","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.switch","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.telegram","n8n-nodes-base.dataTable","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.webhook","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.dataTable","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.convertToFile","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.if","n8n-nodes-base.dataTable","n8n-nodes-base.stickyNote","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.telegram","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.dataTable","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-wavespeed.wavespeedTaskStatus","n8n-nodes-base.wait","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","n8n-nodes-base.editImage","n8n-nodes-base.dataTable","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.dataTable","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.dataTable","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.telegramTrigger"]

workflow_json_compressed:
  [encoded data, 23340 characters]

metadata_json:
  {"categories":["AI/ML","Communication"],"complexity":"medium","use_cases":["AI image generation","Telegram bot creation","credit system management","payment processing","cloud storage integration"],"estimated_setup_minutes":30,"required_services":["Telegram Bot API","WaveSpeed API","Amazon S3","Payment Gateway"],"key_features":["AI image generation via text prompts","Image-to-image editing","In-app credit system","PIX payment integration","Cloud storage for outputs"],"target_audience":["developers","marketing teams","bot administrators"]}


name: Generate AI SOPs from Google Drive with GPT‑4o, Google Docs and Sheets
author_name: Hyrum Hurst
author_username: hyrum-hurst
categories: []
created_at: 2026-01-18T18:34:21.527Z
updated_at: 2026-01-18T18:34:21.527Z
url: https://n8n.io/workflows/12799
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:22
description:
  This workflow automatically converts unstructured internal documentation into clear, actionable Standard Operating Procedures (SOPs).

  Instead of manually rewriting internal knowledge, teams can upload or update documents and let AI generate consistent, step-by-step SOPs that are easy to follow and scale across the organization.

  How it works
  When a new or updated document is detected in Google Drive, the workflow extracts the content and splits it into manageable sections. AI then analyzes the material, identifies implicit steps, and generates a structured SOP with clear actions, responsibilities, and outcomes.

  A second AI pass refines clarity and consistency. Completed SOPs are saved to Google Docs, logged in Google Sheets, and shared with stakeholders via Slack or email.

  Who it’s for
  Operations teams
  Consulting firms
  Agencies and service businesses
  Scaling startups
  Internal enablement teams

  Requirements
  Google Drive & Docs
  Google Sheets
  OpenAI credentials
  Slack or Gmail

  Built by QuarterSmart
  Created by Hyrum Hurst, AI Automation Engineer at QuarterSmart, specializing in practical, production-ready AI automation systems.

  For custom SOP automation or enterprise setups:  
  hyrum@quartersmart.com

nodes_used:
  ["n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.extractFromFile","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.if","n8n-nodes-base.googleDocs","n8n-nodes-base.googleSheets","n8n-nodes-base.slack","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5952 characters]

metadata_json:
  {"categories":["AI/ML","Productivity","Documentation"],"complexity":"medium","use_cases":["automate SOP creation","extract procedures from documents","standardize internal knowledge","generate step-by-step guides"],"estimated_setup_minutes":15,"required_services":["Google Drive","Google Docs","Google Sheets","OpenAI API (GPT-4o)"],"key_features":["automatic document scanning","content chunking and processing","AI-driven content structure","structured output generation"],"target_audience":["operations managers","knowledge workers","documentation specialists"]}


name: Track Azure API and Service Bus failures with Application Insights correlation
author_name: kartik ramachandran
author_username: kramatic85
categories: []
created_at: 2026-01-18T22:14:52.009Z
updated_at: 2026-01-18T22:14:52.009Z
url: https://n8n.io/workflows/12803
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:22
description:
  Track Azure API failures with Application Insights correlation

  Template Name
  Track Azure API failures with App Insights, APIM, and Service Bus correlation

  Description

  Troubleshoot failed API calls by correlating Application Insights telemetry with API Management logs and Service Bus messages. Query failures from the last 24 hours to 30 days, identify root causes, and generate detailed failure reports with full context.

  Who's it for

  DevOps Engineers, Site Reliability Engineers, API developers, Support teams, and Platform engineers troubleshooting production incidents.

  How it works

  Set Configuration: Stores credentials and query parameters
  Query Application Insights: Single node retrieves APIM requests, Service Bus traces, and exceptions via OAuth2
  Correlate and Analyze Data: Links requests to SB messages and exceptions via operation IDs
  Generate Report: Creates detailed failure analysis with root cause data
  Output: Markdown/HTML reports, Excel export, or JSON API response

  Set up steps

  Prerequisites

  Application Insights resource in Azure
  APIM and Service Bus logging to App Insights
  Service Principal with "Monitoring Reader" role

  Setup

  1. Create Azure Service Principal

  Azure CLI:
  Create service principal
  az ad sp create-for-rbac --name "n8n-appinsights-tracker" \
    --role "Monitoring Reader" \
    --scopes /subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Insights/components/{app-insights-name}

  Save the output:
  appId (client ID)
  password (client secret)
  tenant (tenant ID)

  Also get your Application Insights App ID:
  az monitor app-insights component show --app {name} -g {rg} --query appId -o tsv

  2. Configure Workflow

  Open "Set Configuration" node and update:
  appId - Application Insights Application ID
  clientId - Service Principal client ID (from step 1)
  clientSecret - Service Principal password (from step 1)
  tenantId - Azure AD tenant ID (from step 1)
  timeRange - 24h, 7d, or 30d
  includeSuccessful - false (failures only) or true (all requests)

  3. Verify Dependencies

  Ensure diagnostic logging is configured:
  APIM**: Diagnostics → Application Insights enabled
  Service Bus**: Diagnostic settings → Send to App Insights
  Custom Dimensions**: Capture MessageId, EntityName for Service Bus

  4. Test Workflow

  Click Manual Trigger
  Review "Generate Report" node output
  Verify correlated data appears

  5. Enable Output Options (Optional)

  Excel**: Enable "Export to Excel" for downloadable reports
  Webhook**: Enable "Respond to Webhook" for API integration

  Requirements

  Azure Requirements
  Azure Application Insights resource
  Service Principal with "Monitoring Reader" role
  APIM and Service Bus configured to log to Application Insights

  n8n Requirements
  n8n instance (cloud or self-hosted version 1.0+)
  Ability to configure credentials in Set Configuration node

  How to customize

  Time Range Filters

  Modify timeRange in "Set Configuration":
  24h - Last 24 hours (default)
  7d - Last 7 days  
  30d - Last 30 days

  Filter by API or Operation

  Edit KQL queries in "Query Application Insights" Code node. Find the apimQuery variable and modify:

  const apimQuery = `
  requests
  | where timestamp &gt; ago(${timeRange})
  | where name contains "specific-api-name"
  | where customDimensions['apim-operation-name'] == "GetOrders"
  | where resultCode &gt;= 400
  | take 500
  | project timestamp, name, url, resultCode, duration, operation_Id, customDimensions
  `;

  Filter by Status Code

  Modify the where resultCode condition:

  | where resultCode == 500  // Only 500 errors
  | where resultCode &gt;= 400 and resultCode &lt; 500  // 4xx errors

  Include Custom Dimensions

  Extend the project statement in any query:

  | extend customField = tostring(customDimensions['YourCustomField'])
  | project ..., customField

  Adjust Result Limits

  Change take 500 in each query to retrieve more/fewer results:

  | take 1000  // Get 1000 results

  Add Additional Queries

  Add new queries in the Code node, for example dependency tracking:

  const dependencyQuery = `
  dependencies
  | where timestamp &gt; ago(${timeRange})
  | where success == false
  | extend operationId = tostring(operation_Id)
  | take 500
  | project timestamp, name, type, target, duration, success, operation_Id
  `;

  const dependencyResponse = await fetch(
    https://api.applicationinsights.io/v1/apps/${appId}/query?query=${encodeURIComponent(dependencyQuery)},
    { headers: { 'Authorization': Bearer ${accessToken} } }
  );

  Troubleshooting

  "Query failed" or 401 error: Verify Service Principal has "Monitoring Reader" role, check clientId/clientSecret/tenantId in Set Configuration node

  "Token acquisition failed": Confirm credentials are correct, verify Service Principal is not expired

  "No data returned": Check time range, verify APIM/SB logs to App Insights, confirm diagnostic settings enabled, ensure Application Insights App ID is correct

  "Operation IDs don't correlate": Ensure custom dimensions are captured, verify telemetry initializers configured in APIM and Service Bus

  "Missing Service Bus data": Enable Service Bus diagnostic logs, add MessageId to custom dimensions in logging configuration

  Use Cases

  Incident Response
  Query last 24h of failures during incident to identify affected APIs and root causes

  Pattern Analysis
  Use 7d or 30d range to identify recurring error patterns and systemic issues

  Performance Investigation
  Sort by duration to find slow API calls and optimize bottlenecks

  Customer Support
  Search by operation ID from customer complaint to trace full request lifecycle

  Compliance Reporting
  Export to Excel for audit trail of failed transactions

  Data Structure

  Summary Object
  {
    "totalRequests": 150,
    "failedRequests": 12,
    "successfulRequests": 138,
    "requestsWithExceptions": 8,
    "requestsWithServiceBus": 45,
    "averageDuration": 234.5,
    "timeRange": "24h"
  }

  Failed Request Object
  {
    "timestamp": "2026-01-19T10:30:00Z",
    "apiName": "POST /api/orders",
    "url": "https://api.example.com/orders",
    "resultCode": 500,
    "duration": 1523,
    "operationId": "abc-123-def",
    "apimServiceName": "prod-apim",
    "apimOperationName": "CreateOrder",
    "serviceBusMessageIds": ["msg-456", "msg-789"],
    "exceptionMessages": ["NullReferenceException: Object not set"],
    "hasException": true,
    "isFailure": true
  }

  KQL Query Examples

  Failed requests with exceptions
  requests
  | where timestamp &gt; ago(24h)
  | where resultCode &gt;= 400
  | join kind=inner (
      exceptions
      | where timestamp &gt; ago(24h)
  ) on operation_Id
  | project timestamp, name, resultCode, operation_Id, outerMessage

  Service Bus message failures
  traces
  | where timestamp &gt; ago(24h)
  | where message contains "Failed to process message"
  | extend messageId = tostring(customDimensions['MessageId'])
  | project timestamp, message, messageId

  APIM throttling analysis
  requests
  | where timestamp &gt; ago(7d)
  | where resultCode == 429
  | summarize count() by bin(timestamp, 1h), tostring(customDimensions['apim-subscription-id'])

  Integration Examples

  Python - Query API
  import requests

  url = "https://your-n8n.com/webhook/app-insights-tracker"
  response = requests.get(url)
  data = response.json()

  print(f"Failed Requests: {data'data'['failedRequests']}")
  for error in data'data':
      print(f"  {error['error']}: {error['count']} times")

  PowerShell - Alert on Failures
  $data = Invoke-RestMethod -Uri "https://your-n8n.com/webhook/app-insights-tracker"
  $failures = $data.data.summary.failedRequests

  if ($failures -gt 10) {
      Send-MailMessage -To "oncall@company.com" `
          -Subject "ALERT: $failures API failures detected" `
          -Body $data.data.report
  }

  Scheduled Monitoring
  Run workflow every hour with Schedule Trigger to continuously monitor for failures and alert when thresholds exceeded.

  Resources

  Application Insights API | KQL Reference | APIM Logging

  Category: Monitoring, Observability, DevOps  
  Difficulty: Intermediate  
  Setup Time: 10 minutes  
  n8n Version: 1.0+

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.spreadsheetFile","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6896 characters]

metadata_json:
  {"categories":["DevOps","Cloud Infrastructure"],"complexity":"medium","use_cases":["monitor API failures","correlate telemetry data","generate failure reports","identify root causes"],"estimated_setup_minutes":15,"required_services":["Application Insights","Azure API Management","Azure Service Bus","Spreadsheets"],"key_features":["workflow automation for troubleshooting","correlating multiple telemetry sources","report generation"],"target_audience":["DevOps Engineers","Site Reliability Engineers","API developers"]}


name: Send cold outreach emails and follow-ups with Resend, Postgres and HubSpot
author_name: Gilbert Onyebuchi
author_username: gilbert-onyebuchi
categories: []
created_at: 2026-01-19T08:49:07.598Z
updated_at: 2026-01-19T08:49:07.598Z
url: https://n8n.io/workflows/12810
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Automate your cold email outreach with this 3-stage workflow that sends emails, triggers follow-ups after 3 days, and syncs responses to HubSpot CRM automatically.

  Uses:** n8n, Postgres/Supabase, Resend API, HubSpot

  Features:** Scheduled triggers, automatic follow-ups, response tracking via webhooks, CRM auto-sync

  Perfect for sales teams and marketers who want to scale outreach without manual work.

  📺 Full tutorial included

  📧 Questions? Need customization? Connect with me on LinkedIn: Click here

  👀 Check out my other automation workflows on my n8n creator profile for more productivity tools!

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.filter","n8n-nodes-base.webhook","n8n-nodes-base.postgres","n8n-nodes-base.hubspot","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4308 characters]

metadata_json:
  {"categories":["Marketing","Sales","Communication"],"complexity":"medium","use_cases":["send cold emails","schedule follow-ups","sync CRM responses","automate outreach sequences"],"estimated_setup_minutes":30,"required_services":["Resend","Postgres","HubSpot"],"key_features":["scheduled email triggers","automatic follow-up logic","CRM data synchronization","response tracking via webhooks"],"target_audience":["sales teams","marketers","business developers"]}


name: Turn a YouTube channel into a second brain with Neo4j GraphRAG and GPT-4o-mini
author_name: Hugo Le Poole
author_username: monetizia
categories: []
created_at: 2026-01-19T09:45:26.109Z
updated_at: 2026-01-19T09:45:26.109Z
url: https://n8n.io/workflows/12812
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  AI-powered "Second Brain" that can answer questions about any YouTube channel's content using Neo4j Graph Database and RAG.

  Turn any YouTube channel into a searchable knowledge base. The AI agent understands relationships between videos, topics, tools, and concepts - enabling powerful queries like "Which videos talk about automation AND mention n8n?" or "What are the most discussed topics?".

  Good to know

  Neo4j Aura Free Tier is sufficient for most channels (up to 200k nodes)
  Apify credits are required for YouTube scraping (~$5 for 500 videos)
  LLM costs are minimal (~$0.01 per video for entity extraction)

  How it works

  Ingestion Flow**: Scrapes YouTube videos via Apify, including titles, descriptions, and transcripts.
  Entity Extraction**: GPT-4o-mini analyzes each video and extracts Topics, Tools, and Concepts mentioned.
  Graph Storage**: Data is stored in Neo4j with relationships: Video → COVERS → Topic, Video → USES → Tool, Video → EXPLAINS → Concept.
  AI Agent**: Receives user questions, generates Cypher queries to search the graph, and returns natural language responses with relevant video links.

  How to use

  Set up a free Neo4j Aura instance and save credentials
  Convert your Neo4j username:password to Base64 for authentication
  Configure Apify with your target YouTube channel URL
  Run the ingestion workflow to populate the database
  Chat with the AI agent to query your video knowledge base

  Requirements

  Neo4j Aura account (free tier available)
  Apify account for YouTube scraping
  OpenAI API key (GPT-4o-mini) for entity extraction
  Anthropic API key (Claude) or OpenAI for the AI agent

  Customization

  Modify the system prompt to change response style or language
  Add more entity types (e.g., People, Companies, Frameworks)
  Connect multiple YouTube channels into one knowledge base
  Extend to other content sources (blogs, podcasts, Notion docs)

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.chat","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","@apify/n8n-nodes-apify.apify","@apify/n8n-nodes-apify.apify","n8n-nodes-base.form","n8n-nodes-base.splitInBatches"]

workflow_json_compressed:
  [encoded data, 9204 characters]

metadata_json:
  {"categories":["AI/ML","Data Processing","Productivity","Research"],"complexity":"medium","use_cases":["Questioning channel content","Extracting insights from videos","Building searchable knowledge bases","Analyzing video topic relationships"],"estimated_setup_minutes":90,"required_services":["Neo4j","Apify","OpenRouter","YouTube Data API","GPT-4","n8n"],"key_features":["GraphRAG implementation","Multi-modal video analysis","Relationship-based querying","Smart content indexing","Visual knowledge mapping"],"target_audience":["YouTubers","Content strategists","Knowledge managers"]}


name: Collect historical price data from Polymarket Up/Down markets into Supabase
author_name: Caio Carvalho
author_username: caio-carvalho
categories: []
created_at: 2026-01-19T18:29:18.497Z
updated_at: 2026-01-19T18:29:18.497Z
url: https://n8n.io/workflows/12823
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  This workflow automatically collects historical price data from Polymarket Up/Down markets and stores it in Supabase, creating a structured and query-ready dataset for analysis. By continuously fetching price movements from prediction markets such as Bitcoin, S&P 500, and other Up/Down series, the automation enables reliable historical tracking without manual intervention. The data is normalized and persisted in Supabase, making it easy to run SQL queries, build dashboards, perform quantitative analysis, or integrate with analytics and AI pipelines. This setup is ideal for traders, data analysts, and developers who need accurate Polymarket price history for research, strategy testing, or long-term market monitoring

  How it works

  Provide the slug of the serial market you want to analyze in the initial form. The workflow is designed for live Polymarket “Up or Down” markets; copy the slug from the current market and submit it.

  From the slug, the workflow extracts the event ID and derives the corresponding series ID. All events in that series are retrieved, organized, and stored in an internal n8n table. This process runs only once per series to avoid duplicate data.

  A second workflow reads the stored events, retrieves the Up and Down token IDs, records market closing times, and filters out open markets so only historical data is processed.

  Market end times are converted to Unix timestamps, and start times are calculated. The workflow is structured for 1-hour markets, but the time-conversion node can be adjusted for other durations.

  Historical price data is then fetched and stored in a Supabase table for later analysis.

  How to use

  Copy the slug of the desired Up or Down market from Polymarket and submit it through the form.

  After the first workflow finishes, run the second workflow to collect historical price data.

  Events are processed in batches of 100 to avoid performance issues. If execution stops, simply rerun the workflow and it will continue from where it left off.

  Need help with implementation or customization?

  If you require assistance setting up this workflow, adapting it to your infrastructure, or extending it for advanced analytics, feel free to reach out by email at caio@caravelsai.com
  .

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.dataTable","n8n-nodes-base.manualTrigger","n8n-nodes-base.dataTable","n8n-nodes-base.httpRequest","n8n-nodes-base.dataTable","n8n-nodes-base.if","n8n-nodes-base.dataTable","n8n-nodes-base.dateTime","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.supabase","n8n-nodes-base.dataTable","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, 6060 characters]

metadata_json:
  {"categories":["Data Processing"],"complexity":"medium","use_cases":["collect historical prediction market prices","build quantitative analysis datasets","automate data storage for blockchain markets"],"estimated_setup_minutes":15,"required_services":["Polymarket","Supabase"],"key_features":["automated historical price tracking","structured data normalization","SQL-ready dataset persistence","continuous market monitoring","multiple series aggregation"],"target_audience":["data analysts","quantitative researchers","crypto traders"]}


name: Automate systematic literature reviews with Google Drive, GPT-4, Gemini, Qdrant and Airtable
author_name: Jannik Hiller
author_username: jannik-mtm
categories: []
created_at: 2026-01-19T20:38:00.384Z
updated_at: 2026-01-19T20:38:00.384Z
url: https://n8n.io/workflows/12827
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  How it works
  Automates systematic literature review by downloading papers from Google Drive, extracting text, and evaluating them against strict inclusion/exclusion criteria using LLM agents

  Routes included papers to Qdrant vector stores with Gemini embeddings for semantic search, and excluded papers to a separate folder

  Logs all decisions to Airtable with PRISMA-compliant justification for complete audit trails

  Set up steps
  Connect Google Drive credentials to access your paper folder

  Configure Airtable base and table for decision logging

  Add OpenAI (GPT-4) and Google Gemini API credentials for LLM evaluation and embeddings

  Set up Qdrant instances for vector storage (supports up to 3 collections)

  Keep detailed descriptions of your inclusion/exclusion criteria in the sticky notes inside your workflow

nodes_used:
  ["n8n-nodes-base.googleDrive","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","n8n-nodes-base.splitInBatches","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.googleDrive","@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.airtable","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.airtable","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.vectorStoreQdrant","n8n-nodes-base.code","n8n-nodes-base.switch"]

workflow_json_compressed:
  [encoded data, 13032 characters]

metadata_json:
  {"categories":[],"complexity":"complex","use_cases":["conduct systematic literature reviews","automate academic research","extract text from documents","evaluate papers with AI","manage research databases"],"estimated_setup_minutes":25,"required_services":["Google Drive","Google Gemini","Qdrant","Airtable"],"key_features":["automated literature review","LLM-based inclusion criteria evaluation","semantic search with embeddings","PRISMA-compliant audit trails","vector database integration"],"target_audience":["researchers","academics","librarians"]}


name: Generate AI video clips from YouTube automatically with Reka Vision
author_name: Frank Boucher
author_username: fboucheros
categories: []
created_at: 2026-01-19T21:33:16.775Z
updated_at: 2026-01-19T21:33:16.775Z
url: https://n8n.io/workflows/12829
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:20
description:
  Try It Out!

  This n8n template demonstrates how to use Reka Vision to automatically generate a customized video clip from a YouTube video using AI. The workflow keeps you informed by sending an email when the work is done, ready to be published on social!

  How it works
  Looking at the RSS feed of a YouTube channel, the flow will be triggered when there is a new video published.
  Using Reka's API, we will submit a request for creating a clip using AI. You can customize: 
    the template used
    the prompt to generate the clip
    if you want captions or not
    the minimum or maximum duration of the clip
  Wait a little while, the magic happens
  Check if the job status is completed
    If yes, it send an success email
    if no, it will loop
  Implement best practices with a failsafe after 10 iterations in the loop; it will send an error email 

  Gettting Started
  Edit those nodes with your settings and credentials.
  When New Video**: Set the Feed URL to the YouTube channel you want to follow (ex: 
  Create a clip**: Add your credential. Change the prompt and adjust the setting to your preferences
  Send _ EMail**: Personalize the email the way you like.

  Requirements
  Reka AI API key (it's free! Get yours from here from Reka)
  Gmail account (feel free to change it to another mail provider)

  Need Help?
  Join the Discord

  Happy clipping!

nodes_used:
  ["n8n-nodes-base.rssFeedReadTrigger","@reka-ai/n8n-nodes-reka.rekaVision","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","@reka-ai/n8n-nodes-reka.rekaVision"]

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

metadata_json:
  {"categories":["AI/ML","Content Creation"],"complexity":"medium","use_cases":["Create social media videos","Generate video clips from content","Automate content curation"],"estimated_setup_minutes":15,"required_services":["Reka API","YouTube RSS Feed","n8n沟通和任务"],"key_features":["AI-powered video clip generation","Automated RSS monitoring","Customizable AI templates","Automated email notifications"],"target_audience":["Content Creators","Social Media Managers","Marketing Teams"]}


name: Book, manage, and check appointments using Vapi and Google Calendar
author_name: Johnpaul Nwagwu
author_username: johnpaulnwagwu
categories: []
created_at: 2026-01-19T23:49:04.131Z
updated_at: 2026-01-19T23:49:04.131Z
url: https://n8n.io/workflows/12831
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Use this workflow to book, cancel, or reschedule appointments using Vapi and Google Calendar

  How it works
  The Check Availability workflow checks if appointments exist on Google Calendar and returns a response to Vapi.

  The Book Appointment workflow schedules an appointment on Google Calendar.

  The Manage Appointments workflow updates or cancels appointments based on the user’s request.

  Key Features:
  Ability to book, update, or cancel an appointment

  Validates required fields before booking

  Handles errors with helpful user messages

  Returns a Vapi-compatible response format

  Set up steps
  Prerequisites
  Vapi.ai account

  Google Calendar

  n8n instance - Self-hosted or cloud

  Steps
  Step 1: Configure Google Calendar Access

  Step 2: Import and Configure Workflows

  Step 3: Create Vapi Custom Tools

  Step 4: Configure Vapi Assistant

  Use Cases
  Appointment booking automation for service businesses

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

workflow_json_compressed:
  [encoded data, 9988 characters]

metadata_json:
  {"categories":["Communication","Productivity","Data Processing"],"complexity":"medium","use_cases":["book appointments","cancel appointments","reschedule appointments","check availability"],"estimated_setup_minutes":15,"required_services":["Vapi","Google Calendar"],"key_features":["appointment booking","appointment management","field validation","dynamic scheduling","user request handling"],"target_audience":["customer support agents","office managers","scheduling coordinators"]}


name: 💅 AI Agents Generate Content & Automate Posting for Beauty Salon Social Media 📲
author_name: N8ner
author_username: n8ner
categories: []
created_at: 2026-01-20T02:30:32.525Z
updated_at: 2026-01-20T02:30:32.525Z
url: https://n8n.io/workflows/12834
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  💅 AI Agents Generate Content & Automate Posting for Beauty Salon Social Media 📲

  Who Is This For?  

  This workflow is for beauty salons who want consistent, high‑quality social media content without writing every post manually.  
  It also suits agencies and automation builders who manage multiple beauty brands and want a reusable, AI‑driven posting system they can adapt per client.  

  What Problem Is This Workflow Solving?  

  Many beauty businesses struggle to post regularly because research, copywriting, and design all take time and marketing skills.  
  This workflow automates research, writing, image creation, and posting, so your channels stay active and relevant while you focus on clients and services.  

  What This Workflow Does  

  Generates short, engaging posts tailored to a beauty‑salon audience (hair, nails, skincare, make‑up, self‑care) using an AI agent.  
  Uses Tavily Internet Search to pull up‑to‑date information and trends based on a reference link or topic.  
  Turns each post into a detailed, photorealistic image prompt and creates a matching visual with an AI image model (for example, gpt‑image‑1 or other connected providers).  
  Automatically sends the final text and image to Telegram, and can be extended to other social platforms from the Split Out node.  

  How It Works  

  Trigger the workflow  

    
  Scheduled automatic generation:** Run the parent workflow on a schedule (for example, once per day at 9 AM) to publish new content regularly.

  Google Sheets trigger:** Generate content when a new row with a reference link or topic is added to your sheet. Use it when you manage ideas or briefs in Google Sheets and want the workflow to react as soon as a new idea appears.

  RSS Feed trigger:** Start the workflow when new items appear in a selected RSS feed. Ideal for turning fresh blog posts, news, or industry updates into social media content or automated summaries.

  Meta (Facebook/Instagram) webhook:** Use the Meta Reference trigger to fire the workflow on incoming webhooks from Meta (for example, new comments, messages, or events). Helpful when you want to auto‑respond, log activity, or generate follow‑up content from Meta activity.

  Airtable trigger:** Start the workflow when records in a selected Airtable base/table change (for example, a new idea, brief, or status update), so your posts react instantly to updates in your Airtable content board.

  Postgres trigger:** Fire the workflow when new rows are inserted or existing rows are updated in a connected PostgreSQL table, letting you drive content generation from events in your app database or Supabase‑style back end.

  Manual start:* Hit *Execute workflow** whenever you want to spin up a batch of posts on demand, test new prompt settings, or debug the flow step by step.
   

  Research and generate copy  
     The GENERATE TEXT agent calls Tavily to gather fresh information on the topic.  
     It writes a post under 1024 characters with a hook, practical tips, relevant hashtags, and a closing line with your salon address and contact.  

  Create the visual  
     The GENERATE PROMPT agent converts the post into a single, clear description of the scene (client, service, salon interior, lighting, mood) with a strict “no text on image” rule.  
     An image model such as gpt‑image‑1 or one of the HTTP image APIs renders a matching beauty visual.  

  Distribute the content  
     The Split Out node fans out the result so Telegram receives a photo post with the generated caption.  
     Additional social or content nodes (for example Facebook, LinkedIn, X, template tools) can be wired after this step for multi‑channel posting.  

  How to Customize This Workflow to Your Needs  

  Brand voice**  
    Edit the system message in the GENERATE TEXT node to adjust tone (luxury, friendly, clinical, playful), language, services, and city.  
    Update the final address and phone line to match your salon details.  

  Topics and triggers**  
    Point the Google Sheets Trigger to your own document ID, sheet, and columns for ideas, links, or campaign themes.  
    Use the Schedule Trigger for fully automatic posting or rely on the Manual Trigger for controlled, batch generation sessions.  

  Models and providers**  
    Swap GPT‑5 llm and the default image model for alternatives such as Mistral, Gemini, Anthropic, DeepSeek, or custom HTTP image APIs by enabling the corresponding nodes and adding credentials.  

  Channels and outputs**  
    Connect or remove social nodes after Split Out depending on which platforms you actively use.  
    Add extra processing steps (for example resizing images or adding UTM parameters) before each channel if needed.  

  Visual style**  
    Tweak the GENERATE PROMPT instructions to control composition (close‑up vs. full‑body), color palette, lighting, and overall salon aesthetic, while keeping the constraint of no text or logos in the image.  

nodes_used:
  ["n8n-nodes-base.telegram","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheetsTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@searchapi/n8n-nodes-searchapi.searchApiTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.httpRequest","n8n-nodes-base.convertToFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","n8n-nodes-base.wordpress","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.twitter","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.linkedIn","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatAwsBedrock","@n8n/n8n-nodes-langchain.lmChatGroq","@n8n/n8n-nodes-langchain.lmChatMistralCloud","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatXAiGrok","@n8n/n8n-nodes-langchain.lmChatDeepSeek","@n8n/n8n-nodes-langchain.lmOpenHuggingFaceInference","@n8n/n8n-nodes-langchain.lmChatOllama","@n8n/n8n-nodes-langchain.lmChatAzureOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.apiTemplateIo","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.postgresTrigger","n8n-nodes-base.airtableTrigger","n8n-nodes-base.rssFeedReadTrigger","n8n-nodes-base.facebookTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 13676 characters]

metadata_json:
  {"categories":["Marketing","AI/ML","Communication"],"complexity":"medium","use_cases":["AI-generated social content","automated posting","beauty brand management","client-specific automation"],"estimated_setup_minutes":60,"required_services":["Telegram","Spreadsheets","Search APIs","AI/LLM services"],"key_features":["content generation automation","multi-client adaptability","scheduled posting","workflow memory persistence"],"target_audience":["beauty salon owners","social media managers","agencies"]}


