# templates

name: Automate Google Classroom with Gemini AI: Topics, Assignments & Student Tracking
author_name: Mantaka Mahir
author_username: mantakamahir
categories: []
created_at: 2025-10-05T11:52:02.880Z
updated_at: 2025-10-05T11:52:02.880Z
url: https://n8n.io/workflows/9277
scraped_at: 2025-10-27 22:15:59
description:
  Automate Google Classroom: Topics, Assignments & Student Tracking

  Automate Google Classroom via the Google Classroom API to efficiently manage courses, topics, teachers, students, announcements, and coursework.

  Use Cases

  Educational Institution Management
  Sync rosters, post weekly announcements, and generate submission reports automatically.

  Remote Learning Coordination
  Batch-create assignments, track engagement, and auto-notify teachers on new submissions.

  Training Program Automation
  Automate training modules, manage enrollments, and generate completion/compliance reports.

  Prerequisites
  n8n (cloud or self-hosted)  
  Google Cloud Console access for OAuth setup  
  Google Classroom API enabled  
  Google Gemini API key** (free) for the agent brain — or swap in any other LLM if preferred  

  Setup Instructions

  Step 1: Google Cloud Project
  Create a new project in Google Cloud Console.  
  Enable Google Classroom API.  
  Create OAuth 2.0 Client ID credentials.  
  Add your n8n OAuth callback URL as a redirect URI.  
  Note down the Client ID and Client Secret.

  Step 2: OAuth Setup in n8n
  In n8n, open HTTP Request Node → Authentication → Predefined Credential Type.  
  Select Google OAuth2 API.  
  Enter your Client ID and Client Secret.  
  Click Connect my account to complete authorization.  
  Test the connection.

  Step 3: Import & Configure Workflow
  Import this workflow template into n8n.  
  Link all Google Classroom nodes to your OAuth credential.  
  Configure the webhook if using external triggers.  
  Test each agent for API connectivity.

  Step 4: Customization
  You can customize each agent’s prompt to your liking for optimal results, or copy and modify node code to expand functionality.  
  All operations use HTTP Request nodes, so you can integrate more tools via the Google Classroom API documentation.  
  This workflow provides a strong starting point for deeper automation and integration.

  Features

  Course Topics
  List, create, update, or delete topics within a course.

  Teacher & Student Management
  List, retrieve, and manage teachers and students programmatically.

  Course Posts
  List posts, retrieve details and attachments, and access submission data.

  Announcements
  List, create, update, or delete announcements across courses.

  Courses
  List all courses, get detailed information, and view grading periods.

  Coursework
  List, retrieve, or analyze coursework within any course.

  Notes
  Once OAuth and the LLM connection are configured, this workflow automates all Google Classroom operations.  
  Its modular structure lets you activate only what you need—saving API quota and improving performance.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agentTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.agentTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.agentTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.agentTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.agentTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.agentTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.agentTool","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","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, 8348 characters]

metadata_json:
  {"categories":["education automation","integration","AI-assisted workflows"],"complexity":"complex","use_cases":["Educational institution roster & coursework management (sync rosters, post announcements, generate reports)","Remote learning coordination (batch-create assignments, track engagement, notify teachers on submissions)","Training program automation (manage courses, assignments and student progress)"],"estimated_setup_minutes":90,"required_services":["Google Classroom API (Google Workspace account & OAuth)","Google Gemini / Google Cloud AI (lmChatGoogleGemini access)","n8n instance (with webhook/HTTP endpoints configured)","Optional: Google Workspace services for attachments/reports (Drive, Sheets)"],"key_features":["Full course management: create/manage courses, topics, teachers, students","Automated announcements and batch assignment creation","Student submission tracking and automated teacher notifications","AI-assisted content generation and context-aware responses using Gemini","Webhooks-driven real-time automation and memory buffer for conversation/context persistence"],"target_audience":["school administrators / IT teams","teachers and instructional designers","training program managers / L&D teams in organizations (corporate training)   "]}


name: Auto-Summarize Blog Posts to Social Media with Gemma and Postiz
author_name: Kyriakos Papadopoulos
author_username: lzrd
categories: []
created_at: 2025-10-06T15:41:06.688Z
updated_at: 2025-10-06T15:41:06.688Z
url: https://n8n.io/workflows/9316
scraped_at: 2025-10-27 22:15:59
description:
  Auto-Summarize Blog Posts to Social Media with Gemma and Postiz

  This workflow automates fetching the latest post from a Blogspot RSS feed, summarizes it with an LLM (e.g., Gemma via Ollama), extracts and uploads an image, generates three relevant hashtags, and posts to Facebook, LinkedIn, X (Twitter), and Instagram via the Postiz API.

  It ensures content fits platform limits (e.g., 280 characters for X) and prevents duplicates using hashing.

  Pros:  
  Efficient for content creators  
  Local LLM ensures privacy  
  Customizable for any RSS/blog source  

  Cons:  
  Dependent on stable APIs (Postiz/social platforms)  
  LLM outputs may vary in quality without human review  

  Target Audience: Bloggers, content marketers, or social media managers looking to automate cross-platform posting from RSS sources, especially those focused on niches like health, tech, or personal development. Ideal for users with technical setup skills for self-hosting.

  Customization Options:  
  Adapt prompts in "Generate Summary and Hashtags with LLM" for tone/style (e.g., professional vs. casual).  
  Modify maxChars/hashtag reserve in "Calculate Summary Character Limit" for different platforms.  
  Extend for multiple RSS feeds by adjusting "Calculate Summary Character Limit" array.  
  Add error handling (e.g., IF node after "Create and Post Content via Postiz API") for API failures.

  Disclaimer: This template is designed for self-hosted n8n instances to leverage local Ollama for privacy. For cloud use, modify as follows: 1) Use an n8n cloud account, 2) Replace Ollama with a cloud API-based LLM like ChatGPT in the "Configure Local LLM Model (Ollama)" node, 3) Switch to cloud-hosted Postiz in the HTTP Request node.

  Template Image:

  How it works

  Set the RSS feed URL in "Set RSS Feed URLs".  
  Fetch the latest post via RSS.  
  Normalize fields and calculate the maximum summary length.  
  Use the LLM to summarize the text, append hashtags, and include the link.  
  Extract and process an image from the post HTML.  
  Validate inputs and post to social platforms via the Postiz API.  

  Setup Instructions

  Install n8n (self-hosted recommended for Ollama integration).  
  Set up Ollama with the Gemma (or a similar) model using "Ollama Model" credentials.  
  Add Postiz API credentials in the "Create and Post Content via Postiz API" node.  
  Replace placeholders:
     RSS URL in "Set News RSS Feeds"
     Integration IDs in the Postiz HTTP body  
  (Optional) Add error handling for API failures.  
  Activate the workflow and test with a sample post.  

  Uncertainties

  Changes in social media APIs may break posting functionality.  
  LLM output consistency depends on model choice and prompt configuration.  

  Required n8n Version

  Tested on n8n v1.107.3 (self-hosted).  
  Works with the community node n8n-nodes-langchain.  

  Resources

  n8n Docs: RSS Feed Read  
  n8n Docs: HTTP Request  
  Ollama Setup  
  Postiz Documentation   

