by Rakin Jakaria
📄 AI Invoice Agent The AI Invoice Agent automates the invoice creation, email delivery, and status tracking process for client billing. It ensures invoices are generated, sent professionally, and updated in Google Sheets with minimal manual work. 🔹 How It Works Trigger Activated manually (Execute Workflow) when you want to process invoices. Fetch Invoices Reads client invoice data from a Google Sheet (Client Invoices). Filter Pending Invoices Passes through only invoices with Status = Pending. Prepare Invoice Data Collects and formats details: Invoice ID Client Name & Address Project Name Amount (USD) Invoice Date (today’s date) Due Date (7 days later) Loop Over Invoices Processes each invoice one by one. AI Email Draft Uses GPT-4.1-mini to generate a polite, professional email. Tone: friendly but business-oriented. Signed as Upward Engine Team. Extract Email Parts Separates subject and body from the AI output using an Information Extractor. Generate Invoice PDF Uses CraftMyPDF to create a formatted invoice PDF with: Company details (Upward Engine) Client details Invoice ID, Date, Due Date Amount due Footer message Send Email to Client Sends invoice email via Gmail, attaching the PDF invoice. Update Invoice Status Updates Google Sheets to mark the invoice as Completed. Saves Invoice ID, Date, Due Date, and updated status. Loop Continuation Continues until all pending invoices are processed. 🔹 Tools & Integrations Google Sheets** → Stores client & invoice data Filter Node** → Selects only Pending invoices GPT-4.1-mini (OpenAI)** → Generates professional emails Information Extractor** → Separates subject & body CraftMyPDF** → Creates PDF invoices Gmail** → Sends invoice emails with PDF attachments 🔹 Example Workflow ✅ Google Sheets: Invoice marked as Pending ➡️ AI generates email → “Invoice INV-1023 for Web Design Project – Due Sep 5” ➡️ PDF invoice created & attached ➡️ Email sent to client with subject + body ➡️ Status updated in Google Sheet → Completed ⚡ This agent ensures zero missed invoices, professional client communication, and up-to-date tracking — fully automated for agencies and small businesses.
by Jason Stelo
Overview: This workflow automates the full pipeline of preparing scraped leads and loading them into an Instantly campaign for cold outreach.It begins by pulling rows from a Google Sheet that contains lead data sourced from your scraper or enrichment tools. Each row is checked for required fields first name, last name, summary, and email. The workflow also validates the email format to ensure only usable contacts continue through the system. For every lead that passes the filter, the workflow uses OpenAI to clean and standardize the contact’s name and then generates a personalized icebreaker. Use Cases: If your running an instantly campaign for cold email outreach this tool can gernerate personaizled ice breakers Prerequiste:To have instantly campaign along with instantly API google sheet API Also a Telegram api (optional) Extra Info: The icebreaker is crafted using the lead’s summary, company information, job history, achievements, or any contextual details your sheet provides. This personalization step is heavily dependent on the quality and freshness of your scraped data. The workflow appends the lead into a selected Instantly campaign, storing the icebreaker as a custom variable so it can be inserted directly into your outreach sequence. After all leads have been processed and uploaded, the workflow sends a Telegram notification confirming completion. This gives you fast visibility and ensures you always know when a new batch has successfully synced into Instantly.
by Rosh Ragel
Automatically Send Square Summary Report for Yesterday's Sales via Gmail What It Does This workflow automatically connects to the Square API and generates a daily sales summary report for all your Square locations. The report matches the figures displayed in Square Dashboard > Reports > Sales Summary. It's designed to run daily and pull the previous day's sales into a CSV file, which is then sent to a manager/finance team for analysis. This workflow builds on my previous template, which allows users to automatically pull data from the Square API into n8n for processing. (See here: https://n8n.io/workflows/6358) Prerequisites To use this workflow, you'll need: A Square API credential (configured as a Header Auth credential) A Gmail credential How to Set Up Square Credentials: Go to Credentials > Create New Choose Header Auth Set the Name to Authorization Set the Value to your Square Access Token (e.g., Bearer <your-api-key>) How It Works Trigger: The workflow runs every day at 4:00 AM Fetch Locations: An HTTP request retrieves all Square locations linked to your account Fetch Orders: For each location, an HTTP request pulls completed orders for the specified report_date Filter Empty Locations: Locations with no sales are ignored Aggregate Sales Data: A Code node processes the order data and produces a summary identical to Square’s built-in Sales Summary report Create CSV File: A CSV file is created containing the relevant data Send Email: An email is sent to the chosen third party Example Use Cases Automatically send Square sales data to management to improve the quality of planning and scheduling decisions Automatically send data to an external third party, such as a landlord or agent, who is paid via commission Automatically send data to a bookkeeper for entry into QuickBooks How to Use Configure both HTTP Request nodes to use your Square API credential Set the workflow to Active so it runs automatically Enter the email address of the person you want to send the report to and update the message body If you want to remove the n8n attribution, you can do so in the last node Customization Options Add pagination to handle locations with more than 1,000 orders per day Instead of a daily summary, you can modify this workflow to produce a weekly summary once a week Why It's Useful This workflow saves time, reduces manual report pulling from Square, and enables smarter automation around sales data — whether for operations, finance, or performance monitoring.
by Oneclick AI Squad
This automated n8n workflow leverages AI to monitor construction site progress using daily site photos, providing real-time updates and detailed tracking. The system analyzes images, generates progress summaries, and appends data to a Google Sheet for comprehensive project management. Good to Know Supports daily photo analysis for construction progress tracking Utilizes Google Gemini AI for intelligent image processing and analysis Includes memory to maintain context of ongoing construction updates Automates data appending to Google Sheets for real-time tracking Integrates with scheduled triggers for consistent daily updates How It Works Schedule Trigger** - Initiates the workflow daily to check for new site photos List a file** - Retrieves the latest photos from the designated drive folder Tack All Images** - Passes each photo to the AI for individual analysis AI Analysis** - Processes images using Google Gemini to detect construction progress Append data to a sheet** - Updates a Google Sheet with the analyzed progress data Send email** - Notifies stakeholders with a daily progress update How to Use Import workflow into n8n Configure Google Drive API for photo access Set up Google Gemini AI model for image analysis Configure Google Sheets API for data appending Set up email notification settings Test with sample photos and monitor updates Adjust AI parameters for accuracy as needed Requirements Access to Google Drive API Google Gemini AI model integration Google Sheets API access Email service configuration Scheduled trigger setup in n8n Sheet Columns: Date** Photo ID** Progress Summary** Status** Notes** Customizing This Workflow Modify AI prompts for specific construction milestones Adjust photo analysis frequency based on project needs Configure custom Google Sheet columns for additional data Set up custom email templates for stakeholder updates Integrate additional AI models for enhanced analysis
by Rahul Joshi
📘 Description This automation streamlines developer billing and compliance tracking by integrating Jira, Gmail, and n8n into a single intelligent workflow. It fetches all project issues from Jira, calculates logged hours per team member, identifies missing time entries, and automatically generates professional invoice summaries — complete with text attachments — which are then emailed to each developer. The system ensures no time logs are missed, billing remains accurate, and finance teams receive transparent, auditable records — all without manual follow-ups. ⚙️ What This Workflow Does (Step-by-Step) 🟢 When Clicking ‘Execute Workflow’ Starts the entire billing and compliance cycle manually or on schedule. 📋 Fetch All Project Issues with Time Data Retrieves all Jira issues across projects, including: Time spent (seconds → hours) Assignee, project, sprint, and status info Priority and issue summaries This serves as the foundation for billing calculations and compliance checks. 📊 Aggregate Hours by Team Member Groups issues by assignee and calculates total hours logged per person. Outputs per-user data with: Name & email Total logged hours Full issue breakdown (status, sprint, priority) Forms the core dataset for both invoice creation and reminder logic. ⚠️ Identify Issues with Missing Time Logs Scans aggregated data to find issues where time = 0 hours. Generates HTML reminders with: Table of unlogged issues (key, summary, sprint, status) Personalized note urging time entry completion Only sends reminders to users who actually missed logs. Prevents manual follow-up and ensures billing accuracy. 💰 Generate Invoice Summary with Text Attachment Creates text-based invoice documents for each user with logged hours. Includes: Itemized issue breakdowns Hourly rate (default: $50/hr) Total hours & billing amount Auto-generated timestamp Exports invoices as text attachments (Invoice_{Assignee}.txt) in base64. 🔗 Combine Reminder & Invoice Data Streams Merges invoice data and reminder data into one unified stream, ensuring: All users (with or without logged hours) are processed Emails contain correct context and attachments Enables complete communication coverage in a single workflow. 🔧 Reconcile JSON & Binary Attachments Smartly merges JSON email metadata and binary invoice files post-merge. Handles complex data cases (missing binary or JSON) using fallback logic. Guarantees each email has a valid recipient and invoice attachment. 📧 Send Invoices & Reminders to Team Sends personalized emails to each developer with: Subject: project name Body: hours summary & reminder message Attachment: invoice text file (if available) Emails are automatically delivered via Gmail with audit trails. 🧩 Prerequisites Jira Software Cloud API credentials Gmail OAuth2 connection Configured hourly billing rate (default: $50/hr) Active n8n instance (self-hosted or cloud) 💡 Key Benefits ✅ Eliminates manual invoice generation ✅ Ensures accurate time tracking & compliance ✅ Sends automated reminders for missing hours ✅ Provides transparent, auditable billing communication ✅ Saves finance & project teams hours of manual effort 👥 Perfect For Tech & IT service companies billing by developer hours Project managers tracking time compliance Finance teams ensuring timely invoicing Agencies managing multiple sprint-based projects
by Rapiwa
Who is this for? This workflow is ideal for WooCommerce store owners who want to automatically send promotional WhatsApp messages to their customers when new coupons are created. It’s designed for marketers and eCommerce managers looking to boost engagement, streamline coupon sharing, and track campaign performance effortlessly through Google Sheets. Overview This workflow listens for WooCommerce coupon creation events (coupon.created) and uses customer billing data to send promotional WhatsApp messages via the Rapiwa API. The flow formats the coupon data, cleans phone numbers, verifies WhatsApp registration with Rapiwa, sends the promotional message when verified, and logs each attempt to Google Sheets (separate sheets for verified/sent and unverified/not sent). What this Workflow Does Listens for new coupon creation events in WooCommerce via the WooCommerce Trigger node Retrieves all customer data from the WooCommerce store Processes customers in batches to control throughput Cleans and formats customer phone numbers for WhatsApp Verifies if phone numbers are valid WhatsApp accounts using Rapiwa API Sends personalized WhatsApp messages with coupon details to verified numbers Logs all activities to Google Sheets for tracking and analysis Handles both verified and unverified numbers appropriately Key Features Automated coupon distribution: Triggers when new coupons are created in WooCommerce Customer data retrieval: Fetches all customer information from WooCommerce Phone number validation: Verifies WhatsApp numbers before sending messages Personalized messaging: Includes customer name and coupon details in messages Dual logging system: Tracks both successful and failed message attempts Rate limiting: Uses batching and wait nodes to prevent API overload Data formatting: Structures coupon information for consistent messaging Google Sheet Column Structure A Google Sheet formatted like this ➤ sample The workflow uses a Google Sheet with the following columns to track coupon distribution: | name | number | email | address1 | couponCode | couponTitle | couponType | couponAmount | createDate | expireDate | validity | status | | ----------- | ------------- | --------------------------------------------------- | --------- | ---------- | -------------- | ---------- | ------------ | ------------------- | ------------------- | ---------- | -------- | | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur-DOHS | 62dhryst | eid offer 2025 | percent | 20.00 | 2025-09-11 06:08:02 | 2025-09-15 00:00:00 | unverified | not sent | | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur-DOHS | 62dhryst | eid offer 2025 | percent | 20.00 | 2025-09-11 06:08:02 | 2025-09-15 00:00:00 | verified | sent | Requirements n8n instance with the following nodes: WooCommerce Trigger, Code, SplitInBatches, HTTP Request, IF, Google Sheets, Wait WooCommerce store with API access Rapiwa account with API access for WhatsApp verification and messaging Google account with Sheets access Customer phone numbers in WooCommerce (stored in billing.phone field) Important Notes Phone Number Format**: The workflow cleans phone numbers by removing all non-digit characters. Ensure your WooCommerce phone numbers are in a compatible format. API Rate Limits**: Rapiwa and WooCommerce APIs have rate limits. Adjust batch sizes and wait times accordingly. Data Privacy**: Ensure compliance with data protection regulations when sending marketing messages. Error Handling**: The workflow logs unverified numbers but doesn't have extensive error handling. Consider adding error notifications for failed API calls. Message Content**: The current message template references the first coupon only (coupons[0]). Adjust if you need to handle multiple coupons. Useful Links Dashboard:** https://app.rapiwa.com Official Website:** https://rapiwa.com Documentation:** https://docs.rapiwa.com Support & Help WhatsApp**: Chat on WhatsApp Discord**: SpaGreen Community Facebook Group**: SpaGreen Support Website**: https://spagreen.net Developer Portfolio**: Codecanyon SpaGreen
by Dart
Automatically turn incoming support emails into categorized, prioritized tasks in Dart—complete with AI-generated summaries, tags, and sender context. What It Does This workflow captures emails from Gmail, uses an AI model to classify them into one of seven categories (e.g., Bug Report, Billing, Feature Request), and creates a structured task in Dart. Each task includes: Title**: The email subject Tag**: Based on the detected category Priority**: Set by the AI based on content analysis Description**: Includes confidence level, rationale, summary, and the cleaned full email body Comment**: Automatically adds the sender’s name and email for easy reference The workflow also parses and cleans the raw HTML email content, ensuring all data is readable and workflow-ready. Who's It For This template is built for support and operations teams using Dart who want to streamline how incoming emails are sorted and turned into actionable tasks. It’s ideal for organizations managing multiple types of requests and updates from clients, partners, or systems. How to Set Up Import the workflow into n8n Connect your Gmail and Dart accounts Replace the dummy Dartboard ID with your actual board ID Choose your preferred AI model (results may vary depending on model quality) If your target email address is in a google group, use the Filter: "Sender" in the Gmail trigger Requirements n8n account Connected Gmail and Dart account How to Customize the Workflow Modify the category list to match your team’s taxonomy Adjust the AI classification prompt to fine-tune tagging and prioritization Choose your preferred AI model
by Aryan Shinde
AI-Powered Gmail Auto-Labeler Automatically organize your Gmail inbox with seamless, dynamic AI classification! This workflow leverages Google Gemini’s latest model to continually sort new emails into your own custom Gmail labels—no manual intervention or tedious setup required. 🚀 What This Workflow Does Watches for Unread Emails:** Continuously polls your Gmail inbox for new unread emails (polling interval can be changed as needed). Fetches All Available Labels:** Dynamically syncs every custom & system label from your Gmail account—no hardcoded lists. AI-Based Classification:** Each new email’s subject and snippet/body are sent to the Gemini 2.5 Pro AI, which analyzes content and recommends the best matching label(s) from your own label list (not made up!). Accurate Label Application:** The workflow maps Gemini’s label name suggestions to the correct label IDs in Gmail and auto-applies one or more labels directly to each email. Self-Updating / No Maintenance:** If you add/change Gmail labels, the workflow always uses the current label list. You don’t need to update any configuration or nodes (completely dynamic). Supports Multiple Simultaneous Labels:** Gemini can assign several labels at once—perfect for nuanced sorting (ex: “Receipts”, “Work”, "Travel"). 🔧 How to Set Up Connect Credentials: Google Gmail account (OAuth2) Gemini API key (for Google Gemini) (Optional) Adjust Gmail Labels: Add, rename, or customize labels in Gmail to suit your sorting preferences. You can continue to modify these at any time! Activate the Workflow: Turn on the workflow. It starts processing new emails immediately. No need to edit code or update nodes when labels change. (Optional) Customize Filtering or Post-Processing: The default trigger checks for unread messages, but you can adjust this (e.g., all messages, specific senders, etc.). Add extra workflow steps as desired for downstream automation. 📝 Key Features & Best Practices Dynamic Label Handling:** Workflow always references your live Gmail label list—ensuring AI only selects valid, current labels. Never Misses a Label:** Gemini never invents new labels; only suggests exact matches from your actual account. Highly Customizable:** Enhance/chain further automations—trigger from read emails, exclude newsletters, forward labeled messages, etc. No Manual Updates:** Completely plug-and-play. Adding/changing labels in Gmail immediately reflects in workflow. Includes In-Workflow Notes:** Clear sticky notes and documentation embedded for reference and troubleshooting. 🕰 Example Use Cases Automated Inbox Zero – Instantly sort incoming emails into actionable folders. Smart Multi-Labeling – Financial emails get “Receipts”, “Accounting” and “Work”, all at once. Personal & Work Split – Classify emails into "Personal", "Clients", "Leads", etc. Travel, Projects, Subscriptions – Transform your Gmail into a fully organized hub. This workflow is perfect for anyone who wants Gmail organization powered by leading-edge AI, with absolutely minimal maintenance. Just connect accounts and activate — let Gemini do the sorting!
by Priyanka Rana
Overview This n8n workflow template automates your B2B marketing follow-up process. It tracks which introductory emails have received a reply, identifies leads who haven't responded within a set time, uses Gemini AI to draft a personalized, casual reminder, sends the follow-up as a reply on the original thread, and updates your lead tracker in Google Sheets. Best if used with preivously created workflow that sends an automated introductory email with templatized subject. Requirements To use this workflow, you need the following accounts and credentials: Gmail Account: To check for replies and send the reminder emails. Google Sheets Account: To manage your lead tracking spreadsheet (the workflow uses a sheet with ID). Below are the Sheet columns *First Name Last Name Email ID Company Name Company Information (optional) Designation (optional) Message - the main form enquiry Location (optional) Status (auto) Intro email Date (auto) Reminder 1 needed? (auto) Reminder 1 Email Date (auto)* Google Gemini (PaLM) API Key: For the AI Agent node to generate the personalized email content. How It Works This automation is broken down into three main stages: Stage 1: Check for Replies and Update Tracker This stage excludes leads who have already replied to your introductory email and updates the status in your tracker. When clicking ‘Execute workflow’ (Manual Trigger): The workflow starts manually or can be scheduled. Get many messages (Gmail): The node searches your inbox (CATEGORY_PERSONAL) for replies to your introductory email (using the search query subject: <template of your introductory email>). Update row in sheet (Google Sheets): For every incoming reply found, the workflow matches the lead by Email ID and updates the column Reminder 1 needed? to No. Stage 2: Identify Who Needs a Reminder This stage finds leads who have not yet received a reminder and checks if the introductory email was sent over 5 days ago. Get row(s) in sheet (Google Sheets): The workflow retrieves all leads from the tracker where the column Reminder 1 needed? is not set to No (i.e., they haven't replied and a reminder status hasn't been logged). If: A condition checks if the Intro email Date is older than 5 days (DateTime.now().minus({ days: 5 })). Only leads that meet this age criteria are passed forward. Stage 3: Send Personalized Reminder and Final Update For eligible leads, the AI generates a follow-up, finds the original email thread, sends the reply, and logs the action. AI Agent: The AI Agent acts as a B2B marketing assistant to write a short, friendly first reminder email. It uses lead data (First Name, Company Name, Message) to personalize the content, referencing the original introductory email and the client's pain point. Note: The AI is instructed to format its output into ClientEmail and ClientEmailBody using the Structured Output Parser. Edit Fields (Set): The structured output from the AI is mapped to workflow fields. Get many messages1 (Gmail): The workflow searches the SENT label for the original email using the client's email and the introductory subject line to find the correct threadId and messageId. Reply to a message (Gmail): The personalized body is sent as a reply on the original thread to maintain context. Update row in sheet1 (Google Sheets): The final step updates the lead's row in the tracker, setting Status to Reminder 1 Drafted, Reminder 1 needed? to Yes, and recording the current date in the Reminder 1 Email Date column. Customization Currently it has option to send first reminder. This can be extended to add another reminder. Write to priyanka@buildmyaiflow.agency for more customizations.
by Roshan Ramani
Smart Lead Qualification for JotForm Contact Forms Automatically classify and manage contact form submissions using AI-powered lead scoring. This workflow analyzes JotForm submissions in real-time, categorizes them as hot leads, cold leads, or spam, and takes intelligent actions—sending Telegram notifications for hot leads, ignoring irrelevant inquiries, and automatically deleting spam. Who's It For This template is perfect for: Businesses receiving high volumes of contact form submissions** who need to prioritize responses Marketing and sales teams** wanting to focus on qualified leads immediately Agencies and consultants** offering AI/automation services who want to filter out noise Anyone struggling with spam** or low-quality form submissions What It Does The workflow uses Google Gemini AI to intelligently classify each JotForm submission into three categories: Hot Lead (1)**: Genuine inquiries about your services, collaboration requests, or project proposals → Sends Telegram notification + Flags in JotForm Cold Lead (0)**: Legitimate but irrelevant inquiries (job applications, unrelated business queries) → No action taken Garbage/Spam (2)**: Test submissions, bots, gibberish, or fake data → Automatically deleted from JotForm How It Works JotForm trigger captures new contact form submissions Submission data is extracted and formatted Google Gemini AI analyzes the content and classifies the lead A switch routes the submission based on classification: Hot leads trigger Telegram notifications and get flagged Cold leads are ignored Spam submissions are automatically deleted Requirements n8n instance** (cloud or self-hosted) JotForm account** with a contact form (Get JotForm here) Google Gemini API key** (free tier available) Telegram account** for notifications How to Set Up 📋 Detailed setup instructions are included inside the workflow in sticky notes. Quick setup overview: Create your contact form in JotForm using the "Contact Form with Fancy Header and Footer" template Get your JotForm API key and form ID Obtain a Google Gemini API key from Google AI Studio Create a Telegram bot via @BotFather and get your chat ID Configure all credentials in the respective nodes Update the HTTP request nodes with your JotForm API key Test the workflow with sample submissions The workflow includes comprehensive sticky notes with step-by-step instructions, including how to get your Telegram chat ID and configure all integrations. How to Customize Adjust classification criteria**: Modify the AI Agent's system prompt to match your business type and lead qualification criteria Change notification format**: Edit the Telegram message template to include/exclude specific fields Add more actions**: Extend hot lead handling with additional nodes (e.g., add to CRM, send email, create task) Modify form fields**: Update field references if your JotForm uses different field names Multi-channel notifications**: Add Slack, Discord, or email notifications alongside Telegram Note All API keys and credentials shown in the workflow are placeholders. You'll need to replace them with your own credentials during setup.
by iamvaar
Workflow explaination: https://youtu.be/ecafBTFPuvE?si=7csA1yNsaUxUG72F This workflow is designed to automatically handle new freelance project requests from a JotForm, analyze the requirements using AI, create a custom proposal, log the details in a Google Sheet, and send a personalized response to the client. 1. JotForm Trigger Purpose**: This node is the entry point of the entire automation. It waits for a new freelance project submission from your specified JotForm. Action: When a potential client fills out and submits the form, this node **instantly triggers the workflow, passing all submitted data (name, email, project requirements, and budget) to the next node. Key Detail**: Uses a webhook for real-time activation, ensuring immediate processing of every new project request. 2. AI Agent Purpose**: The central brain of your freelance workflow. 🧠 It takes the project submission and turns it into a structured, customized proposal. Action**: The agent follows a prompt sequence to perform these tasks: Calls the My Freelance Document Tool: Fetches your Google Doc containing details about your services, pricing, and project templates — your “source of truth.” Analyzes the Project Request: Reads the client’s requirements and goals from the form. Generates a Custom Proposal: Based on scope, budget, and relevance to your offerings, it prepares a short, tailored proposal or quote that fits the project. Creates a Personalized Email: Builds an HTML email with the proposal embedded, including next steps or a scheduling link for further discussion. Outputs Structured Data: Packages everything (project summary, proposal text, email subject, and body) into a clean JSON object for downstream use. 3. Append or Update Row in Sheet (Google Sheets) Purpose**: Serves as your lightweight CRM for all project inquiries. Action**: Logs data from the AI Agent (proposal details, client info, and project summary) into a Google Sheet. Key Detail: Configured to **Append or Update—if an email already exists, it updates that row instead of duplicating. Keeps your client records clean and organized. 4. If Purpose**: Acts as a control node to decide whether a proposal email should be sent. Action**: Checks the output from the AI Agent to ensure the proposal text is valid (not empty). Key Detail**: If the proposal generation fails or returns “NAN,” the workflow stops here to avoid sending incomplete responses. 5. Send a Message (Gmail) Purpose**: Sends the final personalized proposal email to the client. Action: Pulls the recipient’s email from the sheet and sends the **AI-generated subject and HTML proposal email automatically. Key Detail**: The email is customized per project, giving the client an instant, professional response with no manual effort.
by kota
Reply Handling (Optional Extension) This optional workflow handles email replies after availability options have been sent. It extends the main scheduling flow by enabling two-way, email-based confirmation. What this extension does Listens for user replies via Gmail Normalizes free-text replies into structured data Detects whether the user confirmed a proposed slot or requested alternatives Automatically creates a Google Calendar event on confirmation Sends a confirmation or follow-up email accordingly Why this matters Most scheduling automations stop after sending availability. This extension closes the loop by turning email replies into real actions — without requiring booking links or manual follow-ups. Typical reply examples 1 → Confirms the suggested time and creates the calendar event 2 → Requests alternative time slots and continues the scheduling flow When to use this Email-first scheduling (no Calendly / booking pages) High-touch or human-like scheduling flows Sales calls, interviews, consultations, internal meetings