by Evozard
This workflow functions by integrating Shopify customers into Odoo customers. Trigger: Shopify – New Customer Created The workflow starts when a new customer is added in Shopify. Action: Odoo – Search Contact by Email It checks in Odoo to see if a contact already exists with the same email address as the Shopify customer. Condition: Email Match Check If a contact with the same email is found, the workflow ends (no duplicate contact is created). If no match is found, the workflow proceeds to the next step. Action: Odoo – Create New Contact A new contact is created in Odoo using the customer's: Full name Email address Phone number Full Address (whichever is available)
by Davide
📩🤖 This workflow automatically processes emails received in Gmail, extracts their attachments, and organizes them into specific folders in Google Drive based on the sender's email address. Note: The workflow avoids duplicates by checking folder existence before creation. Benefits: ✅ Automated Organization: No need to manually sort or download email attachments. 📁 Sender-based Categorization: Files are stored in clearly labeled folders per sender, improving traceability and reducing clutter. ⏱ Time-saving: Reduces repetitive administrative tasks by automating the workflow end-to-end. 🔁 Modular and Scalable: Can be easily extended or reused with other services (e.g., Dropbox, S3) or integrated into larger document workflows. 🔐 Secure Cloud Storage: Attachments are safely backed up in Google Drive, minimizing the risk of data loss from email. How It Works Trigger: The workflow can be triggered manually ("When clicking ‘Execute workflow’) or automatically (via Gmail Trigger polling emails every minute). Email Processing: Fetches emails (with attachments) from Gmail within a date range (default: July 6–9, 2025). For each email, checks if it contains attachments (via IF node). Folder Management: Searches Google Drive for a folder named after the sender’s email address (under parent folder "Email Attachments"). Creates the folder if it doesn’t exist. Attachment Handling: Splits out binary attachments, extracts filenames, and uploads each file to the sender’s dedicated folder in Google Drive. Sub-Workflow Execution: Uses Execute Workflow to modularize the upload process (reusable for other workflows). Set Up Steps Google Services: Connect Gmail and Google Drive nodes to your accounts via OAuth2. Ensure the parent folder "Email Attachments" (ID: 1EitwWVd5rKZTlvOreB4R-6xxxxxx) exists in Google Drive. Adjust Date Range: Modify receivedAfter/receivedBefore in the Get emails node to target specific emails. Test: Run manually to verify folder creation and attachment uploads. Activate Automation: Enable the Gmail Trigger for real-time processing (currently active: false). Need help customizing? Contact me for consulting and support or add me on Linkedin.
by ConvertAPI
Who is this for? For developers and organizations that need to convert PPTX files to PDF. What problem is this workflow solving? The file format conversion problem. What this workflow does Downloads the PPTX file from the web. Converts the PPTX file to PDF. Stores the PDF file in the local file system. How to customize this workflow to your needs Open the HTTP Request node. Adjust the URL parameter (all endpoints can be found here). Add your secret to the Query Auth account parameter. Please create a ConvertAPI account to get an authentication secret. Optionally, additional Body Parameters can be added for the converter.
by Harshil Agrawal
This workflow allows you to send position updates of the ISS every minute to a topic in MQTT using the MQTT node. Cron node: The Cron node will trigger the workflow every minute. HTTP Request node: This node will make a GET request to the API https://api.wheretheiss.at/v1/satellites/25544/positions to fetch the position of the ISS. This information gets passed on to the next node in the workflow. Set node: We will use the Set node to ensure that only the data that we set in this node gets passed on to the next nodes in the workflow. AWS SQS: This node will send the data from the previous node to the iss-position topic. If you have created a topic with a different one, you can use that topic instead.
by Alex Halfborg
BACKGROUND Malaysia's Inland Revenue (LHDN) provides an API to get the tax id number for a business entity, based on a given Business Registration number (BRN or SSM), or NRIC (MyKad). PROBLEM However, the API only allows one search at a time. SOLUTION This free workflow lets you do a batch search to get TIN for multiple SSM or NRIC. This is useful if you need to prepare your internal DB for e-invoicing PRE-REQUISITES 1) Get your connection client id and client secret from myhasil.gov.my website 2) Prepare your Google Sheet containing a list of SSM and NRIC you want to get the TIN 3) Create N8N credential to connect to your google sheet above SUPPORT Questions? Ask alex at halfborg dot com
by Nazmy
Bearer Token Validation This n8n template helps you manage and validate tokens easily using: n8n as your backend workflow engine Airtable as your lightweight token store 🚀 What It Does Stores user tokens securely in Airtable with expiry or usage metadata. Validates incoming tokens in your workflows (e.g., webhook APIs). Rejects invalid or expired tokens automatically for security. Can be extended to generate, rotate, or revoke tokens for user management. How It Works Webhook node receives requests with a Bearer header. Airtable Query looks up the provided token. Validation Logic (Code node): Checks if the token exists. Verifies expiry or usage limits if configured. Returns success if valid, or error if error with describing the issue. Note: This is the simplest way to do auth, just for simplification Why Use This No need for a full backend to manage secure token validation. Clean, modular, and ready for your SaaS workflows. Enjoy building secure automations with n8n + Airtable! 🚀 Built by: Nazmy
by Meak
Google Maps Email Scraper System Most lead generation tools charge $2–$5 per lead and lock you into expensive subscriptions. This workflow lets you scrape unlimited business emails from Google Maps for free — no paid APIs required. Benefits Zero API costs – scrape data directly from Google Maps Unlimited leads – extract thousands of emails per day Geographic targeting – search by city, region, or business type Complete automation – from search to clean email list Built-in data cleaning – removes duplicates & invalid entries How It Works Reads search queries from a Google Sheet (e.g., "Calgary dentist") Sends HTTP requests to Google Maps and scrapes business listings Extracts website URLs with custom JavaScript regex Visits each site, scrapes HTML, and finds email addresses Cleans and validates data Exports organized lead list back to Google Sheets Who Is This For B2B sales teams generating leads for outreach Marketing agencies building client lead databases Local businesses researching competitors & partners Real estate professionals analyzing target neighborhoods Franchise developers scouting new markets Setup Create a Google Sheet with two tabs: “searches” & “emails” Add search queries to the “searches” tab (one per row) Connect Google Sheets OAuth credentials in n8n Configure HTTP request nodes with SSL ignore enabled Add custom JavaScript regex code for URL and email extraction ROI & Monetization $0 per lead vs. $2–$5 from paid tools Generate 1,000+ leads per day without hitting API limits Sell lead lists or offer as a $500–$2,000 per niche/location service Perfect upsell for agencies offering outreach or local SEO Strategy Insights In the YouTube walkthrough, I show how to: Write custom JavaScript + regex for clean URL extraction Build a robust loop system with error handling & rate limiting Avoid IP blocking with batching & delays Sell lead generation as a high-margin recurring service Automate outreach to monetize the leads you scrape 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 Simeon
Google Calendar MCP – Context-Aware Calendar Operations This n8n template implements an MCP (Model Context Protocol)-compliant module for managing Google Calendar events in a context-aware, conflict-free manner. 🧠 What It Does This MCP enables structured interaction with Google Calendar based on context and intent, ensuring reliable, reusable operations with awareness of existing data and state. ✅ Core Capabilities Context-aware event creation** Prevents overlapping by validating time availability before creating new events. Gap validation** Checks if a time range is busy or free, enabling smarter scheduling decisions. Conditional updates** Only updates events after confirming their existence and current state. Safe deletion** Removes events using MCP principles of validation and traceability. 🚀 How to Use To use this MCP in your context-aware systems: Deploy the template in your n8n instance. Locate the Server node in the workflow — it exposes a Server-Sent Events (SSE) URL. Copy that SSE URL. Use that URL as the entry point for your MCP client or orchestrator. This URL acts as the communication bridge, allowing you to interact with the MCP-compliant Google Calendar logic using standard MCP semantics.
by Julien DEL RIO
This template is inspired by Save your workflows into a GitHub repository by hikerspath and Back Up Your n8n Workflows To Github by jon-n8n. Basic Retrieve all workflows from an n8n instance and save it on a gitlab project. If the workflow exist, il will only save the changes. Flow What the workflow does : Sets custom parameters Gets workflows Iterates through each workflow one by one Get the file from Gitlab if exists Compare the files as objects (not as strings) Return a status on the workflow Create, Edit or ignore the file depending on the status Return a list of status for each workflow Configuration Select a credential in each Gitlab nodes. Edit the data in node "Globals" : repo.owner : slug of the user or team owning the repo repo.name : slug of the repository repo.branch : branch to commit on repo.path : from root of the repository. Should end with / Comments Error on gitlab nodes will not stop the run but will list the current workflow as error in the results Some fields are ignored to determined if there is changes : updatedAt : should be ignored if only ignores fields are changed globals : it's running information, no need to follow the changes
by Evoort Solutions
AI-Powered Image Background Removal Workflow with Google Sheets Integration Flow Description: This workflow utilizes AI-powered image background removal integrated with Google Sheets to create a fully automated and streamlined process for handling and managing image files. The flow is triggered when a user uploads an image through a form. The image is sent to the API Background Remover AI, where it undergoes automatic background removal. Upon successful processing, the new image is uploaded to a temporary file storage service using the Temp File Upload. Afterward, the relevant data, including the image link and status, is logged in a Google Sheets document for easy access and tracking. In case the process fails, the system automatically logs a failure status in the same Google Sheet, along with the reason (if applicable). This allows users to have a transparent, organized, and real-time view of both successful and failed background removal attempts. Used APIs: Background Remover AI: An AI-powered service that removes backgrounds from images. This service offers a fast, accurate, and scalable solution for background removal in images. Temp File Upload: This API facilitates the upload of processed images to a temporary file storage service, making it easy to access and manage files before permanent storage. Use Case: This workflow is highly beneficial for businesses and developers who need to process multiple images automatically. It helps automate tedious tasks such as background removal, making it an efficient tool for industries like: E-commerce**: Automatically removing backgrounds from product images for clean, professional-looking listings across online platforms such as Amazon, eBay, or Shopify. Content Creation**: Content creators can quickly remove backgrounds from images for blogs, social media posts, and marketing campaigns, saving significant time in photo editing. Real Estate**: Real estate businesses can use this workflow to enhance property images by removing unwanted backgrounds, making them look more polished and appealing for listings. Advertising & Marketing**: This workflow simplifies image preparation for digital ads, banners, and promotional content by automatically cleaning up images for a more professional look. Benefits: Time-Saving: By automating the background removal process via the **Background Remover AI API, you eliminate the need for manual image editing, saving time and resources. AI-Powered Accuracy**: The AI-powered background removal service ensures precise and high-quality results consistently. Seamless Integration with Google Sheets: All successful and failed image processing attempts are automatically logged into a **Google Sheets document, ensuring you have a transparent, real-time record of each operation. Error Tracking**: In case of failure, detailed error logs are created in Google Sheets, allowing easy tracking and troubleshooting. Efficient Cloud Storage: The **Temp File Upload API stores processed images securely in the cloud, offering a temporary solution before permanent storage. Google Sheets Table Example: The data from the workflow will be automatically added to a Google Sheets document, creating an organized table with information about the processed images. The table will have the following columns: | Image Name | Link | Status | Expire At | |-----------------|----------|------------|---------------------| | image1.jpg | Link | Success | 2025-07-25T12:00:00Z | | image2.jpg | Link | Success | 2025-07-25T12:00:00Z | | image3.jpg | Not found | Failed | 2025-07-24T12:00:00Z | | image4.jpg | Link | Success | 2025-07-25T12:00:00Z | Columns Explained: Image Name**: The name of the image file uploaded by the user. Link**: A direct link to the processed image stored in temporary file storage. Status: Indicates whether the background removal was **Successful or Failed. Expire At**: The expiration date and time when the temporary file link will no longer be accessible. This table provides real-time tracking of each image processing event, offering full visibility of the workflow results. It is ideal for businesses or developers who need to keep a record of their image-processing operations. Additional Features: Automatic Error Logging**: If the background removal fails for any reason, a failure entry is recorded in Google Sheets with a timestamp and an error message. Custom Expiry Time**: The system automatically sets an expiry time for the processed image, allowing temporary access before it expires and is removed from storage. Scalable Process**: The workflow can easily handle multiple form submissions and process images in bulk, making it scalable for various use cases. Create your free n8n account and set up the workflow in just a few minutes using the link below: 👉 Start Automating with n8n Save time, stay consistent, and grow your LinkedIn presence effortlessly!
by Rosh Ragel
Automatically Send Weekly Sales Reports from Square via Outlook What It Does This workflow automatically connects to the Square API and generates a weekly sales summary report for all your Square locations. The report matches the figures displayed in Square Dashboard > Reports > Sales Summary. It's designed to run weekly and pull the previous week’s sales into a CSV file, which is then sent to a manager/finance team for analysis. This workflow builds on my previous template, which allows users to automatically pull data from the Square API into n8n for processing. (See here: https://n8n.io/workflows/6358) Prerequisites To use this workflow, you'll need: A Square API credential (configured as a Header Auth credential) A Microsoft Outlook credential How to Set Up Square Credentials: Go to Credentials > Create New Choose Header Auth Set the Name to Authorization Set the Value to your Square Access Token (e.g., Bearer <your-api-key>) How It Works Trigger: The workflow runs every Monday at 4:00 AM Fetch Locations: An HTTP request retrieves all Square locations linked to your account Fetch Orders: For each location, an HTTP request pulls completed orders for the previous week (e.g., Monday to Sunday) Filter Empty Locations: Locations with no sales are ignored Aggregate Sales Data: A Code node processes the order data and produces a summary identical to Square’s built-in Sales Summary report Create CSV File: A CSV file is created containing the relevant data Send Email: An email is sent via Microsoft Outlook to the chosen third party Example Use Cases Automatically send weekly Square sales data to management to improve the quality of planning and scheduling decisions Automatically send data to an external third party, such as a landlord or agent, who is paid via commission Automatically send data to a bookkeeper for entry into QuickBooks How to Use Configure both HTTP Request nodes to use your Square API credential Set the workflow to Active so it runs automatically Enter the email address of the person you want to send the report to and update the message body If you want to remove the n8n attribution, you can do so in the last node Customization Options Add pagination to handle locations with more than 1,000 orders per week Why It's Useful This workflow saves time, reduces manual report pulling from Square, and enables smarter automation around sales data — whether for operations, finance, or performance monitoring.
by Patrick Campbell
Who's this for Small business owners, finance teams, accountants, and bookkeepers who use Xero for invoicing and want to improve cash flow by automating payment reminders. If you're spending time manually following up on unpaid invoices or struggling with late payments, this workflow eliminates the manual effort and ensures consistent, timely communication with customers while maintaining a complete audit trail. What it does This workflow automatically monitors all invoices in your Xero account and sends friendly payment reminders to customers when invoices are approaching their due date. It runs daily at noon, checks every invoice, calculates how many days until payment is due, sends personalized email reminders for invoices due within 7 days, and logs each reminder activity back into Xero's invoice history. The automation ensures no invoice slips through the cracks, reduces the administrative burden of accounts receivable management, and maintains professional customer relationships through polite, timely reminders—all while keeping your Xero records up to date with reminder tracking. How it works The workflow executes automatically every day at 12 PM and follows this process: Triggers the daily check using the Schedule Trigger node Fetches all invoices from your Xero account using the Xero API integration Filters out invoices that are already marked as "PAID" to avoid sending unnecessary reminders Calculates the number of days remaining until each unpaid invoice is due using a JavaScript code node Identifies invoices that are due within the next 7 days (customizable threshold) Sends personalized email reminders to customers via Microsoft Outlook, including invoice number, due date, and amount Logs the reminder activity back into Xero's invoice history with the date sent and days until due Creates a complete audit trail in Xero showing when reminders were sent for each invoice The workflow only sends reminders for invoices meeting the criteria, so customers aren't bombarded with unnecessary emails. The Xero history logging ensures your team can see at a glance which customers have been reminded and when, preventing duplicate reminders and providing accountability. Requirements Xero account with API access enabled (available to all Xero users at no additional cost) Microsoft Outlook or Office 365 account for sending email reminders Valid email addresses configured for all customers in your Xero contact records n8n instance (self-hosted or cloud) with credentials configured for: Xero OAuth2 connection (used twice: once for fetching invoices, once for logging history) Microsoft Outlook OAuth2 connection Setup instructions 1. Enable Xero API access Ensure your Xero account has API access enabled. This is available by default for all Xero accounts. You'll need administrator access to create the API connection. 2. Configure n8n credentials In your n8n instance, set up OAuth2 credentials for: Xero:** Follow n8n's Xero credential documentation to authorize access to your Xero organization. Make sure the credentials have permission to both read invoices and write to invoice history. Microsoft Outlook:** Set up OAuth2 connection to allow n8n to send emails on your behalf 3. Assign credentials to nodes Open the workflow and assign your configured credentials to these nodes: "Fetch All Xero Invoices" → Select your Xero credential "Send Email Reminder to Customer" → Select your Microsoft Outlook credential "Log Reminder in Xero History" → Select your Xero credential (same as above) 4. Customize the email template Edit the "Send Email Reminder to Customer" node to personalize the message: Update the sender name and signature Add your company branding or logo Include payment instructions or online payment links Adjust the tone to match your customer communication style Add any legal disclaimers or terms if required Customize the subject line if needed 5. Adjust the reminder threshold (optional) By default, reminders are sent for invoices due within 7 days. To change this: Open the "Calculate Days Until Due" code node Find the line: isDueSoon: diffDays <= 7 && diffDays >= 0 Change 7 to your preferred number of days (e.g., 14 for two weeks notice) 6. Test the workflow Before enabling the daily schedule: Use the manual trigger to test with your actual Xero data Verify that invoices are fetched correctly Check that the date calculations are accurate Send a test email to yourself to review the message format Confirm the reminder is logged in Xero's invoice history Verify only qualifying invoices trigger reminders 7. Activate the workflow Once testing is complete, activate the workflow. It will run automatically every day at noon (or your customized schedule time).