nodes_used:
  ["n8n-nodes-postiz.postiz","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.splitOut","n8n-nodes-base.rssFeedRead","n8n-nodes-base.set","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmOllama","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.editImage","n8n-nodes-postiz.postiz","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.code","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 9468 characters]

metadata_json:
  {"categories":["automation","social media","content-repurposing","integration","AI"],"complexity":"complex","use_cases":["Automatically repurpose blog posts into social posts","Maintain multi-platform social presence from a single RSS source","Generate concise summaries and hashtags via LLM","Extract and attach/post images with each social update","Prevent duplicate posts across platforms"],"estimated_setup_minutes":60,"required_services":["Ollama (local LLM host) with Gemma model","Postiz API (connected Facebook, LinkedIn, X, Instagram accounts)","Blogspot RSS feed (or any RSS source)","Optional: image hosting or CDN if not uploaded via Postiz"],"key_features":["Reads latest post from RSS feed","Summarizes content with a local LLM (Gemma via Ollama)","Extracts and uploads post image","Generates three relevant hashtags","Formats content to platform limits (e.g., 280 chars for X) per-platform customization (Facebook, LinkedIn, X, Instagram)"],"target_audience":["content creators","social media managers","digital marketers/agencies producing blog-driven social content scripts for developers/ops to deploy"]}


name: Automated Law Firm Lead Management & Scheduling with AI, Jotform & Calendar
author_name: iamvaar
author_username: iamvaar
categories: []
created_at: 2025-10-08T17:13:30.017Z
updated_at: 2025-10-08T17:13:30.017Z
url: https://n8n.io/workflows/9383
scraped_at: 2025-10-27 22:15:59
description:
  Youtube Explanation: [https://youtu.be/KgmNiV7SwkU](https://youtu.be/KgmNiV7SwkU
  )

  This n8n workflow is designed to automate the initial intake and scheduling for a law firm. It's split into two main parts:

  New Inquiry Handling: Kicks off when a potential client fills out a JotForm, saves their data, and sends them an initial welcome message on WhatsApp.
  Appointment Scheduling: Activates when the client replies on WhatsApp, allowing an AI agent to chat with them to schedule a consultation.

  Here’s a detailed breakdown of the prerequisites and each node.

  Prerequisites

  Before building this workflow, you'll need accounts and some setup for each of the following services:

  JotForm
  JotForm Account**: You need an active JotForm account.
  A Published Form**: Create a form with the exact fields used in the workflow: Full Name, Email Address, Phone Number, I am a..., Legal Service of Interest, Brief Message, and How Did You Hear About Us?.
  API Credentials**: Generate API keys from your JotForm account settings to connect it with n8n.

  Google
  Google Account**: To use Google Sheets and Google Calendar.
  Google Sheet**: Create a new sheet named "Law Client Enquiries". The first row must have these exact headers: Full Name, Email Address, Phone Number, client type, Legal Service of Interest, Brief Message, How Did You Hear About Us?.
  Google Calendar**: An active calendar to manage appointments.
  Google Cloud Project**:
      Service Account Credentials (for Sheets): In the Google Cloud Console, create a service account, generate JSON key credentials, and enable the Google Sheets API. You must then share your Google Sheet with the service account's email address (e.g., automation-bot@your-project.iam.gserviceaccount.com).
      OAuth Credentials (for Calendar): Create OAuth 2.0 Client ID credentials to allow n8n to access your calendar on your behalf. You'll need to enable the Google Calendar API.
      Gemini API Key: Enable the Vertex AI API in your Google Cloud project and generate an API key to use the Google Gemini models.

  WhatsApp
  Meta Business Account**: Required to use the WhatsApp Business Platform.
  WhatsApp Business Platform Account: You need to set up a business account and connect a phone number to it. This is **different from the regular WhatsApp or WhatsApp Business app.
  API Credentials**: Get the necessary access tokens and IDs from your Meta for Developers dashboard to connect your business number to n8n.

  PostgreSQL Database
  A running PostgreSQL instance**: This can be hosted anywhere (e.g., AWS, DigitalOcean, Supabase). The AI agent needs it to store and retrieve conversation history.
  Database Credentials**: You'll need the host, port, user, password, and database name to connect n8n to it.

  Node-by-Node Explanation

  The workflow is divided into two distinct logical flows.

  Flow 1: New Client Intake from JotForm

  This part triggers when a new client submits your form.



  JotForm Trigger
      What it does: This is the starting point. It automatically runs the workflow whenever a new submission is received for the specified JotForm (Form ID: 252801824783057).
      Prerequisites: A JotForm account and a created form.

  Append or update row in sheet (Google Sheets)
      What it does: It takes the data from the JotForm submission and adds it to your "Law Client Enquiries" Google Sheet.
      How it works: It uses the appendOrUpdate operation. It tries to find a row where the "Email Address" column matches the email from the form. If it finds a match, it updates that row; otherwise, it appends a new row at the bottom.
      Prerequisites: A Google Sheet with the correct headers, shared with your service account.

  AI Agent
      What it does: This node crafts the initial welcome message to be sent to the client.
      How it works: It uses a detailed prompt that defines a persona ("Alex," a legal intake assistant) and instructs the AI to generate a professional WhatsApp message. It dynamically inserts the client's name and service of interest from the Google Sheet data into the prompt.
      Connected Node: It's powered by the Google Gemini Chat Model.

  Send message (WhatsApp)
      What it does: It sends the message generated by the AI Agent to the client.
      How it works: It takes the client's phone number from the data (Phone Number column) and the AI-generated text (output from the AI Agent node) to send the message via the WhatsApp Business API.
      Prerequisites: A configured WhatsApp Business Platform account.

  Flow 2: AI-Powered Scheduling via WhatsApp

  This part triggers when the client replies to the initial message.



  WhatsApp Trigger
      What it does: This node listens for incoming messages on your business's WhatsApp number. When a client replies, it starts this part of the workflow.
      Prerequisites: A configured WhatsApp Business Platform account.

  If node
      What it does: It acts as a simple filter. It checks if the incoming message text is empty. If it is (e.g., a status update), the workflow stops. If it contains text, it proceeds to the AI agent.

  AI Agent1
      What it does: This is the main conversational brain for scheduling. It handles the back-and-forth chat with the client.
      How it works: Its prompt is highly detailed, instructing it to act as "Alex" and follow a strict procedure for scheduling. It has access to several "tools" to perform actions.
      Connected Nodes:
          Google Gemini Chat Model1: The language model that does the thinking.
          Postgres Chat Memory: Remembers the conversation history with a specific user (keyed by their WhatsApp ID), so the user doesn't have to repeat themselves.
          Tools: Know about the user enquiry, GET MANY EVENTS..., and Create an event.

  AI Agent Tools (What the AI can *do*)
      Know about the user enquiry (Google Sheets Tool): When the AI needs to know who it's talking to, it uses this tool. It takes the user's phone number and looks up their original enquiry details in the "Law Client Enquiries" sheet.
      GET MANY EVENTS... (Google Calendar Tool): When a client suggests a date, the AI uses this tool to check your Google Calendar for any existing events on that day to see if you're free.
      Create an event (Google Calendar Tool): Once a time is agreed upon, the AI uses this tool to create the event in your Google Calendar, adding the client as an attendee.

  Send message1 (WhatsApp)
      What it does: Sends the AI's response back to the client. This could be a confirmation that the meeting is booked, a question asking for their email, or a suggestion for a different time if the requested slot is busy.
      How it works: It sends the output text from AI Agent1 to the client's WhatsApp ID, continuing the conversation.

nodes_used:
  ["n8n-nodes-base.jotFormTrigger","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.whatsAppTrigger","n8n-nodes-base.if","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryPostgresChat","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.whatsApp","n8n-nodes-base.whatsApp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8020 characters]

metadata_json:
  {"categories":["automation","integration","scheduling","CRM","legal intake','ai-assistant"],"complexity":"medium","use_cases":["Automated client intake","Lead capture from forms","Welcome / follow‑up messaging via WhatsApp","AI‑assisted scheduling of consultations","Persisting leads to spreadsheet/DB and creating calendar events"],"estimated_setup_minutes":60,"required_services":["JotForm","WhatsApp API (e.g., Twilio or Meta/WhatsApp Cloud)","Google Calendar","Google Sheets or other spreadsheet service","Google Gemini or other AI/ML provider","Postgres (for chat memory)","n8n"],"key_features":["Triggers on JotForm submissions","Sends initial WhatsApp welcome message","AI chat agent handles scheduling via WhatsApp replies","Creates calendar events in Google Calendar","Stores lead data in spreadsheet and Postgres memory for conversation context (memoryPostgresChat)"],"target_audience":["Law firms / legal intake teams","Solo attorneys and small practices","Legal operations managers and office administrators"]}


name: AI-Powered Social Media Ad Creation With Website Scraping for FB, IG & Pinterest
author_name: Malik Hashir
author_username: malikx
categories: []
created_at: 2025-10-08T20:21:57.334Z
updated_at: 2025-10-08T20:21:57.334Z
url: https://n8n.io/workflows/9388
scraped_at: 2025-10-27 22:15:59
description:
  Purpose & Audience
  This workflow empowers marketing teams, agencies and solopreneurs to instantly generate on-brand, platform-optimized social media ads — without designers or complex setup.

  Perfect for:
  Running performance marketing campaigns
  A/B testing ad creatives
  Scaling content for multiple platforms
  Non-technical users who want AI-powered design

  Key Features
  Smart Prompt Engineering:
   – Scrapes your provided landing page to auto-extract brand voice, offers, and content
   – Use Gemini AI to craft Ideogram-optimized prompts

  Multi-Platform Ad Generation:
  Facebook, Instagram & Pinterest.
   – Supports 7 formats:
    • Facebook Feed (1200x630)
    • Facebook Story (1080x1920)
    • Instagram Feed (1080x1080)
    • Instagram Story & Reel (1080x1920)
    • Pinterest Pin (1000x1500)
    • Pinterest Story (1080x1920)

  Powered by Ideogram v3 Turbo (Replicate):
   – Public, affordable, around 33 images for $1
   – Understands layout, branding, and text placement
   – ~$0.03/image with $1 free credit

  Delivers Directly to Slack:
   – Get all generated ads in your team channel with auto-captions (platform, offer, context)

  How It Works (Step-by-Step)
  User fills out a simple form with:
   – Business context, offer, brand colors, platform, and desired ad sizes
   – Additional Features: Landing page URL + toggle to scrape & enhance prompt with AI

  If enabled, the workflow:
   – Scrapes your website using Firecrawl
   – Sends content + form data to Gemini to generate a professional Ideogram prompt

  For each selected dimension, the workflow:
   – Calls Ideogram v3 Turbo on Replicate with the correct aspect ratio
   – Downloads the image from the response URL

  All ads are uploaded to Slack with rich captions for easy review & sharing

  How to Set Up
  Get a Replicate API Token
  Sign up at replicate.com
  Replace YOUR_REPLICATE_API_TOKEN in all 7 HTTP Request nodes

  Create a Slack App
  Go to api.slack.com/apps → “Create New App”
  Add files:write scope → Install to workspace
  Add as OAuth2 credential in n8n

  Set Up Firecrawl
  Get API key at firecrawl.dev
  Create a Header Auth credential with: Authorization: Bearer YOUR_FIRECRAWL_TOKEN

  Activate the workflow and share the Form Trigger URL with your team! 

  Value Proposition
  Go from idea to ad in 60 seconds — no design skills, no designers, no information sharing, no hassle.
  This workflow saves hours of manual design work, ensures brand consistency, and leverages cutting-edge AI — all while costing less than $5 for 100 ads. 
  Ideal for agile marketing teams who need speed, quality, and scalability. 

  Available Models: Customization Option
  If you’re comfortable with low-code tools and want to use any other model from the hundreds available at Replicate (https://replicate.com/explore), you’re welcome to do so. Simply update your "POST" request to match the specific schema of the chosen model, and you’re all set. Don’t worry about the schema details—Replicate provides clear, easy-to-follow documentation for each model. Some models are free with limited quotas, while others require payment. Overall, it offers the most comprehensive library of image models available.

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.switch","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.httpRequest","n8n-nodes-base.slack","n8n-nodes-base.slack","n8n-nodes-base.slack","n8n-nodes-base.slack","n8n-nodes-base.slack","n8n-nodes-base.slack","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","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.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {
    "categories": [
      "marketing automation",
      "social media",
      "content generation",
      "AI integration"
    ],
    "complexity": "medium",
    "use_cases": [
      "Generate platform-optimized social ads for Facebook, Instagram, Pinterest",
      "Scale ad creatives across multiple platforms",
      "A/B test ad copy and creative variants",
      "Quickly produce on-brand ad assets from a landing page",
      "Enable non-technical users to create ads without designers"
    ],
    "estimated_setup_minutes": 45,
    "required_services": [
      "Google Gemini (Gemini API)",
      "Meta / Facebook Ads & Instagram API access",
      "Pinterest API access",
      "Public landing page or website URL to scrape",
      "n8n instance with reachable HTTP/webhook endpoints"
    ],
    "key_features": [
      "Automated landing-page scraping to extract brand voice, offers, and content",
      "Smart prompt engineering using Gemini to generate ad copy and creative guidance",
      "Platform-optimized outputs for Facebook, Instagram, and Pinterest",
      "Automated generation of A/B variations",
      "No-designer workflow for non-technical users (rapid ad creation and scaling)"
    ],
    "target_audience": [
      "marketing teams",
      "agencies",
      "solopreneurs / small business owners doing their own ads"  ]
  }


name: Automated AI Video Creation for Multi-Platform Content using NanoBanana & VEO3
author_name: DevCode Journey
author_username: devcodejourney
categories: []
created_at: 2025-10-09T15:11:35.907Z
updated_at: 2025-10-09T15:11:35.907Z
url: https://n8n.io/workflows/9420
scraped_at: 2025-10-27 22:15:59
description:
  Who is this for?
  This workflow is designed for content creators, marketers, and entrepreneurs who want to automate their video production and social media publishing process.  
  If you regularly post promotional or viral-style content on platforms like TikTok, YouTube Shorts, Instagram Reels, LinkedIn, and more, this template will save you hours of manual work.

  What problem is this workflow solving? / Use case
  Creating viral short-form videos is often time-consuming:
  You need to generate visuals, write scripts, edit videos, and then manually upload them to multiple platforms.  
  Staying consistent across TikTok, YouTube Shorts, Instagram Reels, LinkedIn, Twitter/X, and others requires constant effort.  
  This workflow solves the problem by automating the entire pipeline from idea → video creation → multi-platform publishing.

  What this workflow does
  Collects an idea and image from Telegram  
  Enhances visuals with NanoBanana for user-generated content style  
  Generates a complete video script with AI (OpenAI + structured prompts)  
  Creates the final video with VEO3 using your custom prompt and visuals  
  Rewrites captions with GPT to be short, catchy, and optimized for social platforms  
  Saves metadata in Google Sheets for tracking and management  
  Auto-uploads the video to all major platforms via Blotato  
    TikTok  
    YouTube  
    Instagram  
    LinkedIn  
    Threads  
    Pinterest  
    X/Twitter  
    Bluesky  
    Facebook  
  Notifies you on Telegram with a preview link once publishing is complete  

  Setup
  Connect your accounts:
  Google Sheets** (for video tracking)  
  Telegram** (to receive and send media)  
  Blotato** (for multi-platform publishing)  
  OpenAI API** (for captions, prompts, and image analysis)  
  VEO3 API** (for video rendering)  
  Fal.ai** (for NanoBanana image editing)  
  Google Drive** (to store processed images)  

  Set your credentials in the respective nodes.  
  Adjust the Google Sheet IDs to match your own sheet structure.  
  Insert your Telegram bot token in the Set: Bot Token (Placeholder) node.

  🙋 For Help & Community
  🌐 Website: devcodejourney.com
  🔗 LinkedIn: Connect with Shakil
  📱 WhatsApp Channel: Join Now
  💬 Direct Chat: Message Now

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.stickyNote","n8n-nodes-base.telegramTrigger","n8n-nodes-base.telegram","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.openAi"]

workflow_json_compressed:
  H4sIAAAAAAAAE7VZ244bRw79FaEf9kl06sK6zdM6drJrIIkNXxJgE2PBqmKNBWu6Z6UeO4bhf1+UNDO6tTStye6bMFPNPmSRh4fsr80sNxfN1afun1/0m7579hFf/uvP62baXHFPzcXXZtYue2oTv6jnUgwk2WglnXXRammtRqe8Rqm0Y2MxKuMdRWmiw0SCfOAoFBmNHrNtpk3PV9dz6vnZgvPyDfc318+6q+s595ybi35xw9+mTUtX3Fw0T2/67op6zpOnLya/zjJ3k2cLpn7WtZPSLSY/38z7GbyaU1+6xdXkWdf23PaTm+WsvZz8Qm33PbXU0uRvk19/eKnru+ly2Vz8/n7atF3m+vPr2n9VlA5ZSVA2a0AjMlAuBYpxJgkmERU197heXnP79MXk2QfqJz93mefV9Jfr+q+/t779rvUtrF4Ac2ov0weatU/mV/X46slZM22uu+Ws+tFc/C61FdOg/Ptpc00LuuKeF8vm4uu3tdFfebFcHZRP1LfpLd6igyiiWMjFRMAkGLyIEqKP3qCSviTc4H37YdZ+HIGx77r53dltgEbgKID38LKXkSQVUJgSYPAJQs4BlE6qeO+cpLiB96Zf3KT+ZsF58vKmv77pJ69oseTFCMTd6vz6+MbMHnyLflx89b0DPmtlUkiQk0mAWggIItdfpFJCn5Fp24FZ+vhl8kvXs9qA3uCNtOQny9WhemYXnhV+aoLaR9ekdTY3F01zPNBOiyhdjbFJErCC9Y48eO+FF0V4WtXcIU58FE4p/EEYxwG1RiYpowCF3gNmU4BK8KAJrWKrrRV5EOijcAI+EqbyWhlBApSKEdDlCIEkAWWXJaFM0ZpBmPJsnNKjeDzQErMV2hmIOjvAiBoo5QQakwrOumTlVoX99NPPF5P/c5kpE9RUezynzKx3ORqvwHH1wmuGaJEgZO9MCsYlOZy+5uxwg3LqL+SFpIQme3BaF8CUI3jnGMjozFkWk0Le41v5FwgXUUylPiSFE/XlnTfWBsBaZOiyBY8ygPFKolDFZz1cX/oRiavw8YyFMhWtYwBSolZYMkAuaMhZaW2iJi38BuhrTjz7xLfN/0Vese4w3J7nfLmgq7eL2eXlKqu3MDvrpxJrbn7m+KHrPq7UjLI5si0GjAy1iFSEwFqBF1YUJWWwvqbf6K4sqzbKyUCI2QNGx+CVN8A5+Kgla41q49s/uJ+8uKJLnvw4mx/nuTu/dh0KQU1Xybztj7CJo5YZcsoBkAJBjJGBXCyOWFBGOscfdpiU1QYUIgEa8hCy0BCsEFSECNKVLX/qRX3f9ZO33Uduj6cV9wP6Z305J5HpJ7jJomSFECUBF42AWUoI2VhIXBKx8iZqsRvpGuPJu9c/HcX1oe+vX/N/bni5j88YNQYfbuszqRyi0KCsk4AqJaDIanUxQidR0KQteu4ubzPhb5NndL167zGYl113Oec3H5j75R5Oaf1UGfswTnePM1KQwhoCJMqA3hagYC0Uj8qmHAvZLR357nreUV5DfQDg88Xs0x5vBGfHwNt0B46spSirSkJAkzVEKzJg1LYYTibxDlVQvuWJZVrMrvtHhDBINXVixE3bTWdAa2xxElLxEVAJAqLgwEcSXHLQMW0rRe4nrxbd1XX/3ewUmR0WiVRiDLTtIinORelZgGRBgKwykEQGTaEYx96E6LaLpOUF9Xdce71COaKH0WXl/MP+NQLspl4EWs0mFpDShSoPBficM2SnOTEji7Slu37sFlfUT05GMHV5L/+cEtMgH+ypW3QekTk4CRprccSIEL3SoAoZUQyy97wBtZpM76L3edZ/uB86z6ObClMqOaKMN0h9YO9DrHRYYh1fC4RYPDgUNhiVlHBbdPgbzY4Xx+f1P7eLQvk7QNvNptjsJRYNyNEDWhWAghIgNaZCyCR0fLjZbAuDonWSBthX6V2kBAqYwFvHQTnyvmxR5vPuc7sio1W8H0HqUtuzwyyCzrZgAqrzC6JP4BPVrNApSFLFl61a/20x6/mQz4+L7KHdgArjYMonfkNJ5D0Vo6H4LADZSfAsPSTD2kqknHemb/p0j/I2e7t2cs+OZ3chK8bm74ZEyaMs1hEwrvi9OIg6eGCjS9IkjUHcJtH2junfvf5p8m617nl7K5OqAjlTSymBdbQV+3KKybIJDkEGLQCjdUBGRpBWYaDA2cd8jpzy0jsZkwGRAgH6qCFKr4AlWuOEQ5vKnpc/zlqa3/r6asGfZvz5f+BvHYUG/EXUJaPMQMJIwErHlK0H6bQMLkdSdkRFb/zVuVBQJUNt14BV/0RdGEQQ2ZDDwmy2xUWu/Pmmp/5meZ+Ckz+a5y9/+eGP5hGpqLAWz9rPB1LRbFIRqWQnCDybOpJmVTc/BMnFIAUZZ2n/ktqun5VZWu8lu3ZyF/VJPP9qVux/eDWqIGFMEkLIDMhBgzeqTk0+WQwh+qDPuRrM1nqvHeiSDGDd0gWlFLDWuSSMhEkPkO1p5XeUbOtGYqrtiHvYQig8By9SlaKmbjgRyEsJopByUntKZHZb2vEVzGFPWyE6HAhzMSqHOguahIBaFoi5WPAhZ2WEctGc1dOITKZKHiFSAbQ6gSeFUBAteWOKUv5AQTw2yJsZd3SQk7Ix5YKgRPU3Fg2BrYBgiy4lJSOJBhTiWsGuVvB7YM9RiQr1qLlKbXdgjqqYuueyMQGKEIFKDGAiJyMwOm+3RMLBnn7MTub4ol5pj+M2XBvASqmI2WSQWkjAQgw+yQDRZxUzGmuTP+DA9Sz4nNdzzC2rrBjuMSyoxMi82IyFOsripPNgVnqyUJVhqYCxLpiitfC4VXxPW5p/6WdpOTobBqVOGJe/Vem8nzaU+jphXhSaL3naLLnvZ+3lag/Ff3K6qVZfLjIvmovmk6wLqU9rC6tC10kWr7METVznXswQ6jqasirCCovGVv5LXdtyqqZWhlfC+eJrc0Wzivj3r6vPSCfU6OrgtJm1mf9sLsS39++/TW+/xlx8bWj277oA3LH0wBR298i+zTX/nYS2dzfHoclj2I4I2mOYtqe0IWQPDUyDCHc4csjqXicYNLKzDxoycjSjB83trEWGzJ3c7wya3A31kM1xsn3Q+F5KDFk/sUw5bXJdAIMXM5w9Ry9oazU6ZG54FzVsbXcxOWRteEM4aG0/N4bBjebxwXfsr4mGIZ9kikG7hx+u16VemfmGLvn2b2fx0e6z+288TKTBZD62FhvnhRzvxnHpMsKVg28Rg/dyZA2+78p0J/mGPgQMOj/EJX8Fxm29Dd3ykNnB1dsppt6n92Oc/VBFHPt4ub757Q+UZ+bvzqNHA3OQNyc62hhOOknfwyUyeukxnDcnPwGPjeLJ8jkZyYfG+6M+j5uuj9DoQzE7+tZzFy9HhMFDbeAksR8P9nFvR+I+0bQeXsAMvP3bt/8C2kjcc0kmAAA=

metadata_json:
  {"categories":["automation","content creation","social media","AI/ML integration"],"complexity":"complex","use_cases":["Automated short-form video generation","Multi-platform publishing (TikTok, YouTube Shorts, Instagram Reels, LinkedIn)","Generating hooks/captions/hashtags and formatting for each platform","Asset storage and cataloging (Google Drive/Sheets)","Notifications and review workflow via Telegram or webhooks"],"estimated_setup_minutes":60,"required_services":["NanoBanana (AI video generation)","VEO3 (AI video/vision tools)","Google Drive","Google Sheets","Telegram (notifications/review)","Social platform APIs or publishing services (TikTok, YouTube Shorts, Instagram, LinkedIn)","Webhook endpoint / HTTP service"],"key_features":["End-to-end AI-driven video creation pipeline","Multi-platform formatting and repurposing of the same asset","Automated caption, hook and hashtag generation","Integration with Google Sheets/Drive for asset management","Notifications and manual-review callbacks via Telegram/webhooks"],"target_audience":["Content creators","Social media marketers","Entrepreneurs and small business owners producing short-form video content (TikTok/Shorts/Reels)"]}


name: Automated Phone Receptionist for Scheduling with Twilio, ElevenLabs & Claude AI
author_name: Connor Provines
author_username: connorprovines
categories: []
created_at: 2025-10-09T17:50:11.715Z
updated_at: 2025-10-09T17:50:11.715Z
url: https://n8n.io/workflows/9429
scraped_at: 2025-10-27 22:15:59
description:
  Schedule appointments from phone calls with AI using Twilio and ElevenLabs

  This n8n template creates an intelligent phone receptionist that handles incoming calls, answers FAQs, and schedules appointments to Google Calendar. The system uses Twilio for phone handling, ElevenLabs for voice AI and basic conversations, and n8n for complex scheduling logic—keeping responses snappy by only invoking the workflow when calendar operations are needed.

  Who's it for

  Businesses that need automated phone scheduling: service companies, clinics, consultants, or any business that takes appointments by phone. Perfect for reducing administrative overhead while maintaining a professional caller experience.

  Good to know

  Redis memory is essential—without it, the AI must reparse entire conversations causing severe lag in voice responses

  Claude 3.5 Sonnet is recommended for best scheduling results

  Typical response times: ElevenLabs-only responses &lt;1s, n8n tool calls 2-4s

  All placeholder values must be customized or scheduling will fail

  How it works

  Twilio receives incoming calls and forwards to ElevenLabs voice AI

  ElevenLabs handles casual conversation and FAQ responses instantly

  When calendar operations are needed, ElevenLabs calls your n8n webhook

  n8n checks Google Calendar availability using your business rules

  Claude AI agent processes the request, collects required information, and schedules appointments
  Redis maintains conversation context across the call

  Calendar invites are automatically sent to customers

  How to set up

  Connect Twilio to ElevenLabs: In Twilio Console, set your phone number webhook to your ElevenLabs agent URL

  Configure ElevenLabs tools: Add "Client Tools" in ElevenLabs that point to your n8n webhook for checking availability, creating appointments, and updating appointments

  Set n8n webhook path: Replace REPLACE ME in the "Webhook: Receive User Request" node with a secure endpoint (e.g., /elevenlabs-voice-scheduler)

  Configure Google Calendar: Replace all REPLACE ME instances with your Calendar ID in the three calendar nodes (Check Availability, Create Appointment, Update Event)

  Set up Redis: Configure connection details in the "Redis Chat Memory" node

  Customize scheduling prompt: In the "Voice AI Agent" node, replace all bracketed placeholders with your business details:

  [TIMEZONE], [START_TIME], [END_TIME], [OPERATING_DAYS], [BLOCKED_DAYS]
  [MINIMUM_LEAD_TIME], [APPOINTMENT_DURATION], [SERVICE_TYPE]
  [REQUIRED_FIELDS], [REQUIRED_NOTES_FIELDS]


  Test: Make a test call to verify availability checking, information collection, and appointment creation

  Requirements

  Twilio account with phone number
  ElevenLabs Conversational AI account
  Google Calendar with OAuth2 credentials
  Redis instance (for session management)
  Anthropic API key (for Claude AI)

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleCalendarTool","@n8n/n8n-nodes-langchain.memoryRedisChat","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6216 characters]

metadata_json:
  {
    "categories": [
      "automation",
      "telephony",
      "AI-assistant",
      "scheduling",
      "calendar-integration"
    ],
    "complexity": "medium",
    "use_cases": [
      "Automated appointment booking from inbound phone calls",
      "Voice-based FAQ and call triage",
      "Reducing receptionist workload and missed bookings",
      "Context-aware follow-ups using conversational memory",
      "Integrating voice interactions with Google Calendar"
    ],
    "estimated_setup_minutes": 60,
    "required_services": [
      "n8n",
      "Twilio (Programmable Voice / phone number)",
      "ElevenLabs (voice synthesis / conversation)",
      "Anthropic / Claude (LM chat node)",
      "Google Calendar API (OAuth-enabled calendar)",
      "Redis (for conversational memory)",
      "Public webhook endpoint (or tunneling like ngrok)"
    ],
    "key_features": [
      "Inbound call handling via Twilio",
      "Voice AI responses and synthesis with ElevenLabs",
      "Conversational AI (Claude/Anthropic) for dialogue and FAQs",
      "Smart scheduling logic with Google Calendar integration",
      "Persistent conversation memory via Redis to maintain context between calls/turns, and selective workflow invocation to keep responses snappy"
    ],
    "target_audience": [
      "Small-to-medium businesses needing phone-based booking",
      "Medical/dental/appointment-driven practices",
      "Customer support teams implementing IVR automation with AI capabilities"
    ]
  }


name: Resume Screening & Candidate Routing with OpenAI, Jotform, and Google Sheets
author_name: Jitesh Dugar
author_username: jiteshdugar
categories: []
created_at: 2025-10-09T18:42:54.388Z
updated_at: 2025-10-09T18:42:54.388Z
url: https://n8n.io/workflows/9435
scraped_at: 2025-10-27 22:15:59
description:
  Revolutionize your recruitment process with intelligent AI-driven candidate screening that evaluates resumes, scores applicants, and automatically routes them based on fit - saving 10-15 hours per week on initial screening.

  🎯 What This Workflow Does

  Transforms your hiring pipeline from manual resume review to intelligent automation:

  📝 Captures Applications - Jotform intake with resume upload
  🤖 AI Resume Analysis - OpenAI parses skills, experience, education, and red flags
  🎯 Intelligent Scoring - Evaluates candidates against job requirements with structured scoring (0-100)
  🚦 Smart Routing - Automatically routes based on AI recommendation:
     Strong Yes (85-100): Instant Slack alert → Interview invitation
     Maybe/Yes (60-84): Manager review → Approval workflow
     No (&lt;60): Polite rejection email
  📊 Analytics Tracking - All data logged to Google Sheets for hiring insights

  ✨ Key Features

  AI Resume Parsing**: Extracts structured data from any resume format
  Intelligent Scoring System**: Multi-dimensional evaluation (skills match, experience quality, cultural fit)
  Structured Output**: Consistent JSON schema ensures reliable data for decision-making
  Automated Communication**: Personalized emails for every candidate outcome
  Human-in-the-Loop**: Manager approval for borderline candidates
  Comprehensive Analytics**: Track conversion rates, average scores, and hiring metrics
  Customizable Job Requirements**: Easy prompt editing to match any role

  💼 Perfect For

  Startups & Scale-ups**: Processing 50+ applications per week
  HR Teams**: Wanting to reduce time-to-hire by 40-60%
  Technical Recruiters**: Screening engineering, product, or design roles
  Growing Companies**: Scaling hiring without scaling headcount

  🔧 What You'll Need

  Required Integrations
  Jotform** - Application intake form (free tier works)
  Create your form for free on Jotform using this link
  OpenAI API** - GPT-4o-mini for cost-effective AI analysis (~$0.15 per candidate)
  Gmail** - Automated candidate communication
  Google Sheets** - Hiring database and analytics

  Optional Integrations
  Slack** - Instant alerts for hot candidates
  Linear/Asana** - Task creation for interview scheduling
  Calendar APIs** - Automated interview booking

  🚀 Quick Start

  Import Template - Copy JSON and import into n8n
  Create Jotform - Use provided field structure (name, email, resume upload, etc.)
  Add API Keys - OpenAI, Jotform, Gmail, Google Sheets
  Customize Job Requirements - Edit AI screening prompt with your role details
  Personalize Emails - Update templates with your company branding
  Test & Deploy - Submit test application and verify all nodes

  🎨 Customization Options

  Adjust Scoring Thresholds**: Change routing logic based on your needs
  Multiple Positions**: Clone workflow for different roles with unique requirements
  Add Technical Assessments**: Integrate HackerRank, CodeSignal, or custom tests
  Interview Scheduling**: Connect Calendly or Google Calendar for auto-booking
  ATS Integration**: Push data to Lever, Greenhouse, or BambooHR
  Diversity Tracking**: Add demographic fields and analytics
  Reference Checking**: Automate reference request emails

  📈 Expected Results

  90% reduction** in manual resume review time
  24-hour response time** to all candidates
  Zero missed applications** - every candidate gets feedback
  Data-driven hiring** - track what works with comprehensive analytics
  Better candidate experience** - fast, professional communication
  Consistent evaluation** - eliminate unconscious bias with structured AI scoring

  🏆 Use Cases

  Technology Companies
  Screen 100+ engineering applications per week, identify top 10% instantly, schedule interviews same-day.

  Agencies & Consultancies
  Evaluate consultant candidates across multiple skill dimensions, route to appropriate practice areas.

  High-Volume Hiring
  Process retail, customer service, or sales applications at scale with consistent quality.

  Remote-First Teams
  Evaluate global candidates 24/7, respond instantly regardless of timezone.

  💡 Pro Tips

  Train Your AI**: After 50+ applications, refine prompts based on false positives/negatives
  A/B Test Thresholds**: Experiment with score cutoffs to optimize for your needs
  Build Talent Pipeline**: Keep "maybe" candidates in CRM for future roles
  Track Source Effectiveness**: Add UTM parameters to measure which job boards deliver best candidates
  Continuous Improvement**: Weekly review of AI assessments to calibrate accuracy

  🎓 Learning Resources

  This workflow demonstrates:
  AI Agents with structured output
  Multi-stage conditional routing
  Human-in-the-loop automation
  Binary data processing (resume files)
  Email automation with HTML templates
  Real-time notifications
  Analytics and data logging

  Perfect for learning advanced n8n automation patterns!

  Ready to transform your hiring process? Import this template and start screening candidates intelligently in under 30 minutes.

  Questions or customization needs? The workflow includes detailed sticky notes explaining each section.

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","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.slack","n8n-nodes-base.jotFormTrigger"]

workflow_json_compressed:
  [encoded data, 11652 characters]

metadata_json:
  {
    "categories": [
      "automation",
      "recruitment",
      "HR",
      "AI integration",
      "data processing"
    ],
    "complexity": "medium",
    "use_cases": [
      "Automated resume screening",
      "Candidate scoring and ranking",
      "Routing applicants to next steps based on fit",
      "Collecting applicant data via form submissions",
      "Maintaining applicant log in a spreadsheet"
    ],
    "estimated_setup_minutes": 45,
    "required_services": [
      "OpenAI (or compatible LLM)",
      "Jotform",
      "Google Sheets",
      "HTTP/Webhooks (for form submission or integrations)"
    ],
    "key_features": [
      "AI-driven resume parsing (skills, experience, education, red flags)",
      "Automated applicant scoring and fit evaluation",
      "Conditional routing based on score/criteria",
      "Jotform intake with resume upload",
      "Logging and tracking in Google Sheets / spreadsheet output parser"
    ],
    "target_audience": [
      "Recruiters",
      "Talent acquisition teams",
      "HR managers / small HR teams / startups automating hiring ops"
    ]
  }


name: Course Recommendation System for Surveys with Data Tables and GPT-4.1-Mini
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-10-09T18:58:45.739Z
updated_at: 2025-10-09T18:58:45.739Z
url: https://n8n.io/workflows/9437
scraped_at: 2025-10-27 22:15:59
description:
  Use the n8n Data Tables feature to store, retrieve, and analyze survey results — then let OpenAI automatically recommend the most relevant course for each respondent.

  🧠 What this workflow does
  This workflow demonstrates how to use n8n’s built-in Data Tables to create an internal recommendation system powered by AI.

  It:
  Collects survey responses through a Form Trigger  
  Saves responses to a Data Table called Survey Responses  
  Fetches a list of available courses from another Data Table called Courses  
  Passes both Data Tables into an OpenAI Chat Agent, which selects the most relevant course  
  Returns a structured recommendation with:
    course: the course title  
    reasoning: why it was selected  

  &gt; Trigger: Form submission (manual or public link)

  👥 Who it’s for
  Perfect for educators, training managers, or anyone wanting to use n8n Data Tables as a lightweight internal database — ideal for AI-driven recommendations, onboarding workflows, or content personalization.

  ⚙️ How to set it up
  1️⃣ Create your n8n Data Tables
  This workflow uses two Data Tables — both created directly inside n8n.

  🧾 Table 1: Survey Responses
  Columns:
  Name
  Q1 — Where did you learn about n8n?
  Q2 — What is your experience with n8n?
  Q3 — What kind of automations do you need help with?

  To create:
  Add a Data Table node to your workflow.  
  From the list, click “Create New Data Table.”  
  Name it Survey Responses and add the columns above.

  📚 Table 2: Courses
  Columns:
  Course
  Description

  To create:
  Add another Data Table node.  
  Click “Create New Data Table.”  
  Name it Courses and create the columns above.  
  Copy course data from this Google Sheet:  
     👉 https://docs.google.com/spreadsheets/d/1Y0Q0CnqN0w47c5nCpbA1O3sn0mQaKXPhql2Bc1UeiFY/edit?usp=sharing

  This Courses Data Table is where you’ll store all available learning paths or programs for the AI to compare against survey inputs.

  2️⃣ Connect OpenAI
  Go to OpenAI Platform  
  Create an API key  
  In n8n, open Credentials → OpenAI API and paste your key  
  The workflow uses the gpt-4.1-mini model via the LangChain integration

  🧩 Key Nodes Used
  | Node | Purpose | n8n Feature |
  |------|----------|-------------|
  | Form Trigger | Collect survey responses | Forms |
  | Data Table (Upsert) | Stores results in Survey Responses | Data Tables |
  | Data Table (Get) | Retrieves Courses | Data Tables |
  | Aggregate + Set | Combines and formats table data | Core nodes |
  | OpenAI Chat Model (LangChain Agent) | Analyzes responses and courses | AI |
  | Structured Output Parser | Returns structured JSON output | LangChain |

  💡 Tips for customization
  Add more Data Table columns (e.g., email, department, experience years)  
  Use another Data Table to store AI recommendations or performance results  
  Modify the Agent system message to customize how AI chooses courses  
  Send recommendations via Email, Slack, or Google Sheets

  🧾 Why Data Tables?
  This workflow shows how n8n’s Data Tables can act as your internal database:
  Create and manage tables directly inside n8n  
  No external integrations needed  
  Store structured data for AI prompts  
  Share tables across multiple workflows  

  All user data and course content are stored securely and natively in n8n Cloud or Self-Hosted environments.

  📬 Contact  
  Need help customizing this (e.g., expanding Data Tables, connecting multiple surveys, or automating follow-ups)?  

  📧 robert@ynteractive.com  
  🔗 Robert Breen  
  🌐 ynteractive.com

nodes_used:
  ["@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.formTrigger","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.form"]

workflow_json_compressed:
  [encoded data, 5180 characters]

metadata_json:
  {
    "categories": [
      "automation",
      "data processing",
      "integration",
      "ai/ml",
      "recommendation systems"
    ],
    "complexity": "medium",
    "use_cases": [
      "Personalized course recommendations from survey responses",
      "Internal training assignment and routing",
      "Building an AI-powered recommendation engine using internal data tables",
      "Analyzing survey responses to surface trends and gaps",
      "Automating course suggestion workflows for learners or leads"
    ],
    "estimated_setup_minutes": 30,
    "required_services": [
      "n8n (Form Trigger, Data Tables)",
      "OpenAI API (GPT-4.1-Mini)"
    ],
    "key_features": [
      "Collect survey responses via n8n Form Trigger",
      "Persist and query responses in n8n Data Tables",
      "Fetch course catalog from a Data Table and match via AI",
      "Use GPT-4.1-Mini to generate recommended course per respondent",
      "Structured output parsing for predictable recommendation data fields (outputParserStructured node)"
    ],
    "target_audience": [
      "Learning & Development teams",
      "Instructional designers and course creators",
      "Product managers and growth teams creating education flows"  ]
  }


name: Generate & Deliver PDF Invoices from Jotform to Google Drive & Email
author_name: Jitesh Dugar
author_username: jiteshdugar
categories: []
created_at: 2025-10-10T05:04:28.373Z
updated_at: 2025-10-10T05:04:28.373Z
url: https://n8n.io/workflows/9447
scraped_at: 2025-10-27 22:15:59
description:
  Transform your order fulfillment process with complete invoice automation. This workflow automatically generates professional PDF invoices from Jotform orders and delivers them to customers while keeping organized records.

  What This Workflow Does

  ✅ Receives order data from Jotform Trigger  
  ✅ Generates professional HTML invoice with your branding  
  ✅ Converts to PDF using HTML to PDF conversion  
  ✅ Saves invoice to Google Drive for record-keeping  
  ✅ Emails PDF invoice to customer automatically  

  Workflow Steps

  Jotform Trigger - Captures order data when a customer places an order
  Format Invoice Data - Prepares and structures line item data
  Generate HTML Invoice - Creates custom branded HTML invoice
  Generate PDF Invoice - Converts HTML to professional PDF format
  Download File PDF - Prepares PDF for distribution
  Save to Google Drive - Archives invoice for your records
  Email to Customer - Sends invoice PDF directly to customer's inbox

  Requirements

  Jotform account with order form set up Sign up for free here
  PDF generation API key (get yours at pdfmunk.com)
  Google Drive connection for storage
  Email service connection (Gmail, SMTP, etc.)

  Benefits

  Save time** - Eliminate manual invoice creation
  Professional branding** - Customize invoice template to match your brand
  Organized records** - All invoices automatically saved to Google Drive
  Better customer experience** - Instant invoice delivery after order placement
  Scalable** - Handles unlimited orders without additional work

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.googleDrive","n8n-nodes-base.gmail","n8n-nodes-htmlcsstopdf.htmlcsstopdf","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.jotFormTrigger"]

workflow_json_compressed:
  [encoded data, 6600 characters]

metadata_json:
  {
    "categories": [
      "automation",
      "integration",
      "document generation",
      "email automation",
      "invoicing"
    ],
    "complexity": "medium",
    "use_cases": [
      "Automatically generate and send invoices from form-based orders",
      "Maintain centralized PDF invoice records in Google Drive",
      "Automate order confirmation and billing communication",
      "Generate branded invoices for customers",
      "Replace manual invoice creation for small e-commerce or services"
    ],
    "estimated_setup_minutes": 25,
    "required_services": [
      "Jotform",
      "Google Drive",
      "Email provider (SMTP/Gmail/Office365 or n8n Communication node)",
      "HTML to PDF conversion service/node (htmlcsstopdf)",
      "Optional: HTTP/Webhooks endpoint (if using external triggers)"
    ],
    "key_features": [
      "Trigger on new Jotform submissions",
      "Generate branded HTML invoice from order data",
      "Convert HTML invoice to PDF",
      "Save PDF invoice to Google Drive for record-keeping",
      "Email PDF invoice to customer automatically"
    ],
    "target_audience": [
      "Small business owners",
      "E‑commerce merchants",
      "Finance or accounting teams in SMBs/Startups/Agencies/Stores taking orders via forms or landing pages/CRM entries/Payment forms members (jotform users) - shorten to: Finance/accounting teams for SMBs and e-commerce operations, operations managers, freelancers, developers/automation engineers"
    ]
  }


name: Generate Complete Database Schemas with Claude for SQL Databases
author_name: Evervise
author_username: evervise
categories: []
created_at: 2025-10-13T00:27:53.140Z
updated_at: 2025-10-13T00:27:53.140Z
url: https://n8n.io/workflows/9544
scraped_at: 2025-10-27 22:15:59
description:
  Transform database design from weeks to minutes with this intelligent multi-agent system. Perfect for agencies, consultancies, and SaaS companies offering database architecture as a lead magnet or service.

  🤖 4 Specialized AI Agents:
  Agent 1 (Architect):** Designs complete schema with tables, relationships, indexes
  Agent 2 (Reviewer):** Validates design for performance, security, scalability
  Agent 3 (Optimizer):** Adds advanced features and scores the design (0-100)
  Agent 4 (SQL Generator):** Creates production-ready migration scripts

  🔄 Smart Quality Loop:
  Automatically retries up to 3 times if score falls below B grade, feeding previous feedback to improve the design iteratively.

  ✨ What You Get:
  Complete database schema (JSON)
  Comprehensive score card with letter grade
  Review feedback with severity levels (Critical/High/Medium/Low)
  Production-ready SQL migration script
  Optional auto-execution in PostgreSQL/MySQL
  Iteration count and optimization recommendations

  💼 Perfect For:
  Digital agencies offering database design services
  SaaS companies needing rapid prototyping
  Consultancies creating lead magnets
  Developers modernizing legacy systems
  Startups validating data models

  🎯 Use as Lead Magnet:
  Offer free database blueprints to capture leads, then upsell implementation, custom automations, and ongoing optimization services.

  ⚙️ Technical Highlights:
  Optimized temperature settings per agent (0.1-0.5)
  Claude Sonnet 4.5 for maximum quality
  Structured JSON output for easy integration
  Error handling and graceful degradation
  Execution time: 60-90 seconds average
  Cost: ~$0.15-0.30 per run

  Use Cases

  Agency Lead Magnet
     Capture leads by offering free database architecture reviews and blueprints

  Rapid Prototyping
     Quickly generate database schemas for MVP development and validation

  Legacy System Modernization
     Help companies redesign outdated database structures with modern best practices

  Technical Consulting
     Provide instant database assessments and recommendations to clients

  Educational Tool
     Teach database design principles through AI-generated examples and feedback

  Pre-Sales Tool
     Demonstrate technical expertise to prospects before engagement

  Key Features

  ✅ Multi-agent AI collaboration with specialized roles
  ✅ Automatic quality control and iterative improvement (max 3 retries)
  ✅ Support for PostgreSQL, MySQL, MSSQL, MariaDB
  ✅ Production-ready SQL script generation
  ✅ Comprehensive scoring system (Schema/Performance/Scalability/Security)
  ✅ Optional automatic SQL execution
  ✅ Detailed feedback with actionable recommendations
  ✅ Customizable form fields for different industries
  ✅ Error handling and graceful failures
  ✅ Complete audit trail of all agent decisions

  Setup Instructions

  PREREQUISITES:
  Anthropic API key (Claude Sonnet 4.5 access)
  PostgreSQL/MySQL database (optional, for auto-execution)
  n8n version 1.0+ with LangChain nodes

  CONFIGURATION STEPS:

  Import the workflow JSON into your n8n instance

  Configure Anthropic API credentials:
     Add your Anthropic API key in n8n credentials
     Connect all 4 AI model nodes to your credential

  (Optional) Configure database connection:
     In "Execute SQL in PostgreSQL" node, add your database credentials
     Use a TEST/SANDBOX database, never production
     Or disable this node if you prefer manual execution

  Customize the form (optional):
     Edit form fields in "On form submission" node
     Add industry-specific questions
     Adjust required fields based on your needs

  Test the workflow:
     Use the form URL to submit a test request
     Check execution time and quality
     Verify all agents are responding correctly

  Customize agent prompts (optional):
     Adjust system messages for industry-specific requirements
     Modify scoring criteria in Agent 3
     Add custom validation rules in Agent 2

  Deploy:
     Share the form URL as your lead magnet
     Embed in website or landing pages
     Set up email notifications for submissions

  COST CONSIDERATIONS:
  Each execution costs ~$0.15-0.30 in API calls
  Failed attempts (retries) increase cost
  Consider rate limiting for public forms

  Requirements

  REQUIRED:
  Anthropic API Key (Claude access)
  n8n version 1.0+
  LangChain nodes enabled

  OPTIONAL:
  PostgreSQL/MySQL database connection (for auto-execution)
  Email service (for result delivery)
  CRM integration (for lead capture)

  Tags

  #ai-agents #database-design #postgresql #mysql #lead-generation #automation #langchain #claude #schema-design #multi-agent #consulting-tool #saas-tool #development #code-generation #sql-generator

  📖 Website: https://evervise.ai/
  ✨ Support: mark.marin@evervise.com

  N8N Link

nodes_used:
  ["n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.form","n8n-nodes-base.postgres","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.formTrigger","n8n-nodes-base.if","n8n-nodes-base.form","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10564 characters]

metadata_json:
  {"categories":["automation","data processing","developer tools","database design"],"complexity":"complex","use_cases":["Generate complete SQL database schemas from high-level requirements","Rapid prototyping of database designs for projects or proposals","Provide database architecture as a lead magnet or client deliverable","Validate and optimize schemas for performance, security, and scalability","Auto-generate SQL DDL for target databases (Postgres, MySQL, MSSQL)"],"estimated_setup_minutes":60,"required_services":["Anthropic Claude (lmChatAnthropic)","SQL database (PostgreSQL / MySQL / MSSQL)","n8n hosted instance","Credentials/secret manager (for DB and API keys)"],"key_features":["4 specialized AI agents: Architect, Reviewer, Optimizer, SQL Generator","Automated schema design with tables, relationships, indexes","Design validation for performance, security, scalability","Optimization suggestions and numeric scoring (0-100)","Automatic SQL DDL generation and optional persistence to a database node"],"target_audience":["Agencies","Consultancies","SaaS product teams offering DB design services or lead magnets\",\"Developers and data architects\",\"Database administrators (DBAs)"]}


name: Landing Page Analysis & Optimization with Claude's 4-Agent AI System
author_name: Evervise
author_username: evervise
categories: []
created_at: 2025-10-13T00:49:56.638Z
updated_at: 2025-10-13T00:49:56.638Z
url: https://n8n.io/workflows/9545
scraped_at: 2025-10-27 22:15:59
description:
  🎯 AI Landing Page Analyzer & Optimizer

  Transform your landing page audits into a powerful lead generation machine with this professional n8n workflow powered by 4 specialized AI agents.

  What It Does

  This workflow analyzes any landing page and delivers a comprehensive, $2,000-value audit report in under 90 seconds. Perfect for agencies, consultants, and SaaS companies looking to generate high-quality leads while showcasing their expertise.

  🤖 Four Specialized AI Agents

  Design Critic - Analyzes UX/UI, visual hierarchy, CTA placement, mobile responsiveness, and trust signals
  Copywriter - Reviews messaging, headlines, value propositions, and emotional triggers
  SEO Specialist - Audits technical SEO, meta tags, heading structure, and performance indicators
  Growth Strategist - Synthesizes all findings, assigns an A-F grade, and creates prioritized action plans

  ✨ Key Features

  Comprehensive Scoring**: 6-dimension scorecard with detailed justifications
  Actionable Insights**: Top 5 priorities ranked by impact vs. effort
  Conversion Lift Estimates**: Conservative, realistic, and optimistic projections
  Beautiful HTML Reports**: Professional email with all analyses, branded for your business
  Natural Upsell Path**: Built-in CTA for paid optimization services
  Fast Delivery**: Complete analysis in 60-90 seconds

  📊 What Gets Analyzed

  Design & UX
  Visual hierarchy and layout structure
  CTA design, placement, and effectiveness
  Color scheme and whitespace usage
  Trust signals and social proof
  Mobile responsiveness indicators

  Copywriting
  Headline impact and hook effectiveness
  Value proposition clarity
  Benefits vs. features balance
  Emotional triggers and persuasion
  CTA copy strength and action orientation

  SEO & Technical
  Title tag and meta description optimization
  Heading structure (H1, H2 hierarchy)
  Image optimization and alt tags
  Mobile-friendliness
  Analytics tracking setup
  Page speed indicators

  Strategic Overview
  Overall grade (A+ to F) with detailed explanation
  Comprehensive scorecard across all dimensions
  Prioritized action items by ROI
  Estimated conversion lift potential
  Strategic recommendations and next steps

  💼 Perfect For

  Digital Marketing Agencies**: Offer free audits to generate leads
  Freelance Consultants**: Showcase expertise and attract clients
  SaaS Companies**: Lead magnet for conversion optimization tools
  Web Development Agencies**: Pre-sales qualification and demonstrations
  CRO Specialists**: Automated initial assessments

  📋 What You Need

  Required
  n8n instance (self-hosted or cloud)
  Anthropic API key (Claude Sonnet 4.5)
  Gmail account for sending reports (or any SMTP provider)

  Optional Enhancements
  Screenshot API (UrlBox, Puppeteer) for visual captures
  Google PageSpeed Insights API for performance testing
  CRM integration (HubSpot, Salesforce, Pipedrive)
  Slack notifications for lead alerts
  Calendar booking integration (Calendly)

  ⚙️ Technical Details

  AI Model**: Claude Sonnet 4.5 (4 separate agents)
  Average Runtime**: 60-90 seconds
  Cost Per Analysis**: ~$0.15-0.25 (API costs)
  Form Fields**: 6 (landing page URL, industry, goal, conversion rate, frustration, email)
  Output**: Beautiful HTML email report with comprehensive analysis

  🎨 Customization Options

  The workflow includes detailed documentation and is fully customizable:

  Adjust agent prompts for your specific niche
  Modify scoring criteria and thresholds
  Customize email branding and design
  Add/remove form fields
  Integrate with your CRM
  Segment responses by score (different CTAs for different grades)

  📈 Expected Results

  Lead Quality**: High (users actively seeking optimization)
  Conversion Rate**: 15-30% of audit recipients book calls
  Time Saved**: 2-3 hours of manual analysis per audit
  Perceived Value**: $2,000+ professional audit

  🔧 Setup Difficulty

  Intermediate - Requires basic n8n knowledge and API key setup

  Setup Steps
  Import workflow to n8n
  Add Anthropic API credentials
  Configure Gmail/SMTP credentials
  Customize form and email branding
  Test with sample landing page
  Deploy form on your website

  📚 Included Documentation

  Comprehensive sticky notes explaining each component
  Setup instructions and prerequisites
  Customization guide
  Monetization strategy breakdown
  Performance optimization tips
  Enhancement ideas for v2

  🌟 Use Cases

  Lead Magnet: Embed form on your website to capture qualified leads
  Sales Tool: Use during discovery calls to demonstrate value
  Content Marketing: Offer audits in LinkedIn posts, email campaigns
  Partner Program: Provide white-labeled audits to partners
  Upsell Sequence: Follow up with paid optimization services

  ⚡ Why This Workflow?

  Unlike simple template-based audits, this workflow uses real AI intelligence to provide nuanced, contextual insights. Each analysis is unique and considers:

  Industry-specific best practices
  Stated business goals
  Current pain points
  Competitive landscape
  User's experience level

  The result? Reports that feel hand-crafted by experts, not generic checklists.

  🤝 Support

  📖 Website: https://evervise.ai/
  ✨ Support: mark.marin@evervise.com

  N8N Link

  📊 Version History

  v1.0** - Initial release with 4-agent analysis pipeline
  Coming soon: Screenshot capture, competitor comparison, visual mockups

  Tags

  lead-generation marketing-automation ai-agents conversion-optimization landing-pages anthropic claude audit seo copywriting design-analysis lead-magnet

  Ready to turn landing page audits into a lead generation machine? Import this workflow and start attracting high-quality clients today.

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@apify/n8n-nodes-apify.apify","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 15356 characters]

metadata_json:
  {"categories":["automation","AI","marketing","web-scraping","lead-generation"],"complexity":"complex","use_cases":["Landing page audits and optimization","Generating high-quality leads via audit reports","Conversion rate optimization recommendations","Client proposal & sales enablement","Automated UX/design critique and content suggestions"],"estimated_setup_minutes":60,"required_services":["Anthropic Claude (lmChatAnthropic) API","Apify (or other web-scraping service)","n8n instance (cloud or self-hosted)","Public HTTP/Webhook endpoint or form provider"],"key_features":["4 specialized AI agents (design critic, content/SEO, UX/conversion, final report generator)","Full landing-page scraping and analysis","90-second audit report generation","Lead capture via forms/webhooks","Customizable, agency-grade audit outputs ready for proposals or outreach"],"target_audience":["Digital agencies","Marketing consultants","SaaS companies and startups','Conversion rate optimization (CRO) specialists"]}


name: Generate Business Automation Opportunities & ROI Reports with Claude AI
author_name: Evervise
author_username: evervise
categories: []
created_at: 2025-10-13T01:00:14.525Z
updated_at: 2025-10-13T01:00:14.525Z
url: https://n8n.io/workflows/9546
scraped_at: 2025-10-27 22:15:59
description:
  🤖 AI Business Automation Opportunity Finder

  Turn automation audits into high-ticket sales with this ROI-focused n8n workflow powered by 4 specialized AI agents that identify and quantify automation opportunities in any business.

  What It Does

  This workflow analyzes any business and delivers a comprehensive automation blueprint with concrete ROI calculations in under 60 seconds. Perfect for agencies, consultants, and automation experts looking to generate qualified leads and close high-value deals.

  Unlike generic automation advice, this delivers personalized, quantified opportunities ranked by return on investment - making it incredibly easy for prospects to say yes.

  🤖 Four Specialized AI Agents

  Business Analyst - Deep analysis of business model, workflows, pain points, tech stack, and scalability challenges
  Process Mapper - Maps all repetitive processes, calculates time waste, identifies bottlenecks across the entire operation
  Automation Architect - Designs 15+ specific automation solutions with tools, complexity ratings, and implementation steps
  ROI Calculator - Calculates detailed ROI for each automation, ranks top 10, creates 90-day implementation roadmap

  ✨ Key Features

  Concrete Dollar Savings**: Every automation shows exact time saved, labor cost saved, and payback period
  Top 10 Ranked by ROI**: Opportunities prioritized by impact vs. effort with detailed financial analysis
  90-Day Implementation Roadmap**: Month-by-month plan showing progressive savings milestones
  Comprehensive Process Mapping**: Identifies inefficiencies they didn't even mention
  Tool-Specific Recommendations**: Exact tools and platforms needed (n8n, Zapier, Make, etc.)
  Beautiful HTML Reports**: Professional, conversion-focused email with 3-tier pricing built in
  Multiple CTAs**: Strategically placed conversion points throughout the report

  📊 What Gets Analyzed

  Business Analysis
  Business model and revenue streams
  Operational workflows and processes
  Current tech stack assessment
  Team capacity and resource allocation
  Growth stage and scalability blockers
  Industry-specific automation patterns

  Process Mapping
  Comprehensive workflow documentation
  Time waste analysis (hours per month)
  Bottleneck identification
  Process dependencies and integration opportunities
  Quick win vs. strategic project categorization

  Automation Architecture
  For each of 15+ automation opportunities:
  Clear description of what it automates
  Specific tools required
  Step-by-step implementation flow
  Complexity rating (Easy/Medium/Hard)
  Prerequisites and requirements
  Additional benefits beyond time savings
  Real-world use case examples

  ROI Calculations
  For each automation:
  Time saved per week/month/year
  Labor cost savings (calculated from team size/industry)
  One-time implementation cost
  Ongoing monthly costs
  Payback period in months
  12-month net savings
  ROI percentage
  Priority score (0-10)

  💼 Perfect For

  Automation Agencies**: High-value lead magnet that pre-sells your services
  Business Consultants**: Demonstrate ROI before engagement
  No-Code Developers**: Show concrete value of your expertise
  Digital Transformation Consultants**: Quantify the opportunity
  SaaS Companies**: Lead gen for automation/workflow tools
  Freelancers**: Land bigger clients with data-driven proposals

  🚀 Why This Converts Better Than Other Lead Magnets

  Traditional Lead Magnets:
  Generic advice ("You should automate")
  Subjective benefits ("Save time")
  No clear next steps
  Conversion rate: 5-10%

  This Workflow:
  Specific to their business** (personalized analysis)
  Quantified in dollars** ($50K+ annual savings)
  Prioritized action plan** (top 10 ranked by ROI)
  Clear implementation path** (90-day roadmap)
  Conversion rate: 20-30%** to strategy call
  40-50% of calls close** to paid engagement

  📈 Expected Business Results

  Per 100 Form Submissions:
  25-30 strategy calls booked** (25-30% conversion)
  10-15 deals closed** (40-50% call-to-close rate)
  $12K-18K in initial revenue** (mix of Tier 1 & 2)
  2-4 retainer clients** ($30K-60K annual value)
  Total potential: $42K-78K** from 100 leads

  Why It Works:
  Self-qualifying**: Detailed form filters serious prospects
  Pre-sold**: They see the value before the call
  ROI-focused**: Speaks CFO language (dollars, not features)
  Urgency**: Shows money being wasted daily
  Social proof**: Built-in testimonials and case studies

  📋 What You Need

  Required
  n8n instance (self-hosted or cloud)
  Anthropic API key (Claude Sonnet 4.5)
  Gmail account or SMTP provider

  Optional Enhancements
  CRM integration (HubSpot, Salesforce, Pipedrive)
  Slack notifications for high-value leads
  Calendly for automatic call booking
  Zapier/Make for additional workflows
  Analytics tracking (Mixpanel, Segment)

  ⚙️ Technical Details

  AI Model**: Claude Sonnet 4.5 (4 sequential agents)
  Average Runtime**: 50-70 seconds
  Cost Per Analysis**: ~$0.20-0.30
  Form Fields**: 9 (business description, industry, team size, tasks, tools, bottleneck, revenue, email, name)
  Output**: Comprehensive HTML email with all analyses, pricing, and CTAs

  🎨 Customization Options

  The workflow is fully customizable and includes detailed documentation:

  Adjust ROI calculation parameters (labor rates by industry)
  Modify agent prompts for specific niches
  Customize pricing tiers and packages
  Add/remove form fields
  White-label the entire report
  Integrate with your CRM/marketing stack
  Segment responses by company size or revenue
  Add video walkthroughs or personalized messages
  Create industry-specific versions

  📊 Form Fields Explained

  The 9-field form is strategically designed to gather intelligence:

  Business Description (textarea): Core operations and offerings
  Industry/Niche (text): Context for automation patterns
  Team Size (dropdown): Affects ROI calculations and tool recommendations
  Repetitive Tasks (textarea): Gold mine for automation opportunities
  Current Tools (textarea): Integration points and tech stack assessment
  Biggest Bottleneck (textarea): Primary pain point for targeting
  Monthly Revenue (optional dropdown): For accurate ROI estimates and lead scoring
  Email (required): For report delivery
  Name (required): For personalization

  🔧 Setup Difficulty

  Basic - Requires basic n8n knowledge and API configuration

  Setup Steps
  Import workflow JSON to n8n
  Add Anthropic API credentials
  Configure Gmail/SMTP credentials
  Customize branding and pricing in email template
  Test with sample business scenarios
  Deploy form on your website
  Set up follow-up sequences (recommended)

  📚 Included Documentation

  Comprehensive sticky notes** for every component
  Setup instructions** with prerequisites
  Customization guide** for different industries
  Pricing strategy** breakdown and alternatives
  Conversion optimization** tips
  Follow-up sequence** recommendations
  Sales script** suggestions for strategy calls
  Marketing promotion** ideas

  🌟 Advanced Use Cases

  1. Lead Magnet
  Embed on website to capture qualified automation leads continuously

  2. Discovery Tool
  Use during sales calls to demonstrate immediate value and build credibility

  3. Content Marketing
  Offer in LinkedIn posts, email campaigns, YouTube videos for viral growth

  4. Partner Program
  White-label for partners/affiliates to generate leads in their networks

  5. Upsell Sequence
  For existing clients, identify additional automation opportunities

  6. Industry Templates
  Create versions for specific industries (real estate, e-commerce, agencies)

  7. Competitive Intelligence
  Analyze competitor operations and position your services

  ⚡ Why This Workflow Stands Out

  Compared to Generic Automation Audits:
  ✅ Quantified in dollars vs. vague "save time" claims
  ✅ Personalized to their business vs. generic templates
  ✅ Prioritized by ROI vs. random feature lists
  ✅ Actionable roadmap vs. overwhelming possibilities
  ✅ Tool-specific vs. theoretical concepts

  Compared to Manual Analysis:
  ✅ 60 seconds vs. 2-3 hours of consultant time
  ✅ $0.25 cost vs. $300-500 in labor
  ✅ Consistent quality vs. variable analyst experience
  ✅ Scalable vs. bottlenecked by human capacity
  ✅ 24/7 available vs. business hours only

  🤝 Support & Community

  📖 Website: https://evervise.ai/
  ✨ Support: mark.marin@evervise.com

  N8N Link

  🎁 Bonus Resources Included

  Follow-up email sequence** (3 emails over 10 days)
  Sales call script** for strategy calls
  Objection handling** guide
  Pricing calculator** spreadsheet
  Marketing assets** (social media templates)
  Case study template** for testimonials

  Tags

  automation lead-generation roi-calculator business-analysis process-mapping ai-agents anthropic claude workflow-automation business-consulting no-code n8n-workflows high-ticket-sales conversion-optimization saas-tools

  Ready to turn automation audits into recurring revenue? Import this workflow and start attracting qualified leads who can see the exact dollar value you provide before they even talk to you.

  Average user results: $42K-78K revenue from first 100 form submissions.

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 17048 characters]

metadata_json:
  {"categories":["automation","AI","sales & marketing","consulting"],"complexity":"medium","use_cases":["Identify business automation opportunities","Generate quantified ROI reports/audits","Lead generation and qualification","Create automation implementation blueprints","Support sales pitches for high‑ticket automation services"],"estimated_setup_minutes":45,"required_services":["Anthropic Claude (lmChatAnthropic) API","n8n (cloud or self‑hosted)","Optional: email/CRM/Slack integrations for delivering reports"],"key_features":["4 specialized AI agents that analyze business processes","Automated ROI calculations and opportunity quantification","Generates a comprehensive automation blueprint/report in ~60s","Form input + preprocessing (set/code) and communicaton delivery nodes","Configurable output for agencies/consultants to use in sales outreach"],"target_audience":["automation consultants and agencies","Business/process consultants","Sales and growth teams selling automation services」「Automation engineers and solution architects"]}


name: Convert Fathom meeting transcripts to formatted Google Docs with AI summaries
author_name: Dean Pike
author_username: deanjp
categories: []
created_at: 2025-10-13T04:00:31.144Z
updated_at: 2025-10-13T04:00:31.144Z
url: https://n8n.io/workflows/9549
scraped_at: 2025-10-27 22:15:59
description:
  Transcript → AI Analysis → Formatted Doc

  This workflow automatically converts Fathom meeting transcripts into beautifully formatted Google Docs with AI-generated summaries, key points, decisions, and action items.

  Good to know
    Works fully with Fathom free account
    Webhook responds immediately to prevent Fathom timeout and duplicate triggers
    Validates transcript quality (3+ conversation turns) before AI processing to save costs
    Uses Google Gemini API (generous free tier and rate limits, typically enough to avoid paying for API requests, but check latest pricing at Google AI Pricing)
    Creates temporary HTML file that's auto-deleted after conversion

  Who's it for
    Individuals or teams using Fathom for meetings who want more control and flexibility with their AI meeting analysis and storage independently of Fathom, as well as automatic, formatted documentation without manual note-taking. Perfect for recurring syncs, client meetings, or interview debriefs.

  How it works
    Fathom webhook triggers when meeting ends and sends transcript data
    Validates transcript has meaningful conversation (3+ turns)
    Google Gemini AI analyzes transcript and generates structured summary (key points, decisions, actions, next steps)
    Creates formatted HTML with proper styling
    Uploads to Google Drive and converts to native Google Doc
    Reduces page margins for readability and deletes temporary HTML file

  Requirements
    Fathom account with API webhook access (available on free tier)
    Google Drive account (OAuth2)
    Google Docs account (OAuth2)
    Google Gemini API key (Get free key here)

  How to set up
    Add credentials: Google Drive OAuth2, Google Docs OAuth2, Google Gemini API
    Copy the webhook URL from the Get Fathom Meeting webhook node (Test URL first, change to Production URL when ready)
    In Fathom: Settings → API Access → Add → Add webhook URL and select all events including "Transcript"
    Test with a short meeting, verify Google Doc appears in Drive
    Activate workflow

  Customizing this workflow
    Change save location: Edit "Upload File as HTML" node → update "Parent Folder"
    Modify AI output: Edit "AI Meeting Analysis" node → customize the prompt to add/remove sections (e.g., risks, follow-ups, sentiment, etc)
    Adjust document margins: Edit "Reduce Page Margins" node → change margin pixel values
    Add notifications: E.g. add Slack/Email node after "Convert to Google Doc" to notify team when summary is ready

  Quick Troubleshooting
    "Transcript Present?" fails: Fathom must send transcript_merged with 3+ conversation turns (i.e. only send to Gemini for analysis if there's a genuine transcript)
    HTML as plain text: Check "Convert to Google Doc" uses POST to /copy endpoint
    401/403 errors: Re-authorize Google credentials
    Inadequate meeting notes: Edit prompts in "AI Meeting Analysis" node
  Sample File and Storage Output
  Google Doc meeting notes - sample
  Google Drive sample folder output:

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

workflow_json_compressed:
  [encoded data, 12220 characters]

metadata_json:
  {"categories":["automation","AI/ML","documentation","integration"],"complexity":"medium","use_cases":["Automatically generate meeting minutes and formatted Google Docs from Fathom transcripts","Create AI summaries, key points, decisions, and action items","Populate knowledge base or CRM with meeting outputs","Reduce manual note-taking and speed up follow-up tasks"],"estimated_setup_minutes":25,"required_services":["Fathom (meeting transcription)","Google Drive / Google Docs (via Google API)","Google Gemini API (lmChatGoogleGemini)","n8n instance with webhook/public endpoint"],"key_features":["Immediate webhook response to avoid Fathom timeouts and duplicate triggers","Transcript quality validation (requires 3+ conversation turns) to reduce AI cost","AI-generated structured summaries, key points, decisions, and action items","Structured output parsing for reliable document content","Automatic creation and formatting of Google Docs and saving to Drive"],"target_audience":["product managers","team leads","operations/COps teams responsible for meeting documentation and follow-ups? no, keep concise -> operations teams? wait must be array of strings. I'll provide relevant ones."]}


name: Generate AI Videos with Sora2 Pro, Save to Google Drive and Upload to YouTube
author_name: Davide
author_username: n3witalia
categories: []
created_at: 2025-10-13T14:01:53.749Z
updated_at: 2025-10-13T14:01:53.749Z
url: https://n8n.io/workflows/9576
scraped_at: 2025-10-27 22:15:59
description:
  This workflow automates the entire process of creating, managing, and publishing AI-generated videos using OpenAI Sora2 Pro, Google Sheets, Google Drive, and YouTube.

  Advantages

  ✅ Fully Automated Video Pipeline
  From idea to YouTube publication with zero manual intervention after setup.

  ✅ Centralized Control via Google Sheets
  Simple spreadsheet interface — no need to use APIs or dashboards directly.

  ✅ AI-Powered Video Creation
  Uses OpenAI Sora2 Pro for generating professional-quality videos from text prompts.

  ✅ SEO-Optimized Titles with GPT-5
  Automatically creates catchy, keyword-rich titles optimized for YouTube engagement.

  ✅ Cloud Integration
  Seamless use of Google Drive for file management and YouTube for publishing.

  ✅ Scalable and Repeatable
  Can handle multiple videos in sequence, triggered manually or at regular intervals.

  ✅ Error-Resilient and Transparent
  Uses conditional checks (“Completed?” node) and real-time updates in Google Sheets to ensure reliability and visibility.

  How it Works

  This workflow automates the entire process of generating AI videos and publishing them to YouTube, using a Google Sheet as the central control panel.

  Trigger & Data Fetch: The workflow is triggered either manually or on a schedule. It starts by reading a specific Google Sheet to find new video requests. A new request is identified as a row where the "PROMPT" and "DURATION" columns are filled, but the "VIDEO" column is empty.
  AI Video Generation: For each new request, it takes the prompt and duration, then sends a request to the Fal.ai Sora-2 Pro model via its API to generate the video. The system then enters a polling loop, checking the video generation status every 60 seconds until it is COMPLETED.
  Post-Processing & Upload: Once the video is ready, the workflow performs three parallel actions:
      Fetch Video & Upload to Drive: It retrieves the generated video file and uploads it to a specified folder in Google Drive for archiving.
      Generate YouTube Title: It sends the original prompt to OpenAI's GPT-5 (or another specified model) to generate an optimized, SEO-friendly title for the YouTube video.
      Publish to YouTube: It takes the generated video file and the AI-created title and uses the Upload-Post.com service to automatically publish the video to a connected YouTube channel.
  Update & Log: Finally, the workflow updates the original Google Sheet row with the URL of the archived video in Google Drive and the newly created YouTube video URL, providing a complete audit trail.

  Set up Steps

  To configure this workflow, follow these steps:

  Prepare the Google Sheet:
      Create a Google Sheet with at least these columns: PROMPT, DURATION, VIDEO, and YOUTUBE_URL.
      In the n8n "Get new video" and update nodes, configure the documentId and sheetName to point to your specific Google Sheet.

  Configure Fal.ai API Key:
      Create an account on fal.ai and obtain your API key.
      In both the "Create Video" and "Get status" HTTP Request nodes, set up the HTTP Header Authentication.
      Set the Name to Authorization and the Value to Key YOUR_API_KEY.

  Set up Upload-Post.com for YouTube:
      Create an account on Upload-Post.com and get your API key. Connect your YouTube channel as a "profile".
      In the "HTTP Request" node (for uploading), configure the Header Auth with Name: Authorization and Value: Apikey YOUR_UPLOAD_POST_API_KEY.
      Replace YOUR_USERNAME in the node's body parameters with the profile name you created on Upload-Post.com (e.g., test1).

  Configure OpenAI (Optional but Recommended):
      The "Generate title" node uses an OpenAI model. Ensure you have valid OpenAI API credentials set up in n8n for this node to function and create optimized titles.

  Finalize Paths and Activate:
      In the "Upload Video" node, specify the correct Google Drive folder ID where you want the videos to be saved.
      Once all credentials and paths are set, you can activate the workflow and set the "Schedule Trigger" node to run at your desired interval (e.g., every 5 minutes).

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

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5964 characters]

metadata_json:
  {"categories":["automation","media production","integration","AI/ML","content creation"],"complexity":"medium","use_cases":["Automated YouTube publishing","Batch AI video generation from spreadsheet inputs","Scheduled content production and upload","Centralized workflow control via Google Sheets","Conditional workflow and manual override for quality control"],"estimated_setup_minutes":45,"required_services":["OpenAI Sora2 Pro (video generation)","Google Sheets (control interface)","Google Drive (storage)","YouTube Data API / YouTube channel (upload)","n8n instance (workflow runner)","Google OAuth credentials"],"key_features":["End-to-end automated video pipeline from idea to YouTube","Spreadsheet-driven inputs and centralized control","AI-powered video generation with Sora2 Pro","Save generated assets to Google Drive","Automated YouTube upload and publish scheduling"],"target_audience":["Content creators and YouTubers","Social media managers and marketers","Video production teams and agencies looking to scale content creation via AI automation」「Automation engineers and developers integrating AI with Google services"]}


name: Automate Freelance Project Intake with Custom Proposals using Jotform & Gemini
author_name: iamvaar
author_username: iamvaar
categories: []
created_at: 2025-10-13T14:04:57.194Z
updated_at: 2025-10-13T14:04:57.194Z
url: https://n8n.io/workflows/9577
scraped_at: 2025-10-27 22:15:59
description:
  Workflow explaination: https://youtu.be/ecafBTFPuvE?si=7csA1yNsaUxUG72F

  This workflow is designed to automatically handle new freelance project requests from a JotForm, analyze the requirements using AI, create a custom proposal, log the details in a Google Sheet, and send a personalized response to the client.

  1. JotForm Trigger

  Purpose**: This node is the entry point of the entire automation. It waits for a new freelance project submission from your specified JotForm.
  Action: When a potential client fills out and submits the form, this node **instantly triggers the workflow, passing all submitted data (name, email, project requirements, and budget) to the next node.
  Key Detail**: Uses a webhook for real-time activation, ensuring immediate processing of every new project request.

  2. AI Agent

  Purpose**: The central brain of your freelance workflow. 🧠 It takes the project submission and turns it into a structured, customized proposal.
  Action**: The agent follows a prompt sequence to perform these tasks:

    Calls the My Freelance Document Tool: Fetches your Google Doc containing details about your services, pricing, and project templates — your “source of truth.”
    Analyzes the Project Request: Reads the client’s requirements and goals from the form.
    Generates a Custom Proposal: Based on scope, budget, and relevance to your offerings, it prepares a short, tailored proposal or quote that fits the project.
    Creates a Personalized Email: Builds an HTML email with the proposal embedded, including next steps or a scheduling link for further discussion.
    Outputs Structured Data: Packages everything (project summary, proposal text, email subject, and body) into a clean JSON object for downstream use.

  3. Append or Update Row in Sheet (Google Sheets)

  Purpose**: Serves as your lightweight CRM for all project inquiries.
  Action**: Logs data from the AI Agent (proposal details, client info, and project summary) into a Google Sheet.
  Key Detail: Configured to **Append or Update—if an email already exists, it updates that row instead of duplicating. Keeps your client records clean and organized.

  4. If

  Purpose**: Acts as a control node to decide whether a proposal email should be sent.
  Action**: Checks the output from the AI Agent to ensure the proposal text is valid (not empty).
  Key Detail**: If the proposal generation fails or returns “NAN,” the workflow stops here to avoid sending incomplete responses.

  5. Send a Message (Gmail)

  Purpose**: Sends the final personalized proposal email to the client.
  Action: Pulls the recipient’s email from the sheet and sends the **AI-generated subject and HTML proposal email automatically.
  Key Detail**: The email is customized per project, giving the client an instant, professional response with no manual effort.

nodes_used:
  ["n8n-nodes-base.jotFormTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.if","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.googleDocsTool","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5452 characters]

metadata_json:
  {
    "categories": [
      "automation",
      "integration",
      "AI",
      "document generation",
      "lead management"
    ],
    "complexity": "medium",
    "use_cases": [
      "Automate intake of freelance project requests from JotForm",
      "Analyze client requirements with AI to determine scope and pricing",
      "Generate custom proposals (Google Docs) automatically",
      "Log submissions and proposal metadata in Google Sheets",
      "Send personalized responses to clients via email or messaging channel"
    ],
    "estimated_setup_minutes": 30,
    "required_services": [
      "JotForm",
      "Google Gemini (lmChat/Google Cloud AI) or equivalent AI model",
      "Google Sheets",
      "Google Docs",
      "Email provider (Gmail or SMTP) or other Communication channel",
      "n8n instance/account"
    ],
    "key_features": [
      "JotForm trigger for new project submissions",
      "AI analysis of requirements to create proposal content",
      "Automated generation of a custom proposal document",
      "Structured output parsing and conditional logic to handle different request types",
      "Automatic logging of submissions and proposal details to Google Sheets"
    ],
    "target_audience": [
      "Freelancers",
      "Small agencies",
      "Independent consultants/service providers who send proposals regularly"
    ]
  }


name: AI based Data Analysis, Data Visualization and Data Report with Ada.im
author_name: Ada.im
author_username: ada
categories: []
created_at: 2025-10-14T07:39:50.361Z
updated_at: 2025-10-14T07:39:50.361Z
url: https://n8n.io/workflows/9605
scraped_at: 2025-10-27 22:15:59
description:
  How it works:

  This template demonstrates how to build a low-code, AI-powered data analysis workflow in n8n. It enables you to connect to various data sources (such as MySQL, Google Sheets, or local files), process and analyze structured data, and generate natural language insights and visualizations using external AI APIs.

  Key Features:

  Flexible data source selection (MySQL, Google Sheets, Excel/CSV, etc.)

  AI-driven data analysis, interpretation, and visualization via HTTP Request nodes

  Automated email delivery of analysis results (Gmail node)

  Step-by-step sticky notes for credential setup and workflow customization

  Step-by-step:
  Apply for an API Key

  You can easily create and manage your API Key in the ADA official website - API. To begin with, You need to register for an ADA account.

  Once on the homepage, click the bottom left corner to access the API management dashboard.



  Here, you can create new APIs and set the credit consumption limit for each API. A single account can create up to 10 APIs.



  After successful creation, you can copy the API Key to set credentials. You can also view the credit consumption of each API and manage your APIs.



  Set credentials

  In HTTP nodes(DataAnalysis, DataInterpretation, and DataVisualization) select Authentication → Generic Credential Type


  Choose Header Auth → Create new credential


  Name the header Authorization, which must be exactly 'Authorization', and fill in the previously applied API key


  Data Source:

  The workflow starts by extracting structured data from your chosen source (e.g., database, spreadsheet, or file).

  AI Skills:

  Data is sent to external AI APIs for analysis, interpretation, and visualization, based on your configured queries.

  Result Processing:

  The AI-generated results are converted to HTML or Markdown as needed.

  Output:

  The final report or visualization is sent via email. You can easily adapt this step to other output channels.

  API Keys Required:

  Ada API Key: For AI data analysis

  Gmail OAuth2: For sending emails (if using Gmail node)

  (Optional) Data source credentials: For MySQL, Google Sheets, etc.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.mySql","n8n-nodes-base.aggregate","n8n-nodes-base.googleSheets","n8n-nodes-base.readWriteFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.convertToFile","n8n-nodes-base.markdown","n8n-nodes-base.markdown","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.code","n8n-nodes-base.set"]

workflow_json_compressed:
  [encoded data, 6904 characters]

metadata_json:
  {
    "categories": [
      "data processing",
      "data visualization",
      "automation",
      "AI/ML",
      "reporting integration"
    ],
    "complexity": "medium",
    "use_cases": [
      "Automated data analysis and summary generation",
      "Creating AI-driven visualizations from structured data",
      "Generating natural-language data reports for stakeholders",
      "ETL-style aggregation from multiple data sources",
      "Ad-hoc analysis from spreadsheets, databases or local files"
    ],
    "estimated_setup_minutes": 45,
    "required_services": [
      "Ada.im (or other HTTP-accessible AI API)",
      "MySQL (optional, for database sources)",
      "Google Sheets (optional)",
      "Excel/CSV files or cloud file storage for local files",
      "HTTP endpoint access for external APIs"
    ],
    "key_features": [
      "Flexible input from MySQL, Google Sheets, Excel/CSV, or local files",
      "AI-powered data analysis and natural-language insight generation via HTTP requests",
      "Automated visualization generation integrated into the workflow",
      "Low-code orchestration using n8n nodes (aggregation, file read/write, spreadsheets)",
      "Report creation and delivery via communication/markdown nodes"
    ],
    "target_audience": [
      "data analysts",
      "business analysts",
      "data engineers implementing low-code pipelines (n8n users)"
    ]
  }


name: Build a Knowledge Base Chatbot with Jotform, RAG Supabase, Together AI & Gemini
author_name: iamvaar
author_username: iamvaar
categories: []
created_at: 2025-10-14T12:34:58.992Z
updated_at: 2025-10-14T12:34:58.992Z
url: https://n8n.io/workflows/9626
scraped_at: 2025-10-27 22:15:59
description:
  Youtube Video: https://youtu.be/dEtV7OYuMFQ?si=fOAlZWz4aDuFFovH

  Workflow Pre-requisites

  Step 1: Supabase Setup

  First, replace the keys in the "Save the embedding in DB" & "Search Embeddings" nodes with your new Supabase keys. After that, run the following code snippets in your Supabase SQL editor:

  Create the table to store chunks and embeddings:
          CREATE TABLE public."RAG"
      (
          id bigserial PRIMARY KEY,
          chunk text NULL,
          embeddings vector(1024) NULL
      )
      TABLESPACE pg_default;
      
  Create a function to match embeddings:
          DROP FUNCTION IF EXISTS public.matchembeddings1(integer, vector);

      CREATE OR REPLACE FUNCTION public.matchembeddings1(
          match_count integer,
          query_embedding vector
      )
      RETURNS TABLE (
          chunk text,
          similarity float
      )
      LANGUAGE plpgsql
      AS $$
      BEGIN
          RETURN QUERY
          SELECT
              R.chunk,
              1 - (R.embeddings &lt;=&gt; query_embedding) AS similarity
          FROM public."RAG" AS R
          ORDER BY R.embeddings &lt;=&gt; query_embedding
          LIMIT match_count;
      END;
      $$;
  Step 2: Create Jotform with these fields
  Your full name
  email address
  Upload PDF Document [field where you upload the knowledgebase in PDF]

  Step 3: Get Together AI API Key

  Get a Together AI API key and paste it into the "Embedding Uploaded document" node and the "Embed User Message" node.

  Here is a detailed, node-by-node explanation of the n8n workflow, which is divided into two main parts.

  Part 1: Ingesting Knowledge from a PDF

  This first sequence of nodes runs when you submit a PDF through a Jotform. Its purpose is to read the document, process its content, and save it in a specialized database for the AI to use later.

  JotForm Trigger
      Type: Trigger
      What it does: This node starts the entire workflow. It's configured to listen for new submissions on a specific Jotform. When someone uploads a file and submits the form, this node activates and passes the submission data to the next step.

  Grab New knowledgebase
      Type: HTTP Request
      What it does: The initial trigger from Jotform only contains basic information. This node makes a follow-up call to the Jotform API using the submissionID to get the complete details of that submission, including the specific link to the uploaded file.

  Grab the uploaded knowledgebase file link
      Type: HTTP Request
      What it does: Using the file link obtained from the previous node, this step downloads the actual PDF file. It's set to receive the response as a file, not as text.

  Extract Text from PDF File
      Type: Extract From File
      What it does: This utility node takes the binary PDF file downloaded in the previous step and extracts all the readable text content from it. The output is a single block of plain text.

  Splitting into Chunks
      Type: Code
      What it does: This node runs a small JavaScript snippet. It takes the large block of text from the PDF and chops it into smaller, more manageable pieces, or "chunks," each of a predefined length. This is critical because AI models work more effectively with smaller, focused pieces of text.

  Embedding Uploaded document
      Type: HTTP Request
      What it does: This is a key AI step. It sends each individual text chunk to an embeddings API. A specified AI model converts the semantic meaning of the chunk into a numerical list called an embedding or vector. This vector is like a mathematical fingerprint of the text's meaning.

  Save the embedding in DB
      Type: Supabase
      What it does: This node connects to your Supabase database. For every chunk, it creates a new row in a specified table and stores two important pieces of information: the original text chunk and its corresponding numerical embedding (its "fingerprint") from the previous step.

  Part 2: Answering Questions via Chat

  This second sequence starts when a user sends a message. It uses the knowledge stored in the database to find relevant information and generate an intelligent answer.

  When chat message received
      Type: Chat Trigger
      What it does: This node starts the second part of the workflow. It listens for any incoming message from a user in a connected chat application.

  Embend User Message
      Type: HTTP Request
      What it does: This node takes the user's question and sends it to the exact same embeddings API and model used in Part 1. This converts the question's meaning into the same kind of numerical vector or "fingerprint."

  Search Embeddings
      Type: HTTP Request
      What it does: This is the "retrieval" step. It calls a custom database function in Supabase. It sends the question's embedding to this function and asks it to search the knowledge base table to find a specified number of top text chunks whose embeddings are mathematically most similar to the question's embedding.

  Aggregate
      Type: Aggregate
      What it does: The search from the previous step returns multiple separate items. This utility node simply bundles those items into a single, combined piece of data. This makes it easier to feed all the context into the final AI model at once.

  AI Agent & Google Gemini Chat Model
      Type: LangChain Agent & AI Model
      What it does: This is the "generation" step where the final answer is created.
          The AI Agent node is given a detailed set of instructions (a prompt).
          The prompt tells the Google Gemini Chat Model to act as a professional support agent.
          Crucially, it provides the AI with the user's original question and the aggregated text chunks from the Aggregate node as its only source of truth.
          It then instructs the AI to formulate an answer based only on that provided context, format it for a specific chat style, and to say "I don't know" if the answer cannot be found in the chunks. This prevents the AI from making things up.

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.supabase","n8n-nodes-base.aggregate","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.jotFormTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  [encoded data, 4220 characters]

metadata_json:
  {"categories":["chatbot","knowledge management","retrieval-augmented generation","integration","data ingestion"],"complexity":"medium","use_cases":["Create a knowledge-base chatbot from form submissions","Ingest files and text via JotForm and extract content","Generate and store embeddings for semantic search","Perform RAG: retrieve relevant chunks and answer via LLM","Prototype conversational QA over custom documents"],"estimated_setup_minutes":45,"required_services":["Supabase (with vector extension and API keys)","JotForm (webhooks/form submissions)","TogetherAI (model/API for embeddings or generation)","Google Gemini (lmChatGoogleGemini node / API)","n8n instance"],"key_features":["Ingest JotForm submissions and file attachments via webhook","Chunk and extract text from files (extractFromFile)","Generate embeddings and save to Supabase vector column","Search embeddings in Supabase for semantic retrieval","Combine retrieved chunks with LLMs for RAG responses (TogetherAI / Gemini)"],"target_audience":["developers","AI/ML engineers","no-code/low-code builders using n8n workflows"]}


name: Host Your Own JWT Authentication System with Data Tables and Token Management
author_name: Luka Zivkovic
author_username: zivkovic58
categories: []
created_at: 2025-10-14T22:33:00.436Z
updated_at: 2025-10-14T22:33:00.436Z
url: https://n8n.io/workflows/9660
scraped_at: 2025-11-25 18:05:05
description:
  Description
  A production-ready authentication workflow implementing secure user registration, login, token verification, and refresh token mechanisms. Perfect for adding authentication to any application without needing a separate auth service.

  Get started with n8n now!

  What it does
  This template provides a complete authentication backend using n8n workflows and Data Tables:
  User Registration**: Creates accounts with secure password hashing (SHA-512 + unique salts)
  Login System**: Generates access tokens (15 min) and refresh tokens (7 days) using JWT
  Token Verification**: Validates access tokens for protected endpoints
  Token Refresh**: Issues new access tokens without requiring re-login
  Security Features**: HMAC-SHA256 signatures, hashed refresh tokens in database, protection against rainbow table attacks
  Why use this template
  No external services**: Everything runs in n8n - no Auth0, Firebase, or third-party dependencies
  Production-ready security**: Industry-standard JWT implementation with proper token lifecycle management
  Easy integration**: Simple REST API endpoints that work with any frontend framework
  Fully customizable**: Adjust token lifespans, add custom user fields, implement your own business logic
  Well-documented**: Extensive inline notes explain every security decision and implementation detail
  How to set up
  Prerequisites
  n8n instance (cloud or self-hosted)
  n8n Data Tables feature enabled
  Setup Steps
  Create Data Tables:
    users table: id, email, username, password_hash, refresh_token
    refresh_tokens table: id, user_id, token_hash, expires_at
  Generate Secret Keys:
    Run this command to generate a random secret:
    node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
    Generate two different secrets for ACCESS_SECRET and REFRESH_SECRET
  Configure Secrets:
    Update the three "SET ACCESS AND REFRESH SECRET" nodes with your generated keys
    Or migrate to n8n Variables for better security (instructions in workflow notes)
  Connect Data Tables:
    Open each Data Table node
    Select your created tables from the dropdown
  Activate Workflow:
    Save and activate the workflow
    Note your webhook URLs
  API Endpoints
  Register: POST /webhook/register-user
  Request body:
  {
   "email": "user@example.com",
   "username": "username",
   "password": "password123"
  }
  Login: POST /webhook/login
  Request body:
  {
   "email": "user@example.com",
   "password": "password123"
  }
  Returns:
  {
   "accessToken": "...",
   "refreshToken": "...",
   "user": {...}
  }
  Verify Token: POST /webhook/verify-token
  Request body:
  {
   "access_token": "your_access_token"
  }
  Refresh: POST /webhook/refresh
  Request body:
  {
   "refresh_token": "your_refresh_token"
  }
  Frontend Integration Example (Vue.js/React)
  Login flow:
  const response = await fetch('https://your-n8n.app/webhook/login', {
   method: 'POST',
   headers: { 'Content-Type': 'application/json' },
   body: JSON.stringify({ email, password })
  });
  const { accessToken, refreshToken } = await response.json();
  localStorage.setItem('accessToken', accessToken);
  Make authenticated requests:
  const data = await fetch('https://your-api.com/protected', {
   headers: { 'Authorization': Bearer ${accessToken} }
  });
  Key Features
  Secure Password Storage**: Never stores plain text passwords; uses SHA-512 with unique salts
  Two-Token System**: Short-lived access tokens (security) + long-lived refresh tokens (convenience)
  Database Token Revocation**: Refresh tokens can be revoked for logout-all-devices functionality
  Duplicate Prevention**: Checks username and email availability before account creation
  Error Handling**: Generic error messages prevent information leakage
  Extensive Documentation**: 30+ sticky notes explain every security decision
  Use Cases
  SaaS applications needing user authentication
  Mobile app backends
  Internal tools requiring access control
  MVP/prototype authentication without third-party costs
  Learning JWT and auth system architecture
  Customization
  Token Lifespan**: Modify expiration times in "Create JWT Payload" nodes
  User Fields**: Add custom fields to registration and user profile
  Password Rules**: Update validation in "Validate Registration Request" node
  Token Rotation**: Implement refresh token rotation for enhanced security (notes included)
  Security Notes
  :warning: Important:
  Change the default secret keys before production use
  Use HTTPS for all webhook endpoints
  Store secrets in n8n Variables (not hardcoded)
  Regularly rotate secret keys in production
  Consider rate limiting for login endpoints
  Support & Documentation
  The workflow includes comprehensive documentation:
  Complete authentication flow overview
  Security explanations for every decision
  Troubleshooting guide
  Setup instructions
  FAQ section with common issues
  Perfect for developers who want full control over their authentication system without the complexity of managing separate auth infrastructure.

  Get Started with n8n now!

  Tags: authentication, jwt, login, security, user-management, tokens, password-hashing, api, backend

nodes_used:
  ["n8n-nodes-base.crypto","n8n-nodes-base.crypto","n8n-nodes-base.set","n8n-nodes-base.dataTable","n8n-nodes-base.code","n8n-nodes-base.crypto","n8n-nodes-base.crypto","n8n-nodes-base.crypto","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.crypto","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.crypto","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.dataTable","n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.if","n8n-nodes-base.respondToWebhook","n8n-nodes-base.code","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.merge","n8n-nodes-base.webhook","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.crypto","n8n-nodes-base.code","n8n-nodes-base.crypto","n8n-nodes-base.dataTable","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.crypto","n8n-nodes-base.if","n8n-nodes-base.dataTable","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.if","n8n-nodes-base.dataTable","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 13892 characters]


name: Automate Lightroom Cloud to Instagram
author_name: Camille Roux
author_username: camilleroux
categories: []
created_at: 2025-10-15T09:43:52.777Z
updated_at: 2025-10-15T09:43:52.777Z
url: https://n8n.io/workflows/9692
scraped_at: 2025-11-25 18:05:05
description:
  Create a reusable “photos to post” queue from your Lightroom Cloud album—ideal for Lightroom-to-Instagram automation with n8n. It discovers new photos, stores clean metadata in a Data Table, and generates AI alt text to power on-brand captions and accessibility. Use it together with “Lightroom Image Webhook (Direct JPEG for Instagram)” and “Instagram Auto-Publisher for Lightroom Photos (AI Captions).”

  What it’s for

  Automate Lightroom to Instagram; centralize photo data for scheduled IG posting; prep AI-ready alt text and metadata for consistent, hands-free publishing.

  Parameters to set

  Lightroom Cloud credentials (client/app + API key)
  Album/collection ID to monitor in Lightroom Cloud
  Data Table name for the posting queue (e.g., Photos)
  AI settings: language/tone for alt text (concise, brand-aware)
  Image analysis URL: public endpoint of Workflow 2 (Lightroom Image Webhook)

  Works best with

  Workflow 2: Lightroom Image Webhook (Direct JPEG for Instagram)

  Workflow 3: Instagram Auto-Publisher for Lightroom Photos (AI Captions)

  Learn more & stay in the loop

  Want the full story (decisions, trade-offs, and tips) behind this Lightroom Cloud → Instagram automation?  
  👉 Read the write-up on my blog: camilleroux.com

  If you enjoy street & urban photography or you’re curious how I use these n8n workflows day-to-day:  
  👉 Follow my photo account on Instagram: @camillerouxphoto  
  👉 Follow me on other networks: links available on my site (X, Bluesky, Mastodon, Threads)

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.anthropic","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.sort","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4972 characters]


name: Sync NetSuite Customers to Salesforce Accounts & Contacts with Auto Upserts
author_name: Entech Solutions
author_username: entech
categories: []
created_at: 2025-10-15T10:12:36.151Z
updated_at: 2025-10-15T10:12:36.151Z
url: https://n8n.io/workflows/9695
scraped_at: 2025-10-27 22:15:59
description:
  Short Description

  Automatically exports customer records from NetSuite and syncs them into Salesforce — creating or updating Accounts and Contacts depending on whether the NetSuite record represents a company or an individual.

  Who is this for / Use case

  This template is designed for businesses and integration developers who:

  Use NetSuite as their ERP or CRM system.
  Need to automatically sync customer data (both companies and individuals) into Salesforce.
  Want a reliable, scalable solution that supports pagination and upserts.
  Prefer a ready-to-use, easily customizable workflow built on n8n.

  How it works

  Initialize pagination offset.
  Fetch customer records from NetSuite in batches via REST API.
  Split the retrieved array into individual items.
  Check record type — company or individual.
  Upsert to Salesforce:
  	For companies → creates/updates Account records.
  	For individuals → creates/updates both Account and Contact (linked to the Account).
  Merge results from both branches.
  Update pagination offset for the next batch.
  Repeat until all records are processed, then end the workflow.

  Setup / Configuration

  Import the workflow into your n8n instance.
  Set your NetSuite and Salesforce credentials.
  Ensure your Salesforce Account/Contact objects have a matching External ID field.
  (Optional) Adjust mapping fields or filters to your data needs.
  Execute manually or trigger on a schedule (e.g., daily sync).

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-netsuite-rest.netSuiteRest","n8n-nodes-base.stickyNote","n8n-nodes-base.salesforce","n8n-nodes-base.salesforce","n8n-nodes-base.salesforce","n8n-nodes-base.splitOut","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.code","n8n-nodes-netsuite-rest.netSuiteRest","n8n-nodes-netsuite-rest.netSuiteRest","n8n-nodes-base.stickyNote","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 4428 characters]

metadata_json:
  {"categories":["integration","automation","CRM","data synchronization"],"complexity":"medium","use_cases":["One-way sync of NetSuite customer records to Salesforce","Automatically create or update Salesforce Accounts for company records","Automatically create or update Salesforce Contacts for individual customers","Scheduled recurring synchronization to keep systems in sync","Field mapping and transformation between NetSuite and Salesforce"],"estimated_setup_minutes":60,"required_services":["NetSuite (REST) account with API access/credentials","Salesforce account with API access (OAuth or credentials)","n8n instance (self-hosted or n8n cloud)"],"key_features":["Scheduled periodic exports from NetSuite (Schedule node)","Fetch customer data via NetSuite REST nodes","Branching logic to differentiate companies vs individuals (If nodes)","Auto-upsert Accounts and Contacts in Salesforce (Salesforce nodes)","Data transformation and mapping using Code nodes before upserts"],"target_audience":["Integration developers","CRM administrators","IT / operations teams at companies using NetSuite and Salesforce"]}


name: Automate Support Ticket Prioritization with Jotform, Gemini AI, ClickUp Tasks
author_name: Zain Khan
author_username: zain
categories: []
created_at: 2025-10-15T21:44:04.960Z
updated_at: 2025-10-15T21:44:04.960Z
url: https://n8n.io/workflows/9736
scraped_at: 2025-11-25 18:05:05
description:
  Automated Support Prioritization and AI Task Creation

  This n8n workflow instantly captures support issues submitted via Jotform and efficiently routes them to the appropriate team and logging system based on the severity level defined by the customer. It then uses an AI Agent (Google Gemini) to transform the raw customer data into a clear, concise, and actionable task for the development team.

  Workflow Overview

  Ingestion & Logging: A new support ticket is received via Jotform and immediately logged into a Google Sheet as a central record.
  Priority Assessment & Routing: An If node checks the reported issue Severity.
      High/Medium Severity: The ticket details are instantly sent to a dedicated Slack channel for immediate team attention.
      Low Severity: The ticket details are sent via Gmail (acting as an internal email notification) to a support inbox, allowing for less immediate handling.
  AI Processing: An AI Agent summarizes the raw feedback into a clear, professional task description.
  Task Creation: The AI-generated task is automatically created in ClickUp for the development team to manage.

  Requirements

  To implement and run this automated support workflow, the following accounts and credentials are required:

  1. Service Credentials

  Jotform API Key:* For the *Jotform Trigger** to receive real-time form submissions.
  Google Sheets OAuth2/API Key:** To write data to the designated sheet.
  Slack OAuth2/API Key:** To post messages to the target Slack channel.
  Gmail OAuth2/API Key:** To send internal email notifications.
  Google Gemini API Key:* To power the *AI Agent** for task summarization.
  ClickUp API Key:** To create tasks in the target workspace.
  Sign up for n8n using: https://n8n.partnerlinks.io/pe6gzwqi3rqw

  2. External Configurations

  Jotform Setup:* A form configured with fields for Name, Email, Issue, Description, and the crucial *Severity** field.
  Sign up for Jotform using: https://www.jotform.com/?partner=zainurrehman
  ClickUp Setup:* The specific *Team, Space, Folder, and List IDs* must be configured in the *Create a task** node to ensure tickets are created in the correct project board.

nodes_used:
  ["n8n-nodes-base.slack","n8n-nodes-base.gmail","n8n-nodes-base.jotFormTrigger","n8n-nodes-base.if","n8n-nodes-base.clickUp","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","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"]

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


name: Transcribe Youtube Videos for Free with youtube-transcript.io & save to Supabase
author_name: automedia
author_username: automate-social-media
categories: []
created_at: 2025-10-16T04:18:06.996Z
updated_at: 2025-10-16T04:18:06.996Z
url: https://n8n.io/workflows/9747
scraped_at: 2025-10-27 22:15:59
description:
  Transcribe New YouTube Videos and Save to Supabase

  Who's It For?

  This workflow is for content creators, marketers, researchers, and anyone who needs to quickly get text transcripts from YouTube videos. If you analyze video content, repurpose it for blogs or social media, or want to make videos searchable, this template will save you hours of manual work.

  What It Does

  This template automatically monitors multiple YouTube channels for new videos. When a new video is published, it extracts the video ID, retrieves the full transcript using the youtube-transcript.io API, and saves the structured data—including the title, author, URL, and full transcript—into a Supabase table.

  It intelligently filters out YouTube Shorts by default and includes error handling to ensure that only successful transcriptions are processed.

  Requirements

  A Supabase account with a table ready to receive the video data.
  An API key from youtube-transcript.io (offers a free tier).
  The Channel ID for each YouTube channel you want to track. You can find this using a free online tool like TunePocket's Channel ID Finder.

  How to Set Up

  Add Channel IDs:
      In the "Channels To Track" node, replace the example YouTube Channel IDs with your own. The workflow uses these IDs to create RSS links and find new videos.
  Configure API Credentials:
      Find the "youtube-captions" HTTP Request node.
      In the credentials tab, create a new "Header Auth" credential. Name it youtube-transcript-io and paste your API key into the "Value" field. The "Name" field should be x-api-key.
  Connect Your Supabase Account:
      Navigate to the "Add to Content Queue Table" node.
      Create new credentials for your Supabase account using your Project URL and API key.
      Once connected, select your target table and map the incoming fields (title, source_url, content_snippet, etc.) to the correct columns in your table.
  Set Your Schedule (Optional):
      The workflow starts with a manual trigger. To run it automatically, replace the "When clicking ‘Execute workflow’" node with a Schedule node and set your desired interval (e.g., once a day).
  Activate the Workflow:
      Save your changes and toggle the workflow to Active in the top right corner.

  How to Customize

  Transcribe YouTube Shorts:* To include Shorts in your workflow, select the *"Does url exist?"** If node and delete the second condition that checks for youtube.com/shorts.
  Change Your Database:* Don't use Supabase? Simply replace the *"Add to Content Queue Table"* node with another database or spreadsheet node, such as *Google Sheets, **Airtable, or n8n's own Table.

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

workflow_json_compressed:
  [encoded data, 9000 characters]

metadata_json:
  {"categories":["automation","integration","data processing","content management","transcription"],"complexity":"medium","use_cases":["Automatically generating searchable transcripts from YouTube videos","Repurposing video content for blog posts or social media","Archiving and indexing video transcripts for research or compliance","Creating captions or summaries for published videos","Monitoring multiple channels for new content"],"estimated_setup_minutes":30,"required_services":["youtube-transcript.io (or equivalent free transcript endpoint)","Supabase (Postgres database + REST/API keys)","YouTube channel RSS feeds (or YouTube links)","n8n instance or server"],"key_features":["Monitors multiple YouTube channels for new videos","Fetches transcripts via youtube-transcript.io","Saves transcripts and video metadata to Supabase","Batch processing and concurrency controls","Conditional logic and error handling for robust runs (if/stop/error nodes)"],"target_audience":["Content creators","Marketers and social media managers","Researchers and analysts who work with video content archives」「Developers and automation engineers setting up ETL for media data"]}


name: Fast-track CV screening with AI analysis from Gmail to Slack and Google Sheets
author_name: Dean Pike
author_username: deanjp
categories: []
created_at: 2025-10-16T07:27:17.590Z
updated_at: 2025-10-16T07:27:17.590Z
url: https://n8n.io/workflows/9764
scraped_at: 2025-10-27 22:15:59
description:
  CV → Match → Screen → Decide, all automated

    This workflow automatically processes candidate CVs from email, intelligently matches them to job descriptions, performs
    AI-powered screening analysis, and sends actionable summaries to your team in Slack.

  Good to know
    Handles both PDF and Word document CVs automatically
    Two-stage JD matching: prioritizes role mentioned in candidate's email, falls back to CV analysis if needed
    Uses Google Gemini API for AI screening (generous free tier and rate limits, typically enough to avoid paying for API requests, but check latest pricing at Google AI Pricing)
    All CVs stored in Google Drive with standardized naming (candidate name + date/time)
    Complete audit trail logged in Google Sheets

  Who's it for
    Hiring teams and recruiters who want to automate first-round CV screening while maintaining quality. Perfect for companies        
    receiving high volumes of applications across multiple roles, especially in tech, sales, or automation-focused positions.

  How it works
    Gmail monitors inbox for CVs with specific label and downloads attachments
    Detects file type (PDF or Word) and converts/standardizes format for text extraction
    AI agent matches candidate to best-fit job description by analyzing email context first (if candidate mentioned a role), or    
     CV content as fallback (selects up to 3 potential JD matches)
    If multiple JDs matched, second AI agent selects the single best fit
    AI recruiter agent analyzes CV against selected JD and generates structured screening report (strengths, weaknesses,
    risk/reward factors, overall fit score 0-10 with justification)
    Extracts candidate details (name, email) from CV text
    Logs complete analysis to Google Sheets tracker
    Sends formatted summary to Slack with Proceed/Reject action buttons for instant team decisions

  Requirements
    Gmail account with API access
    Google Drive account (OAuth2)
    Google Sheets account (OAuth2)
    Slack workspace with bot permissions
    Google Gemini API key (Get free key here)
    Google Drive folders: one for CVs, one for Job Descriptions (as PDFs or Google Docs)

  How to set up
    Add credentials: Gmail OAuth2, Google Drive OAuth2, Google Sheets OAuth2, Slack OAuth2, Google Gemini API
    Create Gmail label (e.g., "CV-Screening") for incoming candidate emails
    In "Receive CV via Email" node: select your Gmail label for filtering
    Create two Google Drive folders: "Candidate CVs" and "Job Descriptions"
    In "Upload CV - PDF" and "Stream Doc/Docx File" nodes: update folder ID to your "Candidate CVs" folder
    In "Access JD Files" node: update folder ID to your "Job Descriptions" folder
    Create Google Sheet named "AI Candidate Screening" with columns matching the sample AI Candidate Screening sheet       
    In "Append row in sheet" node: select your Google Sheet
    In "Send Candidate Screening Confirmation" node: select your Slack channel
    Activate workflow

  Customizing this workflow
    Change JD matching logic: Edit "JD Matching Agent" node prompt to adjust how CVs are matched to roles (e.g., weight
    technical skills vs. experience).
    Change "Company Description" in AI prompts: Insert your "Company Description" in System Message sections in "JD Matching Agent" and "Detailed JD Matching Agent" nodes
    Modify screening criteria: Edit "Recruiter Scoring Agent" node system message to focus on specific qualities (culture       
    fit, leadership, technical depth, etc.)
    Add more storage locations: Add nodes to save CVs to other systems (Notion, Airtable, ATS platforms)
    Customize Slack message: Edit "Send Candidate Screening Confirmation" node to change formatting, add more context, or       
    include additional candidate data
    Auto-proceed logic: Add IF node after screening to auto-proceed candidates with fit score above threshold (e.g., 8+/10)     
    Add email responses: Connect nodes to automatically email candidates (confirmation, rejection, interview invite)
    Add human-in-the-loop: Sub-workflow triggered by Slack response or email response, to update Sheet with approve/reject status
  Add candidate email responses + interview scheduling**: For approved candidates, trigger email to candidate with Cal.com or Calendly link so they can book their interview

  Quick Troubleshooting
    No CVs being processed: Check Gmail label is correctly set in "Receive CV via Email" node and emails are being labeled      
    Word documents failing: Verify "Stream Doc/Docx File" node has correct parent folder ID and Google Drive credentials        
    authorized
    JD matching returns no results: Check "Access JD Files" node folder ID points to your Job Descriptions folder, and JD       
    files are named clearly (e.g., "Marketing Director JD.pdf")
   JD matching is not relevant for my company: Update the "Company Description" in the System Messages in the "JD Matching Agent" and "Detailed JD Matching Agent" nodes
    "Can't find matching JD": Ensure candidate's email mentions role name OR their CV clearly indicates relevant experience     
    for available JDs
    Google Sheets errors: Verify sheet name is "AI Candidate Screening" and column headers exactly match workflow
    expectations (Submission ID, Date, CV, First Name, etc.)
    Slack message not appearing: Re-authorize Slack credentials and confirm channel ID in "Send Candidate Screening
    Confirmation" node
    Missing candidate name/email: CV text must be readable - check PDF extraction quality or try converting complex CVs to      
    simpler format
    401/403 API errors: Re-authorize all OAuth2 credentials (Gmail, Google Drive, Google Sheets, Slack)
    AI analysis quality issues: Edit system prompts in "JD Matching Agent" and "Recruiter Scoring Agent" nodes to refine        
    screening criteria
  Sample Outputs
  Google Sheets - AI Candidate Screening - sample


  Slack confirmation message

  Acknowledgments
    This workflow was inspired by Nate Herk's YouTube demonstration on building a resume analysis system. This implementation builds upon that foundation by adding dynamic job description matching (initial + detailed JD matching agents), Slack Block Kit integration with interactive buttons, updated Google Drive API methods for document handling, and enhanced candidate data capture in Google Sheets.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.switch","n8n-nodes-base.googleDrive","n8n-nodes-base.extractFromFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.googleDrive","n8n-nodes-base.gmailTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleDrive","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.googleDriveTool","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.slack","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 19212 characters]

metadata_json:
  {
    "categories": [
      "automation",
      "integration",
      "recruitment",
      "AI",
      "document-processing"
    ],
    "complexity": "complex",
    "use_cases": [
      "Automated candidate CV ingestion and triage",
      "Pre-screening and ranking candidates with AI",
      "Notifying hiring teams with concise summaries in Slack",
      "Populating candidate records or scorecards in Google Sheets",
      "Reducing time-to-hire and manual screening workload"
    ],
    "estimated_setup_minutes": 30,
    "required_services": [
      "Gmail (or email provider connected to n8n)",
      "Google Drive (for storing CV files)",
      "Google Sheets",
      "Google Gemini API (LLM for AI screening)",
      "Slack",
      "n8n (self-hosted or cloud) with access to file extraction capabilities"
    ],
    "key_features": [
      "Automatic ingestion of CVs from email (PDF and Word supported)",
      "Two-stage job-description matching: prioritizes role from email, falls back to CV analysis",
      "AI-powered screening and scoring using Google Gemini",
      "Structured, actionable summaries posted to Slack",
      "Persistence of candidate data/scores to Google Sheets for tracking/reporting"
    ],
    "target_audience": [
      "Recruiters",
      "Hiring managers",
      "HR teams / talent acquisition teams" 
    ]
  }


name: Cross-Post Tiktok Videos to Multiple Social Media Platforms with RSS & Blotato
author_name: Sabrina Ramonov 🍄
author_username: sabrina-ramonov
categories: []
created_at: 2025-10-16T13:29:07.736Z
updated_at: 2025-10-16T13:29:07.736Z
url: https://n8n.io/workflows/9780
scraped_at: 2025-10-27 22:15:59
description:
  Description
  This automation detects when you post a Tiktok video, automatically downloads the video without watermark, stores it in Google Drive, and reposts your Tiktok video to other social media platforms. All on autopilot. So you can grow your presence on multiple platforms, without more work. You can also easily add steps to customize captions per platform.

  Youtube Tutorial
  https://www.youtube.com/watch?v=yHbyEb-fBGY

  📄 Documentation
  Full Step-by-Step Documentation

  How It Works

  1. Trigger
  RSS feed triggers when you post a new Tiktok video

  2. Fetch Video
  Download the newly posted Tiktok video (without watermark)  
  Store video in Google Drive

  3. Publish to Social Media
  Connect Blotato to your social accounts  
  Choose your social accounts  
  Post immediately or schedule for later  

  Setup & Required Accounts
  Enable "Verified Community Nodes" in your n8n Admin Panel  
  Install "Blotato" verified community node  
  Sign up for Blotato: create API key at Dashboard → API Keys, then create your Blotato credential and connect your social accounts
  Sign up for RSS.app: create feed from your TikTok profile, copy RSS URL into the RSS Feed Trigger node, and set "Number of Posts" to 1  
  Google Drive account to store downloaded Tiktok videos

  Tips & Tricks
  Ensure your RSS feed outputs only 1 item at a time  
  For multiple posts within an hour, set RSS.app refresh to 15 minutes (paid plan)  
  While testing: enable only 1 social platform, deactivate others, and consider scheduling posts in the future  
  After the workflow finishes, check your social account for the final post; if successful, enable another social media node and continue testing

  Troubleshooting
  Check your Blotato API Dashboard to see every request, response, and error. Click on a request to see the details.

  Need Help?
  In the Blotato web app, click the orange button on the bottom right corner. This opens the Support messenger where I help answer technical questions.

  Connect with me: Linkedin | Youtube

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.rssFeedReadTrigger","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@blotato/n8n-nodes-blotato.blotato","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6248 characters]

