Back to Catalog

Analyze YouTube videos for viral content with engagement scoring and Google Sheets

Akash KankariyaAkash Kankariya
924 views
2/3/2026
Official Page

πŸš€ Discover trending and viral YouTube videos easily with this powerful n8n automation! This workflow helps you perform bulk research on YouTube videos related to any search term, analyzing engagement data like views, likes, comments, and channel statistics β€” all in one streamlined process.

✨ Perfect for:

  • Content creators wanting to find viral video ideas
  • Marketers analyzing competitor content
  • YouTubers optimizing their content strategy

How It Works 🎯

1️⃣ Input Your Search Term β€” Simply enter any keyword or topic you want to research.
2️⃣ Select Video Format β€” Choose between short, medium, or long videos.
3️⃣ Choose Number of Videos β€” Define how many videos to analyze in bulk.
4️⃣ Automatic Data Fetch β€” The workflow grabs video IDs, then fetches detailed video data and channel statistics from the YouTube API.
5️⃣ Performance Scoring β€” Videos are scored based on engagement rates with easy-to-understand labels like πŸš€ HOLY HELL (viral) or πŸ’€ Dead.
6️⃣ Export to Google Sheets β€” All data, including thumbnails and video URLs, is appended to your Google Sheet for comprehensive review and easy sharing.

Setup Instructions πŸ› οΈ

  1. Google API Key

    • Get your YouTube Data API key from Google Developers Console.
    • Add it securely in the n8n credentials manager (do not hardcode).
  2. Google Sheets Setup

    • Create a Google Sheet to store your results (template link is provided).
    • Share the sheet with your Google account used in n8n.
    • Update the workflow with your sheet's Document ID and Sheet Name if needed.
  3. Run the Workflow

    • Trigger the form webhook via browser or POST call.
    • Enter search term, format, and number of videos.
    • Let it process and check your Google Sheet for insights!

Features ✨

  • Bulk fetches the latest and top-viewed YouTube videos.
  • Intelligent video performance scoring with emojis for quick insights πŸ”₯🎬.
  • Organizes data into Google Sheets with thumbnail previews πŸ–ΌοΈ.
  • Easy to customize search parameters via an intuitive form.
  • Fully automated, no manual API calls needed.

Get Started Today! 🌟

Boost your YouTube content strategy and stay ahead with this powerful viral video research automation! Try it now on your n8n instance and tap into the world of viral content like a pro πŸŽ₯πŸ’‘

n8n Form Trigger to Google Sheets

This n8n workflow simplifies data collection from a web form and stores it in a Google Sheet. It's designed to be a straightforward way to capture user submissions without manual intervention, providing basic data transformation and batch processing capabilities.

What it does

  1. Listens for Form Submissions: The workflow is triggered whenever a user submits data through an n8n form.
  2. Edits Fields (Set): It processes the incoming form data, likely to rename, add, or remove fields to fit the desired Google Sheet structure.
  3. Loops Over Items: If multiple items are submitted (e.g., an array of data), it processes them in batches.
  4. Waits (Optional Delay): Introduces a brief pause between processing batches, which can be useful for rate limiting or preventing overwhelming downstream services.
  5. Makes an HTTP Request: Sends an HTTP request, potentially to another API or service, using the processed form data.
  6. Merges Data: Combines the output from different branches of the workflow or previous steps, ensuring all relevant data is available for the next stage.
  7. Executes Custom Code: Allows for advanced data manipulation or custom logic using JavaScript.
  8. Appends to Google Sheets: Takes the final processed data and adds it as new rows to a specified Google Sheet.

Prerequisites/Requirements

  • n8n Instance: A running n8n instance to host the workflow.
  • Google Sheets Account: A Google account with access to Google Sheets.
  • Google Sheets Credential (in n8n): An n8n credential configured for Google Sheets to allow the workflow to write data.
  • n8n Form: The workflow expects to be triggered by an n8n Form. You will need to design and configure this form within n8n.
  • HTTP Request Target: If the "HTTP Request" node is active, you'll need the endpoint URL and any necessary authentication details for the external service it interacts with.

