{
  "name": "Automate review request via WhatsApp for completed WooCommerce order with Rapiwa",
  "nodes": [
    {
      "id": "4a8c635d-bd1c-45da-acea-ea28e8a691b0",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        64,
        880
      ]
    },
    {
      "id": "a88cec50-2e45-41b0-bcbb-01bcb92a7f79",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        544,
        976
      ]
    },
    {
      "id": "2e326749-0efb-4968-9ee9-776a9a94ccf2",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -752,
        864
      ]
    },
    {
      "id": "32af40bb-fee1-495a-9ff0-290837b24acd",
      "name": "Clean WhatsApp Number",
      "type": "n8n-nodes-base.code",
      "position": [
        -464,
        880
      ]
    },
    {
      "id": "81018417-302a-49a8-a7c6-4d11be0de2b0",
      "name": "Order Completed check",
      "type": "n8n-nodes-base.code",
      "position": [
        -1008,
        864
      ]
    },
    {
      "id": "2cb4272f-3315-4767-9f7c-626d4d9b62aa",
      "name": "Save State of Rows in Verified & Sent",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        528,
        752
      ]
    },
    {
      "id": "8f9428de-1801-4c1f-8925-ff551f867e86",
      "name": "Save State of Rows in Unerified & Not sent",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        304,
        976
      ]
    },
    {
      "id": "9eca8980-0e80-4320-be26-3d0dbfa38b80",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2848,
        144
      ],
      "parameters": {
        "width": 1504,
        "height": 1456,
        "content": "# WhatsApp Review Request Automation for WooCommerce Orders Completed\n\n## Overview\nThis workflow listens for WooCommerce order events (example: `order.updated`) or an incoming WooCommerce Trigger, nor"
      }
    },
    {
      "id": "643d4ac7-f4bc-41ed-9c99-6187c780abdb",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1280,
        640
      ],
      "parameters": {
        "width": 448,
        "height": 560,
        "content": "## WooCommerce Trigger\n- Purpose: Receives incoming HTTP POST payloads from WooCommerce Trigger\n\n## Order Completed check (Code)\n- Purpose: Filter events and normalize payload into a compact `data` ob"
      }
    },
    {
      "id": "0bddd8a0-c5a9-45d8-ac3b-2a7f636244d3",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -608,
        640
      ],
      "parameters": {
        "width": 544,
        "height": 560,
        "content": "## Clean WhatsApp Number (Code)\n- Purpose: Ensure the `number` field exists and strip all non-digit characters.\n\n\n## Check valid whatsapp number Using Rapiwa (HTTP Request)\n- Purpose: Verify whether t"
      }
    },
    {
      "id": "fc9e8191-cdbd-479d-aae2-c28bf6012920",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -32,
        208
      ],
      "parameters": {
        "width": 720,
        "height": 992,
        "content": "## If\n- Purpose: Branch the flow depending on Rapiwa verification.\n- True branch: send message (`Send Message Using Rapiwa`).\n- False branch: append to unverified sheet (`Save State of Rows in Unerifi"
      }
    },
    {
      "id": "c7ada026-0c4f-43f3-9409-174e6be7ae57",
      "name": "WooCommerce Trigger",
      "type": "n8n-nodes-base.wooCommerceTrigger",
      "position": [
        -1200,
        864
      ]
    },
    {
      "id": "6fa57d94-c9f3-4393-9bb0-7eaafda21dd6",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1280,
        352
      ],
      "parameters": {
        "width": 1216,
        "height": 272,
        "content": "# This Workflow Summary\n- Trigger: `WooCommerce Trigger` receives WooCommerce order events \n- Pre-filter & Map: `Order Completed check` (Code) filters for `status === 'completed'` and maps the payload"
      }
    },
    {
      "id": "0deb4de9-a50a-4bf4-928b-e241f93e5947",
      "name": "Rapiwa",
      "type": "n8n-nodes-rapiwa.rapiwa",
      "position": [
        -256,
        880
      ]
    },
    {
      "id": "ee69cc81-edc5-4fb8-9144-cb5d30a8fcc7",
      "name": "Rapiwa (send message)",
      "type": "n8n-nodes-rapiwa.rapiwa",
      "position": [
        288,
        752
      ]
    }
  ],
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Rapiwa (send message)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Save State of Rows in Unerified & Not sent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Rapiwa": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Clean WhatsApp Number",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "WooCommerce Trigger": {
      "main": [
        [
          {
            "node": "Order Completed check",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Clean WhatsApp Number": {
      "main": [
        [
          {
            "node": "Rapiwa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Order Completed check": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Rapiwa (send message)": {
      "main": [
        [
          {
            "node": "Save State of Rows in Verified & Sent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save State of Rows in Verified & Sent": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save State of Rows in Unerified & Not sent": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}