metadata_json:
  {"categories":["automation","social media","integration","content distribution"],"complexity":"medium","use_cases":["Automatically cross-post TikTok videos to other platforms","Repurpose short-form video content across multiple channels","Archive TikTok videos to cloud storage","Customize captions per platform before reposting"],"estimated_setup_minutes":30,"required_services":["TikTok (or an RSS/feed source for your TikTok posts)","Blotato (for reposting)","Google Drive","n8n HTTP/Webhook (or any webhook-capable endpoint)","RSS feed reader"],"key_features":["Detect new TikTok post via RSS/webhook","Download TikTok video without watermark","Store video files in Google Drive","Repost video to multiple social platforms via Blotato","Ability to customize captions per destination platform (extendable)"],"target_audience":["content creators","social media managers","influencers\",\"digital marketers\",\"growth hackers"]}


name: AI-Powered Customer Feedback Analysis & Routing for Gmail, Zendesk, Slack & Pipedrive
author_name: PollupAI
author_username: Pollup
categories: []
created_at: 2025-10-16T13:51:11.955Z
updated_at: 2025-10-16T13:51:11.955Z
url: https://n8n.io/workflows/9782
scraped_at: 2025-11-25 18:05:05
description:
  Who's it for
  This workflow is for Customer Success, Product, and Support teams who need to centralize and analyze unstructured customer feedback. It automates the process of identifying key themes from various communication channels, allowing you to proactively address issues, track feature requests, and understand the voice of the customer without manual effort.

  What it does
  This workflow uses a powerful chain of AI agents to process customer feedback from end to end. It begins by using a Data Agent to gather all recent customer interactions from multiple sources, including Gmail, Pipedrive, Zendesk, and Slack.

  Once the raw data is collected, a second AI Chain reads all the text and compresses it into concise, actionable "signals." A third AI Chain then takes these signals and intelligently clusters them into shared topics, assigning each a human-readable label like "Billing," "Performance," or "Feature Request."

  Finally, a fourth AI Agent acts as a dispatcher. It analyzes the clustered topics and follows a set of routing rules defined in its prompt to take the appropriate action. It uses its tools to automatically create a Zendesk ticket for product feedback, send a Slack message for billing issues, create a Notion page for training opportunities, or send a direct email alert for high-risk accounts.

  How to set up
  To get this workflow running, you will need to configure the credentials and parameters for the following nodes:
  Configure Credentials: Add your credentials for the Config: Set LLM for Agents node and all of the Tool nodes (Gmail, Pipedrive, Zendesk, Slack, and Notion).
  Set Initial Parameters: In the Set: Initial Parameters node, update the placeholder email address and the Slack channel name for billing alerts.
  Update Slack Search Channel: In the Tool: Search Slack Messages node, set the channel you want the agent to search for feedback in.
  Activate Workflow: Once configured, you can run the workflow manually to start the analysis.

  Requirements
  An account with an LLM provider, such as OpenAI.
  Accounts for the services you wish to connect (Gmail, Pipedrive, Zendesk, Slack, Notion).
  This workflow requires n8n's Langchain community nodes to be installed on your instance.

  How to customize the workflow
  This workflow's logic is primarily driven by AI prompts, making it highly customizable:
  AI Prompts:** Adjust the prompts in any of the AI Agent or AI Chain nodes to change the data gathering, analysis, clustering, or routing rules to fit your business needs.
  Data Sources:** Add, remove, or swap out the "Tool" nodes in the AI Agent: Gather Customer Feedback section to connect to different data sources like Intercom, Salesforce, or a database.
  Triggers:** Replace the Manual Trigger with a Schedule Trigger to run the analysis automatically on a daily or weekly basis.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.gmailTool","n8n-nodes-base.pipedriveTool","n8n-nodes-base.zendeskTool","n8n-nodes-base.slackTool","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.zendeskTool","n8n-nodes-base.gmailTool","n8n-nodes-base.notionTool","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, 6652 characters]


