{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Send WooCommerce Order Status Updates to Customers via WhatsApp Using Rapiwa API",
  "nodes": [
    {
      "id": "8fa0a1db-d6d4-420e-a7d3-e7eab8b050fd",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        432,
        960
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "3ab8725a-9268-45fd-b91c-0e055fe6fa7c",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.data.exists }}",
              "rightValue": "=\"true\""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "d5efa97f-454d-4661-865c-8432481c0627",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        912,
        1056
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "10f7dc66-1e40-4b8a-aa0b-8a2f38a4c44b",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -384,
        944
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "0d1fa192-0b73-4960-b2a7-048516d7a4ac",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -816,
        944
      ],
      "parameters": {
        "path": "4746f380-002d-494d-90fe-7c963bd7a67b",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "28386518-8878-4821-bd56-8ccf8c4acc00",
      "name": "Format Webhook Response Data",
      "type": "n8n-nodes-base.code",
      "position": [
        -624,
        944
      ],
      "parameters": {
        "jsCode": "return $input.all().map(item => {\n  const body = item.json.body;\n\n  const customer = {\n    first_name: body.billing.first_name,\n    last_name: body.billing.last_name,\n    email: body.billing.email,\n    phone: body.billing.phone,\n    address: {\n      address_1: body.billing.address_1,\n      address_2: body.billing.address_2,\n      city: body.billing.city,\n      state: body.billing.state,\n      postcode: body.billing.postcode,\n      country: body.billing.country\n    }\n  };\n\n  const products = body.line_items.map(product => ({\n    status: body.status,\n    name: product.name,\n    size: product.meta_data?.find(meta => meta.key === \"size\")?.value,\n    product_id: product.product_id,\n    variation_id: product.variation_id,\n    quantity: product.quantity,\n    price: `${body.currency} ${product.price}`,\n    total: `${body.currency} ${product.total}`,\n    image: product.image?.src || null\n  }));\n\n  return {\n    json: {\n      data: {\n        customer,\n        products,\n        invoice_link: body.payment_url\n      }\n    }\n  };\n});\n"
      },
      "typeVersion": 2
    },
    {
      "id": "d852312f-b45c-4ce5-9671-e4c8c7cabc36",
      "name": "Clean WhatsApp Number",
      "type": "n8n-nodes-base.code",
      "position": [
        -96,
        960
      ],
      "parameters": {
        "jsCode": "const items = $input.all();\nconst updatedItems = items.map((item) => {\n  let rawNumber = item?.json[\"number\"];\n  rawNumber = rawNumber ? String(rawNumber) : \"\";\n  const cleanedNumber = rawNumber.replace(/\\D/g, \"\");\n  item.json[\"number\"] = cleanedNumber;\n  return item;\n});\nreturn updatedItems;"
      },
      "typeVersion": 2
    },
    {
      "id": "b492da98-bae3-4140-bced-c7efe4b06f7f",
      "name": "Store State of Rows in Verified & Sent",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        896,
        848
      ],
      "parameters": {
        "columns": {
          "value": {
            "name": "={{ $('Clean WhatsApp Number').item.json.data.customer.first_name }} {{ $('Clean WhatsApp Number').item.json.data.customer.last_name }}",
            "size": "={{ $('Clean WhatsApp Number').item.json.data.products[0].size }}",
            "email": "={{ $('Clean WhatsApp Number').item.json.data.customer.email }}",
            "number": "={{ $json.to }}",
            "status ": "sent",
            "address1": "={{ $('Clean WhatsApp Number').item.json.data.customer.address.address_1 }}",
            "quantity": "={{ $('Clean WhatsApp Number').item.json.data.products[0].quantity }}",
            "validity": "verified",
            "productId": "={{ $('Clean WhatsApp Number').item.json.data.products[0].product_id }}",
            "totalPrice": "={{ $('Clean WhatsApp Number').item.json.data.products[0].total }}",
            "invoiceLink": "={{ $('Clean WhatsApp Number').item.json.data.invoice_link }}",
            "productImage": "={{ $('Clean WhatsApp Number').item.json.data.products[0].image }}",
            "productTitle": "={{ $('Clean WhatsApp Number').item.json.data.products[0].name }}",
            "product status": "={{ $('Clean WhatsApp Number').item.json.data.products[0].status }}"
          },
          "schema": [
            {
              "id": "name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "number",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "address1",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "address1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "productTitle",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "productTitle",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "productId",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "productId",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "size",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "size",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "quantity",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "quantity",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "totalPrice",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "totalPrice",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "productImage",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "productImage",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "invoiceLink",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "invoiceLink",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product status",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "product status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "validity",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "validity",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "status ",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "status ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WKOFqFdF3tqfes5KKO1WGAp20SpO3jJl9GsE9CmtfLI/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1WKOFqFdF3tqfes5KKO1WGAp20SpO3jJl9GsE9CmtfLI",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WKOFqFdF3tqfes5KKO1WGAp20SpO3jJl9GsE9CmtfLI/edit?usp=drivesdk",
          "cachedResultName": "WooCommerce - Send WhatsApp update to customer"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "a286ee00-45ea-4fff-83ff-c1fd72f79778",
      "name": "Store State of Rows in Unverified & Not Sent",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        672,
        1056
      ],
      "parameters": {
        "columns": {
          "value": {
            "name": "={{ $('Clean WhatsApp Number').item.json.data.customer.first_name }} {{ $('Clean WhatsApp Number').item.json.data.customer.last_name }}",
            "size": "={{ $('Clean WhatsApp Number').item.json.data.products[0].size }}",
            "email": "={{ $('Clean WhatsApp Number').item.json.data.customer.email }}",
            "number": "={{ $json.data.number }}",
            "status ": "not sent",
            "address1": "={{ $('Clean WhatsApp Number').item.json.data.customer.address.address_1 }}",
            "quantity": "={{ $('Clean WhatsApp Number').item.json.data.products[0].quantity }}",
            "validity": "unverified",
            "productId": "={{ $('Clean WhatsApp Number').item.json.data.products[0].product_id }}",
            "totalPrice": "={{ $('Clean WhatsApp Number').item.json.data.products[0].total }}",
            "invoiceLink": "={{ $('Clean WhatsApp Number').item.json.data.invoice_link }}",
            "productImage": "={{ $('Clean WhatsApp Number').item.json.data.products[0].image }}",
            "productTitle": "={{ $('Clean WhatsApp Number').item.json.data.products[0].name }}",
            "product status": "={{ $('Clean WhatsApp Number').item.json.data.products[0].status }}"
          },
          "schema": [
            {
              "id": "name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "number",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "address1",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "address1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "productTitle",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "productTitle",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "productId",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "productId",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "size",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "size",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "quantity",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "quantity",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "totalPrice",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "totalPrice",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "productImage",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "productImage",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "invoiceLink",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "invoiceLink",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product status",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "product status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "validity",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "validity",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "status ",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "status ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WKOFqFdF3tqfes5KKO1WGAp20SpO3jJl9GsE9CmtfLI/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1WKOFqFdF3tqfes5KKO1WGAp20SpO3jJl9GsE9CmtfLI",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WKOFqFdF3tqfes5KKO1WGAp20SpO3jJl9GsE9CmtfLI/edit?usp=drivesdk",
          "cachedResultName": "WooCommerce - Send WhatsApp update to customer"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "b16d300c-0e2a-4a25-af34-ae2db0f1b201",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1904,
        496
      ],
      "parameters": {
        "width": 896,
        "height": 1392,
        "content": "# WooCommerce Order Updates to Customers via WhatsApp with Rapiwa API\n## Overview\nThe workflow listens for incoming WooCommerce order events\u2014either through a webhook or the `order.updated` trigger\u2014and processes them to send WhatsApp status updates to customers via the Rapiwa API. Upon receiving an order payload, it formats and normalizes the data into a structured object containing customer details, product information, and an invoice link. Orders are handled in batches to manage throughput and avoid triggering rate limits. Phone numbers are cleaned and verified for WhatsApp registration using Rapiwa's verification endpoint. Messages are then sent to verified numbers using predefined templates, while all actions (both successful and failed attempts) are logged to Google Sheets for tracking.\n\n## Features:\n- Trigger-based processing (Webhook / WooCommerce trigger).\n- Payload normalization via a Code node (`Format Webhook Response Data` / `Clean Webhooks Response Data`).\n- Batch iteration using `SplitInBatches` (`Loop Over Items`).\n- Phone cleaning (removes non-digit characters) in Code nodes.\n- WhatsApp verification via Rapiwa (`/api/verify-whatsapp`).\n- Conditional branching (IF node) to separate verified and unverified flows.\n- Sending personalized messages via Rapiwa (`/api/send-message`) using template fields.\n- Logging to Google Sheets for both verified (sent) and unverified (not sent) records.\n- Wait node for throttling and re-entering the processing loop.\n\n## Requirements:\n- n8n instance with nodes: Webhook, HTTP Request, Code, SplitInBatches, IF, Google Sheets, Wait.\n- Rapiwa account with a valid Bearer token for `verify-whatsapp` and `send-message` endpoints.\n- Google account with Google Sheets and OAuth2 credentials configured in n8n.\n- WooCommerce store with API/webhook access (or another source providing `billing` and `line_items` in the payload).\n\n## Google Sheet Column Structure\nCreate these columns exactly (the Google Sheets nodes in the flow expect these names):\n**A Google Sheet formatted like this** \u27a4 [sample](https://docs.google.com/spreadsheets/d/1WKOFqFdF3tqfes5KKO1WGAp20SpO3jJl9GsE9CmtfLI/edit?usp=sharing)\n\n\n## How to Use This Workflow:\n1. Add credentials in n8n:\n   - Rapiwa Bearer token \u2192 HTTP Bearer credential.\n   - Google Sheets OAuth2 \u2192 Google Sheets credential.\n   - WooCommerce API creds \u2192 WooCommerce credential (or configure Shopify).\n2. Prepare a Google Sheet with the required columns (see above).\n3. Configure the Webhook node (or WooCommerce trigger) to receive order events.\n4. Verify Code nodes correctly reference `billing`, `line_items`, and `payment_url` from your payload.\n5. Set the SplitInBatches batch size and Wait delay to match your Rapiwa rate limits.\n6. Run manual tests with 2\u20135 orders, verify Google Sheet entries and message delivery.\n\n\n## Useful Links\n- **Dashboard:** [https://app.rapiwa.com](https://app.rapiwa.com/login)\n- **Official Website:** [https://rapiwa.com](https://rapiwa.com/)\n- **Documentation:** [https://docs.rapiwa.com](https://docs.rapiwa.com/)\n\n## Support & Help\n- **WhatsApp**: [Chat on WhatsApp](https://wa.me/8801322827799)\n- **Discord**: [SpaGreen Community](https://discord.gg/SsCChWEP)\n- **Facebook Group**: [SpaGreen Support](https://www.facebook.com/groups/spagreenbd)\n- **Website**: [https://spagreen.net](https://spagreen.net)\n- **Developer Portfolio**: [Codecanyon SpaGreen](https://codecanyon.net/user/spagreen/portfolio)\n"
      },
      "typeVersion": 1
    },
    {
      "id": "b5196501-b7a3-403b-8608-32051a41c1b1",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -960,
        496
      ],
      "parameters": {
        "width": 496,
        "height": 784,
        "content": "## 1. Webhook\n- Purpose: Accepts incoming HTTP POST requests (example path: `4746f380-002d-xxxx-90fe-7c963bd7a67b`).\n- Usage: configured for test/webhook mode in sample `pinData`.\n\n## 2. Format Webhook Response Data\n- Purpose: Transform the raw `body` into a compact `data` object.\n- Key behavior (JS):\n  - Reads `body = item.json.body`.\n  - Builds `customer` from `body.billing` (first_name, last_name, email, phone, address fields).\n  - Maps `products` from `body.line_items` adding `status`, `name`, `size`, `product_id`, `variation_id`, `quantity`, `price`, `total`, `image`.\n  - Returns `json: { data: { customer, products, invoice_link: body.payment_url } }`.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "7e7d4967-f95e-4f84-b778-7d37bb4d78c1",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        736
      ],
      "parameters": {
        "width": 464,
        "height": 544,
        "content": "## 1. Clean WhatsApp Number\n- Purpose: Ensure `number` field exists and strip non-digit characters.\n\n\n## 2. Check valid whatsapp number Using Rapiwa\n- Purpose: Verify WhatsApp registration via Rapiwa API."
      },
      "typeVersion": 1
    },
    {
      "id": "4a8334f3-6dc4-4cf5-9357-f649986a6e0b",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        304,
        400
      ],
      "parameters": {
        "width": 912,
        "height": 880,
        "content": "## 1. If\n- False path: route to `Store State of Rows in Unverified & Not Sent`.\n\n\n## 2. Rapiwa Sender\n- Purpose: Send personalized WhatsApp messages for verified numbers.\n- Authentication: Rapiwa Bearer (`Rapiwa Bearer Auth`)\n\n\n## 3. Store State of Rows in Verified & Sent\n- Document: references a Google spreadsheet ID (example ID in the node configuration).\n- Credential: `googleSheetsOAuth2Api` (Google Sheets credential).\n\n\n## 4. Store State of Rows in Unverified & Not Sent\n- Purpose: Write a row for numbers that are not registered on WhatsApp.\n- Credential: `googleSheetsOAuth2Api`.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ea94e52e-8729-4653-930e-a3c027aa708c",
      "name": "Rapiwa",
      "type": "n8n-nodes-rapiwa.rapiwa",
      "position": [
        112,
        960
      ],
      "parameters": {
        "number": "={{ $json.data.customer.phone }}",
        "operation": "verifyWhatsAppNumber"
      },
      "credentials": {
        "rapiwaApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "83425184-4348-4892-b7be-1b59c94195a4",
      "name": "Rapiwa (send message)",
      "type": "n8n-nodes-rapiwa.rapiwa",
      "position": [
        656,
        848
      ],
      "parameters": {
        "number": "={{ $json.data.number }}",
        "message": "=Hi *{{ $('Clean WhatsApp Number').item.json.data.customer.first_name }} {{ $('Clean WhatsApp Number').item.json.data.customer.last_name }}*,\n\nYour order is currently: *{{ $('Clean WhatsApp Number').item.json.data.products[0].status }}*\n\n\ud83d\udecd\ufe0f *{{ $('Clean WhatsApp Number').item.json.data.products[0].name }}*  \n\u2022 Size: {{ $('Clean WhatsApp Number').item.json.data.products[0].size }}\n\u2022 Qty: {{ $('Clean WhatsApp Number').item.json.data.products[0].quantity }}\n\u2022 Price: {{ $('Clean WhatsApp Number').item.json.data.products[0].price }}\n\u2022 Total: {{ $('Clean WhatsApp Number').item.json.data.products[0].total }}\n*Shipping to:*{{ $('Clean WhatsApp Number').item.json.data.customer.address.address_1 }}*\n\n\ud83d\uddbc\ufe0f Product Preview: {{ $('Clean WhatsApp Number').item.json.data.products[0].image }}\n\ud83e\uddfe View Invoice: {{ $('Clean WhatsApp Number').item.json.data.invoice_link }}\n\nThanks for shopping with *SpaGreen Creative*!  \nLet us know if you need anything."
      },
      "credentials": {
        "rapiwaApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Rapiwa (send message)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Store State of Rows in Unverified & Not Sent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Rapiwa": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Format Webhook Response Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Clean WhatsApp Number",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Clean WhatsApp Number": {
      "main": [
        [
          {
            "node": "Rapiwa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Rapiwa (send message)": {
      "main": [
        [
          {
            "node": "Store State of Rows in Verified & Sent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Webhook Response Data": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Store State of Rows in Verified & Sent": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Store State of Rows in Unverified & Not Sent": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}