{
  "name": "Automate vendor contract renewals & reminders with GPT-4.1 mini, Slack & Gmail",
  "nodes": [
    {
      "id": "c14ab271-f79e-4b40-99f4-4a67cef3988a",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1472,
        1456
      ],
      "parameters": {
        "width": 540,
        "height": 528,
        "content": "## 1. Workflow trigger on daily basis every 6AM\n"
      }
    },
    {
      "id": "7608b8d6-1acb-43f6-ad33-0cef8401e633",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2544,
        1120
      ],
      "parameters": {
        "width": 1024,
        "height": 1696,
        "content": "# 📝 Smart Vendor Contract Renewal & Reminder Workflow With GPT 4.1 mini\nNever miss a vendor renewal again!\nThis smart workflow automatically tracks expiring contracts, reminds your finance team via Sl"
      }
    },
    {
      "id": "a7c8a69b-d5bb-4b7d-abef-8be18c0d2f83",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        2256
      ],
      "parameters": {
        "width": 1020,
        "height": 596,
        "content": "![Alt text](https://wisestackai.s3.ap-southeast-1.amazonaws.com/Screenshot+2025-08-03+at+7.59.45%E2%80%AFPM.png \"Optional title text\")\n"
      }
    },
    {
      "id": "e0a78a50-7d76-4ce5-b240-6bb38a04f5ea",
      "name": "Find expiring vendor(s)",
      "type": "n8n-nodes-base.code",
      "position": [
        -544,
        1648
      ]
    },
    {
      "id": "8517796c-9c66-4c74-9c0e-b0050e495870",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -48,
        2080
      ]
    },
    {
      "id": "c7a565b9-97ca-4685-913b-80f01f9f9c09",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        80,
        2080
      ]
    },
    {
      "id": "909772f9-a143-4c8d-b7b9-482eb450d428",
      "name": "Remind Finance Contact & Waiting For Approval",
      "type": "n8n-nodes-base.slack",
      "position": [
        320,
        1872
      ]
    },
    {
      "id": "f07fa613-050d-4416-ab36-24050854bf0d",
      "name": "Compose email template",
      "type": "n8n-nodes-base.code",
      "position": [
        752,
        1872
      ]
    },
    {
      "id": "92b106a8-712e-4be8-a95d-a71e8032f0f2",
      "name": "Vendor reminder agent",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -80,
        1872
      ]
    },
    {
      "id": "43d8ff59-2359-4dbe-bc5b-4fa341f6266d",
      "name": "Get vendor contract list",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -768,
        1648
      ]
    },
    {
      "id": "e1ef73e4-980d-4b47-a715-4dc071d6a35c",
      "name": "Is auto-renew contract?",
      "type": "n8n-nodes-base.if",
      "position": [
        -320,
        1648
      ]
    },
    {
      "id": "e6316dbe-ef76-4240-bfdd-6dc1ca0d52db",
      "name": "Send manual extend contract email",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        976,
        1872
      ]
    },
    {
      "id": "d6947406-9340-4d1d-b274-1b180019c67e",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        896
      ],
      "parameters": {
        "width": 1036,
        "height": 436,
        "content": "![Alt text](https://wisestackai.s3.ap-southeast-1.amazonaws.com/Screenshot+2025-08-03+at+7.56.19%E2%80%AFPM.png \"Optional title text\")\n"
      }
    },
    {
      "id": "b6b47449-df79-495b-9d79-f0003b6144d2",
      "name": "Compose slack message",
      "type": "n8n-nodes-base.code",
      "position": [
        -16,
        1488
      ]
    },
    {
      "id": "a7d66e99-4447-4c79-8b63-660bc77c1c5c",
      "name": "Notify auto-renew contract to finance",
      "type": "n8n-nodes-base.slack",
      "position": [
        304,
        1488
      ]
    },
    {
      "id": "374f879f-6f9b-46fd-a510-ce60e2c29b51",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1264,
        1616
      ],
      "parameters": {
        "width": 1484,
        "height": 676,
        "content": "![Alt text](https://wisestackai.s3.ap-southeast-1.amazonaws.com/Screenshot+2025-08-03+at+7.55.29%E2%80%AFPM.png \"Optional title text\")\n"
      }
    },
    {
      "id": "9291730f-742b-4fb3-9468-94f81bc8c987",
      "name": "Daily Scheduler",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1232,
        1648
      ]
    },
    {
      "id": "1574e09b-04a5-49b0-b1f6-d82d69ed40a5",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -896,
        1456
      ],
      "parameters": {
        "width": 524,
        "height": 528,
        "content": "## 2. Get vendor contract list & find expiring contract\n- Get vendor contract list from database (Google Sheet)\n- Filter out expiring contract based on end date & notice date\n"
      }
    },
    {
      "id": "b6a74f00-3bad-484f-8b39-ab95f0601d03",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -128,
        1360
      ],
      "parameters": {
        "width": 620,
        "height": 320,
        "content": "## 3.1 Notify finance team about auto-renew contract\n- Send message via Slack to finance team so that they're aware of upcoming auto-renew contract\n"
      }
    },
    {
      "id": "e22dffff-56ce-4c92-80a1-4ef987c24e41",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -128,
        1712
      ],
      "parameters": {
        "width": 620,
        "height": 496,
        "content": "## 3.2 Send manual contract extension notice to finance team\n- Vendor reminder agent compose meaningful message to finance team about upcoming manual renewal\n- Message send over Slack and waiting for "
      }
    },
    {
      "id": "a218ee9b-80bc-4a50-bbac-8690026f3fca",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        576,
        1712
      ],
      "parameters": {
        "width": 620,
        "height": 496,
        "content": "## 4. Send email to vendor to initiate the contract extend process\n- Code node compose HTML message \n- Mail node send email to vendor to init contract extension process\n"
      }
    }
  ],
  "connections": {
    "Daily Scheduler": {
      "main": [
        [
          {
            "node": "Get vendor contract list",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Vendor reminder agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Compose slack message": {
      "main": [
        [
          {
            "node": "Notify auto-renew contract to finance",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Vendor reminder agent": {
      "main": [
        [
          {
            "node": "Remind Finance Contact & Waiting For Approval",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Compose email template": {
      "main": [
        [
          {
            "node": "Send manual extend contract email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Find expiring vendor(s)": {
      "main": [
        [
          {
            "node": "Is auto-renew contract?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is auto-renew contract?": {
      "main": [
        [
          {
            "node": "Compose slack message",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Vendor reminder agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get vendor contract list": {
      "main": [
        [
          {
            "node": "Find expiring vendor(s)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Vendor reminder agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Send manual extend contract email": {
      "main": [
        []
      ]
    },
    "Remind Finance Contact & Waiting For Approval": {
      "main": [
        [
          {
            "node": "Compose email template",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}