name: Summarize Meeting Transcripts with GPT-4 & Sentiment Analysis for Gmail
author_name: Dhinesh Ravikumar
author_username: dk10rk
categories: []
created_at: 2025-10-16T21:30:37.291Z
updated_at: 2025-10-16T21:30:37.291Z
url: https://n8n.io/workflows/9801
scraped_at: 2025-10-27 22:15:59
description:
  Who it's for
  Project managers, AI builders, and teams who want structured, automated meeting summaries with zero manual work.

  What it does
  This workflow monitors a Google Drive folder for new meeting notes (PDF/TXT), extracts text, summarizes it via OpenAI GPT-4o, groups tasks by sentiment, builds a styled HTML summary, and sends it via Gmail.

  How to set it up
  Connect Google Drive, OpenAI, and Gmail credentials.  
  Point the Drive Trigger to your meeting notes folder.  
  Paste the system prompt into the AI node.  
  Set Gmail Email Type to HTML and Message to {{$json.email_html}}.  
  Drop a test file and execute once.

  Requirements
  n8n account  
  Google Drive, OpenAI, and Gmail credentials  
  Non-scanned PDFs or plain text files

  Customization ideas
  Add Slack or Notion logging  
  Support additional file types  
  Translate summaries automatically

  Tags
  #ai #automation #productivity #gmail #drive #meeting-summary #openai

