by Oneclick AI Squad
This comprehensive n8n workflow automates the entire travel business call management process, from initial customer inquiries to trip bookings and marketing outreach. The system handles incoming calls, validates trip details, processes bookings, captures leads, and manages outbound marketing campaigns to promote trip organizer services. It streamlines the complete sales cycle while maintaining organized data records for business intelligence. Essential Information The system operates across four distinct workflows to handle different aspects of travel call management. All call data is automatically captured and stored in organized spreadsheets for analysis and follow-up. The workflow validates trip details before processing to ensure data accuracy and prevent booking errors. Outbound marketing campaigns are automatically triggered based on lead detection and formatting. System Architecture Call Handling Pipeline**: The Detect Incoming Call node captures all incoming customer calls, followed by the Validate Trip Details node which verifies and processes trip information, and the Deliver Organizer Info node that provides relevant trip organizer details to callers. Booking Management Flow**: The Capture Voice Input node records customer booking requests, the Update Booking Record node processes and stores booking information, and the Send Booking Confirmation node delivers confirmation details to customers. Lead Generation Process**: The Detect New Lead node identifies potential customers from call data, the Format Lead Information node structures the lead data for marketing use, and the Initiate Marketing Outreach node launches targeted marketing campaigns. Data Management System**: The Receive Call Response node collects call interaction data, the Log User Input node records customer information in spreadsheets, and the Relay Response to System node ensures data synchronization across all components. Implementation Guide Import the workflow into n8n and configure phone system integration for call detection and voice capture. Set up spreadsheet connections for booking records, lead management, and call logging. Configure marketing automation tools for outbound campaign management. Test each workflow section independently before enabling the complete system. Monitor call handling accuracy and adjust validation rules as needed. Technical Dependencies Phone system API or telephony service for call detection and voice processing Spreadsheet service (Google Sheets, Excel Online) for data storage and management Marketing automation platform for outbound campaign execution Voice recognition service for capturing and processing customer input CRM integration for lead management and customer tracking Database & Sheet Structure Call Tracking Sheet**: Columns should include Call_ID, Customer_Phone, Call_Time, Call_Duration, Call_Status, Trip_Interest, Organizer_Assigned Booking Records Sheet**: Required columns are Booking_ID, Customer_Name, Customer_Phone, Destination, Travel_Dates, Group_Size, Booking_Status, Confirmation_Sent Lead Management Sheet**: Essential columns include Lead_ID, Customer_Name, Phone_Number, Email, Trip_Preference, Lead_Source, Lead_Status, Marketing_Campaign_Sent Trip Organizer Database**: Contains Organizer_ID, Organizer_Name, Specialization, Contact_Info, Availability_Status, Performance_Rating Marketing Outreach Log**: Tracks Campaign_ID, Lead_ID, Campaign_Type, Send_Date, Response_Status, Follow_up_Required Customization Possibilities Adjust the Validate Trip Details node to include specific travel validation rules or partner requirements. Modify the Format Lead Information node to match your CRM system's data structure and marketing campaign formats. Configure the Initiate Marketing Outreach node to integrate with your preferred marketing platforms and campaign templates. Customize the data logging structure in the Log User Input node to capture additional customer information or booking details. Add additional validation steps or approval workflows between booking capture and confirmation sending.
by Lorena
This workflow synchronizes data both ways between Pipedrive and HubSpot. Cron node** schedules the workflow to run every minute. Pipedrive* and *Hubspot nodes** pull in both lists of persons from Pipedrive and contacts from HubSpot. Merge1* and *Merge2 nodes** with the option Remove Key Matches identify the items that uniquely exist in HubSpot and Pipedrive, respectively. Update Pipedrive* and *Update HubSpot nodes** take those unique items and add them in Pipedrive and HubSpot, respectively.
by Airtop
About The ICP Company Scoring Automation Sorting through lists of potential leads manually to determine who's truly worth your sales team's time isn't just tedious, it's incredibly inefficient. Without proper qualification, your team might spend hours pursuing prospects who aren't the right fit for your product, while ideal customers slip through the cracks. How to Automate Identifying Your Ideal Customers With this automation, you'll learn how to automatically score and prioritize leads using data extracted directly from LinkedIn profiles via Airtop's integration with n8n. By the end, you'll have a fully automated workflow that analyzes prospects and calculates an Ideal Customer Profile (ICP) score, helping your sales team focus on high-potential opportunities. What You'll Need A free Airtop API key A copy of this Google Sheets Understanding the Process This automation transforms how you qualify and prioritize leads by extracting real-time, accurate information directly from LinkedIn profiles. Unlike static databases that quickly become outdated, this workflow taps into the most current professional information available. The workflow in this template: Uses Airtop to extract comprehensive LinkedIn profile data Analyzes the data to calculate an ICP score based on AI interest, technical depth, and seniority Updates your Google Sheet with the enriched data and the ICP Company score Company ICP Scoring Workflow Our company-focused workflow analyzes company LinkedIn profiles with a comprehensive set of criteria: Company Identity Extraction Company Scale Assessment Business Classification Technical Sophistication Assessment Investment Profile To then calculate the ICP Scoring, it will focus on: AI Implementation Level: Low-5 pts, Medium-10 pts, High-25 pts Technical Sophistication: Basic-5 pts, Intermediate-15 pts, Advanced-25 pts, Expert-35 pts Employee Count: 0-9 employees-5 pts, 10-150 employees-25 pts, 150+ employees-30 pts Automation Agency Status: True-20 pts, False-0 pts Geography: US/Europe Based-10 pts, Other-0 pts Setting Up Your Automation We've created ready-to-use templates for both person and company ICP scoring. Here's how to get started: Configure your connections Connect your Google Sheets account Add your Airtop API key (obtain from the Airtop dashboard) Set up your Google Sheet Ensure your Google Sheet has the necessary columns for input data and result fields Ensure that columns Linkedin_URL_Company and ICP_Score_Company exist at least Configure the Airtop module Set up the Airtop module to use the appropriate LinkedIn extraction prompt Use our provided prompt that extracts company profile data Customization Options While our templates work out of the box, you might want to customize them for your specific needs: Modify the ICP scoring criteria: Adjust the point values or add additional criteria specific to your business Add notification triggers: Set up Slack or email notifications for high-value leads that exceed a certain ICP threshold Implement batch processing: Modify the workflow to process leads in batches to optimize performance Add conditional logic: Create different scoring models for different industries or product lines Integrate with your CRM: Integrate this automation with your preferred CRM to get the details added automatically for you Real-World Applications Here's how businesses are using this automation: AI Sales Platform: A B2B AI company could implement this workflow to process their trade show lead list of contacts. Within hours, they can identify the top 50 prospects based on ICP score. SaaS Analytics Tool: A SaaS company could implement LinkedIn enrichment to identify which companies fit best. The automation processes weekly leads and categorizes them into high, medium, and low priority tiers, allowing their sales team to focus on the most promising opportunities first. Best Practices To get the most out of this automation: Review and refine your ICP criteria quarterly: What constitutes an ideal customer may evolve as your product and market develop Create tiered follow-up processes: Develop different outreach strategies based on ICP score ranges Perform regular data validation: Periodically check the accuracy of the automated scoring against your actual sales results What's Next? Now that you've automated your ICP scoring with LinkedIn data, you might be interested in: Setting up automated outreach sequences based on ICP score thresholds Creating custom reporting dashboards to track conversion rates by ICP segment Expanding your scoring model to include additional data sources Implementing lead assignment automation based on ICP scores Happy automating!
by Davide
Drive-to-Store is a multi-channel marketing strategy that includes both the web and the physical context, with the aim of increasing the number of customers and sales in physical stores. This strategy guides potential customers from the online world to the physical point of sale through the provision of a coupon that can be spent in the store or on an e-commerce site. The basic idea is to have a landing page with a form and a series of unique coupons to assign to leads as a "reward" for filling out the form. This workflow is ideal for businesses looking to automate lead generation and management, especially when integrating with CRM systems like SuiteCRM and using Google Sheets for data tracking. How It Works Form Submission: The workflow starts with the On form submission node, which triggers when a user submits a form on a landing page. The form collects the user's name, surname, email, and phone number. Form Data Processing: The Form Fields node extracts and sets the form data (name, surname, email, and phone) for use in subsequent steps. Duplicate Lead Check: The Duplicate Lead? node checks if the submitted email already exists in a Google Sheets document. If the email is found, the workflow responds with a "duplicate lead" message (Respond KO node) and stops further processing. Coupon Retrieval: If the email is not a duplicate, the Get Coupon node retrieves a coupon code from the Google Sheets document based on the lead's email. Lead Creation in SuiteCRM: The Create Lead SuiteCRM node creates a new lead in SuiteCRM using the form data and the retrieved coupon code. The lead includes: First name, last name, email, phone number, and coupon code. Google Sheets Update: The Update Sheet node updates the Google Sheets document with the newly created lead's details, including: Name, surname, email, phone, coupon code, lead ID, and the current date and time. Response to Webhook: The Respond OK node sends a success response back to the webhook, indicating that the lead was created successfully. Set Up Steps Configure Form Trigger: Set up the On form submission node to collect user data (name, surname, email, and phone) via a web form. Set Up Google Sheets Integration: Configure the Duplicate Lead?, Get Coupon, and Update Sheet nodes to interact with the Google Sheets document. Ensure the document contains columns for email, coupon, lead ID, and other relevant fields. Set Up SuiteCRM Authentication: Configure the Token SuiteCRM node with the appropriate client credentials (client ID and client secret) to obtain an access token from SuiteCRM. Set Up Lead Creation in SuiteCRM: Configure the Create Lead SuiteCRM node to send a POST request to SuiteCRM's API to create a new lead. Include the form data and coupon code in the request body. Set Up Webhook Responses: Configure the Respond OK and Respond KO nodes to send appropriate JSON responses back to the webhook based on whether the lead was created or if it was a duplicate. Test the Workflow: Submit a test form to ensure the workflow correctly checks for duplicates, retrieves a coupon, creates a lead in SuiteCRM, and updates the Google Sheets document. Activate the Workflow: Once tested, activate the workflow to automate the process of handling form submissions and lead creation. Key Features Duplicate Lead Check**: Prevents duplicate leads by checking if the email already exists in the Google Sheets document. Coupon Assignment**: Retrieves a coupon code from Google Sheets and assigns it to the new lead. SuiteCRM Integration**: Automatically creates a new lead in SuiteCRM with the form data and coupon code. Data Logging**: Logs all lead details in a Google Sheets document for tracking and analysis. Webhook Responses**: Provides immediate feedback on whether the lead was created successfully or if it was a duplicate.
by Airtop
About The ICP Person Scoring Automation Sorting through lists of potential leads manually to determine who's truly worth your sales team's time isn't just tedious, it's incredibly inefficient. Without proper qualification, your team might spend hours pursuing prospects who aren't the right fit for your product, while ideal customers slip through the cracks. How to Automate Identifying Your Ideal Customers With this automation, you'll learn how to automatically score and prioritize leads using data extracted directly from LinkedIn profiles via Airtop's built-in integration with n8n. By the end, you'll have a fully automated workflow that analyzes prospects and calculates an Ideal Customer Profile (ICP) score, helping your sales team focus on high-potential opportunities. What You'll Need A free Airtop API key A copy of this Google Sheets Understanding the Process This automation transforms how you qualify and prioritize leads by extracting real-time, accurate information directly from LinkedIn profiles. Unlike static databases that quickly become outdated, this workflow taps into the most current professional information available. The workflow in this template: Uses Airtop to extract comprehensive LinkedIn profile data Analyzes the data to calculate an ICP score based on AI interest, technical depth, and seniority Updates your Google Sheet with the enriched data and the ICP score Person ICP Scoring Workflow Our person-focused workflow evaluates individual LinkedIn profiles to determine how well they match your ideal customer profile by: Extracting data for each individual Analyzing their profile to determine seniority and technical depth The system then automatically calculates an ICP score based on the following criteria: AI Interest: beginner-5 pts, intermediate-10 pts, advanced-25 pts, expert-35 pts Technical Depth: basic-5 pts, intermediate-15 pts, advanced-25 pts, expert-35 pts Seniority Level: junior-5 pts, mid-level-15 pts, senior-25 pts, executive-30 pts Setting Up Your Automation Here's how to get started: Configure your connections Connect your Google Sheets account Add your Airtop API key (obtain from the Airtop dashboard) Set up your Google Sheet Ensure your Google Sheet has the necessary columns for input data and result fields Ensure that columns Linkedin_URL_Person and ICP_Score_Person exist at least Configure the Airtop module Set up the Airtop module to use the appropriate LinkedIn extraction prompt Use our provided prompt that extracts individual profile data Customization Options While our templates work out of the box, you might want to customize them for your specific needs: Modify the ICP scoring criteria: Adjust the point values or add additional criteria specific to your business Add notification triggers: Set up Slack or email notifications for high-value leads that exceed a certain ICP threshold Implement batch processing: Modify the workflow to process leads in batches to optimize performance Add conditional logic: Create different scoring models for different industries or product lines Integrate with your CRM: Integrate this automation with your preferred CRM to get the details added automatically for you Real-World Applications Here's how businesses are using this automation: AI Sales Platform: A B2B AI company could implement this workflow to process their trade show lead list of contacts. Within hours, they can identify the top 50 prospects based on ICP score. SaaS Analytics Tool: A SaaS company could implement LinkedIn enrichment to identify which companies fit best. The automation processes weekly leads and categorizes them into high, medium, and low priority tiers, allowing their sales team to focus on the most promising opportunities first. Best Practices To get the most out of this automation: Review and refine your ICP criteria quarterly: What constitutes an ideal customer may evolve as your product and market develop Create tiered follow-up processes: Develop different outreach strategies based on ICP score ranges Perform regular data validation: Periodically check the accuracy of the automated scoring against your actual sales results What's Next? Now that you've automated your ICP scoring with LinkedIn data, you might be interested in: Setting up automated outreach sequences based on ICP score thresholds Creating custom reporting dashboards to track conversion rates by ICP segment Expanding your scoring model to include additional data sources Implementing lead assignment automation based on ICP scores Happy automating!
by Preston Zeller
How It Works This workflow automates the entire property lead generation process in a few simple steps: Property Search: Connects to BatchData's Property Search API with customizable parameters (location, property type, value range, equity percentage, etc.) Lead Filtering & Scoring: Processes results to identify the most promising leads based on criteria like absentee ownership, years owned, equity percentage, and tax status. Each property receives a lead score to prioritize follow-up. Skip Tracing: Automatically retrieves owner contact information (phone, email, mailing address) for each qualified property. Data Formatting: Structures all property and owner data into a clean, organized format ready for your systems. Multi-Channel Output: Generates an Excel spreadsheet with all lead details Pushes leads directly to your CRM (configurable for HubSpot, Salesforce, etc.) Sends a summary email with the spreadsheet attached The workflow can run on a daily schedule or be triggered manually as needed. All parameters are easily configurable through dedicated nodes, requiring no coding knowledge. Who's It For This workflow is perfect for: Real Estate Investors looking to find off-market properties with motivated sellers Real Estate Agents who want to generate listing leads from distressed or high-equity properties Investment Companies that need regular lead flow for acquisitions Real Estate Marketers who run targeted campaigns to property owners Wholesalers seeking to build a pipeline of potential deals Property Service Providers (roof repair, renovation contractors, etc.) who target specific property types Anyone who needs reliable, consistent lead generation for real estate without the manual work of searching, filtering, and organizing property data will benefit from this automation. About BatchData BatchData is a comprehensive property data provider that offers access to nationwide property information, owner details, and skip tracing services. Key features include: Extensive Database: Covers 150+ million properties across all 50 states Rich Property Data: Includes ownership information, tax records, sales history, valuation estimates, equity positions, and more Skip Tracing Services: Provides owner contact information including phone numbers, email addresses, and mailing addresses Distressed Property Indicators: Flags for pre-foreclosure, tax delinquency, vacancy, and other motivation factors RESTful API: Professional API for programmatic access to all property data services Regular Updates: Continuously refreshed data for accurate information BatchData's services are designed for real estate professionals who need reliable property and owner information to power their marketing and acquisition strategies. Their API-first approach makes it ideal for workflow automation tools like N8N.
by tbphp
Overview This n8n template monitors specified GitHub repositories. When a new release is published, it automatically fetches the information, uses AI (Google Gemini by default) to summarize and translate it into Chinese, and sends a formatted notification to a designated Slack channel. Core Features: Automated Monitoring**: Checks for updates on a predefined schedule. Intelligent Processing**: Uses AI to extract key information and translate. Error Handling**: Sends an error notification if fetching RSS for a single repository fails, without affecting others. Duplicate Prevention**: Remembers the last processed release ID using Redis to ensure only new content is pushed. Prerequisites Slack**: Configure your Slack app credentials in n8n. Redis**: Have an available Redis service and configure its credentials in n8n. AI Provider (Gemini)**: Configure credentials for Google Gemini (or your chosen AI model) in n8n. Configuration Instructions After importing the template, you need to modify the following key nodes: Cron Trigger: Adjust the Rule setting to change the update check frequency (default is 0 */10 9-23 * * *, checking every 10 minutes between 9 AM and 11 PM daily). GitHub Config (Repository List - Code Node): Edit the JavaScript array within this node's code area. Modify or add the repositories you want to follow. Each repository object needs a name (custom display name) and github (format: owner/repo). Example: { "name": "n8n", // Custom display name "github": "n8n-io/n8n" // GitHub path }, { "name": "LobeChat", "github": "lobehub/lobe-chat" } // ... add more repositories Redis and Redis2 (Redis Connection): Select your configured Redis credentials in both nodes. Gemini (AI Model): Select your configured Google Gemini credentials. (Optional) Replace with a different supported AI model node and select its credentials. Information Extractor (AI Processing & Translation): Main Configuration: Review the System Prompt. By default, it asks the AI to extract information and translate it into Chinese. Modify this prompt if you need a different language or summary style. Send Message and Send Error (Slack Notifications): Select your configured Slack credentials in both Slack nodes. Set the target Channel ID for notifications. Workflow Overview Start: Cron Trigger initiates the workflow on schedule. Load Config: GitHub Config provides the list of repositories to monitor. Loop: The Loop node iterates through each repository. Fetch & Check: The RSS node attempts to fetch the repository's releases feed. If No Error checks for success: Failure: Send Error posts an error to Slack, skips this repository. Success: Continues. Check for New Release: The Redis node retrieves the last recorded Release ID for this repository. The If New node compares the latest Release ID with the recorded ID: Different IDs (New Release): Proceeds to processing. Same ID (Already Processed): Skips this repository. Process & Notify (Only for New Releases): Information Extractor (with Gemini) extracts, summarizes, and translates the content. The Code node formats the information into Slack Block Kit. Send Message sends the formatted message to Slack. The Redis2 node stores the current Release ID in Redis. End: The workflow finishes after processing all repositories. Conclusion Once configured, this template automates GitHub release monitoring, uses AI to distill key information, and delivers it efficiently to your Slack workspace.
by Chandan Singh
This workflow creates a daily, automated backup of all workflows in a self-hosted n8n instance and stores them in Google Drive. Instead of exporting every workflow on every run, it uses content hashing to detect meaningful changes and only updates backups when a workflow has actually been modified. To keep Google Drive clean and predictable, the workflow intentionally deletes the existing backup file before uploading the updated version. This avoids duplicate files and ensures there is always one authoritative backup per workflow. A Data Table is used as an index to track workflow IDs, hash values, and timestamps. This allows the workflow to quickly determine whether a workflow already exists, whether its content has changed, or whether it should be skipped entirely. How it works Runs daily using a Cron Trigger. Fetches all workflows from the n8n API. Processes workflows one-by-one for reliability. Generates a SHA-256 hash for each workflow. Compares hashes against a stored Data Table. Deletes existing Google Drive backups when changes are detected. Uploads updated workflows and skips unchanged ones. Store new or updated workflows details in Data Table. Filters workflows based on the configured backup scope (all | active | tagged ). Backs up all workflows, only active workflows, or only workflows matching a specific tag. Applies the scope filter before hashing and comparison, ensuring only relevant workflows are processed. Setup steps Set the Cron schedule** Open the Cron Trigger node and choose the time you want the backup to run (for example, once daily during off-peak hours). Create a Data Table** Create a new n8n Data Table with the title defined in dataTableTitle. This table stores workflowId, workflowName, hashCode, and DriveFiveId. Configure the Set node** In the Set Backup Configuration node, provide the following values: { "n8nHost": "https://your-n8n-domain", "apiKey": "your-n8n-api-key", "backupFolder": "/n8n/workflow-backups", "hashAlgorithm": "sha256", "dataTableTitle": "n8n_workflow_backup_index", "backupScope" : "", "requiredTag" : "" } In the Set Backup Configuration node, choose how workflows should be selected for backup: all – backs up every workflow (default) active – backs up only enabled workflows tagged – backs up only workflows containing a specific tag If using the tagged option, provide the required tag name to match. { "backupScope": "tagged", "requiredTag": "production" } Connect Google Drive credentials** Authorize your Google Drive account and ensure the backup folder exists. Activate the workflow** Once enabled, backups run automatically with no further action required.
by Milo Bravo
Conference Synthetic Personas: Slack → Gemini → CRM Insights Who is this for? Event strategists, conference organizers, and marketing teams planning content/networking who want to interview realistic audience personas based on their participantants behavioural data before spending budget. What problem is this workflow solving? Event deisgn and management is guesswork: Content misses audience needs Networking formats flop No pre-validation of concepts This workflow creates interviewable synthetic personas from your real CRM data, test ideas pre-event. What this workflow does Trigger**: Slack /doppelganger "EventX" 5 hubspot CRM Pull**: HubSpot/Salesforce/Sheets attendee data Gemini Analysis**: Generates 5+ realistic personas per event Slack Cards**: Rich persona profiles + 14 auto-interview questions Thread Replies**: Team follow-ups in persona context Sheets Log**: Personas + conversations archived Setup (8 minutes) Slack**: OAuth2 + /doppelganger slash command Gemini**: Google API key (Flash/Pro) CRM**: HubSpot API / Salesforce OAuth / Google Sheets Sheets ID**: Personas + Conversations tabs Fully configurable, no code changes needed. How to customize to your needs CRMs**: HubSpot → Salesforce → Sheets CSV Personas**: Speakers/Exhibitors/Attendees Questions**: Edit 14 interview prompts (5 categories) Scale**: Multi-event batching Output**: Add Teams/Notion sync ROI: 40% better content relevance** (pre-validated) 25% lower no-show rates** (targeted comms) 2h → 2min** persona generation Need help customizing?: Contact me for consulting and support: LinkedIn / Message Keywords: event personas, synthetic audience, conference planning, attendee segmentation, event strategy automation
by Nirav Gajera
💰 AI Expense Tracker — Chat to Track Spending Instantly Track your expenses by chatting naturally. No forms, no apps — just type and it's saved. 📖 Description This workflow turns a simple chat interface into a powerful personal expense tracker. Just describe your spending in plain language — the AI understands it, categorizes it, and saves it to Google Sheets automatically. Example inputs the AI understands: spent 500 on lunch uber 150 paid 1200 electricity bill lunch in feb 25 cost 500 ← handles past dates too netflix 499 $50 hotel booking ← detects currency No rigid formats. No dropdowns. Just type naturally. ✨ Key Features Natural language input** — type expenses exactly how you'd say them AI-powered parsing** — Claude Haiku extracts amount, category, date, currency automatically 9 auto-detected categories** — Food, Transport, Shopping, Bills, Entertainment, Health, Business, Education, Other Multi-currency support** — INR, USD, EUR, GBP Past date handling** — "lunch in feb 25 cost 500" saves to February 2025, not today Running monthly total** — each row stores the cumulative month total Monthly summary** — type SUMMARY or summary february for any month Works on empty sheet** — no errors on first use Invalid input handling** — friendly error if no amount detected 💬 Commands | What you type | What happens | | :--- | :--- | | spent 500 on lunch | ✅ Saved: 🍕 Food & Dining — Lunch · ₹500 | | uber 150 | ✅ Saved: 🚗 Transport — Uber · ₹150 | | 1200 electricity bill | ✅ Saved: 💡 Bills & Utilities · ₹1200 | | lunch in feb 25 cost 500 | ✅ Saved to February 2025 correctly | | SUMMARY | 📊 Current month report with breakdown | | summary february | 📊 February report (current year) | | summary february 2025 | 📊 February 2025 specific report | | HELP | 📖 Shows all commands and categories | 🛠 Setup Requirements 1. Google Sheet Create a new Google Sheet with these exact headers in Row 1: | Col | Header | | :---: | :--- | | A | Date | | B | Amount | | C | Category | | D | Description | | E | Currency | | F | Month | | G | Raw Message | | H | Total | 2. Credentials needed | Credential | Used for | Free? | | :--- | :--- | :--- | | Anthropic API | Claude Haiku AI parsing | Paid (very low cost) | | Google Sheets OAuth2 | Read & write expenses | Free | 3. After importing Connect your Anthropic credential to the Claude Haiku node Connect your Google Sheets credential to all sheet nodes Update the Sheet ID in all Google Sheets nodes to point to your sheet Open the workflow chat and type your first expense 🏗 How It Works You type: "spent 500 on car wash" ↓ Detect Intent → classified as: expense ↓ Read All Expenses → loads sheet (works even if empty) ↓ Prepare Data → calculates existing month total ↓ AI Parse Expense (Claude Haiku) → amount: 500 → category: Transport → description: Car wash → date: today → currency: INR ↓ Parse & Total → derives Month from parsed date → computes new running total ↓ Is Valid? (amount > 0 and is_expense = true) ✅ YES → Save to Sheet → Reply with confirmation ❌ NO → Ask user to include an amount Summary flow: You type: "summary february" ↓ Detect Intent → classified as: summary ↓ Read for Summary → loads all rows ↓ Build Summary → detects "february" in message → filters rows by February (current year) → calculates total, breakdown by category, daily avg ↓ Returns formatted report 📊 Sample Summary Output 📊 March 2026 Report 💳 Total: ₹8,450 📝 Entries: 12 📈 Daily avg: ₹470 🔝 Top: 🍕 Food & Dining Breakdown: 🍕 Food & Dining: ₹3,200 (38%) 🚗 Transport: ₹1,800 (21%) 💡 Bills & Utilities: ₹1,200 (14%) 🛍️ Shopping: ₹1,050 (12%) 🎬 Entertainment: ₹800 (9%) 🏥 Health: ₹400 (5%) 📂 Auto-Detected Categories | Emoji | Category | Example keywords | | :---: | :--- | :--- | | 🍕 | Food & Dining | lunch, dinner, restaurant, zomato, swiggy, grocery | | 🚗 | Transport | uber, ola, petrol, metro, flight, car wash, parking | | 🛍️ | Shopping | amazon, flipkart, clothes, electronics, shoes | | 💡 | Bills & Utilities | electricity, wifi, rent, recharge, emi, gas | | 🎬 | Entertainment | netflix, movie, spotify, concert, gaming | | 🏥 | Health | medicine, doctor, gym, pharmacy, hospital | | 💼 | Business | office, software, domain, hosting, tools | | 📚 | Education | course, books, tuition, udemy, fees | | 💰 | Other | anything that doesn't match above | ⚙️ Workflow Nodes | Node | Type | Purpose | | :--- | :--- | :--- | | When chat message received | Chat Trigger | Entry point | | Detect Intent | Code | Classify: expense / summary / help | | Intent Switch | Switch | Route to correct path | | Read All Expenses | Google Sheets | Load rows (alwaysOutputData: true) | | Prepare Data | Code | Compute month total, handle empty sheet | | AI Parse Expense | LLM Chain | Extract fields using Claude Haiku | | Claude Haiku | Anthropic Model | AI model for parsing | | Parse & Total | Code | Validate, derive month, compute total | | Is Valid Expense? | IF | Check amount > 0 | | Save Expense to Sheet | Google Sheets | Append new row | | Reply Saved | Code | Format confirmation message | | Reply Invalid | Code | Request amount from user | | Read for Summary | Google Sheets | Load all rows for report | | Build Summary | Code | Filter by month, compute breakdown | | Send Help | Code | Return command reference | 🔧 Customisation Ideas Add a budget alert** — warn when monthly total exceeds a set limit Telegram integration** — replace chat trigger with Telegram bot WhatsApp integration** — use Twilio WhatsApp as the input channel Weekly digest** — add a Schedule Trigger for automatic weekly reports Multi-user** — store user ID with each row to support team expense tracking Export to PDF** — generate monthly expense report as a PDF ⚠️ Important Notes The Read All Expenses node has Always Output Data enabled — this is required so the flow works on an empty sheet Month is derived from the parsed date, not today's date — so past-dated entries file correctly The Total column stores the running month total at the time of each entry — it does not update retroactively if you delete rows 📦 Requirements Summary n8n (cloud or self-hosted) Anthropic API key (Claude Haiku — very low token usage) Google account with Sheets access Built with n8n · Claude Haiku · Google Sheets By Nirav Gajera
by Mychel Garzon
Quick overview This template runs two scheduled workflows to govern Microsoft Entra ID (Azure AD) guest accounts by detecting stale users via Microsoft Graph, staging deletions in SharePoint with a 72-hour window, notifying sponsors in Microsoft Teams, and deleting overdue guests while auditing outcomes. How it works The Scanner (Runs Weekly): Fetches all guest users using native Microsoft Graph API pagination. Filters Stale Accounts: Identifies guests with no sign-in activity for over 90 days. Stages Deletions: Writes new stale accounts to a SharePoint PendingGuestDeletions list with a 72-hour countdown. Alerts Sponsors: Mentions the assigned manager in a Microsoft Teams message, warning them of the impending deletion. The Executioner (Runs Daily): Queries SharePoint for records where the 72-hour countdown has expired. Checks Exceptions: Verifies if the sponsor added the guest to a SharePoint GuestRetentionExceptions list. Deletes & Audits: Safely deletes the Entra ID account (if not retained), updates the staging list status, and logs the final outcome to an Audit SharePoint list. Setup SharePoint: Create three lists: PendingGuestDeletions, GuestRetentionExceptions, and GuestAccountAuditLog (ensure columns match the workflow JSON). Azure AD: Create an App Registration with User.ReadWrite.All, AuditLog.Read.All, Sites.ReadWrite.All, and ChannelMessage.Send (Application permissions). n8n Credentials: Connect your OAuth2 (Client Credentials) setup to the "MS Graph - Guest Governance" credential. Configuration: Open the two Config nodes (Scanner and Executioner) and paste your SharePoint Site ID, List IDs, and Teams Team/Channel IDs. Error Handler: Go to Workflow Settings and bind your preferred Error Handler workflow to catch API routing failures. Requirements Microsoft Entra ID (Azure AD) tenant Microsoft SharePoint (for database state management) Microsoft Teams (for sponsor alerts) Azure App Registration with Application-level Graph API permissions Customization Modify the inactivityThresholdDays (default 90) and responseWindowHours (default 72) in the Config nodes. Adjust the Teams message HTML payload to match your internal IT branding. Change the Cron triggers to match your specific IT operational cadence. Additional info This template completely avoids the severe limitations of long-running 72-hour Wait nodes by decoupling the discovery and deletion phases into two distinct workflows bridged by a SharePoint database. Combined with native node pagination and built-in rate-limit retries, this engine is highly resilient and safe to run in massive enterprise tenants with tens of thousands of guest users.
by Muhammad Mahamid
Birthday & Anniversary Reminder with AI Gift Ideas — Telegram Never forget a birthday again. This workflow checks your contacts daily and sends you a Telegram alert 7 days before each birthday and on the day itself — with a warm, AI-generated personal message and 3 gift ideas tailored to the person's interests. How It Works Fill a Google Sheet ("People" tab) with: name, birthday, relationship, interests The workflow runs daily at 8 AM (configurable) Checks if any birthday is today → sends 🎂 "TODAY" alert Checks if any birthday is in 7 days → sends 📅 "REMINDER" alert AI (Groq, free tier) writes a warm, personalized birthday message based on the person's name, age, relationship, and interests AI suggests 3 specific gift ideas with price estimates ($20-100) Everything sent to your Telegram in one clean message What You'll Receive on Telegram 🎂 TODAY — Khalil Mansour turns 34! 👤 friend 📅 2026-04-26 💡 Interests: football, gaming, tech gadgets 💌 MESSAGE: Happy Birthday Khalil! 🎉 Wishing you an epic 34th year filled with incredible goals, clutch victories, and exciting new tech to geek out over. You deserve all the best — enjoy your day! 🎁 GIFT IDEAS: FIFA 26 Ultimate Edition ($60) Razer BlackShark V2 gaming headset ($45) Anker portable phone charger for match days ($30) Workflow Architecture ▶️ Manual Test ──→ 📖 Read People → 📅 Check Dates → 🎁 Format Messages ⏰ Daily 8 AM ──↗ ↓ 🤖 AI Personalize ← Groq Chat Model ↓ 📝 Combine Message ↓ 📲 Send Telegram 9 nodes total. Each node has a clear, single responsibility. Google Sheet Format Create a Google Sheet with a tab named "People" and these columns: | name | birthday | relationship | interests | |---|---|---|---| | Mom | 1965-08-20 | family | gardening, cooking | | Ahmad | 1990-05-15 | friend | photography, hiking | | Sarah | 1985-12-03 | colleague | books, cooking | | Boss | 1978-11-02 | work | golf, wine, travel | What You Need Google Sheet** with your contacts (format above) Telegram bot** — create via @BotFather in 2 minutes, then send /start to your bot Groq API key** — free, no credit card needed (console.groq.com) Setup (10 minutes) Import the workflow JSON into n8n Open 📖 Read People → select your Google Sheet and set tab name to "People" Open 📲 Send Telegram → add your Telegram credential and set your Chat ID (get it from @userinfobot on Telegram) Open Groq Chat Model → add your Groq API credential Click ▶️ Manual Test to verify everything works Activate the workflow — it runs automatically every day at 8 AM Features 7-day advance reminder** — enough time to buy and ship a gift Day-of alert** — never miss sending a birthday message AI-personalized messages** — warm, unique messages based on who the person is and what they like AI gift suggestions** — 3 specific ideas with prices, tailored to their interests Age calculation** — automatically calculates how old they're turning Year wrap-around** — correctly handles birthdays that already passed this year Graceful fallback** — if AI is unavailable, you still get the basic reminder Manual test button** — test the full workflow before activating Customizable Reminder window** — change from 7 days to any number (edit one line in the Check Dates node) Alert time** — change from 8 AM to any time (edit the cron in the Schedule trigger) AI model** — swap Groq model in the Chat Model node (default: llama-3.1-8b-instant) Multiple events** — works for birthdays, anniversaries, or any annual date — just add rows Monthly Cost $0. Google Sheets is free. Telegram Bot API is free. Groq free tier (14,400 requests/day) easily handles a few AI calls per day. Setup Time 10 minutes. Import → connect 3 credentials → fill your contacts sheet → activate. Done forever.