{
  "workflow": {
    "id": 9844,
    "name": "Automated tour payment reminders via WhatsApp & email with payment links",
    "views": 518,
    "recentViews": 1,
    "totalViews": 518,
    "createdAt": "2025-10-17T15:00:21.400Z",
    "description": "This workflow automatically notifies travelers about their pending trip payments and provides secure payment links through Email and WhatsApp. It runs twice daily (at 7 AM and 7 PM) to ensure timely reminders before the due date. Designed for travel agencies, it simplifies payment tracking, reduces manual follow-up, and ensures every traveler receives personalized reminders with real-time payment status updates.\n\n## 🔧 Main Components\n### Daily Payment Check – 7 AM & 7 PM\nScheduled triggers that start the workflow daily at 7 AM and 7 PM.\n\n### Read Pending Travel Payment\nFetches traveler payment records from an Excel sheet (using getAll method).\n\n### Process Payment Reminders\nFilters records to find pending payments due within the next 3 days.\n\n### Create Payment Reminders\nGenerates personalized payment reminders.\n\n### Make Reminder For Email\nPrepares email-friendly messages with payment links.\n\n### Send Email Reminder\nSends the payment reminder email with a secure payment link to the traveler.\n\n### Prepare WhatsApp Reminder\nGenerates WhatsApp-friendly messages with payment and payment details.\n\n### Send WhatsApp Message\nSends the message to the traveler’s WhatsApp number using a message API.\n\n### Update Status Of Reminder\nUpdates the Excel file to mark reminders as sent to avoid duplicates.\n\n## 🧩 Channels Used\n📧 Email – with personalized payment link  \n💬 WhatsApp – formatted reminder message  \n🔐 Payment Integration  \nSecure payment links are auto-generated per traveler to enable direct and safe online payments.\n\n## ✅ Essential Prerequisites\n- Excel sheet with payment records (travel_payment_data.xlsx)  \n- SMTP credentials for sending email  \n- WhatsApp API or provider integration (like Twilio or Gupshup)  \n- Access to a payment gateway or service for link generation  \n- File storage access to update reminder status in Excel  \n\n## 📁 Required Excel File Structure (travel_payment_data.xlsx)\n| Traveler ID | Name       | Email             | Phone         | Payment Due Date | Amount  | Reminder Sent |\n|-------------|------------|-------------------|---------------|------------------|---------|---------------|\n| TR001       | Arjun Patel| arjun@example.com | +919876543210 | 2025-10-20       | ₹3000   | No            |\n\n## 🧾 Expected Input Format Example\n{\n  \"travelerId\": \"TR001\",\n  \"name\": \"Arjun Patel\",\n  \"email\": \"arjun@example.com\",\n  \"phone\": \"+919876543210\",\n  \"dueDate\": \"2025-10-20\",\n  \"amount\": \"₹3000\",\n  \"reminderSent\": \"No\"\n}\n\n## 🚀 Key Features\n- ⏰ Scheduled Daily Execution – Fully automated at 7 AM and 7 PM  \n- 🧮 Due-Date Filtering – Only targets payments due in the next 3 days  \n- 💬 Multi-Channel Notifications – Sends reminders via both Email and WhatsApp  \n- 🔗 Secure Payment Links – Auto-generated for each traveler  \n- 🔄 Reminder Tracking – Prevents duplicate reminders by updating status  \n\n## ⚙️ Quick Setup Guide\n- Import Workflow JSON into your n8n instance.  \n- Configure schedule in the “Daily Payment Check” node (default: 7 AM & 7 PM).  \n- Set Excel file path in the “Read Pending Travel Payment” node.  \n- Update your payment processing logic in the “Process Payment Reminders” node.  \n- Add email credentials in the “Send Email Reminder” node.  \n- Integrate WhatsApp provider API in the “Send WhatsApp Message” node.  \n- Define how you generate secure payment links.  \n- Test with sample data and activate workflow.  \n\n",
    "workflow": {
      "id": "76LqncXo7HU6frDp",
      "meta": {
        "instanceId": "dd69efaf8212c74ad206700d104739d3329588a6f3f8381a46a481f34c9cc281",
        "templateCredsSetupCompleted": true
      },
      "name": "Send Tour Payment Reminders with Payment Links",
      "tags": [],
      "nodes": [
        {
          "id": "33b5aa5a-20c2-4394-8136-427abc8fb678",
          "name": "Prepare WhatsApp Reminder",
          "type": "n8n-nodes-base.code",
          "position": [
            720,
            336
          ],
          "parameters": {
            "jsCode": "const tourData = $input.first().json;\n\nconst whatsappMessage = `✈️ *Tour Payment Reminder*\\n\\nDear ${tourData.travelerName},\\n\\n💰 Payment for *${tourData.tourName}*\\n💵 Amount Due: $${tourData.amountDue}\\n📅 Tour Date: ${tourData.tourDate}\\n⏰ ${tourData.daysRemaining} days remaining\\n\\n🔗 *Pay Now:* ${tourData.paymentLink}\\n\\n_Please complete the payment before the tour to secure your booking._\\n\\nTravel Agency`;\n\nreturn [{\n  json: {\n    phone: tourData.phone,\n    message: whatsappMessage,\n    travelerName: tourData.travelerName,\n    tourName: tourData.tourName,\n    paymentLink: tourData.paymentLink\n  }\n}];\n"
          },
          "typeVersion": 2
        },
        {
          "id": "a8e0a132-88d4-4f04-9fe9-f2d2efe8cb89",
          "name": "Update Reminder Status",
          "type": "n8n-nodes-base.microsoftExcel",
          "position": [
            1168,
            336
          ],
          "parameters": {
            "options": {},
            "dataMode": "autoMap",
            "resource": "worksheet",
            "workbook": {
              "__rl": true,
              "mode": "id",
              "value": "=fee-records-workbook"
            },
            "operation": "update",
            "worksheet": {
              "__rl": true,
              "mode": "id",
              "value": "=345yhhgt43wedf"
            },
            "columnToMatchOn": "=name"
          },
          "credentials": {
            "microsoftExcelOAuth2Api": {
              "id": "credential-id",
              "name": "microsoftExcelOAuth2Api Credential"
            }
          },
          "typeVersion": 2
        },
        {
          "id": "030b1fe5-b3e6-4243-8902-35f7c2b77c93",
          "name": "Read Pending Travel Payment",
          "type": "n8n-nodes-base.microsoftExcel",
          "position": [
            272,
            336
          ],
          "parameters": {
            "filters": {
              "fields": [
                {
                  "value": "Pending",
                  "column": "Status"
                }
              ]
            },
            "resource": "worksheet",
            "workbook": {
              "__rl": true,
              "mode": "id",
              "value": "=nhjiko987uyhn"
            }
          },
          "credentials": {
            "microsoftExcelOAuth2Api": {
              "id": "credential-id",
              "name": "microsoftExcelOAuth2Api Credential"
            }
          },
          "typeVersion": 2
        },
        {
          "id": "2e32c9a2-2415-4efd-913f-c050c70e68d0",
          "name": "Daily Payment Check - 7 AM",
          "type": "n8n-nodes-base.scheduleTrigger",
          "position": [
            48,
            336
          ],
          "parameters": {
            "rule": {
              "interval": [
                {
                  "triggerAtHour": 7
                }
              ]
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "dd933644-7cb7-4f7a-a46e-c607f53373ba",
          "name": "Process Payment Reminders",
          "type": "n8n-nodes-base.code",
          "position": [
            496,
            336
          ],
          "parameters": {
            "jsCode": "const currentDate = new Date();\nconst reminderDate = new Date();\nreminderDate.setDate(currentDate.getDate() + 3); // Remind 3 days before tour/payment\n\nconst tourRecords = $input.all(); // All tour booking records\nconst reminders = [];\n\nfor (const record of tourRecords) {\n  const tourData = record.json;\n  const tourDate = new Date(tourData.tourDate); // Tour start date\n  \n  if (tourDate <= reminderDate && tourDate > currentDate) {\n    const paymentLink = `https://payments.travelplatform.com/pay?traveler=${tourData.travelerId}&amount=${tourData.amountDue}&ref=${tourData.bookingId}`;\n    \n    reminders.push({\n      travelerName: tourData.travelerName,\n      email: tourData.email,\n      phone: tourData.phone,\n      tourName: tourData.tourName,\n      amountDue: tourData.amountDue,\n      tourDate: tourData.tourDate,\n      bookingId: tourData.bookingId,\n      paymentLink: paymentLink,\n      daysRemaining: Math.ceil((tourDate - currentDate) / (1000 * 60 * 60 * 24))\n    });\n  }\n}\n\nreturn reminders.map(item => ({ json: item }));\n"
          },
          "typeVersion": 2
        },
        {
          "id": "64d6d6f9-e19c-4d13-a13f-301f3d22aadc",
          "name": "Send Email Reminder",
          "type": "n8n-nodes-base.emailSend",
          "position": [
            944,
            560
          ],
          "webhookId": "0f88b663-53bd-4ce5-8258-ec93880780fe",
          "parameters": {
            "text": "={{$json.body}}",
            "options": {},
            "subject": "={{$json.subject}}",
            "toEmail": "={{$json.to}}",
            "fromEmail": "user@example.com",
            "emailFormat": "text"
          },
          "credentials": {
            "smtp": {
              "id": "credential-id",
              "name": "smtp Credential"
            }
          },
          "typeVersion": 2.1
        },
        {
          "id": "d32a00bb-ce08-46b8-9f99-74a85c1b21de",
          "name": "Daily Payment Check - 7 PM",
          "type": "n8n-nodes-base.scheduleTrigger",
          "position": [
            48,
            560
          ],
          "parameters": {
            "rule": {
              "interval": [
                {
                  "triggerAtHour": 19
                }
              ]
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "5fe702d0-d962-4079-8a34-db870a2dc713",
          "name": "Check Pending Payment",
          "type": "n8n-nodes-base.microsoftExcel",
          "position": [
            272,
            560
          ],
          "parameters": {
            "filters": {
              "fields": [
                {
                  "value": "Pending",
                  "column": "Status"
                }
              ]
            },
            "resource": "worksheet",
            "workbook": {
              "__rl": true,
              "mode": "id",
              "value": "=nhjiko987uyhn"
            }
          },
          "credentials": {
            "microsoftExcelOAuth2Api": {
              "id": "credential-id",
              "name": "microsoftExcelOAuth2Api Credential"
            }
          },
          "typeVersion": 2
        },
        {
          "id": "e9624483-19b9-4008-88b7-281545886494",
          "name": "Create Payment Reminders",
          "type": "n8n-nodes-base.code",
          "position": [
            496,
            560
          ],
          "parameters": {
            "jsCode": "const currentDate = new Date();\nconst reminderDate = new Date();\nreminderDate.setDate(currentDate.getDate() + 3); // Remind 3 days before tour/payment\n\nconst tourRecords = $input.all(); // All tour booking records\nconst reminders = [];\n\nfor (const record of tourRecords) {\n  const tourData = record.json;\n  const tourDate = new Date(tourData.tourDate); // Tour start date\n  \n  if (tourDate <= reminderDate && tourDate > currentDate) {\n    const paymentLink = `https://payments.travelplatform.com/pay?traveler=${tourData.travelerId}&amount=${tourData.amountDue}&ref=${tourData.bookingId}`;\n    \n    reminders.push({\n      travelerName: tourData.travelerName,\n      email: tourData.email,\n      phone: tourData.phone,\n      tourName: tourData.tourName,\n      amountDue: tourData.amountDue,\n      tourDate: tourData.tourDate,\n      bookingId: tourData.bookingId,\n      paymentLink: paymentLink,\n      daysRemaining: Math.ceil((tourDate - currentDate) / (1000 * 60 * 60 * 24))\n    });\n  }\n}\n\nreturn reminders.map(item => ({ json: item }));\n"
          },
          "typeVersion": 2
        },
        {
          "id": "2a2c09fa-9d44-43e9-96cc-cad33f8fb39f",
          "name": "Make Reminder For Email",
          "type": "n8n-nodes-base.code",
          "position": [
            720,
            560
          ],
          "parameters": {
            "jsCode": "const tourData = $input.first().json;\n\nconst email = `✈️ *Tour Payment Reminder*\\n\\nDear ${tourData.travelerName},\\n\\n💰 Payment for *${tourData.tourName}*\\n💵 Amount Due: $${tourData.amountDue}\\n📅 Tour Date: ${tourData.tourDate}\\n⏰ ${tourData.daysRemaining} days remaining\\n\\n🔗 *Pay Now:* ${tourData.paymentLink}\\n\\n_Please complete the payment before the tour to secure your booking._\\n\\nTravel Agency`;\n\nreturn [{\n  json: {\n    phone: tourData.phone,\n    message: email,\n    travelerName: tourData.travelerName,\n    tourName: tourData.tourName,\n    paymentLink: tourData.paymentLink\n  }\n}];\n"
          },
          "typeVersion": 2
        },
        {
          "id": "fae21a72-36cf-478d-9906-4d97d0e4469c",
          "name": "Send Message",
          "type": "n8n-nodes-base.whatsApp",
          "position": [
            944,
            336
          ],
          "webhookId": "6ca3982e-1f7a-46f5-a731-4d3dc40266bf",
          "parameters": {
            "textBody": "={{$json.body}}",
            "operation": "send",
            "phoneNumberId": "=+919388776655",
            "additionalFields": {},
            "recipientPhoneNumber": "={{$json.toforwp}}"
          },
          "credentials": {
            "whatsAppApi": {
              "id": "credential-id",
              "name": "whatsAppApi Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "e4b973e6-1cb5-4fe0-91a6-72ae9d262747",
          "name": "Update Status Of Reminder",
          "type": "n8n-nodes-base.microsoftExcel",
          "position": [
            1168,
            560
          ],
          "parameters": {
            "options": {},
            "dataMode": "autoMap",
            "resource": "worksheet",
            "workbook": {
              "__rl": true,
              "mode": "id",
              "value": "=fee-records-workbook"
            },
            "operation": "update",
            "worksheet": {
              "__rl": true,
              "mode": "id",
              "value": "=345yhhgt43wedf"
            },
            "columnToMatchOn": "=name"
          },
          "credentials": {
            "microsoftExcelOAuth2Api": {
              "id": "credential-id",
              "name": "microsoftExcelOAuth2Api Credential"
            }
          },
          "typeVersion": 2
        },
        {
          "id": "80be7c99-ff21-4c7a-9576-0d03ba231628",
          "name": "Sticky Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            368,
            -176
          ],
          "parameters": {
            "color": 4,
            "width": 608,
            "height": 192,
            "content": "## 🚀 Key Features\n- ⏰ Scheduled Daily Execution – Fully automated at 7 AM and 7 PM  \n- 🧮 Due-Date Filtering – Only targets payments due in the next 3 days  \n- 💬 Multi-Channel Notifications – Sends reminders via both Email and WhatsApp  \n- 🔗 Secure Payment Links – Auto-generated for each traveler  \n- 🔄 Reminder Tracking – Prevents duplicate reminders by updating status  "
          },
          "typeVersion": 1
        },
        {
          "id": "5411a3c8-b897-46f5-a71d-3d154738ceb1",
          "name": "Sticky Note1",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            368,
            -400
          ],
          "parameters": {
            "color": 3,
            "width": 608,
            "height": 192,
            "content": "## Description:\n\nThis workflow automatically notifies travelers about their pending trip payments and provides secure payment links through Email and WhatsApp. It runs twice daily (at 7 AM and 7 PM) to ensure timely reminders before the due date. Designed for travel agencies, it simplifies payment tracking, reduces manual follow-up, and ensures every traveler receives personalized reminders with real-time payment status updates."
          },
          "typeVersion": 1
        },
        {
          "id": "cb85e01a-051c-4d26-b6f7-d2fb8bf43708",
          "name": "Sticky Note2",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1072,
            -336
          ],
          "parameters": {
            "color": 5,
            "width": 608,
            "height": 288,
            "content": "## Purpose:\n\nThis workflow ensures automated, accurate, and timely payment reminders, helping travel agencies:\n\n- Maintain smooth cash flow\n\n- Minimize overdue payments\n\n- Provide a professional and automated customer communication experience"
          },
          "typeVersion": 1
        },
        {
          "id": "7dd63f3c-14bd-4a6c-b4f5-0c5be5a57546",
          "name": "Sticky Note3",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -448,
            32
          ],
          "parameters": {
            "width": 784,
            "height": 432,
            "content": "## Morning Flow (7 AM)\n\n- Daily Payment Check – 7 AM:\nScheduled trigger initiates the process.\n\n- Read Pending Travel Payment:\nReads all pending payment records from the Google Sheet.\n\n- Process Payment Reminders:\nFilters records based on due date and payment status.\n\n- Prepare WhatsApp Reminder:\nFormats personalized message content with traveler name, amount, due date, and secure payment link.\n\n- Send Message:\nSends the WhatsApp message automatically.\n\n- Update Reminder Status:\nUpdates the record in the Google Sheet as “Reminder Sent”."
          },
          "typeVersion": 1
        },
        {
          "id": "8a167f62-bc36-4940-9a14-fcedb0696c64",
          "name": "Sticky Note4",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -448,
            544
          ],
          "parameters": {
            "color": 6,
            "width": 784,
            "height": 432,
            "content": "## Evening Flow (7 PM)\n\n- Daily Payment Check – 7 PM:\nScheduled trigger for the evening run.\n\n- Check Pending Payment:\nReads pending payment data again to catch newly added records.\n\n- Create Payment Reminders:\nFilters and prepares records for reminder generation.\n\n- Make Reminder For Email:\nCreates customized email content for each traveler.\n\n- Send Email Reminder:\nSends the email reminders with payment details and link.\n\n- Update Status Of Reminder:\nUpdates the traveler’s record to avoid duplicate notifications."
          },
          "typeVersion": 1
        }
      ],
      "active": false,
      "pinData": {},
      "settings": {
        "executionOrder": "v1"
      },
      "versionId": "ad02aa2c-8239-46d8-9be1-0508458f6ac1",
      "connections": {
        "Send Message": {
          "main": [
            [
              {
                "node": "Update Reminder Status",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Send Email Reminder": {
          "main": [
            [
              {
                "node": "Update Status Of Reminder",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Check Pending Payment": {
          "main": [
            [
              {
                "node": "Create Payment Reminders",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Make Reminder For Email": {
          "main": [
            [
              {
                "node": "Send Email Reminder",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Create Payment Reminders": {
          "main": [
            [
              {
                "node": "Make Reminder For Email",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Prepare WhatsApp Reminder": {
          "main": [
            [
              {
                "node": "Send Message",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Process Payment Reminders": {
          "main": [
            [
              {
                "node": "Prepare WhatsApp Reminder",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Daily Payment Check - 7 AM": {
          "main": [
            [
              {
                "node": "Read Pending Travel Payment",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Daily Payment Check - 7 PM": {
          "main": [
            [
              {
                "node": "Check Pending Payment",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Read Pending Travel Payment": {
          "main": [
            [
              {
                "node": "Process Payment Reminders",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 1,
    "workflowInfo": {
      "nodeCount": 17,
      "nodeTypes": {
        "n8n-nodes-base.code": {
          "count": 4
        },
        "n8n-nodes-base.whatsApp": {
          "count": 1
        },
        "n8n-nodes-base.emailSend": {
          "count": 1
        },
        "n8n-nodes-base.stickyNote": {
          "count": 5
        },
        "n8n-nodes-base.microsoftExcel": {
          "count": 4
        },
        "n8n-nodes-base.scheduleTrigger": {
          "count": 2
        }
      }
    },
    "status": "published",
    "user": {
      "name": "Oneclick AI Squad",
      "username": "oneclick-ai",
      "bio": "The AI Squad Initiative is a pioneering effort to build, automate and scale AI-powered workflows using n8n.io. Our mission is to help individuals and businesses integrate AI agents seamlessly into their daily operations  from automating tasks and enhancing productivity to creating innovative, intelligent solutions. We design modular, reusable AI workflow templates that empower creators, developers and teams to supercharge their automation with minimal effort and maximum impact.",
      "verified": true,
      "links": [
        "https://www.oneclickitsolution.com/"
      ],
      "avatar": "https://gravatar.com/avatar/848fca91367142f65f9e5c55d64e5c9952b160d7b060d103b52aa343c6bc7b3d?r=pg&d=retro&size=200"
    },
    "nodes": [
      {
        "id": 11,
        "icon": "fa:envelope",
        "name": "n8n-nodes-base.emailSend",
        "codex": {
          "data": {
            "alias": [
              "SMTP",
              "email",
              "human",
              "form",
              "wait",
              "hitl",
              "approval"
            ],
            "resources": {
              "generic": [
                {
                  "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/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/",
                  "icon": "👦",
                  "label": "Build your own virtual assistant with n8n: A step by step guide"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.sendemail/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/sendemail/"
                }
              ]
            },
            "categories": [
              "Communication",
              "HITL",
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "HITL": [
                "Human in the Loop"
              ]
            }
          }
        },
        "group": "[\"output\"]",
        "defaults": {
          "name": "Send Email",
          "color": "#00bb88"
        },
        "iconData": {
          "icon": "envelope",
          "type": "icon"
        },
        "displayName": "Send Email",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          },
          {
            "id": 9,
            "name": "Core Nodes"
          },
          {
            "id": 28,
            "name": "HITL"
          }
        ]
      },
      {
        "id": 322,
        "icon": "file:excel.svg",
        "name": "n8n-nodes-base.microsoftExcel",
        "codex": {
          "data": {
            "alias": [
              "_Excel",
              "Excel",
              "Sheet",
              "CSV",
              "Spreadsheet"
            ],
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.microsoftexcel/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/microsoft/"
                }
              ]
            },
            "categories": [
              "Data & Storage",
              "Productivity"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "Microsoft Excel 365"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0iIzAyNzIzQiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik00My4xIDIwLjIyN2g5LjUxMnY0LjY5MmgtOS41MTN6bTAtNy4wMzRoOS41MTJ2NC42OWgtOS41MTN6bTAgMTQuMjI3aDkuNTEydjQuNjkxaC05LjUxM3ptMCA3LjAzNmg5LjUxMnY0LjY5MWgtOS41MTN6Ii8+PHBhdGggZD0iTTQzLjEgNDEuNjQ5aDkuNTEydjQuNjloLTkuNTEzek01OC4wNyA2Ljc4SDM1LjE0NlYuMzdMLjM3IDYuNDY3djQ3LjIybDM0Ljc3NiA1Ljk0MnYtNy4xODZINTguMDdjLjkzNSAwIDEuNTU5LS43ODEgMS41NTktMS41NTVWOC4zNDRjMC0uNzgxLS42MjQtMS41NTUtMS41Ni0xLjU1NVY2Ljc4ek0yMC4wMTggNDAuNTU0bC0zLjI3NC04LjU5M2gtLjE0OGMwIC4xNDktMy4yNzUgOC4xMy0zLjI3NSA4LjEzbC00LjM2Ni0uMzEyTDE0LjEgMjkuNjE2IDkuNDIyIDE5LjQ1M2w0LjM2Ny0uMzEyIDIuOTYzIDcuOTc0aC4xNDhjMC0uMTQ4IDMuMjc0LTguMjg3IDMuMjc0LTguMjg3bDQuNTIyLS4zMTItNS40NTcgMTEuMTAxIDUuNjE0IDExLjEwMi00LjgzNC0uMTQ5ek01Ny42IDUwLjcxN0gzNS4xNDZ2LTQuMzdoNS40NTh2LTQuNjkxaC01LjQ1OHYtMi4zNTJoNS40NTh2LTQuNjloLTUuNDU4di0yLjM0N2g1LjQ1OHYtNC42OWgtNS40NThWMjUuMjNoNS40NTh2LTQuNjloLTUuNDU4di0yLjM0NWg1LjQ1OHYtNC42OTJoLTUuNDU4di00LjY5aDIyLjQ1NnY0MS45MDNoLS4wMDF6Ii8+PHBhdGggZD0iTTQyLjcyOSAxOS44NTdoOS41MTJ2NC42OTFINDIuNzN6bTAtNy4wMzVoOS41MTJ2NC42OTFINDIuNzN6bTAgMTQuMjI4aDkuNTEydjQuNjlINDIuNzN6bTAgNy4wMzZoOS41MTJ2NC42OTFINDIuNzN6Ii8+PHBhdGggZD0iTTQyLjcyOSA0MS4yNzloOS41MTJ2NC42OUg0Mi43M3pNNTcuNjk5IDYuNDFIMzQuNzc2VjBMMCA2LjA5OHY0Ny4yMmwzNC43NzYgNS45NDF2LTcuMTg1aDIyLjkyM2MuOTM2IDAgMS41Ni0uNzgxIDEuNTYtMS41NTVWNy45NzRjMC0uNzgxLS42MjQtMS41NTUtMS41Ni0xLjU1NXpNMTkuNjQ3IDQwLjE4NGwtMy4yNzQtOC41OTNoLS4xNDhjMCAuMTQ4LTMuMjc0IDguMTMtMy4yNzQgOC4xM2wtNC4zNjctLjMxMiA1LjE0Ni0xMC4xNjMtNC42NzgtMTAuMTYzIDQuMzY3LS4zMTMgMi45NjIgNy45NzRoLjE0OWMwLS4xNDggMy4yNzQtOC4yODYgMy4yNzQtOC4yODZsNC41MjItLjMxMy01LjQ1OCAxMS4xMDIgNS42MTUgMTEuMTAxLTQuODM0LS4xNDh6TTU3LjIzIDUwLjM0N0gzNC43NzZ2LTQuMzdoNS40NTd2LTQuNjkyaC01LjQ1N3YtMi4zNTJoNS40NTd2LTQuNjloLTUuNDU3di0yLjM0N2g1LjQ1N3YtNC42OWgtNS40NTdWMjQuODZoNS40NTd2LTQuNjloLTUuNDU3di0yLjM0Nmg1LjQ1N3YtNC42OTJoLTUuNDU3di00LjY5aDIyLjQ1NnY0MS45MDR6Ii8+PC9nPjwvc3ZnPg=="
        },
        "displayName": "Microsoft Excel 365",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 3,
            "name": "Data & Storage"
          },
          {
            "id": 4,
            "name": "Productivity"
          }
        ]
      },
      {
        "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": 827,
        "icon": "file:whatsapp.svg",
        "name": "n8n-nodes-base.whatsApp",
        "codex": {
          "data": {
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.whatsapp/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/whatsapp/"
                }
              ]
            },
            "categories": [
              "Communication",
              "HITL"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "HITL": [
                "Human in the Loop"
              ]
            }
          }
        },
        "group": "[\"output\"]",
        "defaults": {
          "name": "WhatsApp Business Cloud"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHZpZXdCb3g9IjAgMCA0OCA0OCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTQuODY4IDQzLjMwMyAyLjY5NC05LjgzNWExOC45NCAxOC45NCAwIDAgMS0yLjUzNS05LjQ4OUM1LjAzMiAxMy41MTQgMTMuNTQ4IDUgMjQuMDE0IDVhMTguODcgMTguODcgMCAwIDEgMTMuNDMgNS41NjZBMTguODcgMTguODcgMCAwIDEgNDMgMjMuOTk0Yy0uMDA0IDEwLjQ2NS04LjUyMiAxOC45OC0xOC45ODYgMTguOThoLS4wMDhhMTkgMTkgMCAwIDEtOS4wNzMtMi4zMTF6Ii8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTQuODY4IDQzLjgwM2EuNS41IDAgMCAxLS40ODItLjYzMWwyLjYzOS05LjYzNmExOS41IDE5LjUgMCAwIDEtMi40OTctOS41NTZDNC41MzIgMTMuMjM4IDEzLjI3MyA0LjUgMjQuMDE0IDQuNWExOS4zNyAxOS4zNyAwIDAgMSAxMy43ODQgNS43MTNBMTkuMzYgMTkuMzYgMCAwIDEgNDMuNSAyMy45OTRjLS4wMDQgMTAuNzQxLTguNzQ2IDE5LjQ4LTE5LjQ4NiAxOS40OGExOS41NCAxOS41NCAwIDAgMS05LjE0NC0yLjI3N2wtOS44NzUgMi41ODlhLjUuNSAwIDAgMS0uMTI3LjAxNyIvPjxwYXRoIGZpbGw9IiNjZmQ4ZGMiIGQ9Ik0yNC4wMTQgNWExOC44NyAxOC44NyAwIDAgMSAxMy40MyA1LjU2NkExOC44NyAxOC44NyAwIDAgMSA0MyAyMy45OTRjLS4wMDQgMTAuNDY1LTguNTIyIDE4Ljk4LTE4Ljk4NiAxOC45OGgtLjAwOGExOSAxOSAwIDAgMS05LjA3My0yLjMxMWwtMTAuMDY1IDIuNjQgMi42OTQtOS44MzVhMTguOTQgMTguOTQgMCAwIDEtMi41MzUtOS40ODlDNS4wMzIgMTMuNTE0IDEzLjU0OCA1IDI0LjAxNCA1bTAtMUMxMi45OTggNCA0LjAzMiAxMi45NjIgNC4wMjcgMjMuOTc5YTIwIDIwIDAgMCAwIDIuNDYxIDkuNjIyTDMuOTAzIDQzLjA0YS45OTguOTk4IDAgMCAwIDEuMjE5IDEuMjMxbDkuNjg3LTIuNTRhMjAgMjAgMCAwIDAgOS4xOTcgMi4yNDRjMTEuMDI0IDAgMTkuOTktOC45NjMgMTkuOTk1LTE5Ljk4QTE5Ljg2IDE5Ljg2IDAgMCAwIDM4LjE1MyA5Ljg2IDE5Ljg3IDE5Ljg3IDAgMCAwIDI0LjAxNCA0Ii8+PHBhdGggZmlsbD0iIzQwYzM1MSIgZD0iTTM1LjE3NiAxMi44MzJhMTUuNjcgMTUuNjcgMCAwIDAtMTEuMTU3LTQuNjI2Yy04LjcwNCAwLTE1Ljc4MyA3LjA3Ni0xNS43ODcgMTUuNzc0YTE1Ljc0IDE1Ljc0IDAgMCAwIDIuNDEzIDguMzk2bC4zNzYuNTk3LTEuNTk1IDUuODIxIDUuOTczLTEuNTY2LjU3Ny4zNDJhMTUuNzUgMTUuNzUgMCAwIDAgOC4wMzIgMi4xOTloLjAwNmM4LjY5OCAwIDE1Ljc3Ny03LjA3NyAxNS43OC0xNS43NzZhMTUuNjggMTUuNjggMCAwIDAtNC42MTgtMTEuMTYxIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE5LjI2OCAxNi4wNDVjLS4zNTUtLjc5LS43MjktLjgwNi0xLjA2OC0uODItLjI3Ny0uMDEyLS41OTMtLjAxMS0uOTA5LS4wMTFzLS44My4xMTktMS4yNjUuNTk0LTEuNjYxIDEuNjIyLTEuNjYxIDMuOTU2IDEuNyA0LjU5IDEuOTM3IDQuOTA2IDMuMjgyIDUuMjU5IDguMTA0IDcuMTYxYzQuMDA3IDEuNTggNC44MjMgMS4yNjYgNS42OTMgMS4xODdzMi44MDctMS4xNDcgMy4yMDItMi4yNTUuMzk1LTIuMDU3LjI3Ny0yLjI1NWMtLjExOS0uMTk4LS40MzUtLjMxNi0uOTA5LS41NTRzLTIuODA3LTEuMzg1LTMuMjQyLTEuNTQzLS43NTEtLjIzNy0xLjA2OC4yMzhjLS4zMTYuNDc0LTEuMjI1IDEuNTQzLTEuNTAyIDEuODU5cy0uNTU0LjM1Ny0xLjAyOC4xMTktMi4wMDItLjczOC0zLjgxNS0yLjM1NGMtMS40MS0xLjI1Ny0yLjM2Mi0yLjgxLTIuNjM5LTMuMjg1LS4yNzctLjQ3NC0uMDMtLjczMS4yMDgtLjk2OC4yMTMtLjIxMy40NzQtLjU1NC43MTItLjgzMS4yMzctLjI3Ny4zMTYtLjQ3NS40NzQtLjc5MXMuMDc5LS41OTQtLjA0LS44MzFjLS4xMTctLjIzOC0xLjAzOS0yLjU4NC0xLjQ2MS0zLjUyMiIvPjwvc3ZnPg=="
        },
        "displayName": "WhatsApp Business Cloud",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          },
          {
            "id": 28,
            "name": "HITL"
          }
        ]
      },
      {
        "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": 38,
        "name": "Lead Nurturing"
      }
    ],
    "image": []
  }
}