by Robert Breen
This workflow looks inside a Google Drive folder, parses each PDF invoice with PDF.co’s AI Invoice Parser, and appends vendor, amount, dates, and a link to the file into a Google Sheet. ⚙️ Setup Instructions 1) Connect Google Drive (OAuth2) In n8n → Credentials → New → Google Drive (OAuth2) Sign in to the Google account that owns your invoice PDFs and allow access. In the Get Parent Folder ID node, set your search to the folder name (e.g., n8n Invoices). In Get Invoice ID’s, ensure Filter → folderId uses the ID from the previous node (already wired in this template). > Tip: The workflow builds a Drive link like > https://drive.google.com/file/d/<FILE_ID> > Make sure those files are at least viewable via link (e.g., Anyone with the link – Viewer) so PDF.co can fetch them. 2) Connect PDF.co (AI Invoice Parser) Create a PDF.co account and copy your API Key. In n8n → Credentials → New → PDF.co API, paste your key and Save. In the AI Invoice Parser node, keep URL mapped to the Drive link coming from Convert to URL. The node is already set to use your PDF.co credentials. > What it does: Sends each Drive file URL to PDF.co’s AI Invoice Parser and returns structured JSON (vendor, totals, dates, line items, etc.). The next Set Fields node maps those fields to simple columns for Sheets. 3) Connect Google Sheets (OAuth2) In n8n → Credentials → New → Google Sheets (OAuth2) Log in with your Google account and grant access. In the Store Data in Google Sheets node, select your Spreadsheet and Sheet (this template is set to: Spreadsheet: Invoice Template (1a6QBIQkr7RsZtUZBi87NwhwgTbnr5hQl4J_ZOkr3F1U) Tab: Due (gid: 1002294955) The node is configured to Append or Update by Url so repeats won’t duplicate. Expected columns on the Due tab: Url (Drive link we generated) Vendor Invoice Date Total Due Date ▶️ How to Run Put your PDF invoices in the “n8n Invoices” folder (or the folder name you used). Click Execute Workflow in n8n. Watch items flow: Get Parent Folder ID → finds folder Get Invoice ID’s → lists files in that folder Convert to URL → turns each file ID into a shareable link AI Invoice Parser → extracts JSON from each PDF Set Fields → maps fields for Sheets Store Data in Google Sheets → appends/updates the Due sheet 🧩 Troubleshooting PDF.co can’t fetch the file:* Ensure your Drive file link is accessible (e.g., *Anyone with the link – Viewer**), or use a URL that PDF.co can reach. No rows added:* Confirm the *Google Sheets* credential is selected and the *Sheet tab** (gid) matches your target. Wrong folder:* Update the search string in *Get Parent Folder ID** to match your Drive folder name. 📬 Contact Need help customizing this (e.g., auto-sharing Drive links, enriching the Sheet, or pushing to Slack/Email)? 📧 robert@ynteractive.com 🔗 Robert Breen 🌐 ynteractive.com
by Rosh Ragel
Ask Client for Billing Details and Automatically Generate an Invoice in QuickBooks What It Does This workflow allows you to quickly generate and send invoices by collecting missing billing details from clients through an automated form and email sequence. It integrates Microsoft Outlook and QuickBooks Online to handle the full billing flow: from request to invoice, reducing manual data entry and time wasted switching between apps. Perfect for freelancers, service providers, or teams that want to streamline invoicing without going back and forth with clients. Prerequisites Microsoft Outlook credential QuickBooks Online OAuth2 credential How It Works Trigger: Manually start the workflow by filling out a form with the client’s email, invoice amount, description, and product. Send Request Email: A pre-written email is sent to the client asking them to provide their billing details. Collect Info: The client submits their billing name and address via a hosted form. Add/Find Client in QuickBooks: If the client doesn't exist, a new record is created; otherwise, the existing client is used. Generate Invoice: A QuickBooks invoice is created using the submitted info and selected product. Send Invoice: The invoice is automatically emailed to the client using QuickBooks' native interface. Example Use Cases Freelancers requesting billing info before sending an invoice Small businesses invoicing new clients without manual QuickBooks entry Sales or ops teams who want to request billing info via email with just a few clicks Automating follow-up for new customer onboarding or service requests Setup Instructions Connect your Outlook and QuickBooks credentials Add your products to the dropdown list in the Enter Client Details node ⚠️ Make sure the product names exactly match the items in QuickBooks Select the tax code in the Create A New Invoice node Customize the email message in the Send Invoice Request Outlook node to reflect your brand voice How to Use Copy the public URL from the Enter Client Details node (this way you don't have to trigger the workflow manually inside n8n) Each time you need to invoice a client, open the form and fill in: Client’s email Product/service name Invoice amount and description The client receives an email prompting them to fill in their billing info Once submitted, the system creates and sends a QuickBooks invoice automatically Customization Options Add support for multiple line items Automatically send reminder emails if the form isn't completed within a day Add internal logging (Google Sheets, Airtable, etc.) for sent/paid invoices Why It's Useful This workflow removes friction from your billing process. Instead of chasing clients for info and copying data into QuickBooks, you send one email and automation does the rest. It saves time, reduces errors, and makes invoicing feel seamless — while still keeping you in control.
by Milan Vasarhelyi - SmoothWork
Video Introduction Want to automate your inbox or need a custom workflow? 📞 Book a Call | 💬 DM me on Linkedin What This Workflow Does This workflow creates an AI-powered chatbot that answers natural language questions about your QuickBooks data in real-time. Users can interact with a public chat interface to query customer information, balances, invoices, and other accounting data without needing to navigate the QuickBooks interface directly. The AI agent uses OpenAI's language model to understand questions and automatically retrieves the relevant data from QuickBooks. Key Features Natural Language Interface**: Ask questions like "How many customers do we have?" or "What's the total balance across all customers?" and get instant answers Public Chat URL**: Share a link with team members or stakeholders so they can access QuickBooks insights without direct system access Customizable Data Access**: Configure the QuickBooks tool to retrieve different resources (customers, invoices, expenses, bills, etc.) based on your needs Common Use Cases Enable non-accounting staff to get quick answers about customer data Provide executives with on-demand financial insights without training them on QuickBooks Create a self-service interface for sales teams to check customer balances Build internal support bots that can answer accounting questions Setup Requirements QuickBooks Developer Account: Register at developer.intuit.com and create a new app with Accounting permissions Credentials: Configure QuickBooks OAuth2 API credentials (Client ID, Client Secret, and Redirect URI from the Intuit Developer dashboard) and OpenAI API credentials Environment: Start with Sandbox mode for testing, then switch to Production after getting your app approved by Intuit Tool Configuration: The QuickBooks tool is pre-configured to retrieve all customer data, but you can modify the operation and filters to access different QuickBooks resources based on your requirements
by Rodrigo
How it works This workflow automates LinkedIn posting for businesses and personal brands. It starts with a form where you submit your post idea. Then: Message Model (OpenAI) generates the LinkedIn post text in a professional and engaging style. Image Generation (OpenAI) creates a custom visual to match the post idea and brand style. LinkedIn Node publishes the text + image directly to your LinkedIn account. This way, you can go from idea → AI-written post → branded visual → live LinkedIn content, all in one automated flow. Setup steps Connect your Form Trigger (or replace with Google Forms/Typeform/Notion etc. if you prefer). Configure OpenAI credentials for text and image generation. Adjust the AI prompts with your own details: [business name], [founder name], [brand colors], [tone of voice]. Connect your LinkedIn account in the final node. Requirements OpenAI API key (for text + image generation) LinkedIn account with API access n8n instance (self-hosted or cloud)
by Viktor Klepikovskyi
Preventing Simultaneous Executions of Scheduled Workflows This n8n template provides a robust solution for processing data from Google Sheets in a controlled manner, specifically designed to prevent simultaneous executions of a scheduled workflow. This is crucial for maintaining data integrity, avoiding race conditions, and ensuring that your automated processes handle data sequentially. What This Workflow Does and Why It's Important Many automated tasks involve processing a list of items, like rows in a Google Sheet. If a workflow is scheduled to run every minute, but a single run takes longer than a minute to complete, you could end up with multiple instances of the same workflow running concurrently. This can lead to: Data Duplication**: Processing the same row multiple times. Data Corruption**: Inconsistent updates or overwrites. Resource Exhaustion**: Overloading your systems or API rate limits. This template solves this by leveraging n8n's workflow runtime timeout feature. By setting the workflow's runtime timeout to be equal to or slightly less than its scheduled execution frequency, you ensure that only one instance of the workflow can run at any given time. Once a workflow run successfully completes, it updates a status in your Google Sheet, marking the processed rows and preventing them from being picked up again in subsequent runs. This guarantees sequential, reliable data processing and avoids conflicts. Step-by-Step Setup Instructions Import the Template: Import this workflow into your n8n instance. Google Sheets Credential: Ensure you have a Google Sheets credential configured in n8n and connected to the Google Sheets nodes within the workflow. Specify Spreadsheet and Sheet Name: In the "Google Sheet" node, update the Spreadsheet ID and Sheet Name to point to your specific Google Sheet. You can use this example Google Sheet for reference. Configure Processing Logic: Customize the nodes between the "Read Google Sheet" and "Update Google Sheet" steps to perform your desired data processing logic (e.g., sending emails, updating a CRM, making API calls). Set Up Schedule: Activate the workflow and configure its trigger (e.g., "Cron" node) to run on your desired schedule. Configure Workflow Timeout: In your n8n workflow settings, set the Workflow Timeout to a value equal to or slightly less than your scheduled execution frequency (e.g., if scheduled every 5 minutes, set timeout to 4 minutes 50 seconds). More details in my n8n tips blog.
by Yaron Been
Generate High-Quality Audio with Voxtral Small 24B 2507 This workflow integrates the notdaniel/voxtral-small-24b-2507 model from Replicate to generate audio content from provided inputs. It handles API authentication, creates predictions, polls until completion, and outputs the final generated audio file. ⚡ Section 1: Trigger & Authentication 🔘 On clicking 'execute'** → Manually starts the workflow. 🔑 Set API Key** → Stores your Replicate API key to authenticate requests. Benefit: Securely connects your workflow to Replicate’s API and ensures only authorized requests are made. 🎛️ Section 2: Create Prediction 🌐 Create Prediction** → Sends a request to Replicate’s API with parameters like: audio: Input audio file (e.g., a reference sample). max\_new\_tokens: Maximum number of tokens to generate (controls audio length/complexity). Benefit: Starts the audio generation process with configurable input and settings. ⏳ Section 3: Polling & Status Tracking 🆔 Extract Prediction ID** → Captures the unique prediction ID and endpoint for polling. ⏱️ Wait** → Pauses for 2 seconds before re-checking. 📡 Check Prediction Status** → Polls Replicate’s API to see if the audio generation is done. ✅ Check If Complete** → If finished: moves forward to process results. If not: loops back to wait and check again. Benefit: Efficiently manages asynchronous audio generation, ensuring the workflow only proceeds when results are ready. 🎧 Section 4: Process Result 📝 Process Result** → Extracts and structures final output data: status (success or failure) output (raw response) metrics (generation statistics) timestamps (created and completed times) audio\_url (final generated audio link) Benefit: Provides a clean, structured output that can be used in follow-up automations (e.g., sending audio to users, storing in a database, or sharing via email). 📊 Workflow Overview | Section | Purpose | Key Nodes | Benefit | | --------------------------- | ------------------------------- | ----------------------------------------------------------------------- | -------------------------------- | | ⚡ Trigger & Authentication | Start workflow & authenticate | Manual Trigger, Set API Key | Secure execution | | 🎛️ Create Prediction | Submit audio generation request | Create Prediction | Start model processing | | ⏳ Polling & Status Tracking | Monitor prediction progress | Extract Prediction ID, Wait, Check Prediction Status, Check If Complete | Ensures reliable completion | | 🎧 Process Result | Format and deliver output | Process Result | Clean audio result ready for use | ✅ Final Benefits 🔒 Secure authentication with Replicate 🎛️ Flexible audio generation using voxtral-small-24b-2507 ⏳ Reliable polling until results are ready 🎧 Clean and structured audio output
by Oneclick AI Squad
This workflow automates real-time student tracking using iOS Shortcuts and geolocation data, notifying both teachers and parents based on geofenced logic. 🎯 What This Workflow Does Receives student location updates via webhook (iOS Shortcuts) Detects if the student has arrived at school Logs arrival data to Google Sheets Sends email alerts** to teacher and/or parent based on location 🔄 Workflow Steps | Step | Description | | --------------------------- | -------------------------------------------------------- | | Location Update Webhook | Triggered via iOS Shortcut when student location updates | | Process Location Data | Extracts coordinates and metadata | | Student Arrived? | Checks if student entered school zone | | Log School Arrival | Adds arrival data to Google Sheet | | At School? | Double-checks geofence condition before notifying | | Notify Teacher | Sends email if student is confirmed at school | | Notify Parent | Sends email to parent (can vary based on geofence logic) | | Success Response | Returns a 200 response to the triggering device | 🧠 How the Logic Works The student’s phone runs a shortcut when near school. Sends coordinates to webhook. Workflow compares coordinates with predefined geofence (e.g., radius around school). If inside school zone: Log arrival Notify teacher and/or parent Else: Optionally notify parent only 📱 iOS Shortcut Sample (Trigger Setup) Automation Trigger**: Arrive at Location (e.g., School) Action**: Run Shortcut → Make Web Request (POST) POST URL: https://your-n8n-instance.com/webhook/location-update Body Example: { "student_id": "STU042", "student_name": "Anaya Joshi", "lat": 19.0760, "lng": 72.8777, "timestamp": "2025-08-06T08:05:00" } 📊 Google Sheets Logging | Student ID | Name | Date | Time | Status | | ---------- | ----------- | ---------- | ----- | ------- | | STU042 | Anaya Joshi | 2025-08-06 | 08:05 | Arrived | ⚙️ Setup Requirements n8n Instance** with webhook support Google Sheet** with appropriate columns iOS Shortcut** setup on student device Teacher and Parent Email Addresses** configured in workflow
by Marth
How it Works This workflow automates customer support for SMEs in five simple steps: Capture requests via a Webhook connected to a contact form. Extract the message to make processing easier. Check categories (e.g., refund-related requests) using an IF node. Save all tickets to a Google Sheet for tracking. Send an acknowledgment email back to the customer automatically. This setup ensures all customer inquiries are logged, categorized, and acknowledged without manual effort. Setup Steps Webhook Add a Webhook node with the path customer-support. Configure your contact form or system to send name, email, and message to this webhook. Extract Message (Set Node) Add a Set node. Map the incoming message field to make it available for other nodes. Check Category (IF Node) Insert an IF node. Example: check if the message contains the word “refund”. This allows you to route refund-related requests differently if needed. Save Ticket (Google Sheets) Connect to Google Sheets with OAuth2 credentials. Operation: Append. Range: Tickets!A:C. Map the fields Name, Email, and Message. Send Acknowledgement (Email Send) Configure the Email Send node with your SMTP credentials. To: ={{$json.email}}. Subject: Support Ticket Received. Body: personalize with {{$json.name}} and include the {{$json.message}}. 👉 With this workflow, SMEs can handle incoming support tickets more efficiently, maintain a simple ticket log, and improve customer satisfaction through instant acknowledgment.
by AI/ML API | D1m7asis
💬 GPT-5 Powered Telegram Bot — AI/ML API + n8n This n8n workflow lets users chat with GPT-5 directly in Telegram. It simulates typing for a natural UX, sends messages to GPT-5 via AI/ML API, and replies back in the same chat. Optionally, each interaction can be logged in Google Sheets. 🚀 Features 📩 Telegram-based chat input 💬 Typing indicator before reply 🧠 High-quality AI responses via openai/gpt-5-chat-latest (AI/ML API) 📤 Replies sent back in Telegram with formatting 📝 Optional logging to Google Sheets 🔒 Secure credential handling in n8n 🛠 Setup Guide 1. 📲 Create Telegram Bot Open @BotFather Use /newbot, choose name + username Save the API token 2. 🔐 Set Up Credentials in n8n Telegram API: paste the BotFather token AI/ML API: create a key from aimlapi.com (Optional) Google Sheets: connect via OAuth2/Service Account 3. 📗 Prepare Google Sheet (optional logging) Name: e.g., GPT5 Bot Logs Sheet: Sheet1 Columns: user_id | date | query | response 4. 🔧 Configure Workflow Import the JSON into n8n Attach your credentials to the Telegram + AI/ML API nodes (Optional) update Google Sheets node with Sheet ID ⚙️ Flow Summary | Node | Function | | ------------------------------- | -------------------------------------- | | 📩 Receive Telegram Message | Trigger on user message | | 💬 Simulate Typing | Sends "typing…" action to Telegram | | 🧠 Process with GPT-5 | Calls AI/ML API with message text | | 📤 Send Response to Telegram | Replies back to user with model output | | 📝 Log Interaction (optional) | Appends log row to Google Sheets | 💡 Example User Flow User sends: What’s the capital of Japan? Bot replies after "typing…": The capital of Japan is Tokyo. Conversation continues naturally. 🧪 Testing Use a test chat with your bot Trigger via /execute workflow (not “Execute Node”) Add Set or Console nodes for debugging 📎 Resources 🔗 AI/ML API Docs 🤖 GPT-5 Models
by Calistus Christian
What this workflow does Automatically triages inbound security findings (e.g., from AWS Security Hub via EventBridge → SNS → Webhook), classifies them with an LLM, generates a 3-step remediation plan, and emails a compact incident brief. Pipeline: Webhook → Clean_Finding (normalize) → Classify (LLM) → Plan (LLM) → Gmail (email). You can substitute Microsoft Teams, Slack, etc. Normalizes the incoming finding JSON (title, description, account, resource id/type, updated_at). Uses an LLM to assign incident_type, severity (P0--P3), urgency, short_title, and why (concise rationale). Produces a 3-step remediation plan with owner_hint and success_criteria---kept atomic and practical. Sends a clean HTML email with all details (subject line includes short title, resource, and account). Category: Security / Cloud / Incident Management\ Time to set up: ~10--15 minutes\ Difficulty: Beginner--Intermediate\ Cost: Mostly free (n8n CE; OpenAI usage + Gmail/SMTP as used) * What you'll need An n8n instance reachable over HTTP (for the Webhook node). OpenAI (or compatible) credentials set in n8n. Gmail OAuth2 credentials (or swap Gmail node for SMTP). A source that can POST a Security-Hub-style finding to your webhook (EventBridge/SNS, a SIEM, or curl). Output (Email) Subject: <short_title> - <resource_id> in <account_id> Body: HTML summary with Type, Account, Urgency, Why, Next Actions (3 steps), Owner, Success criteria.
by Billy Christi
What this workflow does This workflow creates a comprehensive error monitoring system for your n8n instance by automatically capturing workflow failures, logging them to Google Sheets, and sending immediate email notifications. Step by step: Error Trigger automatically activates whenever any workflow in your n8n instance encounters an error or failure Google Sheets - Create Error Log captures and stores comprehensive error details in a spreadsheet including workflow information, node details, timestamps, and full error stack traces Gmail - Send Notification dispatches immediate email alerts with formatted error summaries containing workflow names, failed nodes, error descriptions, and direct links to failed executions How to set up Copy the Google Sheets template structure from this link: https://docs.google.com/spreadsheets/d/11-vLBAKolEvaL0qQDjckHmvC1S6_hxHbgSP8CLyngSs/edit?gid=0#gid=0 - This step is crucial as it provides the correct column structure for error logging Connect your Google Sheets account to the Google Sheets node and update the document ID to point to your copied error logging spreadsheet Connect your Gmail account to the Gmail node for sending error notifications Update the Gmail recipient email from "n8n_log_template@yopmail.com" to your preferred notification email address Customize email subject and message format according to your notification preferences and organizational needs Test the workflow by intentionally creating a small error in a test workflow to verify the logging and notification system works correctly Monitor your error logs regularly through the Google Sheets document to identify patterns and recurring issues How to customize this workflow to your needs Add multiple notification recipients**: modify the Gmail node to send alerts to different team members or create separate nodes for different notification channels (Slack, Discord, etc.) Customize error filtering**: add conditional logic to only log certain types of errors or exclude specific workflows from monitoring Enhance error categorization**: add additional columns to your Google Sheets template for error severity levels, affected systems, or resolution status tracking Set up error escalation**: create time-based triggers that send follow-up notifications for unresolved errors after specific time periods Need help customizing? Contact me for consulting and support: 📧 billychartanto@gmail.com
by PhilanthropEAK Automation
Who's it for Small online store owners, new entrepreneurs, and anyone getting started with e-commerce automation. Perfect for beginners who want to automate their order process without complexity or additional costs. Ideal for stores using Shopify, WooCommerce, Etsy, or any platform that supports webhooks. How it works This simple workflow automatically handles new orders by sending professional confirmation emails to customers and notification emails to your team. When a customer places an order, your e-commerce platform sends the order data to this workflow via webhook. The system extracts essential order information like customer details, order number, and total amount, then validates the data to ensure completeness. It sends a beautifully formatted confirmation email to the customer with order details, next steps, and your contact information. Simultaneously, your team receives an order notification email with all the details needed to process and fulfill the order. The workflow includes error handling for incomplete orders and sends appropriate responses back to your e-commerce platform to confirm successful processing. Everything is logged for easy tracking and troubleshooting. How to set up Prerequisites: An online store (Shopify, WooCommerce, etc.) Gmail account or any email service with SMTP 5 minutes for setup Setup steps: Configure your store information: Open the "Store Configuration" node Update with your store name, email addresses, phone number, and website This information appears in customer emails and notifications Set up email credentials: Add your Gmail account or SMTP email service to n8n Use the built-in email credential setup Gmail is free and works perfectly for most small stores Copy the webhook URL: Click on the "New Order Webhook" node Copy the webhook URL that appears This is where your store will send order data Add webhook to your store: Shopify: Go to Settings > Notifications > Webhooks, create new webhook for "Order creation" WooCommerce: WooCommerce > Settings > Advanced > Webhooks, add new webhook for "Order created" Other platforms: Look for webhook, API, or integration settings Test the workflow: Place a test order in your store Check that confirmation email was sent to customer Verify team notification email was received Confirm webhook response shows success Requirements E-commerce platform** with webhook support (Shopify, WooCommerce, BigCommerce, Etsy, etc.) Email account** - Gmail (free) or any SMTP email service n8n instance** - cloud subscription or self-hosted installation Basic store information** - contact details and branding How to customize the workflow Personalize email content: Edit the email templates in the "Send Customer Confirmation" and "Send Team Notification" nodes Add your brand voice and specific messaging Include additional order details or shipping information Add your logo or signature (if using HTML email) Modify order validation: Adjust validation rules in the "Validate Order Data" node Add checks for minimum order amounts Include product-specific validation Set up different handling for different order types Enhance team notifications: Add team member-specific routing based on order value or products Include inventory alerts for low-stock items Add urgency flags for rush orders Set up different notification schedules for weekends vs weekdays Extend functionality: Add SMS notifications using Twilio for urgent orders Include automated inventory updates Set up follow-up email sequences for customer engagement Add order status updates as items are processed and shipped Integration improvements: Connect with Google Sheets to log all orders automatically Add Slack notifications for team collaboration Integrate with shipping services for automatic label creation Link to accounting software for financial tracking This template focuses on simplicity and reliability, using only built-in n8n nodes and free services to get new store owners started with automation quickly and affordably.