{
  "name": "Automated expense approval system with GPT-4, Airtable & Pinecone Vector DB",
  "nodes": [
    {
      "id": "7fec5e7c-abea-4caf-b8e2-718e7abc44ef",
      "name": "Watch New Expense Requests",
      "type": "n8n-nodes-base.airtableTrigger",
      "position": [
        0,
        0
      ]
    },
    {
      "id": "8e0fa6f3-df8c-42b6-af2a-f2cfb25f1e6d",
      "name": "CFO Expense Review Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        440,
        0
      ]
    },
    {
      "id": "e53c34b4-fe86-4c70-ad90-e61ec4f8c72b",
      "name": "OpenAI GPT-4 Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        360,
        260
      ]
    },
    {
      "id": "a561418a-2ef0-44bb-9683-ba239d58a3af",
      "name": "Parse CFO Agent Response",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        620,
        220
      ]
    },
    {
      "id": "1cba2b01-faeb-44ce-97e3-b3ada02ce748",
      "name": "Store Decision in Pinecone",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        1040,
        0
      ]
    },
    {
      "id": "5a80d379-907e-43c0-946e-fc82be36c288",
      "name": "Generate Embeddings",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        980,
        240
      ]
    },
    {
      "id": "50c1a961-cc58-4b6a-bf46-da0925b617e2",
      "name": "Prepare Data for Pinecone",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        1180,
        220
      ]
    },
    {
      "id": "2484db3c-bef8-4b0e-a324-116dc70644a9",
      "name": "Split Reasoning Text",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "position": [
        1120,
        440
      ]
    },
    {
      "id": "cd1a7b50-edd7-400a-8fc8-ff237492749b",
      "name": "Update Airtable Record",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1680,
        0
      ]
    },
    {
      "id": "a45e7430-d205-4930-9b15-b52e51139d58",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -100,
        -480
      ],
      "parameters": {
        "width": 340,
        "height": 680,
        "content": "## 🔁 **Section 1: Intake – Monitoring Expense Requests**\n\n### 1. **Watch New Expense Requests**\n\n**(Airtable Trigger)**\n\n* **Purpose:** Continuously monitors the Airtable `Expenses` table for new or u"
      }
    },
    {
      "id": "6d6229ee-a86b-442f-ab8e-25d44b9bbe24",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        -600
      ],
      "parameters": {
        "width": 500,
        "height": 1020,
        "content": "🧠 Section 2: AI Analysis – CFO Reasoning Engine\n2. CFO Expense Review Agent\n(AI Agent - Tools Agent)\n\nPurpose: Acts as a virtual CFO. It receives the expense data and reasons through the submission us"
      }
    },
    {
      "id": "66201323-99aa-4d5e-ab1d-afcc3951e271",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        920,
        -740
      ],
      "parameters": {
        "width": 580,
        "height": 1320,
        "content": "🧬 Section 3: Audit Trail – Embedding & Storage\n5. Prepare Data for Pinecone\n(Default Data Loader)\n\nPurpose: Loads the document (usually the reasoning or description) for embedding.\n\nInput: Reasoning t"
      }
    },
    {
      "id": "117ba355-f8cd-465d-bbe6-1b37261f4640",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1600,
        -340
      ],
      "parameters": {
        "width": 300,
        "height": 540,
        "content": "✅ Section 4: Output – Updating Records\n9. Update Airtable Record\n(Airtable Update Node)\n\nPurpose: Writes the final decision (Approved or Flagged) and the reasoning back to the original Airtable record"
      }
    },
    {
      "id": "e379569e-98b3-47d6-b60d-9faa1babdf1d",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1880,
        -500
      ],
      "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": "ec9af853-11be-4651-9978-c9f2f9a120ae",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1880,
        -160
      ],
      "parameters": {
        "width": 1289,
        "height": 2258,
        "content": "## 📊 **CFO Expense Approval Workflow Overview**\n\nThis workflow automates the process of monitoring, analyzing, and auditing expense requests using Airtable, OpenAI, and Pinecone. It is organized into "
      }
    }
  ],
  "connections": {
    "OpenAI GPT-4 Model": {
      "ai_languageModel": [
        [
          {
            "node": "CFO Expense Review Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Generate Embeddings": {
      "ai_embedding": [
        [
          {
            "node": "Store Decision in Pinecone",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Split Reasoning Text": {
      "ai_textSplitter": [
        [
          {
            "node": "Prepare Data for Pinecone",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "CFO Expense Review Agent": {
      "main": [
        [
          {
            "node": "Store Decision in Pinecone",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse CFO Agent Response": {
      "ai_outputParser": [
        [
          {
            "node": "CFO Expense Review Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Data for Pinecone": {
      "ai_document": [
        [
          {
            "node": "Store Decision in Pinecone",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Store Decision in Pinecone": {
      "main": [
        [
          {
            "node": "Update Airtable Record",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Watch New Expense Requests": {
      "main": [
        [
          {
            "node": "CFO Expense Review Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}