{
  "name": "Smart Shopify agent: AI-powered abandoned cart recovery",
  "nodes": [
    {
      "id": "ecbb99d3-d896-48cc-b6b1-72e178329a3c",
      "name": "Generate Recovery Email",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        100,
        500
      ]
    },
    {
      "id": "0b156bce-50ec-4e56-9c67-be4b34791b3e",
      "name": "Email Writer",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        40,
        700
      ]
    },
    {
      "id": "49b21bce-bece-40a3-b9c0-86e4adc3e167",
      "name": "Log Email Activity",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        740,
        500
      ]
    },
    {
      "id": "e55ea939-10fd-423b-99ef-90a89b0effc8",
      "name": "Send Email to Customer",
      "type": "n8n-nodes-base.gmail",
      "position": [
        520,
        500
      ]
    },
    {
      "id": "b5a6e9ac-6d54-4d6f-bf4d-ced260eecd00",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -680,
        400
      ],
      "parameters": {
        "width": 420,
        "height": 520,
        "content": "🔍 Section 3: Conditional Decision\n5. Is Customer Still Abandoned?\nNode Type: Conditional (If Statement).\n\nLogic: Compares the initial abandoned list with the new one using Customer ID.\n\nOutcome:\n\n✅ Ye"
      }
    },
    {
      "id": "5462049f-2c8d-4f94-9475-33b16cbf4074",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "width": 920,
        "height": 840,
        "content": "📧 Section 4: Recovery Email Flow\n6. Create Personalized Recovery Email\nNode Type: AI Content Generation (GPT-based).\n\nInput: Customer name, product(s) left in cart, etc.\n\nOutput: A personalized recove"
      }
    },
    {
      "id": "ef86a495-60f4-49c0-a5ca-bbc4b36724b8",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3520,
        300
      ],
      "parameters": {
        "width": 1300,
        "height": 320,
        "content": "=======================================\n            WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n    Yaron@nofluff.online\n\nExplore more tip"
      }
    },
    {
      "id": "0f722fcc-e05a-4b9d-9250-487a049779eb",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3520,
        640
      ],
      "parameters": {
        "width": 1289,
        "height": 2238,
        "content": "Here's a full, polished write-up of your **Abandoned Checkout Recovery Workflow** following the format of your **High-Value Order Alert Workflow** example:\n\n---\n\n# 🛒 Abandoned Checkout Recovery Workfl"
      }
    },
    {
      "id": "7a5fce94-6ae8-43a3-9e45-b15e1d6ecf61",
      "name": "No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        100,
        1060
      ]
    },
    {
      "id": "e8966160-eb7b-470c-9754-52048cb01551",
      "name": "Start Workflow",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1720,
        720
      ]
    },
    {
      "id": "7ac542e0-5379-4416-a33e-c2ba13947a30",
      "name": "Get Initial Abandoned Checkout",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1420,
        720
      ]
    },
    {
      "id": "2409af7c-7df8-4825-b31a-7d2f4bb84a59",
      "name": "Wait 1 Hour",
      "type": "n8n-nodes-base.wait",
      "position": [
        -1120,
        720
      ]
    },
    {
      "id": "449c40d4-e1fa-4984-9b3b-c9dd6863e71a",
      "name": "Recheck Abandoned Checkouts",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -900,
        720
      ]
    },
    {
      "id": "023ea763-155f-4c3c-8c3b-d7de0ef1687a",
      "name": "Is Customer Still Abandoned?",
      "type": "n8n-nodes-base.if",
      "position": [
        -620,
        720
      ]
    },
    {
      "id": "c0a92444-8d4d-4eeb-8c8f-7757d90dff2c",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1760,
        320
      ],
      "parameters": {
        "width": 520,
        "height": 600,
        "content": "🔁 Section 1: Initialization & First Abandoned Checkout Fetch\n1. Start Abandoned Checkout Recovery\nPurpose: Triggers the workflow.\n\nTrigger Type: Manual or Scheduled.\n\nWhen: Could be set to run periodi"
      }
    },
    {
      "id": "4748bf2d-732b-48f5-a506-01ab5f5ebbe8",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1180,
        320
      ],
      "parameters": {
        "width": 460,
        "height": 600,
        "content": "⏳ Section 2: Wait and Re-evaluation\n3. Wait 1 Hour\nNode Type: Wait.\n\nDuration: 1 hour.\n\nPurpose: Gives the customer a grace period to complete the checkout naturally before initiating any recovery ste"
      }
    }
  ],
  "connections": {
    "Wait 1 Hour": {
      "main": [
        [
          {
            "node": "Recheck Abandoned Checkouts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email Writer": {
      "ai_languageModel": [
        [
          {
            "node": "Generate Recovery Email",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Start Workflow": {
      "main": [
        [
          {
            "node": "Get Initial Abandoned Checkout",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Email to Customer": {
      "main": [
        [
          {
            "node": "Log Email Activity",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Recovery Email": {
      "main": [
        [
          {
            "node": "Send Email to Customer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Recheck Abandoned Checkouts": {
      "main": [
        [
          {
            "node": "Is Customer Still Abandoned?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Customer Still Abandoned?": {
      "main": [
        [
          {
            "node": "Generate Recovery Email",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Initial Abandoned Checkout": {
      "main": [
        [
          {
            "node": "Wait 1 Hour",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}