by Bao Duy Nguyen
Who is this for? This template is ideal for DevOps engineers, automation specialists, and n8n users who manage multiple workflows and want a reliable version control system for backups. It’s especially useful for teams collaborating via GitHub. What problem is this workflow solving? Manually backing up n8n workflows to GitHub can be time-consuming and error-prone. This workflow solves that by automating the backup of new and updated n8n workflows, ensuring your GitHub repository always reflects the latest changes. What this workflow does Retrieves all workflows from your local n8n instance. Decodes their content and compares it with existing GitHub files. Detects newly created or updated workflows. Creates a new Git branch and commits changes. Opens a pull request (PR) to the main branch. Sends a Slack notification when the PR is created. The system uses GitHub API, n8n, Merge, Set, and Slack nodes for full automation. Setup GitHub credentials: Add your GitHub API credentials in n8n. Slack integration: Connect your Slack Bot token if you want PR notifications. Repository details: Update github_owner, repo_name, and workflow directory path in the “Define Local Variables” node. n8n API key - Check this doc How to customize this workflow to your needs Change the workflow directory from workflows/ to a custom path. Modify the Slack message or add email notification support. Add filters to back up only specific workflows based on naming or tags. Adjust branch naming conventions or use different GitHub base branches. This workflow provides a seamless backup and versioning pipeline, minimizing manual Git interactions and supporting collaborative automation development.
by Automate With Marc
🔥 Daily Web Scraper & AI Summary with Firecrawl + Email Automation Need to extract and summarize web content from a site that doesn’t have an API? This workflow runs daily to scrape a web page using Firecrawl, summarize the content with OpenAI, and send it directly to your email — fully automated. Watch Full Video Step-by-step Tutorial Here: https://www.youtube.com/@Automatewithmarc 🔧 How It Works Daily Trigger – Starts the workflow every 24 hours. Firecrawl Node – Crawls and extracts structured data from any web page you specify. OpenAI Node (Optional) – Processes and summarizes the raw content using a prompt you control. Gmail Node – Sends the final summary or content snapshot to your email inbox. ✅ Perfect For Business analysts tracking daily market or industry news Researchers and founders automating competitive intelligence Anyone who wants web data delivered without coding or scraping scripts 🪜 Setup Instructions Firecrawl API Key – Sign up and insert your key in the credentials. Update Target URL – Edit the URL in the Firecrawl node to your desired site. Customize the Prompt – Tailor the OpenAI prompt to extract the insights you want. Connect Gmail – Add your Gmail credentials and set your recipient email. 🧰 Built With Firecrawl (Web scraping without code) OpenAI (For summarizing and insight extraction) Gmail (Automated notifications) n8n (Workflow automation engine)
by Jesse Davids
SSL Expiry Alert System Who is this for? This workflow is ideal for administrators or IT professionals responsible for monitoring SSL certificates of multiple websites to ensure they do not expire unexpectedly. Problem SSL certificates play a crucial role in ensuring secure communication over the internet. However, if not monitored closely, they can expire, leading to potential security risks and service disruption. This workflow helps in proactively monitoring SSL certificate expiry dates. Functionality Pulls URLs to monitor from a Google Sheet. Checks SSL certificates using SSL-Checker.io. Updates Google Sheet with SSL details such as expiry date and certificate status. Sends email alerts for SSL certificates nearing expiry (<30 days) or invalid certificates. Setup Clone the provided Google Sheet and update the Google Sheet URL in the "URLs to Monitor" node. Set up Google Sheets and Gmail credentials in n8n. Configure the Discourse Trigger for weekly monitoring. Customize email/telegram/ntfy alert settings as needed. Customization Modify the frequency of monitoring by adjusting the trigger interval in the "Weekly Trigger" node. Customize email content and recipients in the "Send Alert Email" node. Extend functionality by adding additional checks or actions based on SSL certificate status. Note Ensure proper authentication and authorization for accessing Google Sheets, SSL-Checker.io, and Gmail accounts within the workflow.
by Rakin Jakaria
How it works: This project creates a personal AI knowledge assistant that operates through Telegram. The assistant can extract summaries from YouTube videos or online articles, store them in Google Sheets for later reference, and retrieve stored summaries when requested by the user. Step-by-step: Google Sheets Trigger:* The workflow starts by detecting a new YouTube or article URL added to a dedicated sheet (Sheet2*). It checks whether the link is already processed. Link Type Detection:** The system identifies if the URL is from YouTube or a standard article. Data Retrieval:** If it’s YouTube: Uses Apify to fetch the transcript. If it’s an article: Uses an HTTP Request node to fetch the webpage content. AI Summarization:* The transcript or article content is passed to *Google Gemini** for refined summarization. Google Sheets Storage:* The summary and title are appended to another sheet (Sheet1*) for long-term storage, along with a “Stored” status update in Sheet2. Telegram Assistant:** A Telegram Trigger listens for messages from the user. The assistant searches stored summaries in Google Sheets. If a match is found, it returns the result to the user on Telegram; otherwise, it politely apologizes.
by vinci-king-01
How it works This workflow automatically extracts data from invoice documents (PDFs and images) and processes them through a comprehensive validation and approval system. Key Steps Multi-Input Triggers - Accepts invoices via email attachments or direct file uploads through webhook. AI-Powered Extraction - Uses ScrapeGraphAI to extract structured data from invoice documents. Data Cleaning & Validation - Processes and validates extracted data against business rules. Approval Workflow - Routes invoices requiring approval through a multi-stage approval process. System Integration - Automatically sends validated invoices to your accounting system. Set up steps Setup time: 10-15 minutes Configure ScrapeGraphAI credentials - Add your ScrapeGraphAI API key for invoice data extraction. Set up Telegram connection - Connect your Telegram account for approval notifications. Configure email trigger - Set up IMAP connection for processing emailed invoices. Customize validation rules - Adjust business rules, amount thresholds, and vendor lists. Set up accounting system integration - Configure the HTTP request node with your accounting system's API endpoint. Test the workflow - Upload a sample invoice to verify the extraction and approval process. Features Multi-format support**: PDF, PNG, JPG, JPEG, TIFF, BMP Intelligent validation**: Business rules, duplicate detection, amount thresholds Approval automation**: Multi-stage approval workflow with role-based routing Data quality scoring**: Confidence levels and completeness analysis Audit trail**: Complete processing history and metadata tracking
by Anna Bui
This n8n template automatically syncs website visitors identified by RB2B into your Attio CRM, creating comprehensive contact records and associated sales deals for immediate follow-up. Perfect for sales teams who want to capture every website visitor as a potential lead without manual data entry! Good to know RB2B identifies anonymous website visitors and sends structured data via Slack notifications The workflow prevents duplicate contacts by checking email addresses before creating new records All RB2B leads are automatically tagged with source tracking for easy identification How it works RB2B sends website visitor notifications to your designated Slack channel with visitor details The workflow extracts structured data from Slack messages including name, email, company, LinkedIn, and location It searches Attio CRM to check if the person already exists based on email address For new visitors, it creates a complete contact record with all available information For existing contacts, it updates their record and manages deal creation intelligently Automatically creates sales deals tagged as "RB2B Website Visitor" for proper lead tracking How to use Configure RB2B to send visitor notifications to a dedicated Slack channel The Slack trigger can be replaced with other triggers like webhooks if you prefer different notification methods Customize the deal naming conventions and stages to match your sales pipeline Requirements RB2B account with Slack integration enabled Attio CRM account with API access Slack workspace with bot permissions for the designated RB2B channel Customising this workflow Modify deal stages and values based on your sales process Add lead scoring based on company domain or visitor behavior patterns Integrate additional enrichment APIs to enhance contact data Set up automated email sequences or Slack notifications for high-value leads
by Parag Javale
Social Media Auto-Poster (Google Sheets → Twitter & Instagram) This workflow automatically: Pulls rows marked as Pending from a Google Sheet. Generates a formatted Instagram caption and HTML preview. Converts the HTML into an image via HCTI.io. Posts the content: As a tweet (text only) to Twitter (X). As a post (image + caption) to Instagram via the Facebook Graph API. Marks the row in Google Sheets as Posted with a timestamp. It runs every 5 hours (configurable via the Schedule Trigger). Requirements Google Sheets API Credentials** connected in n8n. HCTI.io account** (HTML → Image API). Twitter (X) OAuth1 credentials**. Facebook/Instagram Graph API** access token (for the business account/page). A Google Sheet with at least these columns: RowID Caption Desc Hashtags Status Set Status to Pending for any row you want posted. Setup Import the JSON workflow (My_workflow.json) into your n8n instance. Link all credentials (replace placeholders with your own API keys and tokens). Update the Google Sheet ID and Sheet Name inside the Get row(s) in sheet and Update Status Posted nodes. (Optional) Adjust the posting interval in the Schedule Trigger node. How It Works Trigger: Runs every 5 hours. Fetch Rows: Reads Google Sheets for rows with Status = Pending. Caption Generation: Combines Desc + Hashtags into final_caption. HTML → Image: Converts caption to a styled 1080x1080 post. Social Posting: Posts the caption to Twitter (text only). Uploads the image + caption to Instagram. Update Status: Marks the row as Posted on [timestamp]. Notes Facebook/Instagram tokens expire; refresh or use long-lived tokens. HCTI.io may require a paid plan for high volumes. Works best with a business Instagram account linked to a Facebook Page. License This workflow can be reused and adapted freely under the MIT license.
by Manish
This workflow helps you keep an eye on your GitHub forks, notifying you when they fall behind or pull ahead of their upstream repositories. How It Works Fetches All Your Repos: The workflow starts by grabbing a list of all repositories owned by your GitHub account. Filters for Forks: It then intelligently filters this list to identify only your forked repositories. Compares Branches: For each identified fork, it compares its default branch against the upstream repository's default branch to find out how many commits it's ahead or behind. Filters for Changes: Only forks that are either ahead or behind their upstream (i.e., not perfectly in sync) are processed further. Generates Report: A concise, well-formatted report is compiled, highlighting the status and commit differences for each relevant fork. Sends Telegram Notification: Finally, this report is sent directly to your Telegram chat, keeping you informed in real-time. Setup Steps Copy the template Update triggers ( optional ) Update the credentials Prerequisites GitHub Credentials**: You'll need to provide your GitHub personal access token for the "Get All Repositories" and "Compare Branches API Call" nodes. Telegram Bot Setup**: Configure a Telegram Bot and obtain its API token and your chat ID for the "Send Report" node. Github Owner Username**: Update the "Get All Repositories" node with the GitHub username of the repository owner whose forks you want to monitor. Explore & Fine-Tune: All detailed instructions and explanations, including how to adjust the filtering logic or output formatting, are provided in sticky notes directly within the workflow canvas.
by Sweenu
Who is this template for? You are in the bad habit of always checking your feed to see if there are new videos? This workflow will help you get rid of this habit by delivering an email notification for each new video posted from the channels you are subscribed to. No need to check your feed again: no email = no new video. Example email How it works Every hour (by default), we: Fetch all your YouTube subscriptions from the YouTube Data v3 API. Get a list of the latest videos of each channel through RSS (we don't use YouTube's API for this step as it would put us over the daily quota). Send you a simple yet beautiful email for each new video that was published since the last run of the workflow. To go to the video, simply click on the thumbnail. Caveats Because of the way this workflow is implemented, if your n8n instance stops, you will not get emails for the videos you missed when your instance is back online. The situation could be improved if n8n gave us an easy way to access the last successful execution's timestamp. Set up instructions Complete the Set up credentials step when you first open the workflow. You'll need YouTube OAuth2 API and SMTP credentials. In the Send an email for each new video step, set the email address from which the email will be sent (an email address that your SMTP credentials allow sending from) and the email address to which you are going to send the email to (can be the same). Optional steps From the Schedule Trigger step, you can change the check frequency (default: every hour). If there are channels that you do not want notifications from, you can add their channel ID to the list in the Filter out channels step. To get a channel's ID, go to its main page, click on the description, then "Share channel" and finally "Copy channel ID". By default, shorts are excluded. But if you want them, simply remove the Filter out shorts step from the workflow. Template was created in n8n v1.84.0
by David Olusola
Learn Customer Onboarding Automation with n8n ✅ How It Works This smart onboarding automation handles new customer signups by: Receiving signup data via webhook Validating required customer info Creating a contact in HubSpot CRM Sending a personalized welcome email Delivering onboarding documents after 2 hours Sending a personal check-in email after 1 day Sending a Week 1 success guide after 3 days Updating CRM status and notifying the team at each milestone It’s designed for professional onboarding, with built-in timing, CRM integration, and smart notifications to improve engagement and retention. 🛠️ Setup Steps Create Webhook Add a Webhook node in n8n with POST method — this triggers when a new customer signs up. Validate Customer Data Add an IF node to check if email and customerName are present. Create CRM Contact Use a HubSpot node to create a new contact, map fields (e.g., split name into first/last). Send Notifications Add a Telegram or Slack node to alert your team instantly. Send Welcome Email Use an Email Send node for a warm welcome, customized with customer details. Wait 2 Hours Add a Wait node to delay next steps and avoid overwhelming the customer. Send Onboarding Documents Use another Email Send node to deliver helpful PDFs or guides. Wait 1 Day & Send Check-in Another Wait node, followed by a personal check-in email using the customer’s name. Wait 2 More Days & Send Success Guide Deliver Week 1 content via email to reinforce engagement. Update CRM & Notify Team Use HubSpot to update status and Telegram/Slack to notify your team of completion.
by Jay Hartley
Release yourself from the pain of user login with this simple solution! Who this is for This is for everyone that wants to provide a simple login solution to their users/colleagues What this template does This workflow utilizes Auth0 to provide a simple and easy authentication page that allows login via gmail or any email address. Setup To use this workflow, simply sign up at https://auth0.com and create a new Single Page Application, then from Dashboard/Applications, copy the values as instructed in the workflow. It should not take more than ten minutes to setup. First, go to https://auth0.com and create a Single Page Application. From Dashboard/Applications, click on your new app settings. The first step is to add the following to allowed callback URLs: http://localhost:5678, http://localhost:5678/webhook/receive-token (If you do not run n8n locally, replace localhost with your server where you run n8n. You must also replace it in Set Application Details 'my_server' field) From the same settings page, retrieve the Domain, Client_ID, and Client_Secret of your application. Fill in Set Application Details and Set Application Details1 Login from https:///webhook/login! It can also be extended to allow login via Github, Facebook, and other socials.
by Łukasz
Who is it for If you are a postmaster or you manage email server, you can set up DKIM and SPF records to ensure that spoofing your email address is hard. On your domain you can also set up DMARC record to receive XML reports from email providers (rua tag). Those reports contain data if email they received passed DKIM and SPF verifications. Since DMARC email is public, you will receive a lot of emails from email providers, not only if DKIM/SPF fail. There is no need for it - you probably only need to know if SPF/DKIM failed. So this script is intended to automatically parse all DMARC reports that come from email providers, but ONLY send you notification if SPF or DKIM failed - meaning that either someone tries to spoof your email or your DKIM/SPF is improperly set up. How it works script monitors postmaster email for DMARC reprots (rua) unpacks report and parses XML into JSON maps JSON and formats fields for MySQL/MariaDB input inputs into database sends notification on DKIM or SPF failure Remember to set up email input mailbox notification channels for slack for email