nodes_used:
  ["n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.extractFromFile","n8n-nodes-base.if","n8n-nodes-base.extractFromFile","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","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.code","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 7544 characters]

metadata_json:
  {"categories":["automation","AI summarization","document processing","email/communication"],"complexity":"complex","use_cases":["Automated meeting summarization","Action-item extraction and assignment","Sentiment-based task grouping","Automated team notifications via email","Knowledge capture for project tracking"],"estimated_setup_minutes":15,"required_services":["Google Drive (API)","OpenAI (GPT-4)","Gmail (API)"],"key_features":["Monitors a Drive folder for new meeting notes (PDF/TXT)","Extracts text from files","Summarizes content with GPT-4","Performs sentiment analysis and groups tasks by sentiment","Generates a styled HTML summary report','Sends the summary via Gmail"],"target_audience":["Project managers","AI builders/automation engineers","Team leads and operators"]}


name: Personalized Email Outreach with LinkedIn & Crunchbase Data and Gemini AI Review
author_name: Johnny Rafael
author_username: johnnyrafael
categories: []
created_at: 2025-10-17T07:22:21.599Z
updated_at: 2025-10-17T07:22:21.599Z
url: https://n8n.io/workflows/9814
scraped_at: 2025-10-27 22:15:59
description:
  AI-Enriched Cold Outreach: Research → Draft → QA → Write-back


  What this template does
  Automates cold email drafting from a lead list by:
  Enriching each lead with LinkedIn profile, LinkedIn company, and Crunchbase data  
  Generating a personalized subject + body with Gemini  
  Auto-reviewing with a Judge agent and writing back only APPROVED drafts to your Data Table  

  Highlights
  Hands-off enrichment via RapidAPI; raw JSON stored back on each row  
  Two-agent pattern: Creative Outreach Agent (draft) + Outreach Email Judge (QA)  
  Structured outputs guaranteed by LangChain Structured Output Parsers  
  Data Table–native: reads “unprocessed” rows, writes results to the same row  
  Async polling with Wait nodes for scraper task results  

  How it works (flow)
  Trigger: Manual (replace with Cron if needed)  
  Fetch leads: Data Table “Get row(s)” filters rows where email_subject is empty (pending)  
  Loop: Split in Batches iterates rows  
  Enrichment (runs in parallel):
     LinkedIn profile: HTTP (company_url) → Wait → Results → Data Table update → linkedin_profile_scrape  
     LinkedIn company: HTTP (company_url) → Wait → Results → Data Table update → linkedin_company_scrape  
     Crunchbase company: HTTP (url_search) → Wait → Results → Data Table update → crunchbase_company_scrape  
     (All calls use host cold-outreach-enrichment-scraper with a RapidAPI key.)  
  Draft (Gemini): “Agent One” composes a concise, personalized email using row fields + enrichment + ABOUT ME block.  
     Structured Output Parser enforces:  
            {
         "email_subject": "text",
         "email_content": "text"
       }
       Prep for QA: “Email Context” maps email_subject, email_content, and email for the judge.  
  QA (Judge): “Judge Agent” returns APPROVED or REVISE (brief feedback allowed).  
  Route:
     If APPROVED → Data Table “Update row(s)” writes email_subject + email_body (a.k.a. email_content) back to the row.  
     If REVISE → Skipped; loop continues.  

  Required setup
  Data Table: “email_linkedin_list” (or your own) with at least:  
  email, First_name, Last_name, Title, Location, Company_Name, Company_site,  
    Linkedin_URL, company_linkedin (if used), Crunchbase_URL,  
    email_subject, email_body,  
    linkedin_profile_scrape, linkedin_company_scrape, crunchbase_company_scrape (string fields for JSON).  

  Credentials:  
  RapidAPI key for cold-outreach-enrichment-scraper (store securely as credential, not hardcoded)  
  Google Gemini (PaLM) API configured in the Google Gemini Chat Model node  

  ABOUT ME block:  
  Replace the sample persona (James / CEO / Company Sample / AI Automations) with your own.

  Nodes used
  Data Table**
  HTTP Request:**  
  AI Agent:**
  Google Gemini Chat Model**  
  Split in Batches:** Main Loop  
  Set:** RapidAPI-Key

  Customization ideas
  Process flags:** Add email_generated_at or processed boolean to prevent reprocessing.  
  Human-in-the-loop:** Send drafts to Slack/Email for spot check before write-back.  
  Delivery:** After approval, optionally email the draft to the sender for review.  

  Quotas & costs
  RapidAPI: Multiple calls per row (three tasks + result polls).  
  Gemini: Token usage for generator + judge per row.  
  Tune batch size and schedule accordingly.  

  Privacy & compliance
  You are scraping and storing person/company data.  
  Ensure lawful basis, respect ToS, and minimize stored data.  

nodes_used:
  ["@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.manualTrigger","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.dataTable","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.dataTable","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.dataTable","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.dataTable","n8n-nodes-base.httpRequest","n8n-nodes-base.executeWorkflow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8592 characters]

metadata_json:
  {"categories":["automation","sales & marketing","data enrichment","AI-assisted outreach"],"complexity":"complex","use_cases":["Automated personalized cold email drafting","B2B lead enrichment and profiling","Sales prospecting and outreach campaigns","QA and approval workflow for outbound messaging"],"estimated_setup_minutes":60,"required_services":["RapidAPI (for LinkedIn & third-party enrichment)","LinkedIn profile/company data (via API or RapidAPI connector)","Crunchbase API (or Crunchbase via RapidAPI)","Google Gemini / Vertex AI (lmChat)","n8n Data Table (workflow storage)"],"key_features":["Enrich leads with LinkedIn profile + company and Crunchbase data","Two-agent AI pattern: Creative outreach generation + Judge/QA agent","Gemini-powered subject and body generation with automated review","Writes back only APPROVED drafts to the Data Table; raw JSON enrichment stored per row","Batch processing, webhooks and HTTP enrichment calls, and conditional write-back logic"],"target_audience":["Sales Development Representatives (SDRs)","Growth marketers and demand-gen teams","Revenue operations and sales ops engineers/analysts\",\"Founders and small business owners running outbound campaigns"]}


name: Track Crypto Market Gainers & Losers with CoinGecko and Discord Bot
author_name: Malik Hashir
author_username: malikx
categories: []
created_at: 2025-10-17T20:38:39.379Z
updated_at: 2025-10-17T20:38:39.379Z
url: https://n8n.io/workflows/9854
scraped_at: 2025-11-25 18:05:05
description:
  Purpose
  Automate cryptocurrency market monitoring by tracking top 24-hour gainers and losers from 1750+ coins, delivering professional Discord (optional Telegram, Slack etc) updates with rich embeds and real-time data.

  How It Works
  This intelligent workflow fetches comprehensive cryptocurrency data from CoinGecko's API across multiple pages, processes thousands of coins to identify the most significant market movers, and automatically posts formatted updates to your Discord server. The system filters, ranks, and presents data in an easily digestible format with detailed coin information, price metrics, and visual indicators.

  Who Is It For
  Crypto Community Managers running Discord servers
  Trading Groups & Investment Communities
  Crypto Influencers & Content Creators
  DeFi Projects & DAOs monitoring market trends
  Crypto Enthusiasts wanting automated market insights

  Setup Overview
  Obtain API keys from CoinGecko
  Configure Discord bot credentials with proper permissions
  Set your server and channel IDs
  Import the workflow and connect the nodes
  Test and schedule automatic execution

  Value Proposition
  💰 Cost Savings: Eliminate manual market monitoring - save 5-10 hours weekly
  ⏰ Time Efficiency: Automated data collection and reporting
  🚀 Community Engagement: Keep your community informed with timely updates
  📈 Market Awareness: Stay ahead of market trends without constant manual checking
  🔧 Scalable Solution: Handles 1750+ coins effortlessly, easily expandable

  Perfect for: Crypto communities, trading groups, market analysts, and anyone needing automated cryptocurrency market intelligence delivered directly to Discord with professional formatting and real-time insights.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.limit","n8n-nodes-base.limit","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Transform Long Videos into Viral Shorts with AI and Schedule to Social Media using Whisper & Gemini
author_name: Juan Carlos Cavero Gracia
author_username: carlosgracia
categories: []
created_at: 2025-10-18T17:27:07.808Z
updated_at: 2025-10-18T17:27:07.808Z
url: https://n8n.io/workflows/9867
scraped_at: 2025-11-25 18:05:05
description:
  This automation template turns any long video into multiple viral-ready short clips and auto-schedules them to TikTok, Instagram Reels, and YouTube Shorts. It works with both vertical and horizontal inputs and respects the original input resolution (no unnecessary upscaling), cropping or letterboxing intelligently when needed. The workflow automatically extracts between 3 and 6 clips (based on video length and the most engaging segments) and schedules one short per consecutive day—e.g., 3 clips → the next 3 days, 6 clips → the next 6 days.

  Note: This workflow uses OpenAI Whisper for word-level transcription, Google’s Gemini for clip selection and metadata, and Upload-Post’s FFmpeg API for GPU-accelerated cutting/cropping and social scheduling. You can use the same Upload-Post API token for both FFmpeg jobs and publishing uploads. Upload-Post also offers a generous free trial with no credit card required.*

  Who Is This For?
  Creators & Editors:** Batch-convert long talks/podcasts into daily Shorts/Reels/TikToks.
  Agencies & Social Teams:** Turn webinars/interviews into a reliable short-form stream.
  Brands & Founders:** Maintain a steady posting cadence with minimal hands-on editing.

  What Problem Does This Workflow Solve?
  Manual clipping is slow and inconsistent. This workflow:
  Finds Hooks Automatically:** AI picks 3–6 high-retention segments from transcript + timestamps (count scales with video length/quality).
  Cuts Cleanly:** Absolute-second FFmpeg timing to avoid mid-word cuts.
  Vertical & Horizontal Friendly:** Handles both orientations and respects source resolution.
  Schedules for You:** Posts one clip per day on consecutive days.

  How It Works
  Form Upload: Submit your long video.
  Audio Extraction: FFmpeg job extracts audio for accurate ASR.
  Whisper Transcription: Word-level timestamps enable precise clipping.
  AI Clip Mining (Gemini): Detects 3–6 “viral” moments (15–60s) and generates titles/descriptions.
  Cut & Crop (FFmpeg): GPU pipeline produces clean clips; preserves input resolution/orientation when possible and crops/pads appropriately for target platforms.
  Status & Download: Polls job status and retrieves the final clips.
  Auto-Scheduling (Consecutive Days): Schedules one short per day starting tomorrow, for as many days as clips were produced (e.g., 3 clips → 3 days, 6 clips → 6 days) at a configurable time (default 20:00 Europe/Madrid).

  Setup
  OpenAI (Whisper): Add your OpenAI API credentials.
  Google Gemini: Add Gemini credentials used by the AI Agent node.
  Upload-Post (free trial no credit card required): Generate your api token https://app.upload-post.com/ connect your social media accounts and add your API token credentials in n8n (same token works for FFmpeg jobs and publishing).
  Scheduling: Adjust posting time/intervals and timezone (Europe/Madrid by default).
  Metadata Mapping: Titles/descriptions are auto-generated per platform; tweak as needed.

  Requirements
  Accounts:** n8n, OpenAI, Google (Gemini), Upload-Post, and social platform connections.
  API Keys:** OpenAI token, Gemini credentials, Upload-Post token.
  Budget:** Whisper + Gemini inference + FFmpeg compute + optional posting costs.

  Features
  Word-Accurate Cuts:** Absolute-second timecodes with subtle pre/post-roll.
  Orientation-Aware:** Supports vertical and horizontal inputs; preserves source resolution where possible.
  Platform-Optimized Output:** 9:16-ready delivery with smart crop/pad behavior.
  Consecutive-Day Scheduler:** 3–6 clips → 3–6 consecutive posting days, automatically.
  Retry & Polling:** Built-in waits and status checks for robust processing.
  Modular:** Swap models, adjust clip count/length, or add/remove platforms quickly.

  Turn long-form video into a consistent sequence of Shorts/Reels/TikToks—automatically, day after day, while respecting your source resolution.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-upload-post.uploadPost","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.formTrigger","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.code","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.stickyNote"]

workflow_json_compressed:
  [encoded data, 8888 characters]


name: Generate Personalized Cold Email Icebreakers from sites with GPT-4 & G-Sheets
author_name: Mirai
author_username: mirai
categories: []
created_at: 2025-10-19T08:34:16.229Z
updated_at: 2025-10-19T08:34:16.229Z
url: https://n8n.io/workflows/9882
scraped_at: 2025-11-25 18:05:05
description:
  Icebreaker Generator powered with ChatGPT 

  This n8n template crawls a company website, distills the content with AI, and produces a short, personalized icebreaker you can drop straight into your cold emails or CRM. Perfect for SDRs, founders, and agencies who want “real research” at scale.

  Good to know

  Works from a Google Sheet of leads (domain + LinkedIn, etc.).

  Handles common scrape failures gracefully and marks the lead’s Status as Error.

  Uses ChatGPT to summarize pages and craft one concise, non-generic opener.

  Output is written back to the same Google Sheet (IceBreaker, Status).

  You’ll need Google credentials (for Sheets) and OpenAI credentials (for GPT).

  How it works

  Step 1 — Discover internal pages

  Reads a lead’s website from Google Sheets.

  Scrapes the home page and extracts all links.

  A Code node cleans the list (removes emails/anchors/social/external domains, normalizes paths, de-duplicates) and returns unique internal URLs.

  If the home page is unreachable or no links are found, the lead is marked Error and the workflow moves on.

  Step 2 — Convert pages to text

  Visits each collected URL and converts the response into HTML/Markdown text for analysis.

  You can cap depth/amount with the Limit node.

  Step 3 — Summarize & generate the icebreaker

  A GPT node produces a two-paragraph abstract for each page (JSON output).

  An Aggregate node merges all abstracts for the company.

  Another GPT node turns the merged summary into a personalized, multi-line icebreaker (spartan tone, non-obvious details).

  The result is written back to Google Sheets (IceBreaker = ..., Status = Done).

  The workflow loops to the next lead.

  How to use

  Prepare your sheet

  Include at least: organization_website_url, linkedin_url, and any other lead fields you track.

  Keep an empty IceBreaker and Status column for the workflow to fill.

  Connect credentials

  Google Sheets: use the Google account that owns the sheet and link it in the nodes.

  OpenAI: add your API key to the GPT nodes (“Summarize Website Page”, “Generate Multiline Icebreaker”).

  Run the workflow

  Start with the Manual Trigger (or replace with a schedule/webhook).

  Adjust Limit if you want fewer/more pages per company.

  Watch Status (Done/Error) and IceBreaker populate in your sheet.

  Requirements

  n8n instance

  Google Sheets account & access to the leads sheet

  OpenAI API key (for summarization + icebreaker generation)

  Customizing this workflow

  Tone & format: tweak the prompts (both GPT nodes) to match your brand voice and structure.

  Depth: change the Limit node to scan more/less pages; add simple rules to prioritize certain paths (e.g., /about, /blog/*).

  Fields: write additional outputs (e.g., Company Summary, Key Products, Recent News) back to new sheet columns.

  Lead selection: filter rows by Status = "" (or custom flags) to only process untouched leads.

  Error handling: expand the Error branch to retry with www./HTTP→HTTPS or to log diagnostics in a separate tab.

  Tips

  Keep icebreakers short, specific, and free of clichés—small, non-obvious details from the site convert best.

  Start with a small batch to validate quality, then scale up.

  Consider adding a rate limit if target sites throttle requests.

  In short: Sheet → crawl internal pages → AI abstracts → single tailored icebreaker → write back to the sheet, then repeat for the next lead.

  This automation can work great with our automation for automated cold emailing.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.html","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.markdown","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.limit","n8n-nodes-base.httpRequest","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WY3W7bxhLHX4XgNcdnvz901aLtSQIkTRGn7QECX8zuzso8lkiVouKmhoE+Rvt6fZKCkmHRNmUpyY1gQbOzv53578ysb8o6lbNS/38p7M+/4Ev3/f9ee2vLqlxSj+XspqybdY9NpFeDneM5RGWziFYanjBxxrJ2TFJCm4XyTmbnlEo22MSNc5QYURTIBLfaxPK2KhtcUjkr60ihwyvqihfUUId92xWr9po6SsV13V8W311i8eKn92VV9jhfl7MPF1XZtImGP2922MITw4QIRmYGKkoCn1mGLAKjZISNPpf3O/56SU0RF3W8qpt58c+ff72ndV9ct91VXrTX//z597DVp9Vg2rgGtntBwDWdLbHZ4OJ9V8/n1JVVuWrXdV+3TTn7AJKpyqiLqlxhh0vqqVuXs5vbnatfqFtv7fhtdcdM2isSSoPjxoASKACjNKAwOORKZKFwz/zy/ZvXB7Eu++XiIY1yrALHjtKciT1PtoK80IBOZVDMeECRDHiTM+MxyhDcnud8taj74u2mPwi1Hix2BiMwzkUlpTk9TM4G1EYY8FlaUAoFhJAYEOockmMCE9tjvaPfNttkUihWOKcit13x87vnQtev7haVVdk2P3Rd25WzMrZNXzcbekfzzQK7t5t+9fgo1qkKpDh2FHUmqhIX1/hpvfPyPQ4XKuNiTfentFq7hNqC1wxBGS4gEAqQxvhkUGWDaX/KN9hdpfa6eUan9wYjYK9OAh5JNAQdFPdghfWgkEUI0WlQ2WitySRGo9ifb5ZL7Oo/qPiVwrruqfgJ57Rn/KZxzX/2oAts5vES6+asXVHzbf1IJ0KKCrg5QcJmrxUMKI0KoB1aUNkbcNJwYDEEpmM2weg97+t6WR+W7+Lu1/Gl4ubztGswB2V9gKBYApV8BO99gpSDzN4HrdioLJ3HDldUvGyX9MVy3X6fEqs5UJzod4qbnt42ke40+SXy5cYTF4aDIwqgSEYImQwIZZLW0iqt/f6g387nHc2xP3xMHFmMRaH1iaK4J0MkhV4y0FJ5UIwPVU1y0BllUDwIb0Zkdx2IijebRV8v6oaKV0N7oqE/fY2ST2gMIx1nhzZqixBStKAwWfBcWQgYtUTSiSiOofvinLCLl89Wunnbzhd0fknUrx+1Lm++WBx6Shx9t9lrQ8bk0OgMUXENinwG51MGYtEgCm3Imf1hfkh1X/y3pkVaH+4s9EjcYNQpF1OeqXuqFBlGTBJM1hkUWgIfBYKLOWiekvRm1O2+a9NhscbdjyMe4dwpPPveG0wQIUcPjHQEpbweEq4hRSl8SIyRG9G82GayuE/l5+Z7e42OK1KNFKmSCS5qCcoxBoq0Bo9SAkktSSklojQHAPkXEA4B/DxAQ95y6RDsoC3F0jAmWARDHANqTVmPAF/lg1B1fjpJcXWURYwmKc+JRccECDm0IUILHmOG5FnQMUgvmRyV/b6OV5+KH9tn6uF6a3NnMhY+H1q6Uu4x3rYhUNOXs7I8XByjiBKdcsC046DQIXjUAXhkQiWBWjg1CXo4p4dILVMVCPEkjqeBSs+jzimAMQNolBxQuAhccC3IOWLCTIKKzwblfBjr9NOMP096UZUY+/rjvlCuqe/rZr5duiukddu87RIN/fojH3x83K3fvqikYi5K58HamEGJOJR7kpAdS0FjtpSHEhDbpqE4uNo6fpWHzyXWA/qHm+276JkLuDWsyrpJ9Hs5Y7cX1X7NZOV9suDittpVw6ltH01Uk4u3D5mpxeM7Obly531q6fGpf9Lh/Rg95fPYNDvpcT/ZTGbltOli0vP+vTXl+WF/mnQwTu/keZ8+6KZBRlPqlJ+HD9XnBHeySIdtH/a86ehOj0HT7h4aTwZkahw/zsa/Hu6A9Kb8TozSky4P3pApp0+flwdi+Jycj5alI96P/5PmK+N8e/sv+toan/QSAAA=


