by vinci-king-01
Meeting Notes Distributor – Mailchimp and MongoDB This workflow automatically converts raw meeting recordings or written notes into concise summaries, stores them in MongoDB for future reference, and distributes the summaries to all meeting participants through Mailchimp. It is ideal for teams that want to keep everyone aligned without manual copy-and-paste or email chains. Pre-conditions/Requirements Prerequisites n8n instance (self-hosted or cloud) Audio transcription service or written notes available via HTTP endpoint MongoDB database (cloud or self-hosted) Mailchimp account with an existing Audience list Required Credentials MongoDB** – Connection string with insert permission Mailchimp API Key** – To send campaigns (Optional) HTTP Service Auth** – If your transcription/notes endpoint is secured Specific Setup Requirements | Component | Example Value | Notes | |------------------|--------------------------------------------|-----------------------------------------------------| | MongoDB Database | meeting_notes | Database in which summaries will be stored | | Collection Name | summaries | Collection automatically created if it doesn’t exist| | Mailchimp List | Meeting Participants | Audience list containing participant email addresses| | Notes Endpoint | https://example.com/api/meetings/{id} | Returns raw transcript or note text (JSON) | How it works This workflow automatically converts raw meeting recordings or written notes into concise summaries, stores them in MongoDB for future reference, and distributes the summaries to all meeting participants through Mailchimp. It is ideal for teams that want to keep everyone aligned without manual copy-and-paste or email chains. Key Steps: Schedule Trigger**: Fires daily (or on-demand) to check for new meeting notes. HTTP Request**: Downloads raw notes or transcript from your endpoint. Code Node**: Uses an AI or custom function to generate a concise summary. If Node**: Skips processing if the summary already exists in MongoDB. MongoDB**: Inserts the new summary document. Split in Batches**: Splits participants into Mailchimp-friendly batch sizes. Mailchimp**: Sends personalized summary emails to each participant. Wait**: Ensures rate limits are respected between Mailchimp calls. Merge**: Consolidates success/failure results for logging or alerting. Set up steps Setup Time: 15-25 minutes Clone the workflow: Import or copy the JSON into your n8n instance. Configure Schedule Trigger: Set the cron expression (e.g., every weekday at 18:00). Set HTTP Request URL: Replace placeholder with your transcription/notes endpoint. Add auth headers if needed. Add MongoDB Credentials: Enter your connection string in the MongoDB node. Customize Summary Logic: Open the Code node to tweak summarization length, language, or model. Mailchimp Credentials: Supply your API key and select the correct Audience list. Map Email Fields: Ensure participant emails are supplied from transcription metadata or external source. Test Run: Execute once manually to verify MongoDB insert and email delivery. Activate Workflow: Enable the workflow so it runs on its defined schedule. Node Descriptions Core Workflow Nodes: Schedule Trigger** – Initiates the workflow at predefined intervals. HTTP Request** – Retrieves the latest meeting data (transcript or notes). Code** – Generates a summarized version of the meeting content. If** – Checks MongoDB for duplicates to avoid re-sending. MongoDB** – Stores finalized summaries for archival and audit. SplitInBatches** – Breaks participant list into manageable chunks. Mailchimp** – Sends summary emails via campaigns or transactional messages. Wait** – Pauses between batches to honor Mailchimp rate limits. Merge** – Aggregates success/failure responses for logging. Data Flow: Schedule Trigger → HTTP Request → Code → If If summary is new: MongoDB → SplitInBatches → Mailchimp → Wait Merge collates all results Customization Examples 1. Change Summary Length // Inside the Code Node const rawText = items[0].json.text; const maxSentences = 5; // adjust to 3, 7, etc. items[0].json.summary = summarize(rawText, maxSentences); return items; 2. Personalize Mailchimp Subject // In the Set node before Mailchimp items[0].json.subject = Recap: ${items[0].json.meetingTitle} – ${new Date().toLocaleDateString()}; return items; Data Output Format The workflow outputs structured JSON data: { "meetingId": "abc123", "meetingTitle": "Quarterly Planning", "summary": "Key decisions on roadmap, budget approvals...", "participants": [ "alice@example.com", "bob@example.com" ], "mongoInsertId": "65d9278fa01e3f94b1234567", "mailchimpBatchIds": ["2024-01-01T12:00:00Z#1", "2024-01-01T12:01:00Z#2"] } Troubleshooting Common Issues Mailchimp rate-limit errors – Increase Wait node delay or reduce batch size. Duplicate summaries – Ensure the If node correctly queries MongoDB using meeting ID as a unique key. Performance Tips Keep batch sizes under 500 to stay well within Mailchimp limits. Offload AI summarization to external services if Code node execution time is high. Pro Tips: Store full transcripts in MongoDB GridFS for future reference. Use environment variables in n8n for all API keys to simplify workflow export/import. Add a notifier (e.g., Slack node) after Merge to alert admins on failures. This is a community template provided “as-is” without warranty. Always validate the workflow in a test environment before using it in production.
by JJ Tham
Generate AI Voiceovers from Scripts and Upload to Google Drive This is the final piece of the AI content factory. This workflow takes your text-based video scripts and automatically generates high-quality audio voiceovers for each one, turning your text into ready-to-use audio assets for your video ads. Go from a spreadsheet of text to a folder of audio files, completely on autopilot. ⚠️ CRITICAL REQUIREMENTS (Read First!) This is an advanced, self-hosted workflow that requires specific local setup: Self-Hosted n8n Only:** This workflow uses the Execute Command and Read/Write Files nodes, which requires you to run your own instance of n8n. It will not work on n8n Cloud. FFmpeg Installation:** You must have FFmpeg installed on the same machine where your n8n instance is running. This is used to convert the audio files to a standard format. What it does This is Part 3 of the AI marketing series. It connects to the Google Sheet where you generated your video scripts (in Part 2). For each script that hasn't been processed, it: Uses the Google Gemini Text-to-Speech (TTS) API to generate a voiceover. Saves the audio file to your local computer. Uses FFmpeg to convert the raw audio into a standard .wav file. Uploads the final .wav file to your Google Drive. Updates the original Google Sheet with a link to the audio file in Drive and marks the script as complete. How to set up IMPORTANT: This workflow is Part 3 of a series and requires the output from Part 2 ("Generate AI Video Ad Scripts"). If you need Part 1 or Part 2 of this workflow series, you can find them for free on my n8n Creator Profile. Connect to Your Scripts Sheet: In the "Getting Video Scripts" node, connect your Google Sheets account and provide the URL to the sheet containing your generated video scripts from Part 2. Configure AI Voice Generation (HTTP Request): In the "HTTP Request To Generate Voice" node, go to the Query Parameters and replace INSERT YOUR API KEY HERE with your Google Gemini API key. In the JSON Body, you can customize the voice prompt (e.g., change <INSERT YOUR DESIRED ACCENT HERE>). Set Your Local File Path: In the first "Read/Write Files from Disk" node, update the File Name field to a valid directory on your local machine where n8n has permission to write files. Replace /Users/INSERT_YOUR_LOCAL_STORAGE_HERE/. Connect Google Drive: In the "Uploading Wav File" node, connect your Google Drive account and choose the folder where your audio files will be saved. Update Your Tracking Sheet: In the final "Uploading Google Drive Link..." node, ensure it's connected to the same Google Sheet from Step 1. This node will update your sheet with the results. Name and Description for Submission Form Here are the name and description, updated with the new information, ready for you to copy and paste. Name: Generate AI Voiceovers from Scripts and Upload to Google Drive Description: Welcome to the final piece of the AI content factory! 🔊 This advanced workflow takes the video ad scripts you've generated and automatically creates high-quality audio voiceovers for each one, completing your journey from strategy to ready-to-use media assets. ⚠️ This is an advanced workflow for self-hosted n8n instances only and requires FFmpeg to be installed locally. ⚙️ How it works This workflow is Part 3 of a series. It reads your video scripts from a Google Sheet, then for each script it: Generates a voiceover using the Google Gemini TTS API. Saves the audio file to your local machine. Converts the file to a standard .wav format using FFmpeg. Uploads the final audio file to Google Drive. Updates your Google Sheet with a link to the new audio file. 👥 Who’s it for? Video Creators & Marketers: Mass-produce voiceovers for video ads, tutorials, or social media content without hiring voice actors. Automation Power Users: A powerful example of how n8n can bridge cloud APIs with local machine commands. Agencies: Drastically speed up the production of audio assets for client campaigns. 🛠️ How to set up This workflow requires specific local setup due to its advanced nature. IMPORTANT: This is Part 3 of a series. To find Part 1 ("Generate a Strategic Plan") and Part 2 ("Generate Video Scripts"), please visit my n8n Creator Profile where they are available for free. Setup involves connecting to your scripts sheet, configuring the AI voice API, setting a local file path for n8n to write to, and connecting your Google Drive.
by Amit Kumar
Overview This n8n template automates the entire process of generating short-form AI videos and publishing them across multiple social media platforms. It combines Google Gemini for structured prompt creation, KIE AI for video generation, and Blotato for centralized publishing. The result is a fully automated content pipeline ideal for creators, marketers, agencies, or anyone who wants consistent, hands-free content generation. This workflow is especially useful for short-video creators, meme pages, educational creators, UGC teams, auto-posting accounts, and brands who want to maintain high-frequency posting without manual effort. Good to Know API costs:** KIE AI generates videos using paid tokens/credits. Prices vary based on model, duration, and resolution (check KIE AI pricing). Google Gemini model restrictions:** Certain Gemini models are geo-limited. If you receive “model not found,” the model may not be available in your region. Blotato publishing:** Blotato supports many platforms: YouTube, Instagram, Facebook, LinkedIn, TikTok, X, Bluesky, and more. Platform availability depends on your Blotato setup. Runtime considerations:** Video generation can take time (10–60 seconds+, depending on the complexity). Self-hosted requirement:** This workflow uses a community node (Blotato). Community nodes do not run on n8n Cloud. A self-hosted instance is required. How It Works Scheduler Trigger Defines how frequently new videos should be created (e.g., every 12 hours). Random Template Selector A JavaScript node generates a random number to choose from multiple creative prompt templates. AI Agent (Google Gemini) Gemini generates a JSON object containing: A short title A human-readable video description A detailed text-to-video prompt The Structured Output Parser ensures strict JSON shape. Video Generation with KIE AI The prompt is sent to KIE AI’s video generation API. KIE AI creates a synthetic AI video based on the description and your chosen parameters (aspect ratio, frames, watermark removal, etc.). Polling & Retrieval The workflow waits until the video is fully rendered, then fetches the final video URL. Media Upload to Blotato The generated video is uploaded into Blotato’s media storage for publishing. Automatic Posting to Social Platforms Blotato distributes the video to all connected platforms. Examples include: YouTube Instagram Facebook LinkedIn Bluesky TikTok X Any platform supported by your Blotato account This results in a fully automated “idea → video → upload → publish” pipeline. How to Use Start by testing the workflow manually to verify video generation and posting. Adjust the Scheduler Trigger to fit your posting frequency. Add your API credentials for: Google Gemini KIE AI Blotato Ensure your Blotato account has social channels connected. Edit or expand the prompt templates for your content niche: Comedy clips Educational videos Product demos Storytelling Pet videos Motivational content The more template prompts you add, the more diverse your automated videos will be. Requirements Google Gemini** API Key Used for generating structured titles, descriptions, and video prompts. KIE AI API key** Required for creating the actual AI-generated video. Blotato account** Required for uploading media and automatically posting to platforms. Self-hosted n8n instance** Needed because Blotato uses a community node, which n8n Cloud does not support. Limitations KIE AI models may output inconsistent results if prompts are vague. High-frequency scheduling may consume API credits quickly. Some platforms (e.g., TikTok or Facebook Pages) may require additional permissions or account linking steps in Blotato. Video rendering time varies depending on prompt complexity. Customization Ideas Add more prompt templates to increase variety. Swap Gemini for an LLM of your choice (OpenAI, Claude, etc.). Add a Telegram, Discord, or Slack notification once posting is complete. Store all generated titles, descriptions, and video URLs in: Google Sheets Notion Airtable Supabase Add multi-language support using a translation node. Add an approval step where videos go to your team before publishing. Add analytics logging (impressions, views, etc.) using Blotato or another service. Troubleshooting Video not generating?** Check if your KIE AI model accepts your chosen parameters. Model not found?** Switch to a supported Gemini model for your region. Publishing fails?** Ensure Blotato platform accounts are authenticated. Workflow stops early?** Increase the wait timeout before polling KIE AI. This template is designed for easy setup and high flexibility. All technical details, configuration steps, and workflow logic are already included in sticky notes inside the workflow. Once configured, this pipeline becomes a hands-free AI-powered content engine capable of generating and publishing content at scale.
by vinci-king-01
Error Alert Aggregator – Email and Jira This workflow aggregates error logs arriving from multiple sources, deduplicates identical events within a configurable time-window, and sends a single consolidated notification via Email and Jira. It prevents alert fatigue by batching similar errors and guarantees that responsible teams are informed through both channels. Pre-conditions/Requirements Prerequisites n8n instance (self-hosted ≥ v1.0 or n8n.cloud account) Basic understanding of your log source’s payload structure SMTP server or n8n Email credentials configured Jira Cloud or Jira Server account with API access Required Credentials Email (SMTP/IMAP or n8n Email node credential)** — to dispatch alert emails Jira** — Create issues automatically in the chosen project HTTP Request Auth (optional)** — If your log endpoint requires authentication Specific Setup Requirements | Setting | Recommended Value | Notes | |-----------------------------|----------------------------------------|-----------------------------------------------------------| | Batch window (Wait node) | 10 minutes | Time allowed to collect & deduplicate errors | | Deduplication key (Code) | error_id or message field | Choose a unique attribute representing the same incident | | Email recipients | Security & DevOps distribution list | Use semicolons for multiple addresses | | Jira project key | SEC | Project where alert tickets should be filed | How it works This workflow aggregates error logs arriving from multiple sources, deduplicates identical events within a configurable time-window, and sends a single consolidated notification via Email and Jira. It prevents alert fatigue by batching similar errors and guarantees that responsible teams are informed through both channels. Key Steps: Schedule Trigger**: Runs every X minutes to poll/collect new log items. HTTP Request**: Pulls error events from your monitoring or log system. IF Node**: Quickly filters out non-error or resolved events. Code Node (Deduplicator)**: Hashes & stores unique error signatures, skipping already-seen items. Wait Node**: Holds processing for the batching period (e.g., 10 min). Merge Node**: Combines all unique errors gathered during the window. Set Node**: Formats the consolidated message for Email & Jira. Email Send**: Dispatches the summary email. Jira Node**: Creates (or updates) an issue with the same summary. Sticky Notes**: Provide inline documentation right inside the workflow for easier maintenance. Set up steps Setup Time: 15-20 minutes Import template: Download the JSON template and drag & drop it into your n8n editor. Configure Schedule Trigger: Set polling interval (e.g., every 5 minutes). HTTP Request Node: Enter the URL of your log endpoint. Add authentication if required. Adjust IF filter: Modify the condition to match your log’s error severity field (status === "error"). Customize Code Node: Replace error_id with the field that uniquely identifies an error. Optionally tweak deduplication TTL. Wait Node: Set the batch time (e.g., 600 seconds). Set Node: Edit the email subject/body and Jira issue summary/description placeholders. Credentials: Add or select your Email credential in Email Send. Add or select your Jira credential in Jira node. Test run the workflow to verify that: Duplicate events are collapsed. Email and Jira tickets show combined information. Activate the workflow to start production monitoring. Node Descriptions Core Workflow Nodes: Schedule Trigger** – Initiates workflow on a fixed interval. HTTP Request** – Retrieves fresh error logs from an external API. IF** – Only lets true error events proceed. Code (Deduplicator)** – Uses JavaScript to remove already-known errors via n8n static data. Wait** – Creates a batching window for aggregation. Merge (Queue mode)** – Joins events accumulated during the wait. Set** – Crafts a human-readable report for Email & Jira. Email Send** – Dispatches the consolidated message to stakeholders. Jira** – Opens/updates an issue containing the same error digest. Sticky Note** – Provides inline explanations for future maintainers. Data Flow: Schedule Trigger → HTTP Request → IF → Code Code → Wait → Merge → Set Set → Email Send & Jira Customization Examples Change Deduplication Strategy // Code Node snippet // Use error 'stacktrace' + 'service' for uniqueness const signature = ${item.json.stacktrace}_${item.json.service}; if ($workflow.staticData.signatureCache?.includes(signature)) { // duplicate, skip return []; } $workflow.staticData.signatureCache = [ ...( $workflow.staticData.signatureCache || [] ), signature ]; return item; Update Existing Jira Issue Instead of Creating New // Jira Node settings // Search for an open ticket with the same summary // If found, add a comment instead of creating { "operation": "comment", "issueKey": "={{$node['Set'].json['jiraIssueKey']}}", "comment": "New occurrences: {{$json.errorCount}}" } Data Output Format The workflow outputs structured JSON data: { "errors": [ { "id": "ERR123", "message": "Database timeout", "count": 5, "firstSeen": "2024-03-14T10:12:00Z", "lastSeen": "2024-03-14T10:22:00Z" } ], "emailStatus": "success", "jiraStatus": "issue_created" } Troubleshooting Common Issues No data returned from HTTP Request – Verify endpoint URL, authentication headers, and that your monitoring tool actually has recent error events. Duplicate alerts still coming through – Increase the Wait node’s batching window or refine the deduplication key in the Code node. Performance Tips Cache HTTP responses if the log API supports it to reduce bandwidth. Use selective fields in the HTTP Request’s query parameters to limit payload size. Pro Tips: Store a rolling hash list in external Redis or DB for large-scale deduplication. Add a second IF branch to auto-resolve Jira tickets when an error disappears for X hours. Use Slack or Microsoft Teams nodes in parallel to broaden alert coverage. This is a community-contributed n8n workflow template provided “as-is.” Thoroughly test in a non-production environment before deploying to production.
by vinci-king-01
How it works This workflow automatically analyzes website visitors in real-time, enriches their data with company intelligence, and provides lead scoring and sales alerts. Key Steps Webhook Trigger - Receives visitor data from your website tracking system. AI-Powered Company Intelligence - Uses ScrapeGraphAI to extract comprehensive company information from visitor domains. Visitor Enrichment - Combines visitor behavior data with company intelligence to create detailed visitor profiles. Lead Scoring - Automatically scores leads based on company size, industry, engagement, and intent signals. CRM Integration - Updates your CRM with enriched visitor data and lead scores. Sales Alerts - Sends real-time notifications to your sales team for high-priority leads. Set up steps Setup time: 10-15 minutes Configure ScrapeGraphAI credentials - Add your ScrapeGraphAI API key for company intelligence gathering. Set up HubSpot connection - Connect your HubSpot CRM to automatically update contact records. Configure Slack integration - Set up your Slack workspace and specify the sales alert channel. Customize lead scoring criteria - Adjust the scoring algorithm to match your target customer profile. Set up website tracking - Configure your website to send visitor data to the webhook endpoint. Test the workflow - Verify all integrations are working correctly with a test visitor. Key Features Real-time visitor analysis** with company intelligence enrichment Automated lead scoring** based on multiple factors (company size, industry, engagement) Intent signal detection** (pricing interest, demo requests, contact intent) Priority-based sales alerts** with recommended actions CRM integration** for seamless lead management Deal size estimation** based on company characteristics
by Kevin Meneses
What this workflow does This workflow automatically monitors eBay Deals and sends Telegram alerts when relevant, high-quality deals are detected. It combines: Web scraping with Decodo** JavaScript pre-processing (no raw HTML sent to the LLM)** AI-based product classification and deal scoring** Rule-based filtering using price and score** Only valuable deals reach the final notification. How it works (overview) The workflow runs manually or on a schedule. The eBay Deals page is scraped using Decodo, which handles proxies and anti-bot protections. Decodo – Web Scraper for n8n JavaScript extracts only key product data (ID, title, price, URL, image). An AI Agent classifies each product and assigns a deal quality score (0–10). Price and score rules are applied. Matching deals are sent to Telegram. How to configure it 1. Decodo Add your Decodo API credentials to the Decodo node. Optionally change the target eBay URL. 2. AI Agent Add your LLM credentials (e.g. Google Gemini). No HTML is sent to the model — only compact, structured data. 3. Telegram Add your Telegram Bot Token. Set your chat_id in the Telegram node. Customize the alert message if needed. 4. Filtering rules Adjust price limits and minimum deal score in the IF node
by vinci-king-01
Product Price Monitor with Mailchimp and Baserow ⚠️ COMMUNITY TEMPLATE DISCLAIMER: This is a community-contributed template that uses ScrapeGraphAI (a community node). Please ensure you have the ScrapeGraphAI community node installed in your n8n instance before using this template. This workflow scrapes multiple e-commerce sites for product pricing data, stores the historical prices in Baserow, analyzes weekly trends, and emails a neatly formatted seasonal report to your Mailchimp audience. It is designed for retailers who need to stay on top of seasonal pricing patterns to make informed inventory and pricing decisions. Pre-conditions/Requirements Prerequisites Running n8n instance (self-hosted or n8n cloud) ScrapeGraphAI community node installed Mailchimp account with at least one audience list Baserow workspace with edit rights Product URLs or SKU list from target e-commerce platforms Required Credentials | Credential | Used By | Scope | |------------|---------|-------| | ScrapeGraphAI API Key | ScrapeGraphAI node | Web scraping | | Mailchimp API Key & Server Prefix | Mailchimp node | Sending emails | | Baserow API Token | Baserow node | Reading & writing records | Baserow Table Setup Create a table named price_tracker with the following fields: | Field Name | Type | Example | |------------|------|---------| | product_name | Text | “Winter Jacket” | | product_url | URL | https://example.com/winter-jacket | | current_price | Number | 59.99 | | scrape_date | DateTime | 2023-11-15T08:21:00Z | How it works This workflow scrapes multiple e-commerce sites for product pricing data, stores the historical prices in Baserow, analyzes weekly trends, and emails a neatly formatted seasonal report to your Mailchimp audience. It is designed for retailers who need to stay on top of seasonal pricing patterns to make informed inventory and pricing decisions. Key Steps: Schedule Trigger**: Fires every week (or custom CRON) to start the monitoring cycle. Code (Prepare URLs)**: Loads or constructs the list of product URLs to monitor. SplitInBatches**: Processes product URLs in manageable batches to avoid rate-limit issues. ScrapeGraphAI**: Scrapes each product page and extracts the current price and name. If (Price Found?)**: Continues only if scraping returns a valid price. Baserow**: Upserts the scraped data into the price_tracker table. Code (Trend Analysis)**: Aggregates weekly data to detect price increases, decreases, or stable trends. Set (Mail Content)**: Formats the trend summary into an HTML email body. Mailchimp**: Sends the seasonal price-trend report to the selected audience segment. Sticky Note**: Documentation node explaining business logic in-workflow. Set up steps Setup Time: 10-15 minutes Clone the template: Import the workflow JSON into your n8n instance. Install ScrapeGraphAI: n8n-nodes-scrapegraphai via the Community Nodes panel. Add credentials: a. ScrapeGraphAI API Key b. Mailchimp API Key & Server Prefix c. Baserow API Token Configure Baserow node: Point it to your price_tracker table. Edit product list: In the “Prepare URLs” Code node, replace the sample URLs with your own. Adjust schedule: Modify the Schedule Trigger CRON expression if weekly isn’t suitable. Test run: Execute the workflow manually once to verify credentials and data flow. Activate: Turn on the workflow for automatic weekly monitoring. Node Descriptions Core Workflow Nodes: Schedule Trigger** – Initiates the workflow on a weekly CRON schedule. Code (Prepare URLs)** – Generates an array of product URLs/SKUs to scrape. SplitInBatches** – Splits the array into chunks of 5 URLs to stay within request limits. ScrapeGraphAI** – Scrapes each URL, using XPath/CSS selectors to pull price & title. If (Price Found?)** – Filters out failed or empty scrape results. Baserow** – Inserts or updates the price record in the database. Code (Trend Analysis)** – Calculates week-over-week price changes and flags anomalies. Set (Mail Content)** – Creates an HTML table with product, current price, and trend arrow. Mailchimp** – Sends or schedules the email campaign. Sticky Note** – Provides inline documentation and edit hints. Data Flow: Schedule Trigger → Code (Prepare URLs) → SplitInBatches SplitInBatches → ScrapeGraphAI → If (Price Found?) → Baserow Baserow → Code (Trend Analysis) → Set (Mail Content) → Mailchimp Customization Examples Change scraping frequency // Schedule Trigger CRON for daily at 07:00 UTC 0 7 * * * Add competitor comparison column // Code (Trend Analysis) item.competitor_price_diff = item.current_price - item.competitor_price; return item; Data Output Format The workflow outputs structured JSON data: { "product_name": "Winter Jacket", "product_url": "https://example.com/winter-jacket", "current_price": 59.99, "scrape_date": "2023-11-15T08:21:00Z", "weekly_trend": "decrease" } Troubleshooting Common Issues Invalid ScrapeGraphAI key – Verify the API key and ensure your subscription is active. Mailchimp “Invalid Audience” error – Double-check the audience ID and that the API key has correct permissions. Baserow “Field mismatch” – Confirm your table fields match the names/types in the workflow. Performance Tips Limit each SplitInBatches run to ≤10 URLs to reduce scraping timeouts. Enable caching in ScrapeGraphAI to avoid repeated requests to the same URL within short intervals. Pro Tips: Use environment variables for all API keys to avoid hard-coding secrets. Add an extra If node to alert you if a product’s price drops below a target threshold. Combine with n8n’s Slack node for real-time alerts in addition to Mailchimp summaries.
by Khairul Muhtadin
Decodo Amazon Product Recommender delivers instant, AI-powered shopping recommendations directly through Telegram. Send any product name and receive Amazon product analysis featuring price comparisons, ratings, sales data, and categorized recommendations (budget, premium, best value) in under 40 seconds—eliminating hours of manual research. Why Use This Workflow? Time Savings: Reduce product research from 45+ minutes to under 30 seconds Decision Quality: Compare 20+ products automatically with AI-curated recommendations Zero Manual Work: Complete automation from message input to formatted recommendations Ideal For E-commerce Entrepreneurs:** Quickly research competitor products, pricing strategies, and market trends for inventory decisions Smart Shoppers & Deal Hunters:** Get instant product comparisons with sales volume data and discount tracking before purchasing Product Managers & Researchers:** Analyze Amazon marketplace positioning, customer sentiment, and pricing ranges for competitive intelligence How It Works Trigger: User sends product name via Telegram (e.g., "iPhone 15 Pro Max case") AI Validation: Gemini 2.5 Flash extracts core product keywords and validates input authenticity Data Collection: Decodo API scrapes Amazon search results, extracting prices, ratings, reviews, sales volume, and product URLs Processing: JavaScript node cleans data, removes duplicates, calculates value scores, and categorizes products (top picks, budget, premium, best value, most popular) Intelligence Layer: AI generates personalized recommendations with Telegram-optimized markdown formatting, shortened product names, and clean Amazon URLs Output & Delivery: Formatted recommendations sent to user with categorized options and direct purchase links Error Handling: Admin notifications via separate Telegram channel for workflow monitoring Setup Guide Prerequisites | Requirement | Type | Purpose | |-------------|------|---------| | n8n instance | Essential | Workflow execution platform | | Decodo Account | Essential | Amazon product data scraping | | Telegram Bot Token | Essential | Chat interface for user interactions | | Google Gemini API | Essential | AI-powered product validation and recommendations | | Telegram Account | Optional | Admin error notifications | Installation Steps Import the JSON file to your n8n instance Configure credentials: Decodo API: Sign up at decodo.com → Dashboard → Scraping APIs → Web Advanced → Copy BASIC AUTH TOKEN Telegram Bot: Message @BotFather on Telegram → /newbot → Copy HTTP API token (format: 123456789:ABCdefGHI...) Google Gemini: Obtain API key from Google AI Studio for Gemini 2.5 Flash model Update environment-specific values: Replace YOUR-CHAT-ID in "Notify Admin" node with your Telegram chat ID for error notifications Verify Telegram webhook IDs are properly configured Customize settings: Adjust AI prompt in "Generate Recommendations" node for different output formats Set character limits (default: 2500) for Telegram message length Test execution: Send test message to your Telegram bot: "iPhone 15 Pro" Verify processing status messages appear Confirm recommendations arrive with properly formatted links Customization Options Basic Adjustments: Character Limit**: Modify 2500 in AI prompt to adjust response length (Telegram max: 4096) Advanced Enhancements: Multi-language Support**: Add language detection and translation nodes for international users Price Tracking**: Integrate Google Sheets to log historical prices and trigger alerts on drops Image Support**: Enable Telegram photo messages with product images from scraping results Troubleshooting Common Issues: | Problem | Cause | Solution | |---------|-------|----------| | "No product detected" for valid inputs | AI validation too strict or ambiguous query | Add specific product details (model number, brand) in user input | | Empty recommendations returned | Decodo API rate limit or Amazon blocking | Wait 60 seconds between requests; verify Decodo account status | | Telegram message formatting broken | Special characters in product names | Ensure Telegram markdown mode is set to "Markdown" (legacy) not "MarkdownV2" | Use Case Examples Scenario 1: E-commerce Store Owner Challenge: Needs to quickly assess competitor pricing and product positioning for new inventory decisions without spending hours browsing Amazon Solution: Sends "wireless earbuds" to bot, receives categorized analysis of 20+ products with price ranges ($15-$250), top sellers, and discount opportunities Result: Identifies $35-$50 price gap in market, sources comparable product, achieves 40% profit margin Scenario 2: Smart Shopping Enthusiast Challenge: Wants to buy a laptop backpack but overwhelmed by 200+ Amazon options with varying prices and unclear value propositions Solution: Messages "laptop backpack" to bot, gets AI recommendations sorted by budget ($30), premium ($50+), best value (highest discount + good ratings), and most popular (by sales volume) Result: Purchases "Best Value" recommendation with 35% discount, saves $18 and 45 minutes of research time Created by: Khaisa Studio Category: AI | Productivity | E-commerce | Tags: amazon, telegram, ai, product-research, shopping, automation, gemini Need custom workflows? Contact us Connect with the creator: Portfolio • Workflows • LinkedIn • Medium • Threads
by vinci-king-01
Medical Research Tracker with Matrix and Pipedrive ⚠️ COMMUNITY TEMPLATE DISCLAIMER: This is a community-contributed template that uses ScrapeGraphAI (a community node). Please ensure you have the ScrapeGraphAI community node installed in your n8n instance before using this template. This workflow automatically monitors selected government and healthcare-policy websites, extracts newly published or updated policy documents, logs them as deals in a Pipedrive pipeline, and announces critical changes in a Matrix room. It gives healthcare administrators and policy analysts a near real-time view of policy developments without manual web checks. Pre-conditions/Requirements Prerequisites n8n instance (self-hosted or n8n cloud) ScrapeGraphAI community node installed Active Pipedrive account with at least one pipeline Matrix account & accessible room for notifications Basic knowledge of n8n credential setup Required Credentials ScrapeGraphAI API Key** – Enables the scraping engine Pipedrive OAuth2 / API Token** – Creates & updates deals Matrix Credentials** – Homeserver URL, user, access token (or password) Specific Setup Requirements | Variable | Description | Example | |----------|-------------|---------| | POLICY_SITES | Comma-separated list of URLs to scrape | https://health.gov/policies,https://who.int/proposals | | PD_PIPELINE_ID | Pipedrive pipeline where deals are created | 5 | | PD_STAGE_ID_ALERT | Stage ID for “Review Needed” | 17 | | MATRIX_ROOM_ID | Room to send alerts (incl. leading !) | !policy:matrix.org | Edit the initial Set node to provide these values before running. How it works This workflow automatically monitors selected government and healthcare-policy websites, extracts newly published or updated policy documents, logs them as deals in a Pipedrive pipeline, and announces critical changes in a Matrix room. It gives healthcare administrators and policy analysts a near real-time view of policy developments without manual web checks. Key Steps: Scheduled Trigger**: Runs every 6 hours (configurable) to start the monitoring cycle. Code (URL List Builder)**: Generates an array from POLICY_SITES for downstream batching. SplitInBatches**: Iterates through each policy URL individually. ScrapeGraphAI**: Scrapes page titles, publication dates, and summary paragraphs. If (New vs Existing)**: Compares scraped hash with last run; continues only for fresh content. Merge (Aggregate Results)**: Collects all “new” policies into a single payload. Set (Deal Formatter)**: Maps scraped data to Pipedrive deal fields. Pipedrive Node**: Creates or updates a deal per policy item. Matrix Node**: Posts a formatted alert message in the specified Matrix room. Set up steps Setup Time: 15-20 minutes Install Community Node – In n8n, go to Settings → Community Nodes → Install and search for ScrapeGraphAI. Add Credentials – Create New credentials for ScrapeGraphAI, Pipedrive, and Matrix under Credentials. Configure Environment Variables – Open the Set (Initial Config) node and replace placeholders (POLICY_SITES, PD_PIPELINE_ID, etc.) with your values. Review Schedule – Double-click the Schedule Trigger node to adjust the interval if needed. Activate Workflow – Click Activate. The workflow will run at the next scheduled interval. Verify Outputs – Check Pipedrive for new deals and the Matrix room for alert messages after the first run. Node Descriptions Core Workflow Nodes: stickyNote** – Provides an at-a-glance description of the workflow logic directly on the canvas. scheduleTrigger** – Fires the workflow periodically (default 6 hours). code (URL List Builder)** – Splits the POLICY_SITES variable into an array. splitInBatches** – Ensures each URL is processed individually to avoid timeouts. scrapegraphAi** – Parses HTML and extracts policy metadata using XPath/CSS selectors. if (New vs Existing)** – Uses hashing to ignore unchanged pages. merge** – Combines all new items so they can be processed in bulk. set (Deal Formatter)** – Maps scraped fields to Pipedrive deal properties. matrix** – Sends formatted messages to a Matrix room for team visibility. pipedrive** – Creates or updates deals representing each policy update. Data Flow: scheduleTrigger → code → splitInBatches → scrapegraphAi → if → merge → set → pipedrive → matrix Customization Examples 1. Add another data field (e.g., policy author) // Inside ScrapeGraphAI node → Selectors { "title": "//h1/text()", "date": "//time/@datetime", "summary": "//p[1]/text()", "author": "//span[@class='author']/text()" // new line } 2. Switch notifications from Matrix to Email // Replace Matrix node with “Send Email” { "to": "policy-team@example.com", "subject": "New Healthcare Policy Detected: {{$json.title}}", "text": "Summary:\n{{$json.summary}}\n\nRead more at {{$json.url}}" } Data Output Format The workflow outputs structured JSON data for each new policy article: { "title": "Affordable Care Expansion Act – 2024", "url": "https://health.gov/policies/acea-2024", "date": "2024-06-14T09:00:00Z", "summary": "Proposes expansion of coverage to rural areas...", "source": "health.gov", "hash": "2d6f1c8e3b..." } Troubleshooting Common Issues ScrapeGraphAI returns empty objects – Verify selectors match the current HTML structure; inspect the site with developer tools and update the node configuration. Duplicate deals appear in Pipedrive – Ensure the “Find or Create” option is enabled in the Pipedrive node, using the page hash or url as a unique key. Performance Tips Limit POLICY_SITES to under 50 URLs per run to avoid hitting rate limits. Increase Schedule Trigger interval if you notice ScrapeGraphAI rate-limiting. Pro Tips: Store historical scraped data in a database node for long-term audit trails. Use the n8n Workflow Executions page to replay failed runs without waiting for the next schedule. Add an Error Trigger node to emit alerts if scraping or API calls fail.
by Yasser Sami
AI Documentation Crawler & Knowledge Base Builder This n8n template automatically crawls technical documentation websites, scrapes their content, and converts it into clean, structured, developer-friendly documentation. Each page is organized into folders and saved as Google Docs, making it easy to build or maintain an internal knowledge base. Who’s it for Developer teams maintaining internal or external documentation SaaS companies onboarding users or support teams AI builders creating documentation-based knowledge bases Anyone who wants to turn raw docs into structured, readable references How it works / What it does Manual Trigger The workflow starts manually whenever you want to crawl or refresh documentation. Documentation Discovery (Crawler) The workflow crawls a root documentation URL and generates a sitemap of all discoverable documentation pages. URL Processing The sitemap is split into individual URLs. The workflow dynamically analyzes URL depth to recreate the documentation hierarchy. Folder Structure Creation A parent folder is created in Google Drive for the service. Subfolders are automatically generated to mirror the documentation structure (based on URL paths). Content Scraping Each documentation page is scraped using the Olostep API. Clean markdown content is extracted from the page. Information Extraction AI extracts structured technical details such as: API summaries cURL examples Authentication methods Key notes and pitfalls AI Documentation Generation An AI agent transforms the scraped content into a polished, human-readable API reference or guide. Document Creation A Google Doc is created for each documentation page. The generated content is inserted into the document and saved in the correct folder. Rate Control A wait step prevents API throttling during large documentation crawls. The result is a fully structured documentation library generated automatically from live documentation websites. How to set up Import the template into your n8n workspace. Set the root documentation URL you want to crawl. Connect your Google Drive and Google Docs accounts. Add your Olostep API key and AI model credentials. Execute the workflow to generate your documentation library. Requirements n8n account (cloud or self-hosted) Olostep API key Google Drive & Google Docs access AI model provider (OpenAI or Gemini) How to customize the workflow Limit the number of pages crawled per run. Adjust AI prompts to match your documentation style. Store results in Notion, Confluence, or Markdown files instead of Google Docs. Add vector storage (Pinecone, Supabase) to turn docs into an AI knowledge base. Schedule automatic re-crawls to keep documentation up to date. 👉 This template turns complex technical documentation into an organized, searchable knowledge base — automatically.
by Rapiwa
Who Is This For? This n8n workflow enables automated cross-selling by identifying each WooCommerce customer's most frequently purchased product, finding a related product to recommend, and sending a personalized WhatsApp message using the Rapiwa API. It also verifies whether the user's number is WhatsApp-enabled before sending, and logs both successful and unsuccessful attempts to Google Sheets for tracking. What This Workflow Does Retrieves all paying customers from your WooCommerce store Identifies each customer's most purchased product Finds the latest product in the same category as their most purchased item Cleans and verifies customer phone numbers for WhatsApp compatibility Sends personalized WhatsApp messages with product recommendations Logs all activities to Google Sheets for tracking and analysis Handles both verified and unverified numbers appropriately Key Features Customer Segmentation:** Automatically identifies paying customers from your WooCommerce store Product Analysis:** Determines each customer's most purchased product Smart Recommendations:** Finds the latest products in the same category as customer favorites WhatsApp Integration:** Uses Rapiwa API for message delivery Phone Number Validation:** Verifies WhatsApp numbers before sending messages Dual Logging System:** Tracks both successful and failed message attempts in Google Sheets Rate Limiting:** Uses batching and wait nodes to prevent API overload Personalized Messaging:** Includes customer name and product details in messages Requirements WooCommerce store with API access Rapiwa account with API access for WhatsApp verification and messaging Google account with Sheets access Customer phone numbers in WooCommerce (stored in billing.phone field) How to Use — Step-by-Step Setup 1. Credentials Setup WooCommerce API: Configure WooCommerce API credentials in n8n (e.g., "WooCommerce (get customer)" and "WooCommerce (get customer data)") Rapiwa Bearer Auth: Create an HTTP Bearer credential with your Rapiwa API token Google Sheets OAuth2: Set up OAuth2 credentials for Google Sheets access 2. Configure Google Sheets Ensure your sheet has the required columns as specified in the Google Sheet Column Structure section 3. Verify Code Nodes Code (get paying_customer): Filters customers to include only those who have made purchases Get most buy product id & Clear Number: Identifies the most purchased product and cleans phone numbers 4. Configure HTTP Request Nodes Get customer data: Verify the WooCommerce API endpoint for retrieving customer orders Get specific product data: Verify the WooCommerce API endpoint for product details Get specific product recommend latest product: Verify the WooCommerce API endpoint for finding latest products by category Check valid WhatsApp number Using Rapiwa: Verify the Rapiwa endpoint for WhatsApp number validation Rapiwa Sender: Verify the Rapiwa endpoint for sending messages Google Sheet Required Columns You’ll need two Google Sheets (or two tabs in one spreadsheet): A Google Sheet formatted like this ➤ sample The workflow uses a Google Sheet with the following columns to track coupon distribution: Both must have the following headers (match exactly): | name | number | email | address1 | price | suk | title | product link | validity | staus | | ---------- | ------------- | ----------------------------------------------- | ----------- | ----- | --- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- | -------- | | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur dohs | 850 | | Sharp Most Demanding Hoodie x Nike | https://your_shop_domain/p-img-nike | verified | sent | | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur dohs | 850 | | Sharp Most Demanding Hoodie x Nike | https://your_shop_domain/p-img-nike | unverified | not sent | | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur dohs | 850 | | Sharp Most Demanding Hoodie x Nike | https://your_shop_domain/p-img-nike | verified | sent | Important Notes Phone Number Format:** The workflow cleans phone numbers by removing all non-digit characters. Ensure your WooCommerce phone numbers are in a compatible format. API Rate Limits:** Rapiwa and WooCommerce APIs have rate limits. Adjust batch sizes and wait times accordingly. Data Privacy:** Ensure compliance with data protection regulations when sending marketing messages. Error Handling:** The workflow logs unverified numbers but doesn't have extensive error handling. Consider adding error notifications for failed API calls. Product Availability:** The workflow recommends the latest product in a category, but doesn't check if it's in stock. Consider adding stock status verification. Testing:** Always test with a small batch before running the workflow on your entire customer list. Useful Links Dashboard:** https://app.rapiwa.com Official Website:** https://rapiwa.com Documentation:** https://docs.rapiwa.com Support & Help WhatsApp**: Chat on WhatsApp Discord**: SpaGreen Community Facebook Group**: SpaGreen Support Website**: https://spagreen.net Developer Portfolio**: Codecanyon SpaGreen
by Dr. Firas
💥 Generate UGC Promo Videos with Blotato and Sora 2 for eCommerce 🧩 Who is this for? This workflow is perfect for eCommerce brands, content creators, and marketing teams who want to automatically generate short, eye-catching videos from their product images — without editing software or manual work. 🚀 What problem does this workflow solve? Creating engaging promotional videos manually can be time-consuming and expensive. This automation eliminates that friction by combining Blotato, Sora 2, and AI scripting to turn static product images into dynamic UGC-style videos ready for TikTok, Instagram Reels, and YouTube Shorts. ⚙️ What this workflow does This workflow: Receives a product image directly from Telegram or another input source. Analyzes the image with OpenAI Vision to understand the product’s features and audience. Generates a natural, short UGC-style script using GPT-based AI. Sends the image and script to Sora 2 via the Fal API to generate a vertical promotional video. Monitors the video status every 15 seconds until completion. Downloads or automatically publishes the final video to your social platforms. 🧠 Setup Create a Fal.ai API key and set it in your n8n credentials (Authorization: Key YOUR_FAL_KEY). Connect your Telegram, OpenAI, and HTTP Request nodes as shown in the workflow. Make sure the Build Public Image URL node outputs a valid, public image link. In the HTTP Request node for Sora 2, set: Method: POST URL: https://fal.run/fal-ai/sora-2/image-to-video Headers: Authorization: Key YOUR_FAL_KEY Content-Type: application/json Body: Raw JSON with parameters like prompt, image_url, duration, and aspect_ratio. Run the workflow and monitor the execution logs for your video URL. Blotato → API key for social media publishing 🎨 How to customize this workflow to your needs 🧾 Change the video tone: Edit the OpenAI prompt to produce educational, emotional, or luxury-style scripts. 🎬 Adjust duration or format: Use Sora 2’s supported durations (4, 8, or 12 seconds) and aspect ratios (e.g., 9:16 for social media). 📲 Auto-publish your videos: Connect the TikTok, Instagram, or YouTube upload nodes for full automation. ✨ Add branding: Include overlays, logos, or end screens via CapCut or an external API integration. 🎥 Watch This Tutorial 👋 Need help or want to customize this? 📩 Contact: LinkedIn 📺 YouTube: @DRFIRASS 🚀 Workshops: Mes Ateliers n8n 📄 Documentation: Notion Guide Need help customizing? Contact me for consulting and support : Linkedin / Youtube / 🚀 Mes Ateliers n8n