by Łukasz
Overdue Invoice Payment Reminder Workflow Documentation What Is This? This workflow is an automated invoice payment tracking and reminder system for the Polish accounting service iFirma.pl. It monitors unpaid and overdue invoices, then automatically sends escalating reminders to contractors based on configurable time thresholds. The system handles three escalation levels: payment reminders before/at due date, pre-trial summons, and formal legal action notices. Who Is It For? Designed for Polish businesses, accounting departments, and financial controllers using iFirma.pl for invoice management. This workflow is essential for companies struggling with late payments and cash flow management, particularly those needing to enforce payment terms professionally and systematically. B2B service providers, consultancies, software development agencies, and any business issuing invoices to other companies will benefit from automated payment enforcement. The workflow eliminates manual tracking of payment deadlines and ensures consistent, professional follow-up with delinquent clients. Whether managing a handful of high-value invoices or processing hundreds of transactions monthly, this automation delivers timely notifications without manual calendar monitoring or spreadsheet management. How Does It Work? This end-to-end invoice monitoring automation consists of four main stages: 1. Configuration & Authentication Sets up user credentials (email/login, API key), defines escalation timeframes (X days before due date, Y days after, Z days after), and prepares company details for legal correspondence. The workflow then constructs a cryptographic authentication signature using HMAC-SHA1 algorithm, which iFirma requires for API access. 2. Invoice Retrieval & Filtering Connects to iFirma API to fetch all unpaid, partially paid, and overdue invoices, then filters them based on payment deadline dates. Only invoices that are either overdue or approaching their due date (within X days) proceed to the next stage. 3. Contractor Data Enrichment For each qualifying invoice, the workflow fetches complete contractor information from iFirma (since invoice records contain only partial contractor data). This includes email addresses, company names, and addresses needed for sending reminders. The workflow deduplicates contractors to avoid redundant API calls. 4. Escalation Logic & Notification Dispatch Invoices are categorized into three groups based on how overdue they are: Payment Reminder**: Due today or X days before due date → Sends reminder via iFirma's built-in notification system Pre-Trial Summons**: Y days after due date → Sends formal legal warning via email and optionally physical mail (PostGrid) Legal Action Notice**: Z days after due date → Sends notice of commenced legal proceedings via email and optionally physical mail Each action triggers a Slack notification to keep your team informed. How To Set It Up? Prerequisites: An active N8N account or self-hosted instance An iFirma.pl account with API access enabled A Slack workspace with appropriate bot permissions (Optional) PostGrid account for physical mail delivery (Optional) Gmail account configured for sending emails Required Configuration: In the "Configuration" node, set the following parameters: Email/Login: Your iFirma.pl account email or login username API Key Invoice: API key from iFirma.pl (found at: Start > Data and Configuration > Extensions and Integrations > API) X days before due date: How many days before payment deadline to send the first reminder (default: 7) Y days after due date: When to send pre-trial summons (default: 7 days overdue) Z days after due date: When to send legal action notice (default: 14 days overdue) Your Company Details Configuration: In the "Your Company Details" node, provide: Company Name, Email, Phone Full address (Street, City, Postal Code, Country Code) Bank details (Bank Name, Account Number, SWIFT Code) Tax Identification Number (TIN/NIP) This information is used for professional letterheads in legal correspondence and PostGrid physical mail delivery. Credentials Setup: Configure Slack OAuth2 credentials for notifications Set up Gmail OAuth2 credentials for email sending (if using email route) Configure PostGrid API credentials for physical letter delivery (if using mail route) Scheduling: The workflow runs automatically every 24 hours via the Schedule Trigger node. For testing, execute manually using the "Execute workflow" button. What's More? Custom Authentication Implementation: iFirma.pl requires HMAC-SHA1 authentication, which N8N doesn't provide natively. The workflow includes a complete JavaScript implementation of the SHA-1 cryptographic hash function and HMAC (Hash-based Message Authentication Code) algorithm. This ensures secure API access without external dependencies. Endpoint Mapping Intelligence: The workflow automatically maps invoice types (Rodzaj) to the correct iFirma API endpoints. Different invoice types (domestic, foreign, construction, advance payments, etc.) require different API paths for sending reminders. Professional HTML Templates: Pre-trial summons and legal action notices use professionally formatted HTML templates with proper legal language, payment details, deadlines, and consequences clearly outlined. These templates maintain consistent branding and meet legal communication standards. Multi-Channel Notification: Reminders can be sent via multiple channels simultaneously: iFirma's e-invoice system, email, physical mail (PostGrid), and internal Slack notifications for team awareness. Understanding the HMAC-SHA1 Authentication The "Encode API Key" nodes implement a critical security function that N8N cannot perform natively. Here's what happens and why: What the iFirma API Requires: iFirma.pl uses HMAC-SHA1 for request authentication. Each API request must include an Authentication header formatted as: IAPIS user={userLogin}, hmac-sha1={hash} The hash is calculated from: URL + userLogin + keyName + requestBody Why Custom Implementation is Needed: N8N's crypto functions don't include SHA-1 (it's considered outdated for modern security, though still required by some legacy APIs). Therefore, the workflow implements the entire SHA-1 and HMAC algorithms in pure JavaScript. How the Algorithm Works: Message Construction: Combines the API endpoint URL, user login, key name ("faktura"), and request body (if any) into a single string Hex Key Conversion: The API key from iFirma is provided in hexadecimal format and must be converted to raw bytes HMAC Process: Creates inner and outer padding arrays using XOR operations with specific constants (0x36 and 0x5C) Hashes the inner padded message using SHA-1 Hashes the outer padding combined with the inner hash result SHA-1 Implementation: Uses bitwise operations, rotating functions, and four rounds of 20 operations each to produce a 160-bit hash Header Generation: Formats the final hash as a hex string and constructs the authentication header Why Each Step Matters: Deterministic Hashing**: The same input always produces the same hash, allowing iFirma to verify request authenticity Binary Key Conversion**: The hex-to-bytes conversion ensures the secret key is interpreted correctly HMAC Security**: Using both inner and outer hashing with different padding prevents length extension attacks Message Integrity**: Including the URL and request body in the hash ensures the request hasn't been tampered with Thank You, Perfect! Visit my profile for other free business automations. And if you're looking for dedicated software development or custom n8n workflow solutions, don't hesitate to reach out at developers@sailingbyte.com or on sailingbyte.com!
by Ucartz Online
Improve your chess automatically — get a personalized AI coaching report delivered. This workflow connects to the free Chess.com public API, fetches your most recent game, and sends it to an AI language model that acts as your personal chess coach. Within minutes, you receive a structured HTML email covering everything from critical turning points to a personalized training plan. 🔧 How It Works Trigger — Runs on a daily schedule or manually on demand Config Node — Set your Chess.com username and email address (one-time setup) Fetch Games — Pulls your current month's games from Chess.com's public API (no API key required) Sort & Enrich — Identifies your color, result (Win/Loss/Draw), opponent details, ratings, and ECO opening code AI Analysis — Sends the full PGN and game context to your chosen LLM with a structured coaching prompt Email Report — Delivers a clean HTML coaching report directly to your inbox via Gmail 📊 What's in the Coaching Report Game Summary — Opening, middlegame, and endgame narrative Critical Moments — 3–5 turning points with explanations of what happened and what should have been played Mistake Categories — Tactical oversights, positional errors, opening issues, endgame technique, time management What Went Well — Genuine strengths recognized and reinforced Five Key Lessons — Specific, memorable takeaways tied to your actual game Training Plan — Targeted drills and study resources based on your weaknesses Closing Motivation — Encouraging next step to keep you improving ⚙️ Setup (Under 5 Minutes) Import the workflow into n8n Open the Config node and enter your Chess.com username and target email address Connect your Gmail OAuth2 credential Connect your preferred LLM credential (Google Gemini is pre-wired; swap for OpenAI or Claude if preferred) Activate the workflow — done! 🤖 Supported AI Models The quality of the results depends on the model you choose. You can start with the free Gemini models and compare the output with your expected results. The LLM node is plug-and-play, allowing you to switch between different models with a single click. Google Gemini 2.5 Flash (pre-configured) OpenAI GPT-4o — Best overall chess analysis quality Anthropic Claude Sonnet — Excellent at explanations and coaching tone Mistral / Llama — Self-hosted options for privacy-conscious users 💡 Stronger models produce better analysis. GPT-4o or Claude Sonnet are recommended for players rated 1000+. 📬 Extend the Workflow After the email step, you can easily add nodes to also send the report via: Telegram — instant mobile notifications Slack — post to a personal or team channel Notion — build a game review database Google Drive — archive reports as files Discord — share with your chess study group ✅ Requirements n8n (self-hosted or cloud) A Chess.com account with at least one game this month Gmail OAuth2 credential Any supported LLM API credential (Google Gemini, OpenAI, Anthropic, etc.)
by Adrian
This workflow automates the assignment of household chores. It reads tasks and a list of people from Google Sheets, pairs each task with someone, updates the spreadsheet with the assignments and emails each person their chores. Each run makes a random assignment so you don’t have to decide who does what. By running on a schedule, it keeps your chore rotation automated. Who is it for? Designed for families, roommates, flat‑shares or property managers who want to keep track of recurring chores without endless group chats or arguments. It’s also helpful for anyone coordinating a team of cleaners or volunteers and wishing to automate a fair distribution of tasks. How it works A Schedule Trigger starts the workflow at a regular interval (default every seven days). Google Sheets node reads the “Tasks” sheet from your spreadsheet. Each row contains a chore with a task. Another Google Sheets node reads the “Persons” sheet to obtain the list of people available to do chores. Next a Code node filters out any people without an email address and any tasks without a task name, then selects a random person for each task. A Gmail node sends each person an email summarising the chore they’ve been assigned. The last Google Sheets node updates the “Tasks” sheet, writing the assigned person’s name into the assigned_to column. Setup steps Spreadsheet – Create a Google Sheets document with two sheets. The first sheet “Tasks” should have columns for task, description, assigned_to and a “hidden row_number”. The second sheet “Persons” should have columns for name and email and “hidden row_number”. Fill them with your current chores and household members. Connect your Google account – In the Get Tasks and Get People nodes, select the credential for your Google account and search for your sheets. Configure the Schedule Trigger – Set the trigger interval (for example, every seven days on a Sunday evening). Edit the assignment logic (optional) – The Code node is preconfigured to filter data and assign tasks randomly. You can modify this script if you prefer a round‑robin approach, weighting by difficulty, or any other logic. Configure Gmail – In the Send a message node, select your Gmail credential. If you want you can customise the subject and body of the email. Update sheet mapping – In the Update assign_to node, ensure the assigned_to column mapping writes the assigned person’s name back to the correct row. The workflow uses the row_number to match the row being updated. Test and activate – Run the workflow manually to verify it reads your sheets, assigns tasks and sends emails. Once satisfied, activate the schedule so it runs automatically. Requirements · A Google account with access to Google Sheets and Gmail. · A spreadsheet containing two sheets as described above (see images), with headers matching the field names used in the workflow. How to customise it Change the schedule interval to suit your rotation, edit the email template to include due dates or motivational messages, or modify the assignment script to weight tasks by difficulty. You could also send notifications via Slack or Telegram.
by Julian Reich
This n8n template demonstrates how to automatically analyze all your accumulated notes from the past week and generate actionable insights, task lists, and priorities using AI. Use cases are many: Try automating weekly planning sessions, extracting action items from meeting notes, identifying recurring themes in your thoughts, or creating data-driven weekly reports for personal productivity tracking! Good to know ChatGPT analysis costs approximately $0.01-0.05 per week depending on the volume of notes The workflow uses advanced date filtering to process exactly 7 days of content Email sending requires SMTP configuration (Gmail, Outlook, etc.) Perfect companion:* Works seamlessly with the "Audio Notes to Google Docs*" workflow - it reads and analyzes all notes created by that system! How it works A schedule trigger runs every Sunday at your preferred time (default: 11 PM) The workflow reads your complete Google Doc containing all accumulated notes A smart filter function extracts only entries from the past 7 days using date stamp recognition The filtered content gets sent to ChatGPT which analyzes patterns and extracts: Actionable tasks for next week Important deadlines and appointments Key insights and learnings Top 3 priorities Category distribution (Work, Private, Health, etc.) A second AI call creates a personalized email summary with context and recommendations The structured analysis gets appended to your Google Doc as a weekly summary You receive a Telegram notification when the review is complete A detailed email report lands in your inbox with the full analysis and action items How to use The workflow runs automatically every Sunday - no manual intervention needed Adjust the schedule trigger to your preferred day/time for weekly planning Review the email summary and use the extracted tasks for your upcoming week planning The Google Doc serves as your permanent archive of weekly insights Requirements Google Docs API access to read your notes document OpenAI API account for ChatGPT analysis (GPT-4 recommended for best results) SMTP email configuration for sending summary reports Telegram Bot Token for notifications Prerequisite:* The *"Audio Notes to Google Docs**" workflow or similar system that creates timestamped entries Customising this workflow Modify the AI analysis prompt to focus on specific areas (business metrics, health tracking, learning goals) Add multiple analysis modes (daily, bi-weekly, monthly reviews) Include additional outputs like calendar event creation, task manager integration, or team sharing Connect to project management tools like Notion, Asana, or Monday.com for automatic task creation
by Kamil Ostrowski
This n8n template allows you to automatically monitor your company's budget by comparing live Bexio accounting data against targets defined in Google Sheets, sending automated weekly email reports. It also exports your financial data from Bexio into a flexible spreadsheet environment. Financial overspending often goes unnoticed until it's too late. This workflow transforms reactive accounting into proactive management by automatically calculating monthly actuals and flagging budget overages in real-time, eliminating the need for manual spreadsheet updates. Who’s it for This workflow is built for Founders and CFOs who want to replace reactive accounting with proactive financial management. It is the ideal solution for leadership teams needing to eliminate manual data entry, synchronize live Bexio actuals against Google Sheet targets, and receive automated weekly email reports that proactively flag budget overages before they become critical issues. How it works The workflow automates the extraction and analysis of your Bexio accounting journal through several stages: Data Extraction: It uses a recursive pagination loop to fetch journal entries from the Bexio API in batches of 1,000 records. Data Synchronization: It utilizes the "Append or Update" operation in Google Sheets to ensure records stay current without creating duplicates. Financial Analysis: The system reads target thresholds from a "Budgets" sheet and aggregates costs per account by calculating the delta between Debits and Credits. Automated Reporting: A logic engine compares monthly actuals against budgets and generates a summary report sent via Gmail if thresholds are exceeded. How to set up Credentials: Connect your Bexio (Bearer Token), Google Sheets (OAuth2), and Gmail accounts in their respective nodes. Target Sheet: In the "Update Records" node, select your specific Google Spreadsheet and target tab for the journal entries. Use this template to create your database - Google Sheet Template Budget Configuration: Clone the template spreadsheet and define your specific metrics and monthly budget limits in the "Budgets" sheet. Date Filtering: Open the "Get Records" node and adjust the from and to query parameters (currently set for the 2025 fiscal year) to match your reporting period. Gmail: Enter the recipient email address in the "To" field of the Gmail node. Requirements Bexio Account: Must have API access enabled. Google Workspace: Access to Google Sheets for data storage and Gmail for sending reports. How to customize the workflow Budget: You can set budgets for as many metrics as you want for every accounting period. Sync Frequency: The "Schedule Trigger" can be adjusted from its weekly default to daily or hourly for more frequent updates. Notification Channels: Swap the Gmail node for Slack or Microsoft Teams to receive report via different channels. Rate Limiting: If processing a very large journal, increase the "Delay" node duration to remain within Bexio’s API rate limits. Pagination Reuse: The pagination logic can be adapted to retrieve any other Bexio data limited by API batch sizes.
by Rahul Joshi
📊 Description IPL fans expect more than a scoreboard. They want to know what the score means — is the batting team ahead of the game, is the chase getting away from them, who has the pressure right now. This workflow answers all of that automatically by fetching live IPL match data every 6 minutes, computing key cricket indicators, and sending everything to GPT-4o which generates a punchy 2-sentence analyst-style narrative ready to embed in any fan app, widget, or dashboard without a single line of custom backend code. Built for fantasy cricket platforms, sports media companies, IPL fan apps, and broadcast technology teams who want to add intelligent real-time commentary to their products without hiring a commentary team or training machine learning models. What This Workflow Does ⏰ Fires automatically every 6 minutes between 2PM and 11PM covering all IPL match windows 🌐 Accepts manual triggers via webhook for on-demand narrative generation at any time 🏏 Fetches all current cricket matches from CricAPI in real time on every execution 🔍 Dynamically identifies the live IPL match from the API response — no hardcoded match IDs 🧮 Detects which innings is active and computes all key match indicators automatically 🤖 Sends structured match context to GPT-4o which generates a 2-sentence human-sounding narrative 📝 Logs every narrative to Google Sheets with full match context for audit and analytics 📤 Returns a clean JSON response via webhook that any app or widget can poll in real time ⚠️ Fires an email alert if any node fails so you always know when the workflow needs attention Key Benefits ✅ Fully dynamic — no hardcoded match IDs, works across the entire IPL season ✅ Handles both 1st and 2nd innings with different logic and prompts per scenario ✅ GPT-4o sounds like a human analyst not a notification system ✅ Webhook response makes it embeddable in any fan app or widget instantly ✅ Complete match log in Google Sheets — every narrative timestamped and stored ✅ Falls back to any live T20 match when IPL is off-season so testing never breaks ✅ Error trigger ensures failures never go unnoticed How It Works Trigger Layer Two triggers run this workflow. The Schedule Trigger fires every 6 minutes between 2PM and 11PM IST covering both day games starting around 3:30PM and evening games starting around 7:30PM. The Webhook Trigger provides a manual entry point so developers can fire the workflow on demand for testing or to power a real-time polling architecture where a frontend app hits the webhook URL every few minutes to get the latest narrative. Both triggers feed into the same API call so the logic is completely identical regardless of how the workflow was triggered. Data Fetch & Match Detection A single HTTP Request node fetches all current cricket matches from CricAPI's /v1/currentMatches endpoint. The Code node then scans the response and dynamically finds the live IPL match by checking that the match name contains "IPL" or "Indian Premier League", the match type is T20, and the match has started but not ended. No match IDs are hardcoded anywhere — the workflow finds the right match on every execution. When IPL is not in season the workflow falls back to any live T20 match so development and testing are never blocked. Indicator Computation Once the match is identified the Code node detects which innings is active based on how many score entries the API returns. For the 1st innings it computes the current run rate, overs remaining, wickets in hand, projected total, match phase (Powerplay / Middle / Death), and pressure level. For the 2nd innings it additionally computes the required run rate, runs needed, run rate gap between RRR and CRR, and a pressure index based on how difficult the chase is becoming. Both scenarios produce a structured flat object that gets assembled into a context-rich GPT-4o prompt tailored to the specific innings situation. AI Narrative Generation The prompt is sent to GPT-4o via HTTP Request with a system prompt that instructs the model to write exactly 2 sentences, use the specific numbers provided, sound like a human cricket analyst, use cricket language fans understand, and never use percentages. The result is a narrative like "Mumbai Indians need 45 off 24 balls with 7 wickets in hand — the muscle is there but one collapse changes everything. Jasprit Bumrah has to be kept for the final two overs or this chase gets away from Kolkata." The narrative is then parsed from the API response and passed to both output nodes. Output & Logging Every narrative is appended to a Google Sheets log with the full match context — timestamp, match name, innings, current over, score, target, RRR, CRR, phase, pressure level, and the narrative text. This creates a complete over-by-over record of every narrative generated across the entire match. Simultaneously the Respond to Webhook node returns a clean JSON payload containing the match name, innings, score, over, phase, pressure, narrative, and timestamp — ready for any frontend app or dashboard to consume directly. Features Cron-based schedule trigger covering all IPL match hours Manual webhook trigger for on-demand generation and frontend polling Single API call architecture — one HTTP node, no unnecessary API calls Dynamic live IPL match detection — no hardcoded IDs 1st innings mode — CRR, projected total, wickets in hand, phase, pressure 2nd innings mode — RRR, CRR, run rate gap, runs needed, overs remaining, pressure Three-tier match phase detection — Powerplay, Middle overs, Death overs Pressure index computation based on RRR and wickets GPT-4o via HTTP Request — stable across all n8n versions Structured system prompt enforcing 2-sentence format and cricket language Google Sheets append logging with full match context per narrative Webhook JSON response for real-time frontend integration No Operation node on false branch for clean workflow termination Workflow-level Error Trigger with Gmail alert on any failure Requirements CricAPI account and API key — free tier at cricapi.com OpenAI API key (GPT-4o access) Google Sheets OAuth2 connection Gmail OAuth2 connection (for error alerts) Setup Steps Sign up at cricapi.com and get your free API key Create a Google Sheet called "IPL Win Probability Log" with the columns listed above Paste your Sheet ID into the Google Sheets node Connect your Google Sheets OAuth2 credentials Add your OpenAI API key to the Authorization header of the GPT-4o HTTP Request node in the format Bearer YOUR_KEY Connect your Gmail OAuth2 credentials to the error alert node Activate the workflow Target Audience 🏏 Fantasy cricket platforms who want to add real-time match intelligence to their user experience 📱 IPL fan apps and cricket portals looking for AI-generated commentary without a commentary team 📺 Broadcast technology teams building real-time graphics and insight widgets 🤖 Automation agencies building sports intelligence products for IPL franchise and media clients
by Intuz
This n8n template from Intuz provides a complete and automated solution for full-cycle invoicing, orchestrating a seamless flow between Airtable, QuickBooks, and Stripe. This is the ultimate sales-to-cash automation. When a deal in Airtable is marked "Approved for Invoicing," this workflow intelligently syncs customer data across QuickBooks and Stripe (creating them if they don't exist), generates an official QuickBooks invoice, creates a Stripe payment link, and then updates the original Airtable record with all the new IDs and links. Eliminate manual data entry and keep your systems perfectly in sync. Who's this workflow for? Finance, Accounting, and Operations Teams SalesOps and RevOps Teams Small Business Owners and Founders Agencies and Freelancers How It Works: 1. Airtable Trigger & Approval Gate: The workflow starts when a record in your Airtable base is updated. An If node immediately checks if the Status field is set to "Approved for Invoicing." If not, the workflow for that item stops. 2. Customer Sync (QuickBooks & Stripe): The workflow searches for the customer in both QuickBooks and Stripe using the details from Airtable. Using If nodes, it intelligently checks if the customer exists. If a customer is not found in either platform, it creates a new one. This "find-or-create" logic prevents duplicate records. 3. Update Airtable with IDs: Once the customer IDs from both QuickBooks and Stripe are secured (either found or newly created), the workflow updates the original Airtable record with these new IDs for future reference. 4. Generate Financials: Stripe Payment Link: It sends an HTTP request to Stripe to create a unique, ready-to-use payment link for the specified amount. QuickBooks Invoice: It fetches your product list from QuickBooks, finds the matching item from the Airtable record, and generates a formal, detailed invoice. 5. Close the Loop: In the final step, the workflow updates the Airtable record one last time to: Add the QuickBooks Invoice #. Add the Stripe Payment Link. Change the Status to "Invoiced." Step-by-Step Setup Instructions This is an advanced workflow. Follow these setup steps carefully. 1. Connect Your Credentials Airtable: Create and connect a Personal Access Token with data.records:read and data.records:write scopes. QuickBooks: Connect your QuickBooks Online account using OAuth2 credentials. Stripe: Connect your Stripe account using your Secret Key. 2. Airtable Base Setup (Crucial) Your Airtable base must have a table with the following columns. The names must match exactly: Deal Name (Text) Client Name (Text) Client Email (Email) Status (Single-select with options: Draft, Approved for Invoicing, Invoiced) QuickBooks Customer ID (Text) Stripe Customer ID (Text) Stripe Payment Link (URL) QuickBooks Invoice # (Text) Stripe Price Id (Text - The API ID of your price in Stripe, e.g., price_123...) Quantity (Number) Quickbooks Product Name (Text) Created (Created Time) - This is used by the trigger. 3. Configure the n8n Nodes All Airtable Nodes: In each Airtable node, select your Base and Table from the dropdown lists. Get all Quickbook products (HTTP Request Node): You must replace {YOUR_QUICKBOOKS_COMPANY_ID} in the URL with your actual QuickBooks Company ID (also known as a Realm ID). 4. Activate the Workflow Save the workflow and toggle the Active switch to "on". The workflow will now trigger whenever the Created field is updated for a record in your Airtable base. Customization Guidance Changing the Trigger Status: If you use a different status than "Approved for Invoicing," simply update the value in the "IF - Status Check" node. Modifying Invoice Details: You can customize the Description or other line item details in the "Create an invoice" (QuickBooks) node by pulling more fields from your Airtable record. Adding Email Notifications: To notify a customer when their invoice is ready, add a Gmail or SendGrid node after the last Airtable Update node. You can include the Stripe Payment Link and a PDF of the QuickBooks invoice directly in the email. Advanced Error Handling: For a production environment, consider connecting the false output of the various IF nodes or using the .onError() workflow setting to send a Slack or email alert if a customer can't be found or an API call fails. Support For further support, or to develop a custom workflow, reach out to: Website: https://www.intuz.com/services Email: getstarted@intuz.com LinkedIn: https://www.linkedin.com/company/intuz Get Started: https://n8n.partnerlinks.io/intuz For Custom Worflow Automation Click here- Get Started
by Ian Kerins
Overview This n8n template automates finding roofing contractors in any city using Google Maps. It deep-scrapes listings via ScrapeOps Proxy, deduplicates results against Google Sheets, saves fresh leads, and sends alerts via Gmail and Slack - all triggered from a simple web form. Who is this for? Roofing companies building local lead lists without manual research Sales teams prospecting contractors in new cities or regions Agencies running lead generation campaigns for home services clients Anyone who needs structured local business data from Google Maps What problem does it solve? Manually searching Google Maps, copying business details, and checking for duplicates is slow and error-prone. This workflow automates the entire process - from search to deduplication to saved leads - so you get fresh, structured contractor data with zero manual effort. How it works A web form captures the target city. ScrapeOps Proxy scrapes Google Maps for roofing contractors in that city. Each listing is deep-scraped for full details: phone, website, rating, reviews, and address. Results are compared against existing Google Sheet entries to remove duplicates. Only new leads are saved to the sheet. Gmail and Slack alerts notify you of new leads instantly. Set up steps (~10–15 minutes) Register for a free ScrapeOps API key: https://scrapeops.io/app/register/n8n Add ScrapeOps credentials in n8n. Docs: https://scrapeops.io/docs/n8n/overview/ Duplicate the Google Sheet template and connect it to the Read Previous Entries and Save New Leads nodes. Configure Gmail credentials in the Send Gmail Alert node and set your recipient. Configure Slack credentials in the Send Slack Alert node and set your channel. Open the form URL, enter a city, and run. Pre-conditions Active ScrapeOps account (free tier available): https://scrapeops.io/app/register/n8n ScrapeOps community node installed in n8n: https://scrapeops.io/docs/n8n/overview/ Google Sheets credentials configured in n8n Duplicated Google Sheet template with correct column headers Gmail credentials for alert emails Slack credentials for channel notifications Disclaimer This template uses ScrapeOps n8n integration as a community node. You are responsible for complying with Google's Terms of Use, robots.txt directives, and applicable laws in your jurisdiction. Scraping targets may change at any time; adjust render, scroll, and wait settings and parsers as needed. Use responsibly and only for legitimate business purposes.
by Rodrigue Gbadou
How it works Smart influencer discovery**: Automatically finds and qualifies influencers based on your criteria and target audience Automated outreach**: Sends personalized collaboration proposals with dynamic pricing and campaign details Campaign management**: Tracks deliverables, deadlines, and performance metrics in real-time ROI optimization**: Analyzes campaign performance and recommends budget allocation improvements Set up steps Social media APIs**: Connect Instagram, TikTok, YouTube APIs for influencer data collection Influencer databases**: Integrate with platforms like Upfluence, AspireIQ, or Grin Email automation**: Configure your email service for outreach campaigns Analytics tools**: Connect Google Analytics, social media insights for performance tracking Contract management**: Set up digital signature integration for collaboration agreements Payment systems**: Configure PayPal, Stripe for automated influencer payments Key Features 🎯 Smart matching**: AI-powered influencer discovery based on audience overlap and engagement quality 📊 Performance prediction**: Estimates campaign ROI before launch using historical data ⚡ Automated outreach**: Personalized email sequences with dynamic pricing calculations 📈 Real-time tracking**: Live dashboard showing campaign progress and key metrics 💰 Budget optimization**: Automatic budget reallocation based on performance data 🔄 Relationship management**: Long-term influencer relationship tracking and nurturing 📱 Multi-platform support**: Manages campaigns across Instagram, TikTok, YouTube simultaneously 🎨 Content approval**: Automated content review and approval workflows Campaign types supported Product launches**: Coordinated influencer campaigns for new product introductions Brand awareness**: Large-scale campaigns focused on reach and brand recognition Seasonal campaigns**: Holiday and event-specific influencer activations User-generated content**: Campaigns focused on authentic customer testimonials Event promotion**: Influencer partnerships for webinars, conferences, and live events Influencer qualification criteria Audience alignment**: Demographic and interest matching with your target market Engagement quality**: Authentic engagement rates and comment sentiment analysis Content quality**: Visual consistency and brand alignment assessment Collaboration history**: Previous brand partnerships and performance data Reach vs. engagement**: Optimal balance between follower count and engagement rates Performance metrics tracked Reach and impressions**: Total audience exposure across all platforms Engagement rates**: Likes, comments, shares, and saves per post Click-through rates**: Traffic driven to your website or landing pages Conversion tracking**: Sales and leads generated from influencer content Brand mention sentiment**: Positive vs. negative sentiment analysis Cost per engagement**: Efficiency metrics for budget optimization Automation features Influencer scoring**: Automatic ranking based on your custom criteria Outreach sequences**: Multi-touch email campaigns with follow-up automation Content reminders**: Automated deadline tracking and reminder notifications Performance alerts**: Real-time notifications for campaign milestones Payment processing**: Automatic invoice generation and payment scheduling Reporting automation**: Weekly and monthly performance reports This workflow revolutionizes influencer marketing by automating the entire process from discovery to payment, while providing data-driven insights for continuous optimization.
by Arbaz Asif
Overview: Automated Occasion Wisher How it works Runs daily to check if today matches any birthday, anniversary, or special occasion in your Google Sheet AI Agent reads the sheet and returns a list of users having a special occasion to wish with details and a personalized wishing message If there is no one to wish, no email is sent. If there are multiple people to wish, multiple personalized emails are sent Setup steps Connect your Google Sheet containing columns as: Name, Occasion_Date, Email, Occasion_Type, Relationship, Personal_Note Insert the AI prompt ensuring strict JSON output (list format only) Configure the Email node for sending the final message Customization Edit AI prompt to change message tone, length, or emojis Add support for multiple reminder styles (e.g., early notification) Extend with logging, Slack alerts, or saving sent email history
by Matt
This workflow automates the repair request process between tenants and building managers, keeping all updates organized in a single spreadsheet. It is composed of two coordinated workflows, as two separate triggers are required — one for new repair submissions and another for repair updates. A Unique Unit ID that corresponds to individual units is attributed to each request, and timestamps are used to coordinate repair updates with specific requests. General use cases include: Property managers** who manage multiple buildings or units. Building owners** looking to centralize tenant repair communication. Automation builders** who want to learn multi-trigger workflow design in n8n. ⚙️ How It Works Workflow 1 – New Repair Requests Behind the Scenes: A tenant fills out a Google Form (“Repair Request Form”), which automatically adds a new row to a linked Google Sheet. Steps: Trigger: Google Sheets rowAdded – runs when a new form entry appears. Extract & Format: Collects all relevant form data (address, unit, urgency, contacts). Generate Unit ID: Creates a standardized identifier (e.g., BUILDING-UNIT) for tracking. Email Notification: Sends the building manager a formatted email summarizing the repair details and including a link to a Repair Update Form (which activates Workflow 2). Workflow 2 – Repair Updates Behind the Scenes:\ Triggered when the building manager submits a follow-up form (“Repair Update Form”). Steps: Lookup by UUID: Uses the Unit ID from Workflow 1 to find the existing row in the Google Sheet. Conditional Logic: If photos are uploaded: Saves each image to a Google Drive folder, renames files consistently, and adds URLs to the sheet. If no photos: Skips the upload step and processes textual updates only. Merge & Update: Combines new data with existing repair info in the same spreadsheet row — enabling a full repair history in one place. 🧩 Requirements Google Account (for Forms, Sheets, and Drive) Gmail/email node connected for sending notifications n8n credentials configured for Google API access ⚡ Setup Instructions (see more detail in workflow) Import both workflows into n8n, then copy one into a second workflow. Change manual trigger in workflow 2 to a n8n Form node. Connect Google credentials to all nodes. Update spreadsheet and folder IDs in the corresponding nodes. Customize email text, sender name, and form links for your organization. Test each workflow with a sample repair request and a repair update submission. 🛠️ Customization Ideas Add Slack or Telegram notifications for urgent repairs. Auto-create folders per building or unit for photo uploads. Generate monthly repair summaries using Google Sheets triggers. Add an AI node to create summaries/extract relevant repair data from repair request that include long submissions.
by browseract
This workflow creates a fully automated B2B lead generation & outreach pipeline. It combines BrowserAct (for scraping) with Google Gemini AI (for writing) to automate the entire prospecting process. It takes a search request via a Form, scrapes verified leads from Apollo.io, uses AI to write a personalized cold email for EACH lead, saves everything to Google Sheets, and notifies you via Gmail when the batch is done. How it works Form Trigger:** You input the Target Role (e.g., "Engineer") and Location (e.g., "New York"). BrowserAct Automation:** Triggers a remote browser to search Apollo.io and extract contact details (Name, Job, Company, Email). AI Email Drafter:* *Google Gemini** reads the lead's info and automatically generates a personalized cold email draft tailored to their role and company. Data Merging:** Seamlessly combines the scraped contact info with the AI-generated email content. Google Sheets Storage:** Appends the full profile + the AI email draft into your spreadsheet. Email Notification:* Sends you a summary report via *Gmail** listing who was scraped and confirming the job is finished. Set up steps BrowserAct Configuration Double-click the "Run a workflow" node and paste your specific BrowserAct Workflow ID. Google Sheets Setup Create a new Google Sheet. Crucial: Add these headers in the first row: id, name, email, job_title, profile_url, company, location, email_draft. Update the "Save to Google Sheets" node to select this file. Credentials BrowserAct Account Google Gemini (PaLM) API (for AI generation) Google Sheets (Service Account or OAuth2) Gmail (OAuth2 - for notifications)