Download a file from Google Drive
Companion workflow for Google Drive node docs
Get weather forecast via Telegram
A workflow to receive weather updates on demand using a Telegram bot. The workflow is triggered using the Telegram Trigger node by issuing a message to the Telegram bot. The OpenWeatherMap node queries the weather API and returns the result using the Telegram node.
Custom LangChain agent written in JavaScript
This workflow has multiple functionalities. It starts with a manual trigger, "When clicking 'Execute Workflow'", that activates two separate paths. The first path takes a preset string "Tell me a joke" and processes it through a custom Language Learning Model (LLM) chain node. This node interacts with an OpenAI node for query processing. The second path takes another preset string "What year was Einstein born?" and passes it to an "Agent" node. This agent further interacts with a Chat OpenAI node and a custom Wikipedia node to produce the required information. The workflow uses both built-in and custom nodes, and integrates with OpenAI for both paths. It's built for experimenting with language models, specifically in the context of conversational agents and information retrieval. Note that to use this template, you need to be on n8n version 1.19.4 or later.
PDF invoice data extraction & tracking with Google Drive, Claude AI & Telegram
📥 Invoice Intake & Notification Workflow This automated n8n workflow monitors a Google Drive folder for newly uploaded invoice PDFs, extracts essential information (like client name, invoice number, amount, due date), logs the data into a Google Sheet for recordkeeping, and sends a formatted Telegram message to notify the billing team. For step-by-step video build of workflows like this: https://www.youtube.com/@automatewithmarc ✅ What This Workflow Does 🕵️ Watches a Google Drive folder for new invoice files 📄 Extracts data from PDF invoices using AI (LangChain Information Extractor) 📊 Appends extracted data into a structured Google Sheet 💬 Notifies the billing team via Telegram with invoice details 🤖 Optionally uses Claude Sonnet AI model to format human-friendly summaries ⚙️ How It Works – Step-by-Step Trigger: Workflow starts when a new PDF invoice is added to a specific Google Drive folder. Download & Parse: The file is downloaded and its content extracted. Data Extraction: AI-powered extractor pulls invoice details (invoice number, client, date, amount, etc.). Log to Google Sheets: All extracted data is appended to a predefined Google Sheet. AI Notification Formatting: An Anthropic Claude model formats a clear invoice notification message. Telegram Alert: The formatted summary is sent to a Telegram channel or group to alert the billing team. 🧠 AI & Tools Used Google Drive Trigger & File Download PDF Text Extraction Node LangChain Information Extractor Google Sheets Node (Append Data) Anthropic Claude (Telegram Message Formatter) Telegram Node (Send Notification) 🛠️ Setup Instructions Google Drive: Set up OAuth2 credentials and specify the folder ID to watch. Google Sheets: Link the workflow to your invoice tracking sheet. Telegram: Set up your Telegram bot and obtain the chat ID. Anthropic & OpenAI: Add your Claude/OpenAI credentials if formatting is enabled. 💡 Use Cases Automated bookkeeping and invoice tracking Real-time billing alerts for accounting teams AI-powered invoice ingestion and summary
Get started with Google Sheets in n8n
A hands-on starter workflow that teaches beginners how to: Pull rows from a Google Sheet Append a new record that mimics a form submission Generate AI-powered text with GPT-4o based on a “Topic” column Write the AI output back into the correct row using an update operation Along the way you’ll learn the three essential Google Sheets operations in n8n (read → append → update), see how to pass sheet data into an OpenAI node, and document each step with sticky-note instructions—perfect for anyone taking their first steps in no-code automation. 0️⃣ Prerequisites Google Sheets Open Google Cloud Console → create / select a project. Enable Google Sheets API under APIs & Services. Create an OAuth Desktop credential and connect it in n8n. Share the spreadsheet with the Google account linked to the credential. OpenAI Create a secret key at <https://platform.openai.com/account/api-keys>. In n8n → Credentials → New → choose OpenAI API and paste the key. Sample sheet to copy (make your own copy and use its link) <https://docs.google.com/spreadsheets/d/15i9WIYpqc5lNd5T4VyM0RRptFPdi9doCbEEDn8QglN4/edit?usp=sharing> --- 1️⃣ Trigger Manual Trigger – lets you run on demand while learning. (Swap for a Schedule or Webhook once you automate.) --- 2️⃣ Read existing rows Node: Get Rows from Google Sheets Reads every row from Sheet1 of your copied file. --- 3️⃣ Generate a demo row Node: Generate 1 Row of Data (Set node) Pretends a form was submitted: Name, Email, Topic, Submitted = "Yes" --- 4️⃣ Append the new row Node: Append Data to Google Operation append → writes to the first empty line. --- 5️⃣ Create a description with GPT-4o OpenAI Chat Model – uses your OpenAI credential. Write description (AI Agent) – prompt = the Topic. Structured Output Parser – forces JSON like: { "description": "…" }. --- 6️⃣ Update that same row Node: Update Sheets data Operation update. Matches on column Email to update the correct line. Writes the new Description cell returned by GPT-4o. --- 7️⃣ Why this matters Demonstrates the three core Google Sheets operations: read → append → update. Shows how to enrich sheet data with an AI step and push the result right back. Sticky Notes provide inline docs so anyone opening the workflow understands the flow instantly. --- 👤 Need help? Robert Breen – Automation Consultant ✉️ robert.j.breen@gmail.com 🔗 <https://www.linkedin.com/in/robert-breen-29429625/>
Upload video, create playlist and add video to playlist
No description available.
Automate Gmail email triage with Eisenhower Matrix and GPT-4.1-mini
Who is this workflow for This workflow is designed for busy professionals, productivity enthusiasts, and teams drowning in email overload. Whether you're a startup founder, operations manager, executive assistant, or team lead, this solution helps you bring structure and clarity to your inbox. If you struggle to identify which emails deserve immediate attention versus which can be scheduled, delegated, or ignored, this workflow is for you. What it does / How it works This n8n automation integrates Gmail and OpenAI to apply the Eisenhower Matrix—a classic productivity framework—to incoming emails. It reads each new unread email from your inbox and automatically classifies it into one of four categories based on urgency and importance: Urgent + Important: Critical messages requiring immediate action (e.g., legal, financial, investor or user-blocking issues). Not Urgent + Important: High-value strategic emails you should schedule time for (e.g., partnership opportunities, key coordination). Urgent + Not Important: Time-sensitive but delegable tasks (e.g., routine operations or technical updates). Not Urgent + Not Important: Low-value noise like spam or promotions that should be archived or batch-reviewed later. The classification is powered by a GPT model with custom prompts tailored to understand email context and assign the right category with high accuracy. After classification, the workflow adds the appropriate label in Gmail and automatically archives emails marked as low-priority. The result: your inbox becomes a dynamic priority system, helping you make faster, smarter decisions without the mental load of constant triage. How to set it up Create Gmail Labels: Manually create these four labels in your Gmail account: Urgent + Important Not Urgent + Important Urgent + Not Important Not Urgent + Not Important Connect Accounts in n8n: Set up Gmail OAuth2 credentials in your n8n instance to allow reading and labeling emails. Add your OpenAI API key to enable the AI classification. Update Label IDs: In the Gmail nodes of the workflow, replace the label IDs (e.g., Label_4335697733647997523) with the IDs from your own Gmail account. You can find these by creating a dummy workflow with a “Gmail → Get All Labels” node. Test and Deploy: You can run the workflow manually using the “Execute Workflow” trigger or set it to run automatically with the Gmail Trigger that polls every minute. Review your Gmail inbox to see how labels are applied and ensure the archive function is working as expected. Requirements A free or paid n8n instance (self-hosted or cloud) Gmail account with OAuth2 access configured in n8n OpenAI API key (GPT-4.1-mini recommended for accuracy) Four predefined Gmail labels that match the Eisenhower Matrix Basic familiarity with editing Gmail node parameters in n8n How to customize the workflow Tailor the AI prompts: Update the Text Classifier node with your own examples or definitions of what counts as urgent or important based on your business context. Refine inputs: Add filters to process only emails from specific senders or domains (e.g., VIP clients, your team). Extend outcomes: Trigger Slack alerts for urgent messages, auto-reply to certain senders, or sync scheduled items to your calendar. Localization: Adjust labels and prompts to match your preferred language or naming conventions. Archive rules: Modify the "Remove Labels" node to exclude specific categories from archiving or add additional cleanup actions. Why this improves productivity This workflow removes decision fatigue from your email routine. By automatically labeling and sorting emails according to urgency and importance, you: Spend less time sorting emails manually Focus energy on what truly matters Schedule strategic tasks thoughtfully Delegate or ignore distractions confidently Instead of reacting to your inbox, you take control of it—turning email chaos into a structured priority system that aligns with your goals.
Transfer data from Postgres to Excel
Read data from Postgres Converting it to XLS Save it to disk
Web scraper: extract website content from sitemaps to Google Drive
A reliable, no-frills web scraper that extracts content directly from websites using their sitemaps. Perfect for content audits, migrations, and research when you need straightforward HTML extraction without external dependencies. How It Works This streamlined workflow takes a practical approach to web scraping by leveraging XML sitemaps and direct HTTP requests. Here's how it delivers consistent results: Direct Sitemap Processing: The workflow starts by fetching your target website's XML sitemap and parsing it to extract all available page URLs. This eliminates guesswork and ensures comprehensive coverage of the site's content structure. Robust HTTP Scraping: Each page is scraped using direct HTTP requests with realistic browser headers that mimic legitimate web traffic. The scraper includes comprehensive error handling and timeout protection to handle various website configurations gracefully. Intelligent Content Extraction: The workflow uses sophisticated JavaScript parsing to extract meaningful content from raw HTML. It automatically identifies page titles through multiple methods (title tags, Open Graph metadata, H1 headers) and converts HTML structure into readable text format. Framework Detection: Built-in detection identifies whether sites use WordPress, Divi themes, or heavy JavaScript frameworks. This helps explain content extraction quality and provides valuable insights about the site's technical architecture. Rich Metadata Collection: Each scraped page includes detailed metadata like word count, HTML size, response codes, and technical indicators. This data is formatted into comprehensive markdown files with YAML frontmatter for easy analysis and organization. Respectful Rate Limiting: The workflow includes a 3-second delay between page requests to respect server resources and avoid overwhelming target websites. The processing is sequential and controlled to maintain ethical scraping practices. Detailed Success Reporting: Every scraped page generates a report showing extraction success, potential issues (like JavaScript dependencies), and technical details about the site's structure and framework. Setup Steps Configure Google Drive Integration Connect your Google Drive account in the "Save to Google Drive" node Replace YOURGOOGLEDRIVECREDENTIALID with your actual Google Drive credential ID Create a dedicated folder for your scraped content in Google Drive Copy the folder ID from the Google Drive URL (the long string after /folders/) Replace YOURGOOGLEDRIVEFOLDERID_HERE with your actual folder ID in both the folderId field and cachedResultUrl Update YOURFOLDERNAME_HERE with your folder's actual name Set Your Target Website In the "Set Sitemap URL" node, replace https://yourwebsitehere.com/page-sitemap.xml with your target website's sitemap URL Common sitemap locations include /sitemap.xml, /page-sitemap.xml, or /sitemap_index.xml Tip: Not sure where your sitemap is? Use a free online tool like https://seomator.com/sitemap-finder Verify the sitemap URL loads correctly in your browser before running the workflow Update Workflow IDs (Automatic) When you import this workflow, n8n will automatically generate new IDs for YOURWORKFLOWIDHERE, YOURVERSIONIDHERE, YOURINSTANCEIDHERE, and YOURWEBHOOKIDHERE No manual changes needed for these placeholders Adjust Processing Limits (Optional) The "Limit URLs (Optional)" node is currently disabled for full site scraping Enable this node and set a smaller number (like 5-10) for initial testing For large websites, consider running in batches to manage processing time and storage Customize Rate Limiting (Optional) The "Wait Between Pages" node is set to 3 seconds by default Increase the delay for more respectful scraping of busy sites Decrease only if you have permission and the target site can handle faster requests Test Your Configuration Enable the "Limit URLs (Optional)" node and set it to 3-5 pages for testing Click "Test workflow" to verify the setup works correctly Check your Google Drive folder to confirm files are being created with proper content Review the generated markdown files to assess content extraction quality Run Full Extraction Disable the "Limit URLs (Optional)" node for complete site scraping Execute the workflow and monitor the execution log for any errors Large websites may take considerable time to process completely (plan for several hours for sites with hundreds of pages) Review Results Each generated file includes technical metadata to help you assess extraction quality Look for indicators like "Limited Content" warnings for JavaScript-heavy pages Files include word counts and framework detection to help you understand the site's structure Framework Compatibility: This scraper is specifically designed to work well with WordPress sites, Divi themes, and many JavaScript-heavy frameworks. The intelligent content extraction handles dynamic content effectively and provides detailed feedback about framework detection. While some single-page applications (SPAs) that render entirely through JavaScript may have limited content extraction, most modern websites including those built with popular CMS platforms will work excellently with this scraper. Important Notes: Always ensure you have permission to scrape your target website and respect their robots.txt guidelines. The workflow includes respectful delays and error handling, but monitor your usage to maintain ethical scraping practices.RetryClaude can make mistakes. Please double-check responses.
Restore your workflows from GitHub
This workflow restores all n8n instance workflows from GitHub backups using the n8n API node. It complements the Backup Your Workflows to GitHub template by allowing users to seamlessly restore previously saved workflows. How It Works The workflow fetches workflows stored in a GitHub repository and imports them into your n8n instance. Setup Instructions To configure the workflow, update the Globals node with the following values: repo.owner – Your GitHub username repo.name – The name of your GitHub repository storing the workflows repo.path – The folder path within the repository where workflows are stored For example, if your GitHub username is john-doe, your repository is named n8n-backups, and workflows are stored in a workflows/ folder, you would set: repo.owner → john-doe repo.name → n8n-backups repo.path → workflows/ Required Credentials GitHub API – Access to your repository n8n API – To import workflows into your n8n instance Who Is This For? This template is ideal for users who want to restore their workflows from GitHub backups, ensuring easy migration and recovery in case of data loss. --- Check out my other templates: 👉 My n8n Templates
Receive updates for changes in the specified list in Trello
No description available.
Create Linear tickets from Notion content
This workflow allows you to define multiple tickets/issues in a Notion page, then easily import them into Linear. Why is it useful? We use this workflow internally at n8n for collaboration between Product and Engineering teams: Engineering needs all work to be in our ticketing system (Linear) in order to keep track of it Product prefers to review features in Notion. This is because it and can be used to dump all your thoughts and organise them into themes afterwards, plus it better supports rich content like videos Features Supports rich formatting (bullets, images, videos, links, etc.) Keeps links between the Notion and Linear version, in case you need to refer back Allows you to assign each issue to a team member in the Notion definition Avoids importing the same issues twice if you run it again on the same page (meaning you can issues incrementally) You can see an example of the required format of the Notion page here.