by Rahul Joshi
Description Streamline client retention and contract renewals by automatically identifying expiring accounts, sending personalized reminder emails, and notifying account managers through Slack. This workflow ensures timely outreach, improved renewal rates, and centralized tracking — without manual effort. 🔁📧📅 What This Template Does Triggers daily at 9 AM to check for contracts expiring within 10 days. ⏰ Fetches all client records from GoHighLevel CRM. 🗂️ Validates client data to ensure required custom fields (Contract End Date & Account Manager) are available. 🧩 Filters expiring contracts and formats key client details (name, email, expiry date). 🔍 Sends renewal reminder emails to clients using Gmail. 💌 Notifies account managers in Slack with full client and renewal details. 💬 Generates a summary report of total reminders sent and execution status. 📋 Logs all reminders and timestamps into Google Sheets for performance tracking. 📊 Key Benefits ✅ Never miss renewal deadlines again ✅ Improve client retention and satisfaction ✅ Reduce manual tracking and follow-up work ✅ Keep account managers informed in real-time ✅ Maintain a clear audit trail of renewal activities Features Automated daily scheduling (9 AM trigger) GoHighLevel integration for client data Dynamic filtering for contracts expiring within 10 days Gmail email automation for personalized messages Slack notifications for internal visibility Google Sheets logging for analytics and reporting Requirements GoHighLevel account with access to Contacts API Custom fields: Contract End Date and Account Manager Gmail account with OAuth2 credentials Slack Bot token with chat:write permission Google Sheets OAuth2 credentials Target Audience Account management and client success teams Agencies handling multiple client contracts Businesses with recurring subscriptions or service renewals Teams wanting automated retention workflows Step-by-Step Setup Instructions Connect your GoHighLevel account and ensure contract-related custom fields are configured. Set your Slack channel ID where renewal notifications will be sent. Connect Gmail for automated client communication. Link Google Sheets for centralized renewal logging. Adjust reminder window in the code node (daysUntilExpiry <= 10) as per your needs. Test the workflow once manually, then enable scheduling for automation.
by Cheng Siong Chin
Introduction Automate candidate evaluation from CV submission to interview booking. Perfect for HR teams and recruiters. How It Works Webhook receives CVs, extracts Airtable data, AI assesses qualifications, filters candidates, sends emails, schedules Google Calendar interviews, and updates records. Workflow Template Webhook → Airtable (Get Data) → AI Extract CV → AI Assessment → Filter Qualified → Generate Email → Send Email → Filter Interview Candidates → Schedule Calendar → Update Airtable → Slack Notification → Respond Workflow Steps Receive & Store: Webhook receives CVs, saves to Airtable. Fetch & Download: Gets job criteria, downloads CVs. AI Assessment: Parses skills, scores candidates. Filter & Email: Routes qualified, sends messages. Schedule & Update: Books interviews, updates Airtable. Notify: Alerts via Slack, confirms status. Setup Instructions Webhook & Airtable: Set URL, create tables, add credentials. AI Configuration: Add OpenAI key, define schema, customize scoring. Communication: Connect Gmail, Calendar, and Slack. Prerequisites Airtable account OpenAI API key Gmail and Google Calendar Slack workspace (optional) Customization Multi-stage scheduling ATS integration (Greenhouse, Lever) Benefits Reduces screening time by 90% Ensures uniform evaluation Cuts time-to-hire by 60%
by Cheng Siong Chin
How It Works A webhook or timer triggers the workflow to automatically fetch inventory data from multiple platforms. Stock levels are compared across stores to identify discrepancies, and any inconsistencies are updated on the respective platforms in real time. All changes and updates are recorded in Google Sheets for easy tracking, and email alerts are sent to notify relevant team members of any exceptions or issues that require attention. This ensures inventory accuracy and timely response to stock mismatches. Setup Steps Add Shopify and/or WooCommerce API credentials to enable secure data access. Connect Google Sheets for comprehensive logging of all inventory updates and Gmail for sending timely email alerts. Configure the sync frequency within the Function nodes to control how often inventory data is fetched, compared, and updated. Prerequisites Shopify/WooCommerce API keys Google Sheets access Gmail credentials n8n instance Customization Add ERPNext or custom APIs Enable Slack notifications AI discrepancy detection Benefits Real-time inventory accuracy Automated cross-platform updates Centralized audit logging
by Adem Tasin
🧩 Description A customized n8n workflow inspired by the Lead Generation Agent template. It automates B2B lead scraping via Apify, extracts contact emails with AI, sends cold emails via Gmail, and logs every interaction in Google Sheets with Telegram alerts for live monitoring. 🧠 How It Works This workflow automates the entire B2B lead generation and outreach process from data collection to email delivery. Once you enter your search keyword and location, the system scrapes business details using Apify, filters valid websites, and extracts email addresses with AI. Each lead is then enriched and logged in Google Sheets. The workflow automatically composes a personalized cold email based on your preferred tone (friendly, simple, or professional) and sends it through Gmail with short delays between each message to avoid spam filters. You’ll also receive Telegram notifications to monitor progress and any leads that fail to send. ⚙️ Setup Steps Clone the workflow into your n8n instance. Add your API credentials: Apify API Token OpenAI (or Gemini) API Key Google Sheets & Gmail account connections Telegram Bot Token + Chat ID (optional) Open the Form node or Manual Trigger, and set your search criteria (e.g., “marketing agencies in London”). Configure your Google Sheet — make sure the columns match the node mapping. Adjust the AI prompt in the OpenAI node if you want a different tone or style for your emails. Run the workflow manually to test one or two leads first. Once confirmed, activate scheduling or keep it manual for on-demand lead generation. 🚀 Try It Out! Experience how AI and automation can take over your lead generation workflow. Just enter a business type and location, and watch as the system finds potential clients, extracts contact details, crafts a personalized cold email, and sends it — all without manual effort. Perfect for freelancers, agencies, or anyone looking to automate their B2B outreach process.
by Khairul Muhtadin
This workflow automatically checks a list of desired domain names for availability every 30 minutes. Using the Porkbun API and Google Sheets, it instantly sends detailed notifications via Gmail and Discord the moment a domain becomes available, so you can secure it before anyone else. Why Use This Workflow? Time Savings: Eliminates hours of manual domain checking each week. Set your list once and let the automation monitor your targets 24/7. Competitive Edge: Gain a critical speed advantage in acquiring high-value or expiring domains the second they become available. Scalability: Effortlessly monitor hundreds of domains simultaneously without any extra effort or performance degradation. Ideal For Domain Investors:** Automatically track and snipe valuable expiring domains for their portfolio without constant manual checks. Marketing Agencies & SEO Specialists:** Secure brandable domains for new clients or build out private blog networks by catching domains as soon as they drop. Startups & Entrepreneurs:** Monitor desired brand names without the daily hassle, ensuring they get the perfect domain the moment it's available. How It Works Trigger: A schedule trigger initiates the workflow every 30 minutes. Data Collection: It retrieves a list of domains to monitor from a designated Google Sheet, specifically targeting rows marked as "no" for availability. Processing: The workflow iterates through each domain one by one. Intelligence Layer: It makes an API call to Porkbun to check the current availability of the domain. An IF node then determines if the domain is available (avail == yes). Output & Delivery: If a domain is available, the workflow sends a rich HTML email via Gmail and a formatted message to a Discord channel, complete with pricing details and a direct registration link. Storage & Logging: The Google Sheet is automatically updated to mark the domain as "available," preventing redundant notifications on future runs. Setup Guide Prerequisites | Requirement | Type | Purpose | |-------------|------|---------| | n8n instance | Essential | Workflow execution platform | | Porkbun Account | Essential | API Access for domain checks | | Google Cloud Platform | Essential | Storing domain list (Sheets) & sending alerts (Gmail) | | Discord Server | Optional | Real-time channel notifications | Installation Steps Import the JSON file to your n8n instance. Create a Google Sheet with two columns: Domain (e.g., example.com) and isAvailable (e.g., no). Configure credentials: Porkbun: Log in to Porkbun, go to API Access, create a new key, and copy the API Key and Secret Key into the HTTP Request nodes. A "Validate API KEY" node is included for testing your credentials. Google Sheets/Gmail: Authenticate your Google account for the Google Sheets and Gmail nodes. Discord: Create a Discord Bot and add the credentials to the Discord node. Update environment-specific values: Get Domains from Sheet: Enter your Google Sheet ID and select the correct sheet name. Send Email Alert: Set your recipient's email address in the "To" field. Send Discord Notification: Select your desired Server and Channel ID. Test execution: Add a domain you know is available to your Google Sheet (with isAvailable set to "no"). Run the workflow manually to verify that all connections work and you receive notifications. Technical Details Core Nodes | Node | Purpose | Key Configuration | |------|---------|-------------------| | Schedule Trigger | Initiates the workflow on a recurring basis. | Set the desired interval (default: 30 minutes). | | Google Sheets | Reads the domain list and updates its status. | Sheet ID, Sheet Name, and column mapping. | | SplitInBatches | Processes each domain from the list individually. | Batch size is set to 1 to check domains sequentially. | | HTTP Request | Queries the Porkbun API for domain availability. | Porkbun API endpoint and credentials. | | IF | Routes the workflow based on the API response. | Checks if response.avail equals "yes". | | Gmail | Sends a detailed email alert for available domains. | Recipient email, subject, and HTML body. | | Discord | Sends a concise notification to a Discord channel. | Server ID, Channel ID, and message content. | | Wait | Prevents API rate-limiting. | Pauses for 10 seconds between checking domains. | Workflow Logic The workflow is triggered by a schedule, fetching a list of domains from a Google Sheet. It uses the SplitInBatches node to loop through each domain sequentially. For every domain, it calls the Porkbun API. An IF node checks the response; if available, it triggers notifications and updates the Google Sheet. A Wait node is crucial for respecting API rate limits, ensuring the workflow runs smoothly even with large domain lists. Customization Options Basic Adjustments: Check Frequency**: Modify the "Schedule Trigger" node to run more or less frequently. Notification Channels**: Remove the Gmail or Discord nodes, or add new ones like Slack or Telegram. Email Content**: Customize the HTML in the Gmail node to match your branding. Advanced Enhancements: Auto-Registration**: Extend the workflow to use Porkbun's domain registration API endpoint to automatically purchase the domain when it becomes available (use with caution). Advanced Filtering**: Add logic to only send notifications for domains with specific TLDs (.com, .io, etc.) or that are not marked as "premium." Tiered Notifications**: Set up different notification channels based on the perceived value of the domain, sending high-priority alerts via SMS for critical domains. Troubleshooting Common Issues: | Problem | Cause | Solution | |---------|-------|----------| | Workflow fails at HTTP Request node | Invalid Porkbun API credentials. | Use the separate "Validate API KEY" node to test your keys directly. Regenerate them if needed. | | No domains are processed | Google Sheets node configuration error or the sheet is empty. | Verify the Sheet ID is correct and that the isAvailable column contains "no" for the domains you want to check. | | Authentication errors | Google or Discord credentials have expired or lack permissions. | Re-authenticate the respective nodes in the n8n credentials panel. | Created by: Khaisa Studio Category: Monitoring Tags: Porkbun, Domain, Automation, Google Sheets, Notifications Need custom workflows? Contact us Connect with the creator: Portfolio • Workflows • LinkedIn • Medium • Threads
by Sameed
Who’s it for This workflow is perfect for recruiters, HR professionals, and startup founders who receive job applications by email and want to automate the process of parsing, matching, and evaluating resumes. If you want to save time by having candidate data and AI scores automatically organized in Google Sheets, this workflow is for you. How it works Monitors a Gmail inbox for new emails with resume attachments (PDF) Extracts the job title from the email subject and matches it against open positions stored in Airtable Uploads the resume file to a designated Google Drive folder for storage Builds a prompt with all relevant context and sends it, along with the resume file, to Gemini AI for analysis Gemini scores the candidate, extracts their name and phone, and provides a one-sentence explanation All results—including candidate info, AI score, feedback, and a download link for the resume—are appended as new rows in Google Sheets How to set up Create accounts and APIs: You’ll need Google (Gmail, Drive, Sheets), Airtable, and Gemini API access. Prepare your Airtable base: Add your job descriptions (title, code, description, skills, etc.)—these are matched against incoming applications. Prepare your Google Sheet: Create a spreadsheet to store applicant data and scores. Connect credentials in n8n: Set up Gmail, Google Drive, Google Sheets, Airtable, and Gemini API credentials in n8n’s credential manager. Import this workflow: Use the workflow import feature in n8n and connect your credentials to each node. Test: Send a test application email with a PDF resume to your connected Gmail—watch the data appear in Google Sheets! Requirements Google account with access to Gmail, Drive, and Sheets Airtable account for job data Gemini API key (no hardcoded keys—use n8n environment variables or credentials) n8n instance (cloud or self-hosted) How to customize the workflow Job matching logic**: Edit the EmailMatcher node to fine-tune how subjects are matched to job titles. Scoring criteria**: Adjust the prompt in PromptBuilder to change what Gemini evaluates. Supported file types**: Modify the ReadyAttachment node to accept other resume formats if needed. Sheet columns**: Edit the Google Sheets node to map new data points or change the output format. Notifications**: Add Slack or email nodes to notify you when a strong candidate is found.
by David Olusola
⚠️ Crypto Price Threshold Alerts (Email/SMS/Telegram) 📌 Overview This workflow monitors Bitcoin (BTC) and Ethereum (ETH) prices in real-time using CoinGecko’s public API. It sends you an instant alert when a price crosses a custom threshold or when the 24-hour change moves beyond your defined % range. Perfect for traders who want automated price pings without constantly checking charts. ⚙️ How it works Schedule Trigger — runs every 10–15 minutes (configurable cron). HTTP Request (CoinGecko) — fetches live BTC/ETH prices + 24h % changes. Code Node — compares values against your target thresholds. IF Node — checks if any condition is true (cross up/down or big move). Notification Node — sends alert via Email, SMS (Twilio), or Telegram. Example Output: > “BTC broke $110,000 (+2.1% 24h)” 🛠 Setup Guide Set your thresholds in the Code node: BTC_UP / BTC_DOWN ETH_UP / ETH_DOWN MOVE_ABS (absolute % change to trigger) Choose delivery channel: Email Node → SMTP (Gmail, Outlook, etc.) Twilio Node → SMS alerts Telegram Node → DM or channel alerts Test Run: Execute once from the Code node. If thresholds are crossed, you’ll see a formatted alert payload. 🎛 Customization Adjust interval in the Schedule Trigger (default: every 15m). Add more cryptos by editing the CoinGecko API call. Use Slack or Discord instead of Email/Telegram for team alerts. Store last triggered state in Google Sheets/DB to avoid repeated pings. 👤 Author David Olusola For traning automation & 1:1 consulting: sales@daexai.com
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 Jainik Sheth
What is this? This workflow is a Lead Qualification Voice Agent automation template built in n8n. It automates the process of qualifying leads by initiating outbound calls, analyzing call transcripts, updating lead data, and sending follow-up emails. The workflow integrates Google Sheets, OpenAI, and Twilio (via ElevenLabs API) to streamline lead management for sales or customer success teams. 1. Initiate Call Purpose: This step starts the lead qualification process by detecting new leads and preparing to contact them. How it works: The workflow is triggered when a new lead is added to your data source (such as a new row in Google Sheets, using the “Google Sheets Trigger” node). The trigger node captures essential lead information (e.g., name, phone number, service of interest) from the new entry. The workflow then prepares a personalized call script or opener, often using an AI node (like OpenAI) to generate a friendly and relevant introduction based on the lead’s details. An outbound call is initiated to the lead’s phone number using a telephony integration node (such as HTTP Request to ElevenLabs or Twilio). Note: Ensure your trigger node is correctly set up to monitor the right data source and columns. Configure the telephony node with valid API credentials and the correct phone number field. Optionally, customize the AI prompt to tailor the call opener to your business context. 2. Fetch Client Data Purpose: This step retrieves detailed information about the lead from your data source (such as a CRM, database, or Google Sheets). How it works: The workflow uses a data retrieval node (such as Google Sheets, HTTP Request, or a database node) to fetch client details based on a unique identifier (like phone number or email) captured in the trigger step. The node is configured to query the data source for all relevant fields, such as the lead’s name, company, previous interactions, and any custom attributes important for your qualification process. The fetched data is then made available to subsequent nodes, allowing for dynamic personalization of the call script and follow-up actions. Note: Ensure your data source is up-to-date and contains all necessary fields for lead qualification. 3. Outbound Call Processing Purpose: To manage the workflow after the outbound call is initiated, including handling call results, analyzing transcripts, and updating lead status. How it works: After the call is placed (using a telephony integration node), the workflow waits for the call to complete. This can be achieved using a webhook node (if your provider supports callbacks) or a polling node to check call status. Once the call is finished, the workflow retrieves the call outcome (e.g., answered, voicemail, failed) and, if available, the call transcript. The transcript can be sent to an AI node (like OpenAI) for analysis—such as extracting intent, sentiment, or key information discussed during the call. Based on the analysis, the workflow updates the lead’s status in your data source (e.g., marking as “Qualified,” “Needs Follow-up,” or “Unreachable”). Optionally, the workflow can trigger additional actions, such as sending a follow-up email, notifying a sales rep, or logging the interaction in your CRM. Note: Use webhook nodes for real-time call result processing if your telephony provider supports it. Log all call results and analysis for future reference and reporting. Prerequisities OpenAI Google Sheets Twilio Elevenlabs: Import the twilio number into Elevenlabs Set up an agent in Elevenlabs Set up prompt into Elevenlabs Set up webhooks for fetch client initiation data and post call data Customization Change Data Source: Swap the Google Sheets node for another data source (e.g., Airtable, MySQL) as needed. Modify Call Script: Edit the OpenAI prompt to generate different call openers or scripts based on your use case. Adjust Call Logic: Modify the outbound call node to use a different telephony provider or to handle call scheduling. Notification Options: Integrate with email, chat, or notification services to alert your team of qualified leads.
by Roshan Ramani
AI Powered All Purpose Appointment System via JotForm What This Workflow Does This template automates the entire appointment request lifecycle using AI. When someone submits an appointment request through JotForm, the system automatically sends details for approval, generates personalized confirmation or rejection emails using OpenAI, and maintains records—all without manual intervention. 👉 Get JotForm here Whether you're running a clinic, consulting business, training center, or any service-based operation, this workflow eliminates repetitive email writing and ensures consistent, professional communication. It's fully customizable to work with any appointment form structure. Who's It For Service providers (consultants, trainers, coaches) Healthcare professionals Educational institutions Salon and wellness businesses Event coordinators Any business handling appointment requests at scale How It Works Form Submission – Appointment request arrives via JotForm Data Extraction – System pulls name, email, phone, date, time, and visit type Approval Request – Details are sent to Telegram for review and approval AI Email Generation – OpenAI creates personalized confirmation or rejection email based on approval status Smart Routing – If approved: records in Google Sheets and sends confirmation. If rejected: removes from system and sends reschedule notice Automated Follow-up – Requester receives professional email instantly Getting Started (Quick Setup) Step 1: Choose Your JotForm Select any existing appointment form or create a new one in JotForm The workflow works with any form structure Step 2: Map Your Form Fields Identify the field names in your JotForm (name, email, phone, appointment date, time, etc.) Update the "Parse: Extract Appointment Details" node with your exact field names This ensures the workflow reads data correctly from your specific form Step 3: Follow Full Setup Steps Connect JotForm – Copy the Form ID and API Key Configure Google Sheets – Create a sheet for appointment records and copy the spreadsheet ID Setup Telegram – Create a bot via BotFather for approval notifications Add OpenAI Credentials – Generate an API key at platform.openai.com Authorize Gmail – Enable Gmail API in Google Cloud Console Why This Is Customizable The workflow is built to be flexible from the start. Whether your form collects appointment type, service category, special requests, or any other field, you can easily map those fields into the flow. Just identify what data your form collects and tell the workflow where to find it. Requirements JotForm account with an appointment form Google Sheets for record keeping Telegram account and bot (for approvals) OpenAI API key (paid account recommended) Gmail account for sending emails n8n instance (self-hosted or cloud) How to Customize Change Approval Channel** – Replace Telegram with Slack, Discord, or email by swapping the notification node Modify Email Templates** – Edit the AI prompt in "Generate: Appointment Response Email" to match your tone and branding Add More Fields** – Update the Set node to capture additional information from your JotForm like appointment type, service category, or special requests Adjust Routing Logic** – Modify the conditional node to add approval stages or auto-confirm certain appointment types Connect CRM** – Add steps to automatically create contacts in HubSpot, Pipedrive, or Salesforce Enable Reminders** – Use Gmail or SMS nodes to send appointment reminders 24 hours before scheduled time Extend Data Collection** – Map any custom fields from your JotForm by updating the extraction node to include them
by Ramon David
This workflow manages subscription billing reminders and data updates via Telegram. It runs daily at 8:00 AM to check for upcoming due subscriptions, formats relevant information, and sends reminders to users. It also processes user messages for subscription management—adding, updating, or retrieving billing info—using AI-powered natural language understanding. Main outcomes include automated subscription tracking, timely reminders, and conversational interaction through Telegram, reducing manual tracking efforts and improving billing accuracy. Automation Benefits Time & Cost Savings Manual Process: Several hours/week spent managing subscriptions and reminders manually. Automated Process: Workflow completes checks, reminders, and data updates in under a minute. Time Savings: Saves approximately 5 hours weekly, translating to significant productivity gains and cost reduction. ROI: Automation pays for itself within the first month due to saved labor. Error Reduction: Minimized manual entry errors, ensuring accurate billing records and timely reminders. Business Impact Solves the problem of manual subscription tracking and reminders. Scales effortlessly as subscription list grows. Opens new opportunities for proactive customer engagement, personalized messaging, and integrated billing insights. Setup Guide Prerequisites Google Sheets account with subscription data sheet. OpenAI API key with access to GPT-4. Telegram bot token with messaging permissions. Email SMTP setup if email reminders are used. API Configuration Google Sheets: Generate OAuth2 credentials, enable Sheets API, and authorize access. OpenAI: Create API key, set model to GPT-4, and test connectivity. Telegram: Create bot via BotFather, retrieve token, and set webhook URL. Webhook URL: Use the provided URL in the Telegram bot settings. Node-by-Node Setup OpenAI Chat Model: Enter API credentials, select GPT-4 model. Google Sheets: Input spreadsheet ID, sheet name, and ensure correct permissions. Telegram Nodes: Insert chat ID, message parsing, and response formatting. Schedule Trigger: Confirm cron expression for daily execution. For AI nodes, test with sample messages to verify formatting and extraction. Testing & Validation Run workflow manually. Confirm data is retrieved, processed, and responses sent. Verify subscription updates in Google Sheets. Check Telegram chats for correct message flow. N8N Documentation References Google Sheets Node OpenAI Node Telegram Node Schedule Trigger Maintenance & Troubleshooting Regular Maintenance (Monthly) Check API credentials and renew tokens if expired. Monitor workflow logs for errors. Review Google Sheets data for consistency. Update API keys when new versions or permissions are granted. Verify currency conversion accuracy periodically. Common Issues & Solutions Workflow not triggering: check schedule settings and webhook URLs. Data not updating: verify Google Sheets credentials and permissions. Incorrect responses: test AI prompt inputs and outputs. API failures: regenerate API keys or check quota limits. Reconfigure nodes if external API changes. Monitoring & Alerts Set up email or Slack alerts for failures. Regularly review execution logs. Track key metrics like successful runs, error rates, and response times. Support & Escalation Check n8n logs first for errors. Export workflow for support if needed. Use n8n community forums for common issues. Contact API providers for account-specific problems. Emergency procedures: restart workflow, regenerate tokens. Updates & Improvements Review workflow performance quarterly. Optimize AI prompts for better accuracy. Backup workflow configurations before major changes. Incorporate user feedback for feature enhancements.
by Oneclick AI Squad
This is a fully working n8n workflow that sends prescriptions to patients via email and WhatsApp when a doctor enters prescription data into a Google Sheet. 📋 Google Sheets Structure Main Sheet: Required columns: prescription_id (unique ID) patient_name patient_email patient_phone doctor_name prescription_date prescription_details dosage_instructions followup_date (optional) prescription_status (set to "new" for new prescriptions) Log Sheet: This will be auto-created with columns for tracking sent notifications. 🔧 Required Credentials Setup Google Sheets OAuth2 API: Connect your Google account SMTP Credentials: For email sending (Gmail, Outlook, etc.) WhatsApp API: Meta Business WhatsApp API credentials ⚙️ Configuration Steps Replace YOUR_GOOGLE_SHEET_ID with your actual Google Sheet ID Replace YOUR_WHATSAPP_PHONE_NUMBER_ID with your WhatsApp Business phone number ID Update the email sender address in the "Send Email" node Set up your credentials in n8n 🌟 Features Included Automated Trigger**: Monitors Google Sheet for new prescriptions Smart Filtering**: Only processes prescriptions with status "new" Rich Email Format**: Professional HTML email with prescription details WhatsApp Integration**: Sends formatted prescription text Comprehensive Logging**: Tracks all sent notifications Status Updates**: Marks prescriptions as "sent" after processing Error Handling**: Logs success/failure status for both channels 📱 Sample Data Format Add rows to your sheet like this: prescription_id: RX001 patient_name: John Doe patient_email: john@email.com patient_phone: +1234567890 doctor_name: Dr. Smith prescription_date: 2025-01-15 prescription_details: Amoxicillin 500mg capsules dosage_instructions: Take 1 capsule 3 times daily with food followup_date: 2025-01-22 prescription_status: new