AutomationFlowsAI & RAG › Manage Garage Service Reminders, Pickups and Feedback with Airtable,…

Manage Garage Service Reminders, Pickups and Feedback with Airtable,…

Original n8n title: Manage Garage Service Reminders, Pickups and Feedback with Airtable, Whatsapp and Gmail

ByInfyOm Technologies @infyom on n8n.io

Garage and auto service businesses handle much more than just vehicle repairs — they manage service schedules, customer reminders, pickups, feedback, and repeat visits. When handled manually, this often leads to missed reminders, delayed pickups, unhappy customers, and lost…

Event trigger★★★★★ complexity33 nodesAirtableTwilioGmailAirtable Trigger
AI & RAG Trigger: Event Nodes: 33 Complexity: ★★★★★ Added:

This workflow corresponds to n8n.io template #12861 — we link there as the canonical source.

This workflow follows the Airtable → Gmail recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "id": "290e4899-52ef-4fdc-94ad-bf50f9e756cd",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        976,
        688
      ],
      "parameters": {
        "width": 412,
        "height": 588,
        "content": "## How it works\nThis workflow automates customer communication for a car service garage across four stages:\n\n1. **Daily reminders** for upcoming services (7-day window)\n2. **Pickup notifications** when service is complete\n3. **Feedback requests** after vehicle delivery\n4. **Next service reminders** based on scheduled maintenance dates\n\nEach stage sends WhatsApp + Email notifications and updates Airtable tracking fields.\n\n## Setup steps\n1. **Airtable**: Connect your base (link below) with customer/vehicle data\n2. **Twilio**: Add credentials for WhatsApp messaging\n3. **Gmail**: Connect OAuth2 for email notifications\n4. **Customize**: Update garage name in Code nodes (search \"GARAGE_NAME\")\n5. **Test**: Run each workflow section individually before activating\n\n\ud83d\udcca **Airtable Base**: https://airtable.com/appmSBBXPDGEXnseu/shrV5FLUSKxEzs473"
      },
      "typeVersion": 1
    },
    {
      "id": "d4e7a2d2-b11d-4309-a734-2747ef2a7fa4",
      "name": "Fetch Pending Services (\u00b17 Days)",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1696,
        768
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appmSBBXPDGEXnseu",
          "cachedResultUrl": "https://airtable.com/appmSBBXPDGEXnseu",
          "cachedResultName": "Garage / Car Service Reminder System"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbl3MOWawOfMkbcuk",
          "cachedResultUrl": "https://airtable.com/appmSBBXPDGEXnseu/tbl3MOWawOfMkbcuk",
          "cachedResultName": "Tables"
        },
        "options": {
          "fields": [
            "Service_ID",
            "Customer_Name",
            "Phone",
            "Email",
            "Vehicle_Model",
            "Vehicle_Number",
            "Service_Type",
            "Service_Date",
            "Status"
          ]
        },
        "operation": "search",
        "returnAll": false,
        "filterByFormula": "=AND(\n  {Status} = \"Pending\",\n  {Service_Date} >= DATEADD(TODAY(), -2, 'days'),\n  {Service_Date} <= DATEADD(TODAY(), 7, 'days'),\n  {Reminder_Sent} = FALSE()\n)"
      },
      "typeVersion": 2.1
    },
    {
      "id": "fb293841-20e0-49a8-8f35-6aec3eb5d857",
      "name": "Iterate Services",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1888,
        768
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "9836616b-6868-4cc1-90fd-ef3e8e5f143d",
      "name": "Build Reminder Messages",
      "type": "n8n-nodes-base.code",
      "position": [
        2096,
        784
      ],
      "parameters": {
        "jsCode": "// Purpose: Generate WhatsApp + Email service reminders with premium garage branding\n\nconst GARAGE_NAME = \"PrimeCare Auto Garage\";\n\nconst today = new Date();\ntoday.setHours(0, 0, 0, 0);\n\nreturn items.map(item => {\n  const {\n    Customer_Name,\n    Vehicle_Model,\n    Vehicle_Number,\n    Service_Type,\n    Service_Date,\n    Phone,\n    Email\n  } = item.json;\n\n  const serviceDate = new Date(Service_Date);\n  serviceDate.setHours(0, 0, 0, 0);\n\n  const diffDays = Math.floor(\n    (serviceDate - today) / (1000 * 60 * 60 * 24)\n  );\n\n  let reminderType = null;\n  let whatsappMessage = null;\n  let emailSubject = null;\n  let emailBody = null;\n\n  // ---------- OVERDUE ----------\n  if (diffDays < 0) {\n    reminderType = \"OVERDUE\";\n\n    whatsappMessage =\n`\ud83d\udea8 *SERVICE OVERDUE ALERT*\n\nHello *${Customer_Name}*,\n\nYour vehicle service is overdue. Please review the details below:\n\n\ud83d\ude97 *Vehicle:* ${Vehicle_Model}\n\ud83d\udd22 *Number:* ${Vehicle_Number}\n\ud83d\udee0\ufe0f *Service Type:* ${Service_Type}\n\ud83d\udcc6 *Due Date:* ${Service_Date}\n\nKindly contact us at the earliest to reschedule your service.\n\n\u2014 *${GARAGE_NAME}*`;\n\n    emailSubject = `Service Overdue \u2013 ${Vehicle_Model} (${Vehicle_Number})`;\n\n    emailBody =\n`Dear ${Customer_Name},\n\nGreetings from ${GARAGE_NAME}.\n\nOur records indicate that your vehicle service is overdue. Please find the service details below:\n\nVehicle Model : ${Vehicle_Model}\nVehicle Number: ${Vehicle_Number}\nService Type  : ${Service_Type}\nDue Date      : ${Service_Date}\n\nTo ensure optimal vehicle performance and safety, we kindly request you to contact us and reschedule your service at the earliest.\n\nIf you have already completed the service, please replay this email.\n\nWarm regards,  \n${GARAGE_NAME}`;\n  }\n\n  // ---------- TODAY ----------\n  else if (diffDays === 0) {\n    reminderType = \"TODAY\";\n\n    whatsappMessage =\n`\ud83d\udd14 *SERVICE REMINDER \u2013 TODAY*\n\nHello *${Customer_Name}*,\n\nThis is a reminder that your vehicle service is scheduled for today:\n\n\ud83d\ude97 *Vehicle:* ${Vehicle_Model}\n\ud83d\udd22 *Number:* ${Vehicle_Number}\n\ud83d\udee0\ufe0f *Service Type:* ${Service_Type}\n\nWe look forward to serving you.\n\n\u2014 *${GARAGE_NAME}*`;\n\n    emailSubject = `Service Reminder Today \u2013 ${Vehicle_Model}`;\n\n    emailBody =\n`Dear ${Customer_Name},\n\nThis is a friendly reminder from ${GARAGE_NAME} that your vehicle service is scheduled for today.\n\nService Details:\nVehicle Model : ${Vehicle_Model}\nVehicle Number: ${Vehicle_Number}\nService Type  : ${Service_Type}\nService Date  : Today\n\nOur service team is ready to assist you.\n\nThank you for trusting ${GARAGE_NAME}.\n\nBest regards,  \n${GARAGE_NAME}`;\n  }\n\n  // ---------- UPCOMING (NEXT 7 DAYS) ----------\n  else if (diffDays <= 7) {\n    reminderType = \"UPCOMING\";\n\n    whatsappMessage =\n`\ud83d\udcc5 *UPCOMING SERVICE REMINDER*\n\nHello *${Customer_Name}*,\n\nYour vehicle service is scheduled soon. Please find the details below:\n\n\ud83d\ude97 *Vehicle:* ${Vehicle_Model}\n\ud83d\udd22 *Number:* ${Vehicle_Number}\n\ud83d\udee0\ufe0f *Service Type:* ${Service_Type}\n\ud83d\udcc6 *Service Date:* ${Service_Date}\n\nIf you need any changes or assistance, feel free to contact us.\n\n\u2014 *${GARAGE_NAME}*`;\n\n    emailSubject = `Upcoming Vehicle Service \u2013 ${Vehicle_Model}`;\n\n    emailBody =\n`Dear ${Customer_Name},\n\nWe would like to remind you of your upcoming vehicle service with ${GARAGE_NAME}.\n\nService Information:\nVehicle Model : ${Vehicle_Model}\nVehicle Number: ${Vehicle_Number}\nService Type  : ${Service_Type}\nService Date  : ${Service_Date}\n\nShould you require any rescheduling or support, please do not hesitate to contact us.\n\nWe look forward to serving you.\n\nSincerely,  \n${GARAGE_NAME}`;\n  }\n\n  // ---------- OUTPUT ----------\n  return {\n    json: {\n      reminderType,\n      whatsappMessage,\n      emailSubject,\n      emailBody,\n      phone: Phone,\n      email: Email\n    }\n  };\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "d82831f8-c284-4d55-abc8-9a208d3ff7c4",
      "name": "Send WhatsApp Reminder",
      "type": "n8n-nodes-base.twilio",
      "position": [
        2256,
        784
      ],
      "parameters": {
        "to": "={{ $('Build Reminder Messages').item.json.phone}}",
        "from": "+1234567890",
        "message": "={{ $json.whatsappMessage }}",
        "options": {},
        "toWhatsapp": true
      },
      "typeVersion": 1
    },
    {
      "id": "771cc8f7-31e9-407e-9ec5-48d9d70fecfe",
      "name": "Send Email Reminder",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2432,
        784
      ],
      "parameters": {
        "sendTo": "={{ $('Build Reminder Messages').item.json.email}}",
        "message": "={{ $('Build Reminder Messages').item.json.emailBody }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "={{ $('Build Reminder Messages').item.json.emailSubject }}",
        "emailType": "text"
      },
      "typeVersion": 2.2
    },
    {
      "id": "475fe83c-3d54-4e8e-ae21-63fd5689bba2",
      "name": "Mark Reminder Sent",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2608,
        784
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appmSBBXPDGEXnseu",
          "cachedResultUrl": "https://airtable.com/appmSBBXPDGEXnseu",
          "cachedResultName": "Garage / Car Service Reminder System"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbl3MOWawOfMkbcuk",
          "cachedResultUrl": "https://airtable.com/appmSBBXPDGEXnseu/tbl3MOWawOfMkbcuk",
          "cachedResultName": "Tables"
        },
        "columns": {
          "value": {
            "Phone": "={{ $('Build Reminder Messages').item.json.phone }}",
            "Reminder_Sent": true,
            "Reminder_Sent_On": "={{ $now.toISO() }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "Service_ID",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Service_ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Customer_Name",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Customer_Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Phone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Vehicle_Model",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Vehicle_Model",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Vehicle_Number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Vehicle_Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Service_Type",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Minor",
                  "value": "Minor"
                },
                {
                  "name": "Major",
                  "value": "Major"
                },
                {
                  "name": "Paid",
                  "value": "Paid"
                },
                {
                  "name": "Free",
                  "value": "Free"
                }
              ],
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Service_Type",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Service_Date",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Service_Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Pending",
                  "value": "Pending"
                },
                {
                  "name": "In Progress",
                  "value": "In Progress"
                },
                {
                  "name": "Done",
                  "value": "Done"
                },
                {
                  "name": "Delivered",
                  "value": "Delivered"
                }
              ],
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Reminder_Sent",
              "type": "boolean",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Reminder_Sent",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Reminder_Sent_On",
              "type": "dateTime",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Reminder_Sent_On",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Pickup_Notification_Sent",
              "type": "boolean",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Pickup_Notification_Sent",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Pickup_Notification_Sent_On",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Pickup_Notification_Sent_On",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Feedback_Sent",
              "type": "boolean",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Feedback_Sent",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Feedback_Sent_On",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Feedback_Sent_On",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Next_Service_Date",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Next_Service_Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Next_Service_Notification_Sent_On",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Next_Service_Notification_Sent_On",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Created",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Created",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last Modified",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Last Modified",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Phone"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "typeVersion": 2.1
    },
    {
      "id": "26c0b88a-cf22-4c70-9a0b-bf484f0b0861",
      "name": "Run to Service Status Changed \u2192 Done",
      "type": "n8n-nodes-base.airtableTrigger",
      "position": [
        1472,
        1104
      ],
      "parameters": {
        "baseId": {
          "__rl": true,
          "mode": "id",
          "value": "appmSBBXPDGEXnseu"
        },
        "tableId": {
          "__rl": true,
          "mode": "id",
          "value": "tbl3MOWawOfMkbcuk"
        },
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerField": "Last Modified",
        "authentication": "airtableTokenApi",
        "additionalFields": {
          "formula": "={Status} = \"Done\""
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2dcb2d29-674b-4b76-9c8b-abed43ce0864",
      "name": "Iterate Completed Services",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1648,
        1104
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "2070157d-dc5f-49ca-b544-bf42cf885440",
      "name": "Build Pickup Messages",
      "type": "n8n-nodes-base.code",
      "position": [
        1856,
        1120
      ],
      "parameters": {
        "jsCode": "// n8n Function Node\n// Purpose: Generate WhatsApp + Email messages for Car Pickup Notification (Branded & Clean)\n\nconst GARAGE_NAME = \"PrimeCare Auto Garage\";\n\nreturn items.map(item => {\n  const data = $input.first().json.fields;\n\n  const customerName  = data.Customer_Name;\n  const vehicleModel  = data.Vehicle_Model;\n  const vehicleNumber = data.Vehicle_Number || \"\";\n  const serviceType   = data.Service_Type || \"General Service\";\n  const serviceDate   = data.Service_Date || \"N/A\";\n\n  // -----------------------------\n  // WhatsApp Message\n  // -----------------------------\n  const whatsappMessage =\n`\ud83d\ude97 *VEHICLE READY FOR PICKUP*\n\nHello *${customerName}*,\n\nWe are pleased to inform you that your vehicle service has been completed successfully.\n\n\ud83d\ude98 *Vehicle:* ${vehicleModel}${vehicleNumber ? ` (${vehicleNumber})` : \"\"}\n\ud83d\udee0\ufe0f *Service Type:* ${serviceType}\n\ud83d\udcc5 *Service Date:* ${serviceDate}\n\nYour vehicle is now ready for pickup.  \nPlease visit us at your convenience.\n\n\ud83d\ude4f Thank you for choosing.\n  \u2014 *${GARAGE_NAME}*`;\n\n  // -----------------------------\n  // Email Subject\n  // -----------------------------\n  const emailSubject =\n    `Your Vehicle Is Ready for Pickup \u2013 ${GARAGE_NAME}`;\n\n  // -----------------------------\n  // Email Body\n  // -----------------------------\n  const emailBody =\n`Dear ${customerName},\n\nGreetings from ${GARAGE_NAME}.\n\nWe are happy to inform you that the service for your vehicle has been completed and your car is now ready for pickup.\n\nService Summary:\nVehicle Model : ${vehicleModel}\nVehicle Number: ${vehicleNumber || \"N/A\"}\nService Type  : ${serviceType}\nService Date  : ${serviceDate}\n\nYou may visit our service center at your convenience to collect your vehicle.\n\nIf you have any questions or require assistance, please feel free to contact us.\n\nThank you for trusting ${GARAGE_NAME} with your vehicle.\n\nWarm regards,  \n${GARAGE_NAME}`;\n\n  // -----------------------------\n  // Output\n  // -----------------------------\n  return {\n    json: {\n      phone: data.Phone,\n      email: data.Email,\n      whatsappMessage,\n      emailSubject,\n      emailBody\n    }\n  };\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "29a6fffe-5f4a-447b-89c4-cf1b18a62f06",
      "name": "Send Pickup WhatsApp",
      "type": "n8n-nodes-base.twilio",
      "position": [
        2048,
        1120
      ],
      "parameters": {
        "to": "={{ $('Build Pickup Messages').item.json.phone }}",
        "from": "+1234567890",
        "message": "={{ $json.whatsappMessage }}",
        "options": {},
        "toWhatsapp": true
      },
      "typeVersion": 1
    },
    {
      "id": "216f3894-6257-423d-b231-9788f962fdc4",
      "name": "Send Pickup Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2240,
        1120
      ],
      "parameters": {
        "sendTo": "={{ $('Build Pickup Messages').item.json.email }}",
        "message": "={{ $('Build Pickup Messages').item.json.emailBody }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "={{ $('Build Pickup Messages').item.json.emailSubject }}",
        "emailType": "text"
      },
      "typeVersion": 2.2
    },
    {
      "id": "d2d897f9-73fe-4767-a978-fd779171a6a1",
      "name": "Mark Pickup Notification Sent",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2432,
        1120
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appmSBBXPDGEXnseu",
          "cachedResultUrl": "https://airtable.com/appmSBBXPDGEXnseu",
          "cachedResultName": "Garage / Car Service Reminder System"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbl3MOWawOfMkbcuk",
          "cachedResultUrl": "https://airtable.com/appmSBBXPDGEXnseu/tbl3MOWawOfMkbcuk",
          "cachedResultName": "Tables"
        },
        "columns": {
          "value": {
            "Phone": "={{ $('Build Pickup Messages').item.json.phone }}",
            "Pickup_Notification_Sent": true,
            "Pickup_Notification_Sent_On": "={{ $now.toISO() }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "Service_ID",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Service_ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Customer_Name",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Customer_Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Phone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Vehicle_Model",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Vehicle_Model",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Vehicle_Number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Vehicle_Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Service_Type",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Minor",
                  "value": "Minor"
                },
                {
                  "name": "Major",
                  "value": "Major"
                },
                {
                  "name": "Paid",
                  "value": "Paid"
                },
                {
                  "name": "Free",
                  "value": "Free"
                }
              ],
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Service_Type",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Service_Date",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Service_Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Pending",
                  "value": "Pending"
                },
                {
                  "name": "In Progress",
                  "value": "In Progress"
                },
                {
                  "name": "Done",
                  "value": "Done"
                },
                {
                  "name": "Delivered",
                  "value": "Delivered"
                }
              ],
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Reminder_Sent",
              "type": "boolean",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Reminder_Sent",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Reminder_Sent_On",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Reminder_Sent_On",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Pickup_Notification_Sent",
              "type": "boolean",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Pickup_Notification_Sent",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Pickup_Notification_Sent_On",
              "type": "dateTime",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Pickup_Notification_Sent_On",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Feedback_Sent",
              "type": "boolean",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Feedback_Sent",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Feedback_Sent_On",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Feedback_Sent_On",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Next_Service_Date",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Next_Service_Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Next_Service_Notification_Sent_On",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Next_Service_Notification_Sent_On",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Created",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Created",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last Modified",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Last Modified",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Phone"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "typeVersion": 2.1
    },
    {
      "id": "076f433f-5c9c-4fd8-af9a-adf18ea78971",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        688
      ],
      "parameters": {
        "color": 7,
        "width": 1376,
        "height": 288,
        "content": "## Scheduled Service Reminders\nRuns daily at 9 AM. Fetches pending services within \u00b17 days, builds personalized messages, and sends via WhatsApp + Email."
      },
      "typeVersion": 1
    },
    {
      "id": "c7afdca0-fb7b-46f6-a110-4e5437a844cc",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        1008
      ],
      "parameters": {
        "color": 7,
        "width": 1376,
        "height": 336,
        "content": "## Pickup Notifications\nTriggered when service status changes to \"Done\". Notifies customers their vehicle is ready for collection."
      },
      "typeVersion": 1
    },
    {
      "id": "0451ba63-1e9e-44bf-87ba-2daa28f1e6e2",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        1376
      ],
      "parameters": {
        "color": 7,
        "width": 1376,
        "height": 320,
        "content": "## Feedback Collection\nTriggered when status changes to \"Delivered\". Sends feedback form link to gather customer reviews."
      },
      "typeVersion": 1
    },
    {
      "id": "41483f9d-75df-45ba-95d3-8dedee72dfc3",
      "name": "Daily Service Reminder Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        1504,
        768
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 9
            }
          ]
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "c630f7c7-d52e-4f9e-93ca-bfa45cc26e8b",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        976,
        1296
      ],
      "parameters": {
        "color": 5,
        "width": 408,
        "height": 124,
        "content": "\ud83d\udccb **Feedback Form**\n\nhttps://forms.gle/LHfFRQPU9fKaH8LB8\n\nUpdate this link in the \"Build Feedback Messages\" node."
      },
      "typeVersion": 1
    },
    {
      "id": "b24c9cb7-f45e-44f4-95cc-2665294bd0b8",
      "name": "Next Service Reminder Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        1456,
        1824
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 9
            }
          ]
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "873cc2b5-29a9-4847-85d9-7f74abf33ee3",
      "name": "Fetch Next Services (\u00b17 Days)",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1648,
        1824
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appmSBBXPDGEXnseu",
          "cachedResultUrl": "https://airtable.com/appmSBBXPDGEXnseu",
          "cachedResultName": "Garage / Car Service Reminder System"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbl3MOWawOfMkbcuk",
          "cachedResultUrl": "https://airtable.com/appmSBBXPDGEXnseu/tbl3MOWawOfMkbcuk",
          "cachedResultName": "Tables"
        },
        "options": {
          "fields": [
            "Customer_Name",
            "Phone",
            "Email",
            "Vehicle_Model",
            "Vehicle_Number",
            "Service_Type",
            "Service_Date",
            "Next_Service_Date"
          ]
        },
        "operation": "search",
        "returnAll": false,
        "filterByFormula": "=AND(\n  {Next_Service_Date} >= DATEADD(TODAY(), -2, 'days'),\n  {Next_Service_Date} <= DATEADD(TODAY(), 7, 'days')\n)"
      },
      "typeVersion": 2.1
    },
    {
      "id": "eec70787-dfe9-4286-b69c-b307320e33b8",
      "name": "Iterate Services ",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1840,
        1824
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "2ddd1089-dd3b-4d0a-b7bf-0ebd881eb324",
      "name": "Build Next Service Reminder Messages",
      "type": "n8n-nodes-base.code",
      "position": [
        2032,
        1840
      ],
      "parameters": {
        "jsCode": "// n8n Function Node\n// Workflow: Next Service Reminder (Window: -2 days to +7 days)\n\nconst GARAGE_NAME = \"PrimeCare Auto Garage\";\n\nconst today = new Date();\ntoday.setHours(0, 0, 0, 0);\n\nreturn items.map(item => {\n  const data = item.json.fields || item.json;\n\n  const customerName  = data.Customer_Name;\n  const vehicleModel  = data.Vehicle_Model;\n  const vehicleNumber = data.Vehicle_Number || \"\";\n  const serviceType   = data.Service_Type || \"General Service\";\n  const nextService   = new Date(data.Next_Service_Date);\n  const phone         = data.Phone;\n  const email         = data.Email;\n\n  nextService.setHours(0, 0, 0, 0);\n\n  const diffDays = Math.floor(\n    (nextService - today) / (1000 * 60 * 60 * 24)\n  );\n\n  // \u26d4 Outside reminder window (-2 to +7 days)\n  if (diffDays < -2 || diffDays > 7) {\n    return { json: { skip: true } };\n  }\n\n  // -----------------------------\n  // Determine Reminder Type\n  // -----------------------------\n  let reminderType = \"\";\n  let titleEmoji = \"\";\n  let heading = \"\";\n\n  if (diffDays < 0) {\n    reminderType = \"OVERDUE\";\n    titleEmoji = \"\u26a0\ufe0f\";\n    heading = \"SERVICE OVERDUE REMINDER\";\n  } else if (diffDays === 0) {\n    reminderType = \"TODAY\";\n    titleEmoji = \"\ud83d\udd14\";\n    heading = \"SERVICE DUE TODAY\";\n  } else {\n    reminderType = \"UPCOMING\";\n    titleEmoji = \"\ud83d\udcc5\";\n    heading = \"UPCOMING SERVICE REMINDER\";\n  }\n\n  const formattedDate = nextService.toISOString().split(\"T\")[0];\n\n  // -----------------------------\n  // WhatsApp Message (Beautiful)\n  // -----------------------------\n  const whatsappMessage =\n`${titleEmoji} *${heading}*\n\nHello *${customerName}*,\n\nThis is a reminder from *${GARAGE_NAME}* regarding your upcoming vehicle service.\n\n\ud83d\ude97 *Vehicle:* ${vehicleModel}${vehicleNumber ? ` (${vehicleNumber})` : \"\"}\n\ud83d\udee0\ufe0f *Service Type:* ${serviceType}\n\ud83d\udcc6 *Service Date:* ${formattedDate}\n\nPlease contact us if you would like to confirm or reschedule your service.\n\nThank you for trusting.\n\u2014 *${GARAGE_NAME}*`;\n\n  // -----------------------------\n  // Email Subject\n  // -----------------------------\n  const emailSubject =\n    `${heading} \u2013 ${vehicleModel} | ${GARAGE_NAME}`;\n\n  // -----------------------------\n  // Email Body (Clean & Professional)\n  // -----------------------------\n  const emailBody =\n`Dear ${customerName},\n\nGreetings from ${GARAGE_NAME}.\n\nThis is a reminder regarding your vehicle\u2019s upcoming service. Please find the details below:\n\nVehicle Model : ${vehicleModel}\nVehicle Number: ${vehicleNumber || \"N/A\"}\nService Type  : ${serviceType}\nService Date  : ${formattedDate}\n\nRegular servicing helps ensure safety, performance, and longevity of your vehicle.  \nIf you wish to reschedule or have any questions, please feel free to contact us.\n\nThank you for choosing ${GARAGE_NAME}. We look forward to serving you.\n\nWarm regards,  \n${GARAGE_NAME}`;\n\n  // -----------------------------\n  // Output\n  // -----------------------------\n  return {\n    json: {\n      reminderType,\n      phone,\n      email,\n      whatsappMessage,\n      emailSubject,\n      emailBody\n    }\n  };\n});\n"
      },
      "typeVersion": 2
    },
    {
      "id": "a3ea2fbf-97ed-40b7-989f-0df0abfe515c",
      "name": "Send Next Service WhatsApp",
      "type": "n8n-nodes-base.twilio",
      "position": [
        2208,
        1840
      ],
      "parameters": {
        "to": "=Phone_number",
        "from": "+1234567890",
        "message": "={{ $json.whatsappMessage }}",
        "options": {},
        "toWhatsapp": true
      },
      "typeVersion": 1
    },
    {
      "id": "b5dafd0e-e82a-4af1-a29a-30f6cc8a242a",
      "name": "Send Next Service Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2400,
        1840
      ],
      "parameters": {
        "sendTo": "=infyom@gmail.com",
        "message": "={{ $('Build Next Service Reminder Messages').item.json.emailBody }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "={{ $('Build Next Service Reminder Messages').item.json.emailSubject }}",
        "emailType": "text"
      },
      "typeVersion": 2.2
    },
    {
      "id": "46a861ec-cb06-4e02-85ce-76d607bf639d",
      "name": "Mark Next Service Reminder Sent",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2592,
        1840
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appmSBBXPDGEXnseu",
          "cachedResultUrl": "https://airtable.com/appmSBBXPDGEXnseu",
          "cachedResultName": "Garage / Car Service Reminder System"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbl3MOWawOfMkbcuk",
          "cachedResultUrl": "https://airtable.com/appmSBBXPDGEXnseu/tbl3MOWawOfMkbcuk",
          "cachedResultName": "Tables"
        },
        "columns": {
          "value": {
            "Phone": "={{ $('Build Next Service Reminder Messages').item.json.phone }}",
            "Next_Service_Notification_Sent_On": "={{ $now.toISO() }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "Service_ID",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Service_ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Customer_Name",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Customer_Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Phone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Vehicle_Model",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Vehicle_Model",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Vehicle_Number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Vehicle_Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Service_Type",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Minor",
                  "value": "Minor"
                },
                {
                  "name": "Major",
                  "value": "Major"
                },
                {
                  "name": "Paid",
                  "value": "Paid"
                },
                {
                  "name": "Free",
                  "value": "Free"
                }
              ],
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Service_Type",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Service_Date",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Service_Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Pending",
                  "value": "Pending"
                },
                {
                  "name": "In Progress",
                  "value": "In Progress"
                },
                {
                  "name": "Done",
                  "value": "Done"
                },
                {
                  "name": "Delivered",
                  "value": "Delivered"
                }
              ],
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Reminder_Sent",
              "type": "boolean",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Reminder_Sent",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Reminder_Sent_On",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Reminder_Sent_On",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Pickup_Notification_Sent",
              "type": "boolean",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Pickup_Notification_Sent",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Pickup_Notification_Sent_On",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Pickup_Notification_Sent_On",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Feedback_Sent",
              "type": "boolean",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Feedback_Sent",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Feedback_Sent_On",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Feedback_Sent_On",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Next_Service_Date",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Next_Service_Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Next_Service_Notification_Sent_On",
              "type": "dateTime",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Next_Service_Notification_Sent_On",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Created",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Created",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last Modified",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Last Modified",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Phone"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "typeVersion": 2.1
    },
    {
      "id": "a1ca1f15-da9a-40d0-83f6-41cc4658da35",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        1712
      ],
      "parameters": {
        "color": 7,
        "width": 1376,
        "height": 368,
        "content": "## Next Service Reminders\nRuns daily at 9 AM. Reminds customers about their next scheduled maintenance (\u00b17 day window)."
      },
      "typeVersion": 1
    },
    {
      "id": "5f74a602-cf69-461a-a8f8-65c2cbaeadbc",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        976,
        1440
      ],
      "parameters": {
        "width": 400,
        "height": 112,
        "content": "### Google sheet (Feed-Back Collect)\nhttps://docs.google.com/spreadsheets/d/1SIIABzc81XSeJTDqAEWVbj4G5NP7nOPObytjokqKkMM/edit?usp=sharing"
      },
      "typeVersion": 1
    },
    {
      "id": "bd5f2a20-c33e-4043-8d3b-4c9832ab668f",
      "name": "Vehicle Delivered Trigger",
      "type": "n8n-nodes-base.airtableTrigger",
      "position": [
        1472,
        1472
      ],
      "parameters": {
        "baseId": {
          "__rl": true,
          "mode": "id",
          "value": "appmSBBXPDGEXnseu"
        },
        "tableId": {
          "__rl": true,
          "mode": "id",
          "value": "tbl3MOWawOfMkbcuk"
        },
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerField": "Last Modified",
        "authentication": "airtableTokenApi",
        "additionalFields": {
          "formula": "={Status} = \"Delivered\""
        }
      },
      "typeVersion": 1
    },
    {
      "id": "db9cad37-2bbc-4e4d-8f3b-eeb396bb019a",
      "name": "Iterate Delivered Records",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1696,
        1472
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "46deea68-142d-494f-9878-ca8f7c239716",
      "name": "Build Feedback Messages",
      "type": "n8n-nodes-base.code",
      "position": [
        1920,
        1488
      ],
      "parameters": {
        "jsCode": "// n8n Function Node\n// Workflow: Post-Delivery Feedback Collection (Branded & Clean)\n\nconst GARAGE_NAME = \"PrimeCare Auto Garage\";\n\nreturn items.map(item => {\n  const data = $input.first().json.fields;\n\n  // -----------------------------\n  // Safety Check (avoid duplicate feedback requests)\n  // -----------------------------\n  if (data.Feedback_Sent === true) {\n    return { json: { skip: true } };\n  }\n\n  const customerName  = data.Customer_Name;\n  const vehicleModel  = data.Vehicle_Model;\n  const vehicleNumber = data.Vehicle_Number || \"\";\n  const serviceDate   = data.Service_Date || \"N/A\";\n\n  // \ud83d\udd17 Feedback link (replace if needed)\n  const feedbackLink = \"https://forms.gle/LHfFRQPU9fKaH8LB8\";\n\n  // -----------------------------\n  // WhatsApp Feedback Message\n  // -----------------------------\n  const whatsappMessage =\n`\ud83d\ude4f *THANK YOU FOR CHOOSING ${GARAGE_NAME.toUpperCase()}*\n\nHello *${customerName}*,\n\nWe hope you are enjoying your vehicle after the recent service.\n\n\ud83d\ude98 *Vehicle:* ${vehicleModel}${vehicleNumber ? ` (${vehicleNumber})` : \"\"}\n\ud83d\udcc5 *Service Date:* ${serviceDate}\n\nYour feedback means a lot to us and helps us improve our service quality.\n\n\u2b50 *Please share your experience here:*  \n${feedbackLink}\n\nThank you for your valuable time.\n\u2014 *${GARAGE_NAME}*`;\n\n  // -----------------------------\n  // Email Subject\n  // -----------------------------\n  const emailSubject =\n    `We Value Your Feedback \u2013 ${GARAGE_NAME}`;\n\n  // -----------------------------\n  // Email Body\n  // -----------------------------\n  const emailBody =\n`Dear ${customerName},\n\nGreetings from ${GARAGE_NAME}.\n\nThank you for choosing us for your recent vehicle service. We hope your experience met your expectations.\n\nService Details:\nVehicle Model : ${vehicleModel}\nVehicle Number: ${vehicleNumber || \"N/A\"}\nService Date  : ${serviceDate}\n\nYour feedback plays an important role in helping us improve and serve you better.\n\nPlease take a moment to share your experience by clicking the link below:\n${feedbackLink}\n\nWe truly appreciate your time and support.\n\nWarm regards,  \n${GARAGE_NAME}`;\n\n  // -----------------------------\n  // Output for Next Nodes\n  // -----------------------------\n  return {\n    json: {\n      phone: data.Phone,\n      email: data.Email,\n      whatsappMessage,\n      emailSubject,\n      emailBody,\n      markFeedbackSent: true\n    }\n  };\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "5b489143-7919-462e-9029-fd774ab5e558",
      "name": "Send Feedback WhatsApp",
      "type": "n8n-nodes-base.twilio",
      "position": [
        2128,
        1488
      ],
      "parameters": {
        "to": "={{ $('Build Feedback Messages').item.json.phone }}",
        "from": "+1234567890",
        "message": "={{ $json.whatsappMessage }}",
        "options": {},
        "toWhatsapp": true
      },
      "typeVersion": 1
    },
    {
      "id": "4fd1c9e9-7122-408f-96d2-c17b5550828d",
      "name": "Send Feedback Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2336,
        1488
      ],
      "parameters": {
        "sendTo": "={{ $('Build Feedback Messages').item.json.email }}",
        "message": "={{ $('Build Feedback Messages').item.json.emailBody }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "={{ $('Build Feedback Messages').item.json.emailSubject }}",
        "emailType": "text"
      },
      "typeVersion": 2.2
    },
    {
      "id": "29ad73e0-6d3a-4278-93b2-830de995eff5",
      "name": "Mark Feedback Sent",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2560,
        1488
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appmSBBXPDGEXnseu",
          "cachedResultUrl": "https://airtable.com/appmSBBXPDGEXnseu",
          "cachedResultName": "Garage / Car Service Reminder System"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbl3MOWawOfMkbcuk",
          "cachedResultUrl": "https://airtable.com/appmSBBXPDGEXnseu/tbl3MOWawOfMkbcuk",
          "cachedResultName": "Tables"
        },
        "columns": {
          "value": {
            "Phone": "={{ $('Build Feedback Messages').item.json.phone }}",
            "Feedback_Sent": "={{ $('Build Feedback Messages').item.json.markFeedbackSent }}",
            "Feedback_Sent_On": "={{ $now.toISO() }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "Service_ID",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Service_ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Customer_Name",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Customer_Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Phone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Vehicle_Model",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Vehicle_Model",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Vehicle_Number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Vehicle_Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Service_Type",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Minor",
                  "value": "Minor"
                },
                {
                  "name": "Major",
                  "value": "Major"
                },
                {
                  "name": "Paid",
                  "value": "Paid"
                },
                {
                  "name": "Free",
                  "value": "Free"
                }
              ],
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Service_Type",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Service_Date",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Service_Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Pending",
                  "value": "Pending"
                },
                {
                  "name": "In Progress",
                  "value": "In Progress"
                },
              
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Garage and auto service businesses handle much more than just vehicle repairs — they manage service schedules, customer reminders, pickups, feedback, and repeat visits. When handled manually, this often leads to missed reminders, delayed pickups, unhappy customers, and lost…

Source: https://n8n.io/workflows/12861/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Automatically qualify, score, and route new leads using a hybrid AI + rule-based scoring engine. This workflow analyzes incoming leads from Airtable, enriches them with OpenAI-powered qualification, a

Airtable Trigger, OpenAI, Slack +1
AI & RAG

Some use cases: Sales follow-ups, auto-qualifying leads based on budget, monetizing low-budget leads, and automatic data entry. Ingestion: When a call recording is uploaded to a specific Google Drive

OpenAI, Google Drive, Slack +4
AI & RAG

This workflow automatically monitors new Zendesk support tickets, identifies VIP customers, generates AI-based ticket summaries, alerts available support agents on Slack and sends a consolidated email

Slack, Zendesk Trigger, OpenAI +2
AI & RAG

This workflow is perfect for marketers, sales teams, agencies, and local businesses who want to save time by automating lead generation from Google Maps.

HTTP Request, OpenAI, Airtable +1
AI & RAG

This workflow automates the "speed-to-lead" process for insurance agencies. It instantly triggers an AI voice call when a new lead comes in, qualifies their needs via conversation, and automatically g

Form Trigger, Airtable, HTTP Request +3