Setup/Usage

  1. Import the Workflow:
    • Copy the provided JSON code.
    • In your n8n instance, go to "Workflows" and click "New".
    • Click the "Import from JSON" button and paste the copied JSON.
  2. Configure Credentials:
    • Locate the "Google Sheets" node.
    • Click on the "Credential" field and select an existing Google Sheets credential or create a new one. Ensure it has write access to your target spreadsheet.
  3. Configure the n8n Form Trigger:
    • Locate the "On form submission" (n8n Form Trigger) node.
    • Configure your form fields as needed. This form will be the entry point for your data.
  4. Configure "Edit Fields (Set)":
    • Adjust the "Edit Fields" node to transform the incoming form data into the structure required for your Google Sheet. You might rename fields, add new ones, or remove unnecessary data.
  5. Configure "HTTP Request" (if active):
    • If the "HTTP Request" node is enabled, update its URL, method, headers, and body according to the external API you wish to call.
  6. Configure "Code" (if active):
    • If the "Code" node is enabled, review and adjust the JavaScript logic to perform any custom data processing.
  7. Configure "Google Sheets" Node:
    • Specify the "Spreadsheet ID" and "Sheet Name" where you want to append the data.
    • Ensure the "Operation" is set to "Append Row".
  8. Activate the Workflow:
    • Once configured, click the "Activate" toggle in the top right corner of the n8n editor to enable the workflow.

Now, any submission to your n8n form will automatically trigger this workflow, process the data, and add it to your specified Google Sheet.

Related Templates

Auto-create TikTok videos with VEED.io AI avatars, ElevenLabs & GPT-4

πŸ’₯ Viral TikTok Video Machine: Auto-Create Videos with Your AI Avatar --- 🎯 Who is this for? This workflow is for content creators, marketers, and agencies who want to use Veed.io’s AI avatar technology to produce short, engaging TikTok videos automatically. It’s ideal for creators who want to appear on camera without recording themselves, and for teams managing multiple brands who need to generate videos at scale. --- βš™οΈ What problem this workflow solves Manually creating videos for TikTok can take hours β€” finding trends, writing scripts, recording, and editing. By combining Veed.io, ElevenLabs, and GPT-4, this workflow transforms a simple Telegram input into a ready-to-post TikTok video featuring your AI avatar powered by Veed.io β€” speaking naturally with your cloned voice. --- πŸš€ What this workflow does This automation links Veed.io’s video-generation API with multiple AI tools: Analyzes TikTok trends via Perplexity AI Writes a 10-second viral script using GPT-4 Generates your voiceover via ElevenLabs Uses Veed.io (Fabric 1.0 via FAL.ai) to animate your avatar and sync the lips to the voice Creates an engaging caption + hashtags for TikTok virality Publishes the video automatically via Blotato TikTok API Logs all results to Google Sheets for tracking --- 🧩 Setup Telegram Bot Create your bot via @BotFather Configure it as the trigger for sending your photo and theme Connect Veed.io Create an account on Veed.io Get your FAL.ai API key (Veed Fabric 1.0 model) Use HTTPS image/audio URLs compatible with Veed Fabric Other APIs Add Perplexity, ElevenLabs, and Blotato TikTok keys Connect your Google Sheet for logging results --- πŸ› οΈ How to customize this workflow Change your Avatar: Upload a new image through Telegram, and Veed.io will generate a new talking version automatically. Modify the Script Style: Adjust the GPT prompt for tone (educational, funny, storytelling). Adjust Voice Tone: Tweak ElevenLabs stability and similarity settings. Expand Platforms: Add Instagram, YouTube Shorts, or X (Twitter) posting nodes. Track Performance: Customize your Google Sheet to measure your most successful Veed.io-based videos. --- 🧠 Expected Outcome In just a few seconds after sending your photo and theme, this workflow β€” powered by Veed.io β€” creates a fully automated TikTok video featuring your AI avatar with natural lip-sync and voice. The result is a continuous stream of viral short videos, made without cameras, editing, or effort. --- βœ… Import the JSON file in n8n, add your API keys (including Veed.io via FAL.ai), and start generating viral TikTok videos starring your AI avatar today! πŸŽ₯ Watch This Tutorial --- πŸ“„ Documentation: Notion Guide Need help customizing? Contact me for consulting and support : Linkedin / Youtube

Dr. FirasBy Dr. Firas
39510

Two-way property repair management system with Google Sheets & Drive

