by Jimleuk
This n8n workflow demonstrates how to build a simple uptime monitoring service using scheduled triggers. Useful for webmasters with a handful of sites who want a cost-effective solution without the need for all the bells and whistles. How it works Scheduled trigger reads a list of website urls in a Google Sheet every 5 minutes Each website url is checked using the HTTP node which determines if the website is either in the UP or DOWN state. An email and Slack message are sent for websites which are in the DOWN state. The Google Sheet is updated with the website's state and a log created. Logs can be used to determine total % of UP and DOWN time over a period. Requirements Google Sheet for storing websites to monitor and their states Gmail for email alerts Slack for channel alerts Customising the workflow Don't use Google Sheets? This can easily be exchanged with Excel or Airtable.
by Teddy
Scrape Latest 20 TechCrunch Articles Who is this for? This workflow is designed for developers, researchers, and data analysts who need to track the latest trending repositories on GitHub. It is useful for anyone who wants to stay updated on popular open-source projects without manually browsing GitHub’s trending page. What problem is this workflow solving? Manually checking GitHub’s trending repositories daily can be time-consuming and inefficient. This workflow automates the extraction of trending repositories, providing structured data including repository name, author, description, programming language, and direct repository links. What this workflow does This workflow scrapes the trending repositories from GitHub’s trending page and extracts essential metadata such as repository names, languages, descriptions, and URLs. It processes the extracted data and structures it into an easy-to-use format. Setup Ensure you have n8n installed and configured. Import this workflow into your n8n instance. Run the workflow manually or schedule it to execute at regular intervals. (Optional) Customize the extracted data or integrate it with other systems. How to customize this workflow to your needs Modify the HTTP request node to target different GitHub trending categories (e.g., specific programming languages). Add further processing steps such as filtering repositories by stars, forks, or specific keywords. Integrate this workflow with Slack, email, or a database to store or notify about trending repositories. Workflow Steps Trigger execution manually using the "When clicking ‘Test workflow’" node. Send an HTTP request to fetch GitHub’s trending page using "Request to Github Trend". Extract the trending repositories box from the HTML response using "Extract Box". Extract all repository data including names, authors, descriptions, and languages using "Extract all repositories". Convert extracted data into a structured list for easier processing using "Turn to a list". Extract detailed repository information using "Extract repository data". Format and set variables to ensure clean and structured data output using "Set Result Variables". Note: Since GitHub’s trending page updates dynamically, ensure you run this workflow periodically to capture the latest trends.
by Kevin
Monitor Postgres Data Freshness and Email Alert If Stale This template monitors a set of tables inside a Postgres database to ensure they're getting updated. If the table hasn't been updated in 3 days (configurable), an email alert is sent containing the tables that are stale. Requirements You must have a Postgres database containing one or more tables that you'd like to monitor. Each table to monitor must have a date or timestamp column that tracks when data was pushed. For example, this might be: A timestamp column if your table holds event/timeseries data A last_updated column if your rows are expected to be modified Usage Use this template Add your Postgres and email credentials Adjust the Produce tables + date columns node to produce pairs of [table, date_column] that should be monitored for freshness 💁♂️ Note that a timestamp column also works (Optional) Adjust the Remove fresh tables node for your desired staleness window (default is 3 days, but you can adjust as you please) (Optional) Customize the Send alerts node to call whichever alerting workflow you please (I recommend my alerting workflow for easiest plug-and-play) How it works This template works by: Pulling the most recent row for each table Calculating how out-of-date each table is, in days Dropping fresh tables that have been updated within the past 3 days Sending an email alert with the stale tables that haven't been updated within the past 3 days
by damo
Overview This workflow allows users to generate AI music using the KIE. ai API integrated with the Suno V3.5 model. It provides a simple form interface for inputting parameters like music prompts, styles, and titles. The system automatically submits the request to the API, monitors the generation status in real time until completion, and retrieves the final music output. This is perfect for musicians, content creators, or developers looking to automate custom music creation with support for various modes and intelligent generation. Prerequisites A KIE. ai account and API key: Create an account at KIE.ai and obtain your API key. An active n8n instance (self-hosted or cloud-based) with support for HTTP requests and form submissions. Familiarity with AI music prompts to optimize results, such as describing mood, instruments, and rhythm. Setup Instructions Get API Key: Sign up at KIE. ai and generate your API key. Keep it secure and input it in the form—do not disclose it to others. Import Workflow: Copy the JSON from this template and import it into your n8n editor. Configure the Form: In the form node, set fields for: prompt: Describe the music content (e.g., "A calm and relaxing piano track with soft melodies"). style: Specify the genre (e.g., "Classical", "Jazz", "Pop"). title: Provide a title for the generated music (max 80 characters). api_key: Your KIE. ai key. Test the Workflow: Click "Execute Workflow" in n8n to activate the form. Access the form URL, fill in the parameters, and submit. The workflow will send a POST request to the API, wait and poll every 10 seconds for status updates, and display the music file once ready. View Results: The output node formats the results, showing playable music files. Customization Guidance Refine Prompts**: For better results, include detailed descriptions like emotions, rhythm, instruments, or lyrics. Example: "A peaceful piano meditation track with gentle waves in the background."
by Fan Luo
Auto-Share YouTube Videos with AI-Generated Posts to Facebook, X and Notify in Discord This n8n template demonstrates how to use a LLM like DeepSeek to generate a post and share to Facebook page and X automatically whenever a new video is published to a YouTube channel. How it works We first define RSS with a polling schedule to pull YouTube videos from a specified channel Prompt AI agent to generate a post with proper url and hash tags based on the video metadata Then automatically create a new post in Facebook and X via their APIs Post a new message in Discord channel via Webhook How to use Simply setup a RSS polling trigger to automatically trigger the workflow Requirements Facebook API setup, see step by step tutorials X v2 API setup, see step by step tutorials Discord channel webhook, see step by step tutorials Need Help? Contact me via My Blog or ask in the Forum! Happy Hacking!
by Rodrigue Gbadou
What this workflow does This n8n workflow connects to Google Search Console to fetch SEO performance data (clicks, impressions, CTR, and average position) for the last 7 days. It formats the results into a clean weekly summary and automatically sends it to your email inbox every Monday morning. Ideal for: Website owners Bloggers SEO consultants who want to track site performance over time without manual reporting. Setup steps Replace YOUR_SITE_URL in the HTTP Request node with your verified domain from Google Search Console. Connect your Google OAuth2 credentials to the HTTP Request node. Set up your SMTP credentials in the "Send Email" node. Adjust the recipient email address and subject line if necessary. (Optional) Customize the Function node to include more queries or format the report as a PDF. Estimated setup time: ~10 minutes Sticky notes are included in the workflow canvas to guide you step-by-step. Technologies used Google Search Console API SMTP Email Node n8n Function Node n8n HTTP Request Node n8n Sticky Notes
by Roman Rozenberger
This workflow is perfect for technical writers, content creators, marketers, and developers who write in Markdown but need to collaborate or publish using Google Docs format. Ideal for teams that want to streamline their content creation and review process. What problem does this workflow solve? Manual conversion from Markdown to Google Docs is time-consuming and often loses formatting. This workflow eliminates the tedious copy-paste process, automatically preserves formatting, and creates organized, timestamped documents in your Google Drive. Perfect for content teams who write in Markdown but need Google Docs for collaboration and review. What this workflow does Converts Markdown to HTML** with proper formatting preservation (headers, lists, links, tables) Creates timestamped Google Docs** documents with automatic naming Adds Drive location metadata** for better organization and reference Maintains document structure** including emojis, tables, and text formatting Automates file creation** in specified Google Drive folders Setup Google Drive OAuth2 credentials configured in n8n Target Google Drive folder URL Input your content title and Markdown text in the "Set Input Data" node How to customize this workflow to your needs Modify HTML formatting options** in the Markdown conversion node Change file naming patterns** to match your organization system Adjust Drive folder structure** and metadata inclusion Update MIME type handling** for different output requirements Add additional processing steps** like notifications or integrations Perfect for technical documentation workflows, content publishing pipelines, blog preparation, and automated report generation. Setup Instructions - Markdown to Google Docs Converter Prerequisites n8n instance** (local or cloud) Google account** with Google Drive access Basic understanding** of n8n workflow configuration Step 1: Import the Workflow Open n8n and navigate to Workflows Click "Add workflow" → "Import from JSON" Upload the Export_Markdown_Content_do_Google_Docs_Document.json file Save the workflow with a descriptive name Step 2: Configure Google Drive Credentials Create Google Drive OAuth2 Credentials In n8n, go to Settings → Credentials Click "Add credential" → "Google Drive OAuth2 API" Follow the OAuth setup to authorize n8n access to Google Drive: Visit Google Cloud Console Create or select a project Enable Google Drive API Create OAuth2 credentials Add authorized redirect URI for your n8n instance Name the credential (e.g., "Google Drive - Markdown Converter") Configure Google Drive Nodes Update these nodes with your Google Drive credentials: Create Empty File Update Document with Correct HTML Formatting In each node: Select your Google Drive credential from the dropdown Test the connection to ensure it works properly Step 3: Prepare Your Google Drive Create Target Folder Go to Google Drive (drive.google.com) Create a new folder for your converted documents Copy the folder URL (will look like: https://drive.google.com/drive/folders/FOLDER_ID) Ensure the folder has proper permissions for your Google account Step 4: Configure Input Data Set Your Default Values Open the "Set Input Data" node Update the assignments with your preferences: Google Drive URL: Replace the example URL with your target folder URL Format: https://drive.google.com/drive/folders/YOUR_FOLDER_ID Content Title: Set a default title or leave placeholder text This will be used in the document filename Content in Markdown: Add your Markdown content or keep example for testing Supports standard Markdown syntax (headers, lists, links, tables) Step 5: Test the Workflow Initial Test Run Ensure all credentials are configured Click the "Test workflow" button on the Manual Trigger node Monitor the execution - check for any errors in node outputs Verify the result: Check your Google Drive folder Look for a new document with timestamp in the name Open the document to verify formatting Troubleshooting Common Issues Google Drive Permission Errors: Verify OAuth2 credentials are properly configured Check that the target folder exists and is accessible Ensure Google Drive API is enabled in Google Cloud Console Markdown Conversion Issues: Check that your Markdown syntax is valid Test with simple content first (headers, paragraphs, lists) Verify the "Change Markdown To HTML" node settings File Creation Problems: Confirm the Google Drive folder URL format is correct Check that the folder ID in the URL is valid Ensure your Google account has write permissions to the folder Step 6: Customize for Your Needs Modify HTML Formatting Options In the "Change Markdown To HTML" node: Enable/disable emoji support** (currently enabled) Adjust table formatting** (currently enabled) Modify header ID generation** (currently disabled) Configure space requirements** for headers Update File Naming Pattern In the "Create Empty File" node: Change the naming convention**: Currently uses _PUB {Content Title} {timestamp} Modify timestamp format**: Currently yyyy-MM-dd HH:mm:ss Add prefixes or suffixes** as needed for your organization Step 7: Production Usage Regular Workflow Execution Update the "Set Input Data" node with new content Execute the workflow manually or set up triggers Monitor execution logs for any issues Check Google Drive for generated documents Integration Options Webhook Integration: Add a Webhook trigger to accept external Markdown content Useful for automated content publishing workflows Email Integration: Add email notifications when documents are created Include links to generated Google Docs Advanced Configuration Error Handling Add error handling nodes after critical operations Implement retry logic for API failures Set up notifications for failed executions Performance Optimization Adjust the "Wait for Document Creation" timing if needed Consider file size limits for Google Docs Support and Troubleshooting Common Solutions Timeout errors**: Increase wait time in "Wait for Document Creation" Authentication failures**: Refresh Google OAuth2 credentials Formatting issues**: Test with simpler Markdown first Getting Help Check n8n community forums for Google Drive integration issues Review Google Drive API documentation for rate limits Test with minimal Markdown content to isolate problems Total setup time: ~15-20 minutes Difficulty level: Intermediate Requirements: Google account, n8n instance, basic OAuth2 setup knowledge
by Rudi Afandi
Description Turn your Telegram bot into a powerful OCR (Optical Character Recognition) tool. This workflow allows you to send any image (like a screenshot, a photo of a document, or a picture of a sign) to your bot, and it will instantly extract and send back the text from that image. Powered by Google's advanced Gemini AI, this automation is perfect for quickly digitizing notes, saving important snippets, or avoiding manual typing. How it works This workflow performs a few high-level steps: It triggers when a new image is sent to your Telegram bot. It sends the image to the Google Gemini Vision API to be analyzed. It extracts the text found in the image. It sends the extracted text back to you as a message in Telegram. Set up steps Estimated set up time: Less than 5 minutes. The setup is straightforward. You only need to configure two credentials: Telegram Bot Credentials: To connect your bot. Google Gemini API Credentials: To use the OCR feature. You can get a free API key from Google AI Studio.
by n8n Team
This workflow automatically adds a new lead to Pipedrive once someone forks your GitHub repository. Prerequisites Pipedrive account and Pipedrive credentials GitHub account and GitHub credentials How it works GitHub Trigger node starts the workflow once someone forks your GitHub repository. HTTP Request node gets user's data from GitHub and sends it further. Pipedrive node searches forkee's data in Pipedrive by email. IF node decides whether to create a new person in Pipedrive in case contact doesn't exist yet or update an existing contact in Pipedrive. In case there's no contact existing yet, the Pipedrive node creates a lead and adds a note with GitHub URL.
by The Higher Pitch
This workflow automates the process of publishing PR News articles to the WordPress website. 🔧 How it works: Uses an RSS Feed Trigger to monitor new PR News articles. Extracts the article content and parses the featured image URL. Uploads the image to WordPress as a media item. Creates a new draft post on the WordPress site using the article's content and sets the uploaded image as the featured image. ✅ Features: Polls RSS feed every minute. Automatically extracts and sets featured images. Posts are created as drafts for editorial review. 📝 Requirements: WordPress REST API access with media upload permission. Active WordPress credentials in n8n. Perfect for teams who want to streamline PR content publishing without manual effort.
by Nick Saraev
AI LinkedIn Outreach Automation with Apollo, OpenAI & PhantomBuster Categories:* Sales Automation Lead Generation AI Personalization This workflow creates a complete LinkedIn outreach automation system that generates targeted lead lists from Apollo using natural language, enriches profiles with AI-personalized icebreakers, and automatically sends connection requests through PhantomBuster. Built by someone who's made over $1 million with AI automation, this system demonstrates the real-world approach to building profitable automation workflows. Benefits* Natural Language Lead Targeting - Describe your ideal prospects in plain English and automatically generate Apollo search URLs AI-Powered Personalization - Creates custom icebreakers based on LinkedIn profile data, employment history, and professional background Complete Outreach Pipeline - From lead discovery to personalized connection requests, fully automated end-to-end Smart Data Management - Automatically tracks all prospects in Google Sheets with deduplication and status tracking Cost-Effective Scraping - Uses Apify to extract Apollo data without expensive subscription costs Scalable Architecture - Processes hundreds of leads while respecting LinkedIn's connection limits How It Works* Natural Language Lead Generation: Form input accepts audience descriptions in plain English AI converts descriptions into properly formatted Apollo search URLs Automatically includes location, company size, job titles, and keyword filters Apollo Data Extraction: Uses Apify actor to scrape targeted lead lists from Apollo Extracts LinkedIn URLs, email addresses, employment history, and profile data Processes 500+ leads per run with detailed professional information AI Personalization Engine: Analyzes LinkedIn profile data including job history and company information Generates personalized icebreakers using proven connection request templates Creates human-like messages that reference specific career details and achievements Google Sheets Integration: Automatically stores all lead data in organized spreadsheet format Tracks prospect information, contact details, and generated icebreakers Provides easy data management and campaign tracking PhantomBuster Automation: Connects to PhantomBuster API to trigger LinkedIn connection campaigns Sends personalized connection requests with custom icebreakers Respects LinkedIn's daily limits and mimics human behavior patterns Business Use Cases* Sales Teams - Automate prospecting for B2B outreach campaigns Agencies - Scale client acquisition through targeted LinkedIn outreach Recruiters - Find and connect with qualified candidates efficiently Entrepreneurs - Build professional networks in specific industries Business Development - Generate qualified leads for partnership opportunities Revenue Potential This system can replace expensive LinkedIn outreach tools that cost $200-500/month. Users typically see: 400% improvement in response rates through personalization 10x faster lead generation compared to manual prospecting Ability to process 500+ leads per hour vs. 10-20 manually Difficulty Level: Intermediate Estimated Build Time: 1-2 hours Monthly Operating Cost: ~$50 (Apollo + PhantomBuster + AI APIs) Watch My Complete 1-Hour Build* Want to see exactly how I built this system from scratch? I walk through the entire development process live, including all the debugging, API integrations, and real-world testing that goes into building profitable automation systems. 🎥 See My Live Build Process: "Build This Automated AI LinkedIn DM System in 1 Hour (N8N)" This comprehensive tutorial shows my actual development approach - including the detours, problem-solving, and iterative testing that real automation building involves. Required Google Sheets Setup* Create a Google Sheet with these exact column headers: Essential Lead Columns: id - Unique prospect identifier first_name - Contact's first name last_name - Contact's last name name - Full name linkedin_url - LinkedIn profile URL title - Current job title email_status - Email verification status photo_url - Profile photo URL icebreaker - AI-generated personalized message Setup Instructions: Create Google Sheet with these headers in row 1 Connect Google Sheets OAuth in n8n Update the document ID in the "Add to Google Sheet" node PhantomBuster will read from this sheet for automated outreach Set Up Steps* Apollo & Apify Configuration: Set up Apify account and obtain API credentials Configure Apollo scraper actor with proper parameters Test lead extraction with sample audience descriptions AI Personalization Setup: Configure OpenAI API for natural language processing and personalization Set up prompt templates for audience targeting and icebreaker generation Test personalization quality with sample LinkedIn profiles Google Sheets Integration: Create lead tracking spreadsheet with proper column structure Configure Google Sheets API credentials and permissions Set up data mapping for automatic lead storage PhantomBuster Connection: Set up PhantomBuster account and LinkedIn connection Configure LinkedIn auto-connect agent with custom message templates Connect API for automated campaign triggering Form and Workflow Setup: Configure form trigger for audience input collection Set up data flow between all components Add proper error handling and rate limiting Testing and Optimization: Start with small batches (5-10 connections daily) Monitor LinkedIn account health and response rates Optimize icebreaker templates based on performance data Important Compliance Notes* LinkedIn Limits: Respect 100 connection requests per week limit Account Safety: Use PhantomBuster's human-like behavior patterns Message Quality: Regularly update templates to avoid automation detection Response Management: Monitor and respond to replies within 24 hours Advanced Extensions* This system can be enhanced with: Multi-channel Outreach: Add email sequences for comprehensive campaigns A/B Testing: Test different icebreaker templates automatically CRM Integration: Connect to Salesforce, HubSpot, or other sales systems Response Tracking: Monitor reply rates and optimize messaging Explore My Channel* For more advanced automation systems that generate real business results, check out my YouTube channel where I share the exact strategies I've used to make over $1 million with AI automation.
by Rosh Ragel
This workflow processes emails received in Gmail and adds the sender's name and email address to a MySQL database. Use Cases: A sales or marketing agency can use this to automatically save client contact info to a database to build a list of leads Companies can use this to automatically save contacts to a database in case of Gmail data loss / losing access to their Gmail account Companies can build mailing lists to automatically send promotions to all of the clients who have contacted them in a given time period Before using, you need to have: Gmail credential MySQL database credential A Table in the MySQL database to store your contacts The table should have a "name" column, which allows NULL values The table should have an "email" column, which should be UNIQUE How it works: The Gmail Trigger will listen for a new email every minute For each email, the code node will extract the name and email address of the sender. If there is no name, it will return null The MySQL node will insert the new contact into a table in your database If the contact email already exists in your database, the MySQL node will update the contact name How to use: Please set up the MySQL node by selecting the correct table to store contacts in Please choose your "email" column to match on Please choose your "name" column to store names Customizing this Workflow: You can customize this workflow to save more data to MySQL. Here are some examples: In the MySQL node, click "Add Value", and choose one of the fields from the Gmail node to save in your database column. You can try saving the following items: Subject line MessageID ThreadID Snippet Recipient Info