{
  "openruna_format": "flow-graph-v1",
  "title": "1513_Wait_Splitout_Process_Webhook",
  "slug": "1513-wait-splitout-process-webhook",
  "source_filename": "1513_Wait_Splitout_Process_Webhook.json",
  "nodes": [
    {
      "id": "OpenAI Model",
      "name": "OpenAI Model",
      "integration": "@n8n/n8n-nodes-langchain.lmOpenAi",
      "kind": "action"
    },
    {
      "id": "Structured Output Parser",
      "name": "Structured Output Parser",
      "integration": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "kind": "action"
    },
    {
      "id": "Upload to LlamaParse",
      "name": "Upload to LlamaParse",
      "integration": "httpRequest",
      "kind": "action"
    },
    {
      "id": "Receiving Invoices",
      "name": "Receiving Invoices",
      "integration": "gmail",
      "kind": "trigger"
    },
    {
      "id": "Append to Reconciliation Sheet",
      "name": "Append to Reconciliation Sheet",
      "integration": "googleSheets",
      "kind": "action"
    },
    {
      "id": "Get Processing Status",
      "name": "Get Processing Status",
      "integration": "httpRequest",
      "kind": "action"
    },
    {
      "id": "Wait to stay within service limits",
      "name": "Wait to stay within service limits",
      "integration": "wait",
      "kind": "logic"
    },
    {
      "id": "Is Job Ready?",
      "name": "Is Job Ready?",
      "integration": "switch",
      "kind": "logic"
    },
    {
      "id": "Add \"invoice synced\" Label",
      "name": "Add \"invoice synced\" Label",
      "integration": "gmail",
      "kind": "action"
    },
    {
      "id": "Get Parsed Invoice Data",
      "name": "Get Parsed Invoice Data",
      "integration": "httpRequest",
      "kind": "action"
    },
    {
      "id": "Map Output",
      "name": "Map Output",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Apply Data Extraction Rules",
      "name": "Apply Data Extraction Rules",
      "integration": "@n8n/n8n-nodes-langchain.chainLlm",
      "kind": "action"
    },
    {
      "id": "Should Process Email?",
      "name": "Should Process Email?",
      "integration": "if",
      "kind": "logic"
    },
    {
      "id": "Split Out Labels",
      "name": "Split Out Labels",
      "integration": "splitOut",
      "kind": "logic"
    },
    {
      "id": "Get Labels Names",
      "name": "Get Labels Names",
      "integration": "gmail",
      "kind": "action"
    },
    {
      "id": "Combine Label Names",
      "name": "Combine Label Names",
      "integration": "aggregate",
      "kind": "logic"
    },
    {
      "id": "Email with Label Names",
      "name": "Email with Label Names",
      "integration": "merge",
      "kind": "logic"
    }
  ],
  "edges": [
    {
      "from": "Map Output",
      "to": "Append to Reconciliation Sheet"
    },
    {
      "from": "Is Job Ready?",
      "to": "Get Parsed Invoice Data"
    },
    {
      "from": "Is Job Ready?",
      "to": "Wait to stay within service limits"
    },
    {
      "from": "Get Labels Names",
      "to": "Combine Label Names"
    },
    {
      "from": "Split Out Labels",
      "to": "Get Labels Names"
    },
    {
      "from": "Receiving Invoices",
      "to": "Split Out Labels"
    },
    {
      "from": "Receiving Invoices",
      "to": "Email with Label Names"
    },
    {
      "from": "Combine Label Names",
      "to": "Email with Label Names"
    },
    {
      "from": "Upload to LlamaParse",
      "to": "Get Processing Status"
    },
    {
      "from": "Get Processing Status",
      "to": "Is Job Ready?"
    },
    {
      "from": "Should Process Email?",
      "to": "Upload to LlamaParse"
    },
    {
      "from": "Email with Label Names",
      "to": "Should Process Email?"
    },
    {
      "from": "Get Parsed Invoice Data",
      "to": "Apply Data Extraction Rules"
    },
    {
      "from": "Apply Data Extraction Rules",
      "to": "Map Output"
    },
    {
      "from": "Append to Reconciliation Sheet",
      "to": "Add \"invoice synced\" Label"
    },
    {
      "from": "Wait to stay within service limits",
      "to": "Get Processing Status"
    }
  ]
}