{"workflow":{"id":12861,"name":"Manage garage service reminders, pickups and feedback with Airtable, WhatsApp and Gmail","views":70,"recentViews":0,"totalViews":70,"createdAt":"2026-01-21T07:32:57.848Z","description":"## ✅ What problem does this workflow solve?\n\nGarage 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 repeat business**.\n\nThis workflow delivers a **fully automated, end-to-end customer communication system** for garages using **n8n + Airtable + WhatsApp + Email**, ensuring timely, professional, and consistent engagement at every stage of the service lifecycle.\n\n## ⚙️ What does this workflow do?\n\nThis automation suite consists of **four interconnected workflows**, each handling a critical touchpoint:\n\n### WF-01: Scheduled Service Reminders\n- Runs **daily at 9 AM**\n- Identifies upcoming, due-today, or overdue services\n- Sends branded reminders via **WhatsApp + Email**\n- Automatically marks reminders as sent to avoid duplicates\n\n### WF-02: Pickup Notification\n- Triggers when service status changes to **“Done”**\n- Instantly notifies customers that their vehicle is ready\n- Sends confirmation via **WhatsApp + Email**\n- Updates Airtable to track pickup notifications\n\n### WF-03: Feedback Collection\n- Triggers when service status becomes **“Delivered”**\n- Sends a polite feedback request with a form link\n- Uses WhatsApp + Email for higher response rates\n- Ensures feedback requests are sent only once\n\n### WF-04: Next Service Reminder\n- Runs **daily at 9 AM**\n- Tracks upcoming next-service dates\n- Sends reminders for:\n  - Overdue services\n  - Services due today\n  - Upcoming services (next 7 days)\n- Encourages repeat visits and long-term retention\n\n\n## 🧠 How it Works – High-Level Flow\n\n### 1. Central Data Source (Airtable)\nAirtable acts as the single source of truth for:\n- Customer details\n- Vehicle information\n- Service status\n- Service dates & next service dates\n- Notification tracking flags\n\n### 2. Smart Triggers & Scheduling\n- **Schedule Triggers** run daily reminders automatically\n- **Airtable Triggers** react instantly to status changes (`Pending → Done → Delivered`)\n\n### 3. Personalized Message Generation\n- Dynamic WhatsApp and Email messages are generated using customer, vehicle, and service data\n- Messages are branded and context-aware (overdue, today, upcoming, completed, feedback)\n\n### 4. Multi-Channel Notifications\n- **WhatsApp** messages are sent via Twilio\n- **Email** notifications are sent via Gmail\n- Customers are reached on their preferred channels\n\n### 5. Automatic Tracking & Deduplication\n- Each step updates Airtable flags:\n  - Reminder sent\n  - Pickup notification sent\n  - Feedback sent\n  - Next service reminder sent\n- Prevents duplicate messages and ensures clean automation\n\n\n## 🔧 Integrations Used\n\n- **Airtable** – Customer, vehicle, and service management\n- **Twilio WhatsApp API** – Instant customer notifications\n- **Gmail** – Professional email communication\n- **n8n Schedule & Trigger Nodes** – Time-based and event-based automation\n\n\n## 👤 Who is this for?\n\nPerfect for:\n- 🚘 Auto garages & service centers  \n- 🛠 Multi-location workshop chains  \n- 🚗 Car detailing & maintenance businesses  \n- ⚙️ Agencies building automation solutions for automotive clients  \n\n## 🎯 Business Outcomes\n\n- ✅ No missed service or follow-up reminders  \n- ✅ Faster pickups and smoother operations  \n- ✅ Automated feedback collection  \n- ✅ Higher repeat visits and customer retention  \n- ✅ Zero manual follow-ups for staff  \n\n\n## 🚀 Result\n\nThis workflow transforms a garage into a **fully automated, customer-centric service operation**, ensuring every customer is informed, engaged, and encouraged to return — without adding operational overhead.\n\n","workflow":{"meta":{"instanceId":"bea6d0e5718748c693b425ba69e59c49ddd96eae3692b90486b2fd418eb2c79d"},"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📊 **Airtable Base**: https://airtable.com/appmSBBXPDGEXnseu/shrV5FLUSKxEzs473"},"typeVersion":1},{"id":"d4e7a2d2-b11d-4309-a734-2747ef2a7fa4","name":"Fetch Pending Services (±7 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`🚨 *SERVICE OVERDUE ALERT*\n\nHello *${Customer_Name}*,\n\nYour vehicle service is overdue. Please review the details below:\n\n🚗 *Vehicle:* ${Vehicle_Model}\n🔢 *Number:* ${Vehicle_Number}\n🛠️ *Service Type:* ${Service_Type}\n📆 *Due Date:* ${Service_Date}\n\nKindly contact us at the earliest to reschedule your service.\n\n— *${GARAGE_NAME}*`;\n\n    emailSubject = `Service Overdue – ${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`🔔 *SERVICE REMINDER – TODAY*\n\nHello *${Customer_Name}*,\n\nThis is a reminder that your vehicle service is scheduled for today:\n\n🚗 *Vehicle:* ${Vehicle_Model}\n🔢 *Number:* ${Vehicle_Number}\n🛠️ *Service Type:* ${Service_Type}\n\nWe look forward to serving you.\n\n— *${GARAGE_NAME}*`;\n\n    emailSubject = `Service Reminder Today – ${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`📅 *UPCOMING SERVICE REMINDER*\n\nHello *${Customer_Name}*,\n\nYour vehicle service is scheduled soon. Please find the details below:\n\n🚗 *Vehicle:* ${Vehicle_Model}\n🔢 *Number:* ${Vehicle_Number}\n🛠️ *Service Type:* ${Service_Type}\n📆 *Service Date:* ${Service_Date}\n\nIf you need any changes or assistance, feel free to contact us.\n\n— *${GARAGE_NAME}*`;\n\n    emailSubject = `Upcoming Vehicle Service – ${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],"webhookId":"8f22cd15-ad79-4173-9724-a99ac617dd4e","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 → 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`🚗 *VEHICLE READY FOR PICKUP*\n\nHello *${customerName}*,\n\nWe are pleased to inform you that your vehicle service has been completed successfully.\n\n🚘 *Vehicle:* ${vehicleModel}${vehicleNumber ? ` (${vehicleNumber})` : \"\"}\n🛠️ *Service Type:* ${serviceType}\n📅 *Service Date:* ${serviceDate}\n\nYour vehicle is now ready for pickup.  \nPlease visit us at your convenience.\n\n🙏 Thank you for choosing.\n  — *${GARAGE_NAME}*`;\n\n  // -----------------------------\n  // Email Subject\n  // -----------------------------\n  const emailSubject =\n    `Your Vehicle Is Ready for Pickup – ${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],"webhookId":"8f22cd15-ad79-4173-9724-a99ac617dd4e","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 ±7 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":"📋 **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 (±7 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  // ⛔ 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 = \"⚠️\";\n    heading = \"SERVICE OVERDUE REMINDER\";\n  } else if (diffDays === 0) {\n    reminderType = \"TODAY\";\n    titleEmoji = \"🔔\";\n    heading = \"SERVICE DUE TODAY\";\n  } else {\n    reminderType = \"UPCOMING\";\n    titleEmoji = \"📅\";\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🚗 *Vehicle:* ${vehicleModel}${vehicleNumber ? ` (${vehicleNumber})` : \"\"}\n🛠️ *Service Type:* ${serviceType}\n📆 *Service Date:* ${formattedDate}\n\nPlease contact us if you would like to confirm or reschedule your service.\n\nThank you for trusting.\n— *${GARAGE_NAME}*`;\n\n  // -----------------------------\n  // Email Subject\n  // -----------------------------\n  const emailSubject =\n    `${heading} – ${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’s 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],"webhookId":"8f22cd15-ad79-4173-9724-a99ac617dd4e","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 (±7 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  // 🔗 Feedback link (replace if needed)\n  const feedbackLink = \"https://forms.gle/LHfFRQPU9fKaH8LB8\";\n\n  // -----------------------------\n  // WhatsApp Feedback Message\n  // -----------------------------\n  const whatsappMessage =\n`🙏 *THANK YOU FOR CHOOSING ${GARAGE_NAME.toUpperCase()}*\n\nHello *${customerName}*,\n\nWe hope you are enjoying your vehicle after the recent service.\n\n🚘 *Vehicle:* ${vehicleModel}${vehicleNumber ? ` (${vehicleNumber})` : \"\"}\n📅 *Service Date:* ${serviceDate}\n\nYour feedback means a lot to us and helps us improve our service quality.\n\n⭐ *Please share your experience here:*  \n${feedbackLink}\n\nThank you for your valuable time.\n— *${GARAGE_NAME}*`;\n\n  // -----------------------------\n  // Email Subject\n  // -----------------------------\n  const emailSubject =\n    `We Value Your Feedback – ${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],"webhookId":"8f22cd15-ad79-4173-9724-a99ac617dd4e","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"},{"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":false,"readOnly":false,"required":false,"displayName":"Feedback_Sent","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Feedback_Sent_On","type":"dateTime","display":true,"removed":false,"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}],"pinData":{},"connections":{"Iterate Services":{"main":[[],[{"node":"Build Reminder Messages","type":"main","index":0}]]},"Iterate Services ":{"main":[[],[{"node":"Build Next Service Reminder Messages","type":"main","index":0}]]},"Send Pickup Email":{"main":[[{"node":"Mark Pickup Notification Sent","type":"main","index":0}]]},"Mark Feedback Sent":{"main":[[{"node":"Iterate Delivered Records","type":"main","index":0}]]},"Mark Reminder Sent":{"main":[[{"node":"Iterate Services","type":"main","index":0}]]},"Send Email Reminder":{"main":[[{"node":"Mark Reminder Sent","type":"main","index":0}]]},"Send Feedback Email":{"main":[[{"node":"Mark Feedback Sent","type":"main","index":0}]]},"Send Pickup WhatsApp":{"main":[[{"node":"Send Pickup Email","type":"main","index":0}]]},"Build Pickup Messages":{"main":[[{"node":"Send Pickup WhatsApp","type":"main","index":0}]]},"Send Feedback WhatsApp":{"main":[[{"node":"Send Feedback Email","type":"main","index":0}]]},"Send WhatsApp Reminder":{"main":[[{"node":"Send Email Reminder","type":"main","index":0}]]},"Build Feedback Messages":{"main":[[{"node":"Send Feedback WhatsApp","type":"main","index":0}]]},"Build Reminder Messages":{"main":[[{"node":"Send WhatsApp Reminder","type":"main","index":0}]]},"Send Next Service Email":{"main":[[{"node":"Mark Next Service Reminder Sent","type":"main","index":0}]]},"Iterate Delivered Records":{"main":[[],[{"node":"Build Feedback Messages","type":"main","index":0}]]},"Vehicle Delivered Trigger":{"main":[[{"node":"Iterate Delivered Records","type":"main","index":0}]]},"Iterate Completed Services":{"main":[[],[{"node":"Build Pickup Messages","type":"main","index":0}]]},"Send Next Service WhatsApp":{"main":[[{"node":"Send Next Service Email","type":"main","index":0}]]},"Mark Pickup Notification Sent":{"main":[[{"node":"Iterate Completed Services","type":"main","index":0}]]},"Next Service Reminder Trigger":{"main":[[{"node":"Fetch Next Services (±7 Days)","type":"main","index":0}]]},"Daily Service Reminder Trigger":{"main":[[{"node":"Fetch Pending Services (±7 Days)","type":"main","index":0}]]},"Fetch Next Services (±7 Days)":{"main":[[{"node":"Iterate Services ","type":"main","index":0}]]},"Mark Next Service Reminder Sent":{"main":[[{"node":"Iterate Services ","type":"main","index":0}]]},"Fetch Pending Services (±7 Days)":{"main":[[{"node":"Iterate Services","type":"main","index":0}]]},"Build Next Service Reminder Messages":{"main":[[{"node":"Send Next Service WhatsApp","type":"main","index":0}]]},"Run to Service Status Changed → Done":{"main":[[{"node":"Iterate Completed Services","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":33,"nodeTypes":{"n8n-nodes-base.code":{"count":4},"n8n-nodes-base.gmail":{"count":4},"n8n-nodes-base.twilio":{"count":4},"n8n-nodes-base.airtable":{"count":6},"n8n-nodes-base.stickyNote":{"count":7},"n8n-nodes-base.splitInBatches":{"count":4},"n8n-nodes-base.airtableTrigger":{"count":2},"n8n-nodes-base.scheduleTrigger":{"count":2}}},"status":"published","readyToDemo":null,"user":{"name":"InfyOm Technologies","username":"infyom","bio":"We are an AI Automation Agency focusing on various AI Automation Services like, workflow automation, shopify automation, chatbot developerment, custom ai agent development and more.","verified":true,"links":["https://infyom.com/"],"avatar":"https://gravatar.com/avatar/446a0cc0999bf36a7cf20a2a927584798afbbdb8bd6bbabb55a0daf05b74f3bc?r=pg&d=retro&size=200"},"nodes":[{"id":2,"icon":"file:airtable.svg","name":"n8n-nodes-base.airtable","codex":{"data":{"resources":{"generic":[{"url":"https://n8n.io/blog/2021-goals-level-up-your-vocabulary-with-vonage-and-n8n/","icon":"🎯","label":"2021 Goals: Level Up Your Vocabulary With Vonage and n8n"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/sending-sms-the-low-code-way-with-airtable-twilio-programmable-sms-and-n8n/","icon":"📱","label":"Sending SMS the Low-Code Way with Airtable, Twilio Programmable SMS, and n8n"},{"url":"https://n8n.io/blog/automating-conference-organization-processes-with-n8n/","icon":"🙋‍♀️","label":"Automating Conference Organization Processes with n8n"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.airtable/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/airtable/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Airtable"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDAgMTcwIj48cGF0aCBmaWxsPSIjZmNiNDAwIiBkPSJNODkgNC44IDE2LjIgMzQuOWMtNC4xIDEuNy00IDcuNC4xIDkuMWw3My4yIDI5YzYuNCAyLjYgMTMuNiAyLjYgMjAgMGw3My4yLTI5YzQuMS0xLjYgNC4xLTcuNC4xLTkuMWwtNzMtMzAuMUMxMDMuMiAyIDk1LjcgMiA4OSA0LjgiLz48cGF0aCBmaWxsPSIjMThiZmZmIiBkPSJNMTA1LjkgODguOXY3Mi41YzAgMy40IDMuNSA1LjggNi43IDQuNWw4MS42LTMxLjdjMS45LS43IDMuMS0yLjUgMy4xLTQuNVY1Ny4yYzAtMy40LTMuNS01LjgtNi43LTQuNUwxMDkgODQuM2MtMS45LjgtMy4xIDIuNi0zLjEgNC42Ii8+PHBhdGggZmlsbD0iI2Y4MmI2MCIgZD0ibTg2LjkgOTIuNi0yNC4yIDExLjctMi41IDEuMkw5LjEgMTMwYy0zLjIgMS42LTcuNC0uOC03LjQtNC40VjU3LjVjMC0xLjMuNy0yLjQgMS42LTMuM3EuNi0uNiAxLjItLjljMS4yLS43IDMtLjkgNC40LS4zbDc3LjUgMzAuN2M0IDEuNSA0LjMgNy4xLjUgOC45Ii8+PHBhdGggZmlsbD0iI2JhMWU0NSIgZD0ibTg2LjkgOTIuNi0yNC4yIDExLjctNTkuNC01MHEuNi0uNiAxLjItLjljMS4yLS43IDMtLjkgNC40LS4zbDc3LjUgMzAuN2M0IDEuNCA0LjMgNyAuNSA4LjgiLz48L3N2Zz4="},"displayName":"Airtable","typeVersion":2,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"id":39,"icon":"fa:sync","name":"n8n-nodes-base.splitInBatches","codex":{"data":{"alias":["Loop","Concatenate","Batch","Split","Split In Batches"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Loop Over Items","color":"#007755"},"iconData":{"icon":"sync","type":"icon"},"displayName":"Loop Over Items (Split in Batches)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":45,"icon":"file:twilio.svg","name":"n8n-nodes-base.twilio","codex":{"data":{"alias":["SMS","Phone","Voice"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/tracking-time-spent-in-meetings-with-google-calendar-twilio-and-n8n/","icon":"🗓","label":"Tracking Time Spent in Meetings With Google Calendar, Twilio, and n8n"},{"url":"https://n8n.io/blog/creating-error-workflows-in-n8n/","icon":"🌪","label":"Creating Error Workflows in n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/sending-sms-the-low-code-way-with-airtable-twilio-programmable-sms-and-n8n/","icon":"📱","label":"Sending SMS the Low-Code Way with Airtable, Twilio Programmable SMS, and n8n"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.twilio/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/twilio/"}]},"categories":["Communication","Development"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"transform\"]","defaults":{"name":"Twilio"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjUgNjUiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsPSIjZTMxZTI2IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZD0iTTMxLjk1MyAwQzE0LjMzNyAwIDAgMTQuMzM3IDAgMzEuOTUzczE0LjMzNyAzMS45NTMgMzEuOTUzIDMxLjk1M0M0OS42NjMgNjQgNjQgNDkuNjYzIDY0IDMxLjk1M1M0OS42NjMgMCAzMS45NTMgMG0wIDU1LjU2N2MtMTIuOTMxIDAtMjMuNTItMTAuNTg5LTIzLjUyLTIzLjYxNCAwLTEyLjkzMSAxMC41ODktMjMuNTIgMjMuNTItMjMuNTIgMTMuMDI1IDAgMjMuNjE0IDEwLjU4OSAyMy42MTQgMjMuNTIgMCAxMy4wMjUtMTAuNTg5IDIzLjYxNC0yMy42MTQgMjMuNjE0Ii8+PHVzZSB4bGluazpocmVmPSIjYiIvPjx1c2UgeGxpbms6aHJlZj0iI2IiIHk9IjE1LjkzIi8+PHBhdGggZD0iTTE3LjMzNSAzOS45MThhNi42NCA2LjY0IDAgMCAxIDYuNjUzLTYuNjUzIDYuNjUzIDYuNjUzIDAgMSAxIDAgMTMuMzA2IDYuNjQgNi42NCAwIDAgMS02LjY1My02LjY1M20wLTE1LjkzYTYuNjQgNi42NCAwIDAgMSA2LjY1My02LjY1MyA2LjY0IDYuNjQgMCAwIDEgNi42NTMgNi42NTMgNi42NCA2LjY0IDAgMCAxLTYuNjUzIDYuNjUzIDYuNjQgNi42NCAwIDAgMS02LjY1My02LjY1MyIvPjwvZz48L3N5bWJvbD48ZGVmcz48cGF0aCBpZD0iYiIgZD0iTTMzLjI2NSAyMy45ODhhNi42NCA2LjY0IDAgMSAxIDEzLjMwNiAwIDYuNjQgNi42NCAwIDEgMS0xMy4zMDYgMCIvPjwvZGVmcz48L3N2Zz4="},"displayName":"Twilio","typeVersion":1,"nodeCategories":[{"id":5,"name":"Development"},{"id":6,"name":"Communication"}]},{"id":356,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmail","codex":{"data":{"alias":["email","human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"transform\"]","defaults":{"name":"Gmail"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":408,"icon":"file:airtable.svg","name":"n8n-nodes-base.airtableTrigger","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.airtabletrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/airtable/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"Airtable Trigger"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDAgMTcwIj48cGF0aCBmaWxsPSIjZmNiNDAwIiBkPSJNODkgNC44IDE2LjIgMzQuOWMtNC4xIDEuNy00IDcuNC4xIDkuMWw3My4yIDI5YzYuNCAyLjYgMTMuNiAyLjYgMjAgMGw3My4yLTI5YzQuMS0xLjYgNC4xLTcuNC4xLTkuMWwtNzMtMzAuMUMxMDMuMiAyIDk1LjcgMiA4OSA0LjgiLz48cGF0aCBmaWxsPSIjMThiZmZmIiBkPSJNMTA1LjkgODguOXY3Mi41YzAgMy40IDMuNSA1LjggNi43IDQuNWw4MS42LTMxLjdjMS45LS43IDMuMS0yLjUgMy4xLTQuNVY1Ny4yYzAtMy40LTMuNS01LjgtNi43LTQuNUwxMDkgODQuM2MtMS45LjgtMy4xIDIuNi0zLjEgNC42Ii8+PHBhdGggZmlsbD0iI2Y4MmI2MCIgZD0ibTg2LjkgOTIuNi0yNC4yIDExLjctMi41IDEuMkw5LjEgMTMwYy0zLjIgMS42LTcuNC0uOC03LjQtNC40VjU3LjVjMC0xLjMuNy0yLjQgMS42LTMuM3EuNi0uNiAxLjItLjljMS4yLS43IDMtLjkgNC40LS4zbDc3LjUgMzAuN2M0IDEuNSA0LjMgNy4xLjUgOC45Ii8+PHBhdGggZmlsbD0iI2JhMWU0NSIgZD0ibTg2LjkgOTIuNi0yNC4yIDExLjctNTkuNC01MHEuNi0uNiAxLjItLjljMS4yLS43IDMtLjkgNC40LS4zbDc3LjUgMzAuN2M0IDEuNCA0LjMgNyAuNSA4LjgiLz48L3N2Zz4="},"displayName":"Airtable Trigger","typeVersion":1,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":33,"name":"Social Media"}],"image":[]}}