{
  "name": "Recover abandoned WooCommerce carts using OpenAI GPT-4.1-mini, Gmail and Slack",
  "nodes": [
    {
      "id": "62c90900-7ac7-4e60-a866-7cfcb70bc0ce",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1968,
        -3312
      ]
    },
    {
      "id": "f8a4a7ec-54d2-4288-8f60-1d56fa0b9bfc",
      "name": "Normalize Incoming Cart Data1",
      "type": "n8n-nodes-base.set",
      "position": [
        1328,
        -3536
      ]
    },
    {
      "id": "bcd46750-ea3f-4b41-85b9-352bbe499e78",
      "name": "Wait before checking cart status1",
      "type": "n8n-nodes-base.wait",
      "position": [
        1568,
        -3536
      ]
    },
    {
      "id": "47975c6e-dc86-4418-8128-9a1eaffcb071",
      "name": "Recheck cart status from store1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1776,
        -3536
      ]
    },
    {
      "id": "920e7582-5ac2-443b-bc45-a7c9c564c60b",
      "name": "Cart is Still Abandoned?1",
      "type": "n8n-nodes-base.if",
      "position": [
        1984,
        -3536
      ]
    },
    {
      "id": "fc119174-0017-45b2-bb55-b2b0a5ab7261",
      "name": "Genrate Personalized Reminder Email1",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2240,
        -3552
      ]
    },
    {
      "id": "8d0fff1f-e357-4c0e-996d-eca4611b7cad",
      "name": "Extrect Email Subject & Body from AI1",
      "type": "n8n-nodes-base.code",
      "position": [
        2544,
        -3552
      ]
    },
    {
      "id": "86501dcd-f959-48cd-8ca5-1f1bb679903c",
      "name": "Prepare recovery Data1",
      "type": "n8n-nodes-base.set",
      "position": [
        2816,
        -3360
      ]
    },
    {
      "id": "af334cb5-8575-4885-a83f-90bda8ec8317",
      "name": "Send Abandoned cart email to customer1",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2816,
        -3744
      ]
    },
    {
      "id": "0ebb8b7c-ba76-4327-b6e4-bfb066538e3a",
      "name": "Notify internal team on slack1",
      "type": "n8n-nodes-base.slack",
      "position": [
        3088,
        -3360
      ]
    },
    {
      "id": "92db772c-b7ba-477f-b42a-a320aeb74f1d",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1008,
        -3680
      ],
      "parameters": {
        "width": 224,
        "height": 288,
        "content": "When a user adds products to the cart and leaves the website without checkout, the website sends cart details (cart key, email, name, etc.) to this webhook."
      }
    },
    {
      "id": "d9cfd166-2e4a-440a-bb30-8d268e8b835b",
      "name": "Receive Cart Event1",
      "type": "n8n-nodes-base.webhook",
      "position": [
        1088,
        -3536
      ]
    },
    {
      "id": "73877890-32c3-4540-9ebd-195620b8182d",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1248,
        -3680
      ],
      "parameters": {
        "width": 256,
        "height": 304,
        "content": "This node cleans and organizes the incoming cart data."
      }
    },
    {
      "id": "f8af7a51-5ef1-4328-bb93-b6d52e74f49a",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1520,
        -3744
      ],
      "parameters": {
        "width": 1168,
        "height": 544,
        "content": "## Abandoned Cart Verification & AI Reminder Process\n\nThis part of the workflow waits for some time to give the customer a chance to complete checkout. After the wait, it checks the cart again to see "
      }
    },
    {
      "id": "cd9f28a9-4d65-4890-ab21-1acbe54af739",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2752,
        -3952
      ],
      "parameters": {
        "width": 320,
        "height": 384,
        "content": "This node sends the AI-generated reminder email to the customer.\n\nThe email includes:\n- Friendly message\n- Product details\n- Total price\nGoal: Encourage customer to complete checkout.\n\n\n"
      }
    },
    {
      "id": "4691f866-45fd-40e4-8bd3-6e92b6a371ca",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2752,
        -3520
      ],
      "parameters": {
        "width": 688,
        "height": 352,
        "content": "## Prepare Data & Notify team\n\n**Prepare Recovery Data:**  This node prepares final data needed for notifications to internal team \n\n**Notify internal team on slack:** This node sends a notification t"
      }
    },
    {
      "id": "463479be-3738-4fbe-8cbb-d1dc802d0003",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        -4256
      ],
      "parameters": {
        "width": 496,
        "height": 720,
        "content": "## How it works\n\nWhen a customer leaves items in their cart, the store sends cart details to this workflow using a webhook. The workflow saves the cart information and waits for a short period to give"
      }
    }
  ],
  "connections": {
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Genrate Personalized Reminder Email1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Receive Cart Event1": {
      "main": [
        [
          {
            "node": "Normalize Incoming Cart Data1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare recovery Data1": {
      "main": [
        [
          {
            "node": "Notify internal team on slack1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Cart is Still Abandoned?1": {
      "main": [
        [
          {
            "node": "Genrate Personalized Reminder Email1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Normalize Incoming Cart Data1": {
      "main": [
        [
          {
            "node": "Wait before checking cart status1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Recheck cart status from store1": {
      "main": [
        [
          {
            "node": "Cart is Still Abandoned?1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait before checking cart status1": {
      "main": [
        [
          {
            "node": "Recheck cart status from store1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Genrate Personalized Reminder Email1": {
      "main": [
        [
          {
            "node": "Extrect Email Subject & Body from AI1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extrect Email Subject & Body from AI1": {
      "main": [
        [
          {
            "node": "Prepare recovery Data1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send Abandoned cart email to customer1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}