by Rahul Joshi
Description Automatically track Stripe invoices and create Google Calendar reminders for upcoming due dates. This workflow ensures you never miss a payment deadline by running daily checks, filtering invoices due within the next 7 days, and adding them to your calendar with invoice details. β°π³π What This Template Does Runs daily at 8:00 AM using a scheduled trigger. β° Fetches draft invoices from Stripe. π³ Splits invoice data into individual records for processing. π Filters invoices due within the next 7 days. π Prevents duplicates by checking against existing calendar events. π Creates Google Calendar events for valid invoices with details (ID, customer, amount). π Key Benefits Automated invoice due date reminders with no manual effort. β‘ Avoids duplicate entries in Google Calendar. π‘οΈ Provides a clear overview of pending payments. π Saves time for freelancers, agencies, and finance teams. β±οΈ Keeps all payment reminders in one central place. π² Features Daily schedule with cron expression (0 8 * * *). Stripe API integration to fetch draft invoices. Smart filtering: only invoices with due dates within 7 days are selected. Google Calendar integration to check existing events and avoid duplicates. Detailed calendar events with invoice ID, amount due, and customer email. Customizable reminders β add customer name, invoice link, or change times. Requirements n8n instance (cloud or self-hosted). Stripe API credentials with invoice read access. Google Calendar OAuth2 credentials with event write permissions. Access to the target Google Calendar (replace placeholder with your own). Target Audience Freelancers and solopreneurs managing invoices. π©βπ» Agencies tracking multiple client invoices. π’ Finance and accounting teams requiring automated reminders. π Businesses wanting to automate payment follow-ups. πΌ Remote teams centralizing billing schedules. π Step-by-Step Setup Instructions Configure Stripe API credentials in n8n. Add Google Calendar OAuth2 credentials with access to your target calendar. Replace the placeholder calendar ID (your-calendar@gmail.com) with your actual calendar. Import this workflow into n8n. Test the workflow by creating a test draft invoice in Stripe with a due date in the next 7 days. Verify the Google Calendar event is created with the invoice details. Enable the workflow to run daily and enjoy hands-free invoice tracking. β
by Meak
Download Instagram Reels & Videos with Telegram Bot Most users copy/paste links into third-party sites or apps to download videos, then manually re-upload them to Telegram. This workflow does it all automatically: listens for a link in Telegram, downloads the file via MediaDL API, and sends it back to the same chat β all hands-free. Benefits One-click video download directly inside Telegram Browser-like HTTP headers for higher success rate Wait nodes prevent race conditions or failed fetches Supports any link MediaDL can resolve (YouTube, Twitter, etc.) Instant reply with the actual .mp4 file in chat How It Works Telegram Trigger waits for a message with a video link Sends the URL to MediaDL /api/download to resolve media info Waits 3 seconds to allow backend processing Extracts medias[0].url from response Waits 3 more seconds for proxy to be ready Calls MediaDL /api/proxy-download?fileUrl=... to fetch the binary Sends the video back to the same chat with proper filename Who Is This For Channel owners reposting videos quickly Community managers curating user-shared content Power users who want a private Telegram media downloader Setup Connect Telegram bot to n8n (get Bot Token via BotFather) Add MediaDL API endpoint (/api/download + /api/proxy-download) Configure headers (User-Agent, Referer) to mimic a browser Adjust wait times for large files or slow hosts Test with a small video before scaling ROI & Monetization Save 5+ minutes per download/repost cycle Offer as a βcontent reposter botβ for Telegram communities Package as a paid convenience tool for private groups Strategy Insights In the full walkthrough, I show how to: Build reliable Telegram bots with n8n Handle delays, retries, and file size limits Extend workflow to auto-caption or archive media Turn this into a subscription or group-access SaaS bot Check Out My Channel For more advanced AI automation systems that generate real business results, check out my YouTube channel where I share the exact strategies I use to build automation agencies, sell high-value services, and scale to $20k+ monthly revenue.
by Piotr Sobolewski
How it works This workflow is your personal digital assistant for tracking specific information on websites that lack APIs or RSS feeds. It's perfect for keeping an eye on: Niche job postings on specialized forums or company career pages. Product availability or price changes on smaller e-commerce sites. Any specific text or data appearing on a public webpage. It automatically: Visits a specified webpage on a schedule (e.g., hourly, daily). Intelligently extracts specific data points (like job titles, links, product names, or stock status) from the page's HTML using advanced selectors. Notifies you via Telegram when new relevant information is found or if a change occurs. Stop manually refreshing pages and let automation bring the critical updates directly to you! Set up steps Setting up this workflow is more involved than basic automations due to the web scraping aspect, typically taking around 20-40 minutes. You'll need to: Identify the exact URL of the webpage you want to monitor. Learn how to find CSS Selectors or XPath for the specific data elements you want to extract from the webpage (a browser's developer tools are essential here). Authenticate your Telegram account to receive notifications. Optionally, set up an AI service (like OpenAI) if you want to summarize extracted content. All detailed setup instructions and specific configuration guidance, including how to find CSS selectors, are provided within the workflow itself using sticky notes.
by Lucas Peyrin
How it works Ever had binary data (like images, PDFs, or files) disappear in your n8n workflow after an intermediate node processed it? This workflow provides a powerful solution by demonstrating how to re-access and re-attach binary data from any previous node, even if it was dropped along the way. Think of it like having a reliable backup copy of your file always available, no matter what happens to the original as it moves through your workflow. Here's how this template works step-by-step: Initial Binary Fetch: The workflow starts by fetching a binary image (the n8n logo) from a URL using an HTTP Request node. This is our original binary data. Simulated Data Loss: A Set node then processes this data. Crucially, by default, Set nodes (and many others) do not pass binary data to subsequent nodes. This step intentionally simulates a common scenario where your binary data might seem to "disappear" from the workflow's output. Re-Access and Re-Attach: The core of the solution is a Code node. It uses a specific n8n expression ($(nodeName).item) to reach back to the original node that produced the binary data (Get n8n Logo (Binary)). It then retrieves that binary data and uses this.helpers.prepareBinaryData() to correctly re-attach it to the current item, making it available for all subsequent nodes. Set up steps Setup time: 0 minutes! This is a self-contained tutorial workflow, so no external accounts or credentials are required. Simply click the "Execute Workflow" button to run it. Observe the output of the Re-Access Binary Data from Previous Node to see the binary data successfully re-attached. Important for Customization: If you adapt this technique to your own workflows, remember to update the previousNodeName variable within the Re-Access Binary Data from Previous Node (Code node) to match the exact name of the node that originally produced the binary data you wish to retrieve.
by 1Shot API
Simple Range Trading w/ Uniswap V3 This workflow will monitor the price of a token trading pair (default is ETH - USDC) and automatically buy into ETH or sell into USDC based on a price window configured by the user. Additionally, the workflow will notify the user on Telegram before a trade is executed, giving the user 1 minute to cancel the trade before the workflow proceeds. Transaction are executed via MetaMask's Delegation Framework, so trades are fully non-custodial, you retain full control of your assets at all times. Check out the YouTube tutorial for a full walkthrough. Maintain Complete Trading Control with MetaMask Delegations With the MetaMask Delegation Framework, you never relinquish control of your funds to any 3rd party, not even 1Shot API. Furthermore, with this workflow, you have full control of your trading parameters and the assets you trade against. Lastly, by running your own trading setup, you can bypass fees incurred through centralized exchanges or hosted frontends that reduce your profitability. Human-in-the-Loop with Telegram Notifiactions This workflow uses Telegram to send you real-time updates on whats happening with your trades. Specifically, the Telegram human-in-the-loop node is used to give you a change to cancel trades before they happen or immediately approve them. Setup Create a free 1Shot API account, and create an API key. Import the workflow into your n8n portal. Create a credential for the 1Shot API nodes to communicate with your 1Shot API account. Trigger the sub-workflow to generate an Arbitrum server wallet and import all required smart contract methods. Point the 1Shot API nodes at the appropriate smart contract methods in you 1Shot API account. Create a Telegram credential for notifications & input the chatID of your Telegram bot. Set your desired trading price range in the Swap Configs node. Start your trading workflow.
by Madame AI
Automate Directory Scraping to Google Sheets using BrowserAct This n8n template helps you generate local business leads by automatically scraping online directories and saving the results directly to a spreadsheet. This workflow is perfect for sales teams, marketing agencies, or anyone looking to build a list of local business leads by scraping online directories like YP.com. Self-Hosted Only This Workflow uses a community contribution and is designed and tested for self-hosted n8n instances only. How it works The workflow is triggered manually. You can set the business_category and city_location inputs in the "Run a workflow task" node. A BrowserAct node initiates the web scraping task on your BrowserAct account using the template specified. A second BrowserAct node ("Get details of a workflow task") patiently waits for the scraping job to finish before allowing the workflow to proceed. A Code node takes the raw output from the scraper (which is a single JSON string) and correctly parses it, splitting the data into individual items for each business. Finally, a Google Sheets node appends or updates each business as a new row in your spreadsheet, matching on "Company Name" to prevent duplicates. Requirements BrowserAct** API account for web scraping BrowserAct* "Online Directory Lead Scraper (YP.com)*" Template BrowserAct** n8n Community Node -> (n8n Nodes BrowserAct) Google Sheets** credentials for saving the leads Need Help? How to Find Your BrowseAct API Key & Workflow ID How to Connect n8n to Browseract How to Use & Customize BrowserAct Templates How to Use the BrowserAct N8N Community Node Workflow Guidance and Showcase STOP Manual Leads! Automate Lead Gen with BrowserAct & n8n
by Robert Breen
Automate company enrichment directly in Google Sheets using Dun & Bradstreet (D&B) Data Blocks. This workflow reads DUNS numbers from a sheet, fetches a Bearer token (via Basic Auth β /v3/token), calls the Data Blocks API for each row (/v1/data/duns/...), extracts Paydex, and appends or updates the sheet. A Filter node skips rows already marked Complete for efficient, idempotent runs. β What this template does Pulls DUNS values from a Google Sheet (Option A) Uses an HTTP Header Auth credential for D&B, or (Option B) Dynamically fetches a Bearer token from /v3/token (Basic Auth) Calls D&B Data Blocks per row to retrieve payment insights Extracts Paydex and upserts results back to the sheet Skips rows already Complete π€ Who's it for RevOps/Data teams enriching company lists at scale SDR/Marketing teams validating firmographic/credit signals BI/Automation builders who want a no-code/low-code enrichment loop π§© How it works (node-by-node) Get Companies (Google Sheets) β Reads rows with at least duns, paydex, Complete. Only New Rows (Filter) β Passes only rows where Complete is empty. D&B Info (HTTP Request) β Calls Data Blocks for each DUNS using a header credential (Authorization: Bearer <token>). Keep Score (Set) β Maps nested JSON to a single Paydex field: {{$json.organization.businessTrading[0].summary[0].paydexScoreHistory[0].paydexScore}} Append to g-sheets (Google Sheets) β Append or Update by duns, writing paydex and setting Complete = Yes. > The workflow also includes Sticky Notes with in-canvas setup help. π οΈ Setup instructions (from the JSON) 1) Connect Google Sheets (OAuth2) In n8n β Credentials β New β Google Sheets (OAuth2) and sign in. Use/prepare a sheet with columns like: duns, paydex, Complete. In your Google Sheets nodes, select your credential and target spreadsheet/tab. For upsert behavior, set Operation to Append or Update and Matching column to duns. > Replace any example Sheet IDs/URLs with your own (avoid publishing private IDs). 2) Get a D&B Bearer Token (Basic Auth β /v3/token) β Optional Dynamic Token Node Add/enable HTTP Request node named Get Bearer Token1. Configure: Authentication: Basic Auth (your D&B username/password) Method: POST URL: https://plus.dnb.com/v3/token Body Parameters: grant_type = client_credentials Headers: Accept = application/json Execute to receive access_token. Reference the token in other nodes via: Authorization: Bearer {{$node["Get Bearer Token1"].json["access_token"]}} > β οΈ Security: Don't hardcode tokens. Prefer credentials or fetch dynamically. 3) Call D&B Data Blocks (use Header Auth or dynamic token) Node: D&B Info (HTTP Request) Authentication:** Header Auth (recommended) URL:** https://plus.dnb.com/v1/data/duns/{{ $json.duns }}?blockIDs=paymentinsight_L4_v1&tradeUp=hq&customerReference=customer%20reference%20text&orderReason=6332 Headers:** Accept = application/json If not using a stored Header Auth credential, set: Authorization = Bearer {{$node["Get Bearer Token1"].json["access_token"]}} > {{ $json.duns }} is resolved from the current row provided by Get Companies. 4) Map Paydex and Upsert to Google Sheets Keep Score (Set)** Field Paydex (Number): {{$json.organization.businessTrading[0].summary[0].paydexScoreHistory[0].paydexScore}} Append to g-sheets (Google Sheets)** Operation: Append or Update Matching column: duns Columns mapping: duns = {{ $('Get Companies').item.json.duns }} paydex = {{ $json.Paydex }} Complete = Yes π§ͺ Test checklist Add a few test DUNS rows (leave Complete blank). Run the workflow and confirm Only New Rows passes expected items. Check D&B Info returns payment insight data. Confirm Paydex is set and the row is updated with Complete = Yes. π Security & best practices Store secrets in Credentials (HTTP Header Auth/Basic Auth). Avoid publishing real Sheet IDs or tokens in screenshots/notes. Consider rate limits and backoff for large sheets. Log/handle API errors (e.g., invalid DUNS or expired tokens). π©Ή Troubleshooting 401/403 from D&B:** Verify credentials/token; ensure correct environment and entitlements. Missing Paydex path:** D&B responses vary by subscription/data availabilityβadd guards (IF node) before mapping. Rows not updating:* Confirm *Append or Update* is used and *Matching column** exactly matches your sheet header duns. Filtered out rows:** Ensure Complete is truly empty (no spaces) for new items. π§― Customize further Enrich additional fields (e.g., viability score, portfolio comparison, credit limits). Add retry logic, batching, or scheduled triggers. Push results to a CRM/DB or notify teams via Slack/Email. π¬ Contact Need help customizing this (e.g., enriching more fields, normalizing responses, or bulk-processing large sheets)? π§ robert@ynteractive.com π https://www.linkedin.com/in/robert-breen-29429625/ π https://ynteractive.com
by 1Shot API
Automated Savings with 1Shot API and Aave Protocol With the increasing popularity of stablecoins like USDC, its becoming easier to pay for everyday items with crypto thanks to debit cards from issuers like MetaMask. These solutions work by processing payments on traditional payment rails then pulling the stablecoin out of your onchain account to cover the cost of the purchase. One downside is that if a stablecoin like USDC is simply sitting in your onchain account, you are missing out on competitive savings rates offered by decentralized protocols like Aave. Often the APY offered by these onchain lending protocols is much higher than those offered by traditional banks while maintaining a low-risk profile for high-quality assets like USDC or mUSD. Ideally your balance would automatically stay in something like Aave when you don't need it and automatically refill your onchain account used for payments when it gets low. This workflow, powered by 1Shot API, does just that. It also sends you real time Telegram notifications about your account balance and savings every time your account rebalances. Aave Protocol This workflow integrates the Aave lending protocol to generate savings APY on your excess USDC funds on the Base network. When your holdings in your primary Metamask smart account exceed a threshold you set, it will deposit them into the Aave Lending Pool. This results in your account receiving aBasUSDC, a deposit receipt token used to withdraw your savings at a later time. When your account drops below a refill-threshold you set, it will exchange the aBasUSDC back to USDC and put in back into your primary account so that you can spend it. Setup Instructions This workflow will automatically balance your USDC funds on Base network so that you keep funds you aren't using in Aave to earn interest and automatically move funds out of savings back into your wallet when funds get low. Create a free 1Shot API account. Generate an API key & secret and use these to create a credential for the 1Shot API node's. Click the trigger on the subworkflow to automatically import the required smart contract functions and provision a 1Shot API server wallet on Base that will relay your transactions when you are not online. Input the contract method IDs from 1Shot API into the "Savings Config" node. Set your saving thresholds in the "Savings Config" node. Create a Telegram bot and use the bot's API key to generate a credential for the Telegram nodes. Get your chat id with the bot and input it into the "Savings Config" node. Configure your desired schedule in the "Schedule" trigger node (like every 24 hours) Activate the workflow.
by Milan Vasarhelyi - SmoothWork
Video Introduction Want to automate your inbox or need a custom workflow? π Book a Call | π¬ DM me on Linkedin Overview This workflow automates invoice creation in QuickBooks Online by importing data directly from a Google Sheet. Instead of manually entering invoice details one by one, this template reads structured data from your spreadsheet and automatically generates corresponding invoices in QuickBooks, saving time and reducing data entry errors. Key Features Automatically reads invoice data from Google Sheets including customer IDs, descriptions, and amounts Creates properly formatted invoices in QuickBooks Online with line items Eliminates manual data entry and reduces human error Scalable solution for processing multiple invoices at once Common Use Cases Batch invoice generation from sales or order data Automated billing workflows for recurring services Syncing invoice data from external systems via Google Sheets Streamlining accounting processes for small businesses Setup and Configuration QuickBooks Developer Account: Register at developer.intuit.com and create a new app in the App dashboard Select 'Accounting' scope permissions for your application Copy your Client ID and Client Secret from the Keys & Credentials section Add the n8n OAuth redirect URL to your app's authorized redirect URIs In n8n, create a QuickBooks Online OAuth2 credential using your Client ID and Secret Set Environment to 'Sandbox' for testing or 'Production' for live data Click 'Connect my account' and authorize the connection Google Sheets Setup: Connect your Google Sheets account in n8n using OAuth2 authentication Update the 'Config - Sheet URL' node with your Google Sheets URL Your sheet must contain these columns: CustomerId (QuickBooks customer ID), Description (line item description), and Amount (invoice amount) Invoice Customization: In the 'Create Invoice in QuickBooks' node, adjust the itemId and Qty fields to match your QuickBooks accounting setup and product catalog.
by DevCode Journey
Telegram AI Chatbot with Google & Gemini Integration Simple overview This workflow connects a Telegram bot to Google Gemini (PaLM API) so the bot can reply to users with AI-generated answers. Useful for FAQs, assistants, classroom helpers, or bots that fetch document content to answer questions. Who is this for Educators, creators, developers, and support teams who want a low-code Telegram chatbot powered by Gemini. What it does (quick) Listens for messages sent to your Telegram bot. Sends incoming text to Google Gemini and receives a generated reply. Optionally fetches content from Google Docs or an external API to enrich replies. Sends the reply back to the original Telegram user. Processes messages in batches and adds short delays to avoid spamming. Quick setup (5 steps) Create a Telegram bot with @BotFather and copy the bot token. Add Telegram credentials to n8n (Telegram node). Get a Google Gemini (PaLM) API key and add it to n8n. (Optional) Connect Google Docs OAuth2 if you want the bot to read documents. Activate the workflow and test by messaging the bot. Required items Telegram bot token Google Gemini (PaLM) API key n8n instance with Telegram and HTTP nodes enabled (Optional) Google Docs OAuth2 credential How it works (step-by-step) Telegram message arrives β Trigger node. Workflow extracts message and user info. (Optional) Pull supporting content from Google Docs or an API. Send prompt + context to Gemini β receive reply. Send reply back to the Telegram user. Add small delays and batch processing to handle volume safely. How to customize Edit the Gemini prompt to change response style and behavior. Switch Gemini model (Flash vs Pro) for speed vs. quality. Add conditions (If / Switch) to route different inputs to different behaviors. Append more data sources (Sheets, external APIs) to enrich replies. Add error handling to retry or log failed requests. Testing checklist Send a test message to the bot and confirm a reply. If using Google Docs, confirm the bot can read the target document. Check logs and node outputs in n8n for any errors. Tips and best practices Keep prompts concise and include only needed context to reduce costs. Use rate limiting (Wait node) and batching to avoid API throttling. Store API keys securely in n8n credentials. Start with small tests before enabling automated production runs. For Help Our Website: devcodejourney.com LinkedIn: LinkedIn WhatsApp Channel: Chat Now WhatsApp: Chat Now
by Omar Kennouche
How it works Triggers manually or on schedule (03:00 daily by default) Fetches workflows tagged backup-workflows via n8n API Normalizes workflow names and applies [client: NAME] tag convention Prepares JSON in the same structure as an n8n UI export Checks GitLab repository: Create new file if missing Update file if content differs Skip if unchanged Logs results with recap (created, updated, unchanged, total) Set up steps Configure your GitLab credentials in n8n Create a repository and branch for workflow backups Set global variables (owner, project, branch, backup path) Tag workflows to include with backup-workflows Run manually once to test, then enable the schedule
by SerpApi
Google Play Store App Rank and Rating Monitoring What and who this is for This workflow will be useful for anyone looking to do SEO tracking on the Google Play Store. It automates checking Google Play Store rank positions and average ratings for a list of app titles. The SerpApi component can also be modified to use other APIs for anyone looking for SEO tracking on any other search engine supported by SerpApi. How it works This workflow takes in a list of keywords and app titles to identify the apps' rank in Google Play Store search results. It also grabs the average rating of the app. The search uses SerpApi's Google Play Store API. The results are then synced to two different sheets in a Google Sheet. The first is a log of all past run. The latest results are appended to the bottom of the log. The second updates a kind of "dashboard" to show the results from the latest run. The workflow includes a Wait node that delays 4 seconds between each app title and keyword pair to prevent hitting the default Google Sheets' API per minute rate limit. You can delete this if you have a high enough custom rate limit on the Google Sheets API. The Schedule Trigger is configured to run at 10 AM UTC every day. How to use Create a free SerpApi account here: https://serpapi.com/ Add SerpApi credentials to n8n. Your SerpApi API key is here: https://serpapi.com/manage-api-key Connect your Google Sheets accounts to n8n. Help available here: https://n8n.io/integrations/google-sheets/ Copy this Google Sheet to your own Google account: https://docs.google.com/spreadsheets/d/1DiP6Zhe17tEblzKevtbPqIygH3dpPCW-NAprxup0VqA/edit?gid=1750873622#gid=1750873622 Set your own list of keywords and app titles to match in the 'Latest Run' sheet. This is the source list used to run the searches and must be set. Connect your Google Sheet in the 'Get Keywords and Titles to Match' Google Sheet node Connect your Google Sheet in the 'Update Rank & Rating Log' Google Sheet node Connect your Google Sheet again in the 'Update Latest Run' Google Sheet node (Optional) Update the schedule or disable the schedule to only run manually Documentation SerpApi Google Play Store API SerpApi n8n Node Intro Guide