This workflow automates the repair request process between tenants and building managers, keeping all updates organized in a single spreadsheet. It is composed of two coordinated workflows, as two separate triggers are required β€” one for new repair submissions and another for repair updates. A Unique Unit ID that corresponds to individual units is attributed to each request, and timestamps are used to coordinate repair updates with specific requests. General use cases include: Property managers who manage multiple buildings or units. Building owners looking to centralize tenant repair communication. Automation builders who want to learn multi-trigger workflow design in n8n. --- βš™οΈ How It Works Workflow 1 – New Repair Requests Behind the Scenes: A tenant fills out a Google Form (β€œRepair Request Form”), which automatically adds a new row to a linked Google Sheet. Steps: Trigger: Google Sheets rowAdded – runs when a new form entry appears. Extract & Format: Collects all relevant form data (address, unit, urgency, contacts). Generate Unit ID: Creates a standardized identifier (e.g., BUILDING-UNIT) for tracking. Email Notification: Sends the building manager a formatted email summarizing the repair details and including a link to a Repair Update Form (which activates Workflow 2). --- Workflow 2 – Repair Updates Behind the Scenes:\ Triggered when the building manager submits a follow-up form (β€œRepair Update Form”). Steps: Lookup by UUID: Uses the Unit ID from Workflow 1 to find the existing row in the Google Sheet. Conditional Logic: If photos are uploaded: Saves each image to a Google Drive folder, renames files consistently, and adds URLs to the sheet. If no photos: Skips the upload step and processes textual updates only. Merge & Update: Combines new data with existing repair info in the same spreadsheet row β€” enabling a full repair history in one place. --- 🧩 Requirements Google Account (for Forms, Sheets, and Drive) Gmail/email node connected for sending notifications n8n credentials configured for Google API access --- ⚑ Setup Instructions (see more detail in workflow) Import both workflows into n8n, then copy one into a second workflow. Change manual trigger in workflow 2 to a n8n Form node. Connect Google credentials to all nodes. Update spreadsheet and folder IDs in the corresponding nodes. Customize email text, sender name, and form links for your organization. Test each workflow with a sample repair request and a repair update submission. --- πŸ› οΈ Customization Ideas Add Slack or Telegram notifications for urgent repairs. Auto-create folders per building or unit for photo uploads. Generate monthly repair summaries using Google Sheets triggers. Add an AI node to create summaries/extract relevant repair data from repair request that include long submissions.

Matt@VeraisonLabsBy Matt@VeraisonLabs
208

Automate invoice processing with OCR, GPT-4 & Salesforce opportunity creation

