{
  "name": "Analyze high-priority tenders from Airtable to Slack for Go/No-Go approval",
  "nodes": [
    {
      "id": "2d6c2104-638f-4610-ad67-28c27b711445",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -144,
        128
      ]
    },
    {
      "id": "cf09573d-ce4e-4fd0-8380-a7d95bd4ee24",
      "name": "Parse AI Output (Structured JSON)",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        560,
        352
      ]
    },
    {
      "id": "c59eaac9-4d1c-445a-8557-e95234a46840",
      "name": "AI Model: GPT-4 Priority Engine",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        304,
        352
      ]
    },
    {
      "id": "ac5156e6-89d8-4caa-bdf5-a26b42886c39",
      "name": "AI Memory: Priority Context",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        432,
        352
      ]
    },
    {
      "id": "47a57079-fa4a-4500-b777-8c4e1adfcf94",
      "name": "AI Agent OpenAI — RFP Summary + Scoring with JSON output",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        368,
        128
      ]
    },
    {
      "id": "b3e3c54d-5cbd-44de-bb09-ff7952e2d1d4",
      "name": "Format Data From AI Agent",
      "type": "n8n-nodes-base.set",
      "position": [
        768,
        128
      ]
    },
    {
      "id": "202670d9-dd42-493b-a934-f01c70e5f418",
      "name": "Check Priority",
      "type": "n8n-nodes-base.if",
      "position": [
        992,
        128
      ]
    },
    {
      "id": "590fa14f-7e38-411b-ab98-ae767d8d6ab2",
      "name": "Update Pending Status",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1664,
        224
      ]
    },
    {
      "id": "088a5b61-23c0-4dc5-aac4-c408867e030b",
      "name": "Fetch Pending Record From Airtable",
      "type": "n8n-nodes-base.airtable",
      "position": [
        80,
        128
      ]
    },
    {
      "id": "c2551c4b-21ed-4ec0-b11f-d01895bca412",
      "name": "Send Tender Details and wait for response",
      "type": "n8n-nodes-base.slack",
      "position": [
        1216,
        32
      ]
    },
    {
      "id": "0489e0b7-5d86-47d5-b26c-918c4ec61770",
      "name": "Send Message",
      "type": "n8n-nodes-base.slack",
      "position": [
        1216,
        224
      ]
    },
    {
      "id": "9a36b7b8-a215-47b4-bc26-0d2e1726e5c7",
      "name": "Check Approved",
      "type": "n8n-nodes-base.if",
      "position": [
        1440,
        32
      ]
    },
    {
      "id": "1501fa6a-6202-417a-9648-82a56a1fe7b2",
      "name": "Update Approved Status",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1664,
        32
      ]
    },
    {
      "id": "10302eab-5c03-4fe1-a7b3-077e630fdeec",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -240,
        -608
      ],
      "parameters": {
        "width": 512,
        "height": 544,
        "content": "## Tender Summary Generator for Management Approval \n\n**How it works**\n\nThis workflow evaluates high-priority tenders already stored in Airtable and prepares an executive-ready summary for management "
      }
    },
    {
      "id": "2d054e4c-1c87-4e0b-894b-cd9652ef37ef",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -240,
        -16
      ],
      "parameters": {
        "width": 480,
        "height": 304,
        "content": "## 📡 Trigger & Fetch Pending Tenders\n\nDaily trigger checks Airtable for tenders marked High Priority and still Pending approval. These are routed for AI evaluation.\nNodes: Schedule Trigger → Fetch Pen"
      }
    },
    {
      "id": "a114b90e-8d46-46b5-b07f-b2145f815dae",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        256,
        -48
      ],
      "parameters": {
        "width": 656,
        "height": 544,
        "content": "## 🧠 AI Analysis & Summary\n\nEvaluates urgency, business opportunity, and risks. Produces a short management-quality summary and Go/No-Go decision in JSON.\nNodes: AI Model, AI Agent, AI Memory, Parse J"
      }
    },
    {
      "id": "0898f511-d8f1-44aa-880f-be8c1761f6dc",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        944,
        -96
      ],
      "parameters": {
        "width": 608,
        "height": 480,
        "content": "## 🏛 Management Approval Flow\n\nHigh-value tenders are shared to Slack with Approve/Reject options. Decisions drive automated updates.\nNodes: Check Priority → Slack Approval → Check Approved"
      }
    },
    {
      "id": "0b55517e-3c9b-4625-879d-e920e7c49db2",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1600,
        -400
      ],
      "parameters": {
        "width": null,
        "height": 800,
        "content": "## 📊 Status Update & Notifications\n\nApproved tenders are marked in Airtable and emailed for action. If no qualified tenders exist, a notice is sent to Slack.\nNodes: Update Status, Send Email, Send Mes"
      }
    },
    {
      "id": "c5f95a5e-20da-4362-b7be-478220e22239",
      "name": "Send Confirmation Mail",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1664,
        -160
      ]
    },
    {
      "id": "f09ce67b-200f-47cd-a823-ab72c39c2fb4",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1888,
        192
      ],
      "parameters": {
        "width": 304,
        "height": 192,
        "content": "## 🔐 Credentials & Security\n\nStore tokens securely in n8n credentials. Replace personal emails and workspace links with placeholders before publishing."
      }
    },
    {
      "id": "e6daded6-b58e-4d50-8e42-21102e13ca8e",
      "name": "Error Handler Trigger",
      "type": "n8n-nodes-base.errorTrigger",
      "position": [
        -192,
        1024
      ]
    },
    {
      "id": "d628b44f-8124-4a2f-9919-c9b7b1e7c3e5",
      "name": "Slack: Send Error Alert",
      "type": "n8n-nodes-base.slack",
      "position": [
        176,
        1024
      ]
    },
    {
      "id": "1fa02a3b-04f9-4c64-8fbb-58c6e1005054",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -256,
        848
      ],
      "parameters": {
        "width": 672,
        "height": 336,
        "content": "## 🚨 Error Handling \n\n \nCatches any workflow failure and posts an alert to Slack.  \nIncludes node name, error message, and timestamp for quick debugging.\n"
      }
    }
  ],
  "connections": {
    "Check Approved": {
      "main": [
        [
          {
            "node": "Send Confirmation Mail",
            "type": "main",
            "index": 0
          },
          {
            "node": "Update Approved Status",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Update Pending Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Priority": {
      "main": [
        [
          {
            "node": "Send Tender Details and wait for response",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Fetch Pending Record From Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Error Handler Trigger": {
      "main": [
        [
          {
            "node": "Slack: Send Error Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Data From AI Agent": {
      "main": [
        [
          {
            "node": "Check Priority",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Memory: Priority Context": {
      "ai_memory": [
        [
          {
            "node": "AI Agent OpenAI — RFP Summary + Scoring with JSON output",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "AI Model: GPT-4 Priority Engine": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent OpenAI — RFP Summary + Scoring with JSON output",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Parse AI Output (Structured JSON)": {
      "ai_outputParser": [
        [
          {
            "node": "AI Agent OpenAI — RFP Summary + Scoring with JSON output",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Pending Record From Airtable": {
      "main": [
        [
          {
            "node": "AI Agent OpenAI — RFP Summary + Scoring with JSON output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Tender Details and wait for response": {
      "main": [
        [
          {
            "node": "Check Approved",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent OpenAI — RFP Summary + Scoring with JSON output": {
      "main": [
        [
          {
            "node": "Format Data From AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}