{
  "name": "Fast-track expense reimbursements with UploadToURL, Mindee OCR, Expensify, and Slack",
  "nodes": [
    {
      "id": "d78dd4ad-7316-454a-b8c9-7e7d7882d8e3",
      "name": "📋 Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "width": 560,
        "height": 648,
        "content": "## Fast-track expense reimbursements with UploadToURL, Mindee OCR, and Expensify\nThe Problem: Employees hate manual expense forms, and finance teams waste hours chasing blurry attachments and missing "
      }
    },
    {
      "id": "8bc2b0d8-6cb8-4f6b-98be-34b9d43ab3c1",
      "name": "Section 1 — Upload",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        672,
        688
      ],
      "parameters": {
        "width": 776,
        "height": 578,
        "content": "## 1 — Form intake & upload\n\n**Form Trigger → Validate → Has URL? → Upload to URL (×2) → Extract CDN URL**\n\nMobile-friendly form with fields for employee name, email, manager email, and expense catego"
      }
    },
    {
      "id": "88215ffc-3680-4cac-a05d-3235fbee621a",
      "name": "Section 2 — OCR & Gate",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1504,
        720
      ],
      "parameters": {
        "width": 440,
        "height": 519,
        "content": "## 2 — Mindee OCR & confidence gate\n\n**Mindee Receipt API → Parse & Score → Confidence Gate (IF)**\n\nMindee's `/expense_receipts/v5/predict` endpoint returns structured fields with per-field confidence"
      }
    },
    {
      "id": "924cd41e-9f8b-4d9e-b572-a4b3db687b0d",
      "name": "Section 3 — Approval",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2064,
        672
      ],
      "parameters": {
        "width": 840,
        "height": 631,
        "content": "## 3 — Dual-path approval\n\n**Auto-approve branch:** Expensify entry created immediately, status set to `approved`, employee emailed with ETA.\n\n**Manager branch:** Slack posts an interactive message wi"
      }
    },
    {
      "id": "949db194-c812-4032-868f-ab68d03d00e9",
      "name": "Section 4 — Audit & Email",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3056,
        704
      ],
      "parameters": {
        "width": 548,
        "height": 483,
        "content": "## 4 — Audit log & confirmation\n\n**Sheets - Append Audit Row → Gmail - Employee Confirmation**\n\nEvery expense — regardless of approval path — is written to the Google Sheet with full OCR data, confide"
      }
    },
    {
      "id": "4ac61781-ff01-43b6-873b-b3ca4f72ad75",
      "name": "Form Trigger - Submit Receipt",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        688,
        1008
      ]
    },
    {
      "id": "dba8fc24-bf9f-410c-bc78-396fdd5d935e",
      "name": "Validate & Build Expense Record",
      "type": "n8n-nodes-base.code",
      "position": [
        832,
        1040
      ]
    },
    {
      "id": "e79c9f4b-d787-4170-8bde-fa08154ca8ff",
      "name": "Has Remote URL?",
      "type": "n8n-nodes-base.if",
      "position": [
        976,
        1024
      ]
    },
    {
      "id": "fa8f26ea-dfb7-4e88-af4e-d240a08b89a1",
      "name": "Upload to URL - Remote",
      "type": "n8n-nodes-uploadtourl.uploadToUrl",
      "position": [
        1168,
        944
      ]
    },
    {
      "id": "afa9624e-6b5b-42db-9900-4f6ff8efa915",
      "name": "Upload to URL - Binary",
      "type": "n8n-nodes-uploadtourl.uploadToUrl",
      "position": [
        1168,
        1104
      ]
    },
    {
      "id": "0831a344-8c30-4c86-b932-90e19dec8286",
      "name": "Extract CDN URL",
      "type": "n8n-nodes-base.code",
      "position": [
        1344,
        1008
      ]
    },
    {
      "id": "8ec4dc59-b870-44bb-b6e0-928da07576ba",
      "name": "Mindee - Extract Receipt Data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1584,
        1008
      ]
    },
    {
      "id": "3bc45e41-5a93-46e8-ac20-8f74c950f8cb",
      "name": "Parse OCR & Score Confidence",
      "type": "n8n-nodes-base.code",
      "position": [
        1760,
        1008
      ]
    },
    {
      "id": "9ab3672d-fda3-4ee0-9b98-3a11068ee8f7",
      "name": "Confidence Gate — Auto or Manager?",
      "type": "n8n-nodes-base.if",
      "position": [
        2080,
        1008
      ]
    },
    {
      "id": "5cbb6bda-d4b3-4577-bab1-54e088f705a8",
      "name": "Mark Auto-Approved",
      "type": "n8n-nodes-base.code",
      "position": [
        2256,
        912
      ]
    },
    {
      "id": "3ceb1d1d-13da-4b67-bb29-ea9495d0579f",
      "name": "Slack - Manager Approval Request",
      "type": "n8n-nodes-base.slack",
      "position": [
        2240,
        1088
      ]
    },
    {
      "id": "28c39db4-8c0d-41b7-8490-643df3f02cc8",
      "name": "Mark Pending Manager Review",
      "type": "n8n-nodes-base.code",
      "position": [
        2400,
        1088
      ]
    },
    {
      "id": "23228806-6525-4c57-b30b-d3a3beb3db4d",
      "name": "Expensify - Create Expense Entry",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2592,
        944
      ]
    },
    {
      "id": "0168f1e5-f9f1-4b15-ba87-7a6895317a10",
      "name": "Merge Approval + Expensify Result",
      "type": "n8n-nodes-base.code",
      "position": [
        2784,
        944
      ]
    },
    {
      "id": "52b837a4-2156-4a96-b1e1-cac1a26151e6",
      "name": "Sheets - Append Audit Row",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        3136,
        976
      ]
    },
    {
      "id": "28349e90-3589-453b-81db-b797a1135ec9",
      "name": "Gmail - Employee Confirmation",
      "type": "n8n-nodes-base.gmail",
      "position": [
        3296,
        992
      ]
    },
    {
      "id": "8f7e0add-6165-483b-bcb1-978c63c76711",
      "name": "Respond to Form",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        3472,
        976
      ]
    }
  ],
  "connections": {
    "Extract CDN URL": {
      "main": [
        [
          {
            "node": "Mindee - Extract Receipt Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Has Remote URL?": {
      "main": [
        [
          {
            "node": "Upload to URL - Remote",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Upload to URL - Binary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Mark Auto-Approved": {
      "main": [
        [
          {
            "node": "Expensify - Create Expense Entry",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to URL - Binary": {
      "main": [
        [
          {
            "node": "Extract CDN URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to URL - Remote": {
      "main": [
        [
          {
            "node": "Extract CDN URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sheets - Append Audit Row": {
      "main": [
        [
          {
            "node": "Gmail - Employee Confirmation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Mark Pending Manager Review": {
      "main": [
        [
          {
            "node": "Expensify - Create Expense Entry",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse OCR & Score Confidence": {
      "main": [
        [
          {
            "node": "Confidence Gate — Auto or Manager?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Form Trigger - Submit Receipt": {
      "main": [
        [
          {
            "node": "Validate & Build Expense Record",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gmail - Employee Confirmation": {
      "main": [
        [
          {
            "node": "Respond to Form",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Mindee - Extract Receipt Data": {
      "main": [
        [
          {
            "node": "Parse OCR & Score Confidence",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate & Build Expense Record": {
      "main": [
        [
          {
            "node": "Has Remote URL?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Expensify - Create Expense Entry": {
      "main": [
        [
          {
            "node": "Merge Approval + Expensify Result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Slack - Manager Approval Request": {
      "main": [
        [
          {
            "node": "Mark Pending Manager Review",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Approval + Expensify Result": {
      "main": [
        [
          {
            "node": "Sheets - Append Audit Row",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Confidence Gate — Auto or Manager?": {
      "main": [
        [
          {
            "node": "Mark Auto-Approved",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Slack - Manager Approval Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}