PDF Invoice Extractor (AI) End-to-end pipeline: Watch Drive ➜ Download PDF ➜ OCR text ➜ AI normalize to JSON ➜ Upsert Buyer (Account) ➜ Create Opportunity ➜ Map Products ➜ Create OLI via Composite API ➜ Archive to OneDrive. --- Node by node (what it does & key setup) 1) Google Drive Trigger Purpose: Fire when a new file appears in a specific Google Drive folder. Key settings: Event: fileCreated Folder ID: google drive folder id Polling: everyMinute Creds: googleDriveOAuth2Api Output: Metadata { id, name, ... } for the new file. --- 2) Download File From Google Purpose: Get the file binary for processing and archiving. Key settings: Operation: download File ID: ={{ $json.id }} Creds: googleDriveOAuth2Api Output: Binary (default key: data) and original metadata. --- 3) Extract from File Purpose: Extract text from PDF (OCR as needed) for AI parsing. Key settings: Operation: pdf OCR: enable for scanned PDFs (in options) Output: JSON with OCR text at {{ $json.text }}. --- 4) Message a model (AI JSON Extractor) Purpose: Convert OCR text into strict normalized JSON array (invoice schema). Key settings: Node: @n8n/n8n-nodes-langchain.openAi Model: gpt-4.1 (or gpt-4.1-mini) Message role: system (the strict prompt; references {{ $json.text }}) jsonOutput: true Creds: openAiApi Output (per item): $.message.content β†’ the parsed JSON (ensure it’s an array). --- 5) Create or update an account (Salesforce) Purpose: Upsert Buyer as Account using an external ID. Key settings: Resource: account Operation: upsert External Id Field: taxid_c External Id Value: ={{ $json.message.content.buyer.tax_id }} Name: ={{ $json.message.content.buyer.name }} Creds: salesforceOAuth2Api Output: Account record (captures Id) for downstream Opportunity. --- 6) Create an opportunity (Salesforce) Purpose: Create Opportunity linked to the Buyer (Account). Key settings: Resource: opportunity Name: ={{ $('Message a model').item.json.message.content.invoice.code }} Close Date: ={{ $('Message a model').item.json.message.content.invoice.issue_date }} Stage: Closed Won Amount: ={{ $('Message a model').item.json.message.content.summary.grand_total }} AccountId: ={{ $json.id }} (from Upsert Account output) Creds: salesforceOAuth2Api Output: Opportunity Id for OLI creation. --- 7) Build SOQL (Code / JS) Purpose: Collect unique product codes from AI JSON and build a SOQL query for PricebookEntry by Pricebook2Id. Key settings: pricebook2Id (hardcoded in script): e.g., 01sxxxxxxxxxxxxxxx Source lines: $('Message a model').first().json.message.content.products Output: { soql, codes } --- 8) Query PricebookEntries (Salesforce) Purpose: Fetch PricebookEntry.Id for each Product2.ProductCode. Key settings: Resource: search Query: ={{ $json.soql }} Creds: salesforceOAuth2Api Output: Items with Id, Product2.ProductCode (used for mapping). --- 9) Code in JavaScript (Build OLI payloads) Purpose: Join lines with PBE results and Opportunity Id ➜ build OpportunityLineItem payloads. Inputs: OpportunityId: ={{ $('Create an opportunity').first().json.id }} Lines: ={{ $('Message a model').first().json.message.content.products }} PBE rows: from previous node items Output: { body: { allOrNone:false, records:[{ OpportunityLineItem... }] } } Notes: Converts discount_total ➜ per-unit if needed (currently commented for standard pricing). Throws on missing PBE mapping or empty lines. --- 10) Create Opportunity Line Items (HTTP Request) Purpose: Bulk create OLIs via Salesforce Composite API. Key settings: Method: POST URL: https://<your-instance>.my.salesforce.com/services/data/v65.0/composite/sobjects Auth: salesforceOAuth2Api (predefined credential) Body (JSON): ={{ $json.body }} Output: Composite API results (per-record statuses). --- 11) Update File to One Drive Purpose: Archive the original PDF in OneDrive. Key settings: Operation: upload File Name: ={{ $json.name }} Parent Folder ID: onedrive folder id Binary Data: true (from the Download node) Creds: microsoftOneDriveOAuth2Api Output: Uploaded file metadata. --- Data flow (wiring) Google Drive Trigger β†’ Download File From Google Download File From Google β†’ Extract from File β†’ Update File to One Drive Extract from File β†’ Message a model Message a model β†’ Create or update an account Create or update an account β†’ Create an opportunity Create an opportunity β†’ Build SOQL Build SOQL β†’ Query PricebookEntries Query PricebookEntries β†’ Code in JavaScript Code in JavaScript β†’ Create Opportunity Line Items --- Quick setup checklist πŸ” Credentials: Connect Google Drive, OneDrive, Salesforce, OpenAI. πŸ“‚ IDs: Drive Folder ID (watch) OneDrive Parent Folder ID (archive) Salesforce Pricebook2Id (in the JS SOQL builder) 🧠 AI Prompt: Use the strict system prompt; jsonOutput = true. 🧾 Field mappings: Buyer tax id/name β†’ Account upsert fields Invoice code/date/amount β†’ Opportunity fields Product name must equal your Product2.ProductCode in SF. βœ… Test: Drop a sample PDF β†’ verify: AI returns array JSON only Account/Opportunity created OLI records created PDF archived to OneDrive --- Notes & best practices If PDFs are scans, enable OCR in Extract from File. If AI returns non-JSON, keep β€œReturn only a JSON array” as the last line of the prompt and keep jsonOutput enabled. Consider adding validation on parsing.warnings to gate Salesforce writes. For discounts/taxes in OLI: Standard OLI fields don’t support per-line discount amounts directly; model them in UnitPrice or custom fields. Replace the Composite API URL with your org’s domain or use the Salesforce node’s Bulk Upsert for simplicity.

Le NguyenBy Le Nguyen
942