{
  "id": "gsR8g2fQBzoJbx3u",
  "name": "Intelligent Real-Time Financial Fraud Detection and Risk Scoring Engine",
  "tags": [],
  "nodes": [
    {
      "id": "5483fc1c-cc7a-4773-88bf-f1822c8e2d01",
      "name": "Transaction Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -1024,
        96
      ],
      "parameters": {
        "path": "transaction-risk-YOUR_OPENAI_KEY_HERE",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "lastNode"
      },
      "typeVersion": 2.1
    },
    {
      "id": "a4736bd7-ae6c-4a94-b9f2-1461ddd72942",
      "name": "Workflow Configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        -800,
        96
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "id-1",
              "name": "highRiskThreshold",
              "type": "number",
              "value": 70
            },
            {
              "id": "id-2",
              "name": "transactionHoldApiUrl",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Transaction hold API endpoint URL__>"
            },
            {
              "id": "id-3",
              "name": "fraudAlertChannel",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Slack channel ID for fraud alerts__>"
            },
            {
              "id": "id-4",
              "name": "fraudTeamEmail",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Fraud team email address__>"
            },
            {
              "id": "id-5",
              "name": "incidentLogSheetId",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Google Sheets ID for incident logging__>"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "0696d85d-0033-46b0-88a7-dc2e054da850",
      "name": "Fraud Detection AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -576,
        96
      ],
      "parameters": {
        "text": "=Transaction Data:\nAmount: {{ $json.amount }}\nCurrency: {{ $json.currency }}\nMerchant: {{ $json.merchant }}\nCustomer ID: {{ $json.customerId }}\nCredit Score: {{ $json.creditScore }}\nTransaction Location: {{ $json.location }}\nTransaction Time: {{ $json.timestamp }}\nPrevious Transaction History: {{ $json.transactionHistory }}\nAccount Age: {{ $json.accountAge }}\nDevice Info: {{ $json.deviceInfo }}",
        "options": {
          "systemMessage": "You are an expert fraud detection AI analyzing financial transactions in real-time.\n\nYour task is to:\n1. Analyze the transaction data including amount, merchant, location, timing, and customer behavior patterns\n2. Evaluate the customer's credit score and transaction history\n3. Identify fraud signals such as:\n   - Unusual transaction amounts or patterns\n   - Geographic anomalies (location mismatches)\n   - Time-based anomalies (unusual hours)\n   - Velocity checks (too many transactions in short time)\n   - Device fingerprint mismatches\n   - Merchant category risks\n4. Calculate a risk score from 0-100 where:\n   - 0-30: Low risk (normal transaction)\n   - 31-69: Medium risk (monitor)\n   - 70-100: High risk (potential fraud)\n5. Provide specific fraud indicators detected\n6. Recommend action (approve, review, or block)\n\nReturn your analysis in the structured JSON format."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3
    },
    {
      "id": "dd6e4eb4-368b-4c05-97d8-46a762d94784",
      "name": "OpenAI GPT-4",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -576,
        320
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "id",
          "value": "gpt-4o"
        },
        "options": {},
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "c3f65ce7-f322-4c2c-ad84-6cb3a753528a",
      "name": "Risk Score Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -440,
        320
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"riskScore\": {\n\t\t\t\"type\": \"number\",\n\t\t\t\"description\": \"Risk score from 0-100\"\n\t\t},\n\t\t\"riskLevel\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"description\": \"Risk level: low, medium, or high\"\n\t\t},\n\t\t\"fraudIndicators\": {\n\t\t\t\"type\": \"array\",\n\t\t\t\"items\": {\n\t\t\t\t\"type\": \"string\"\n\t\t\t},\n\t\t\t\"description\": \"List of specific fraud signals detected\"\n\t\t},\n\t\t\"recommendation\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"description\": \"Recommended action: approve, review, or block\"\n\t\t},\n\t\t\"reasoning\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"description\": \"Explanation of the risk assessment\"\n\t\t}\n\t}\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "3f0b6a6c-722f-42d5-a0a4-d59fe079d237",
      "name": "Check Risk Level",
      "type": "n8n-nodes-base.if",
      "position": [
        -224,
        96
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "id-1",
              "operator": {
                "type": "number",
                "operation": "gte"
              },
              "leftValue": "={{ $json.riskScore }}",
              "rightValue": "={{ $('Workflow Configuration').first().json.highRiskThreshold }}"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "06e417fc-1760-4b70-9490-3463f666b931",
      "name": "Hold Transaction",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        16,
        112
      ],
      "parameters": {
        "url": "={{ $('Workflow Configuration').first().json.transactionHoldApiUrl }}",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "transactionId",
              "value": "={{ $('Transaction Webhook').first().json.transactionId }}"
            },
            {
              "name": "action",
              "value": "HOLD"
            },
            {
              "name": "riskScore",
              "value": "={{ $json.riskScore }}"
            },
            {
              "name": "reason",
              "value": "={{ $json.reasoning }}"
            }
          ]
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "35e4d17c-e9de-4597-a49b-7c95cc63190c",
      "name": "Send High Risk Alert",
      "type": "n8n-nodes-base.slack",
      "position": [
        240,
        112
      ],
      "parameters": {
        "text": "=\ud83d\udea8 *HIGH RISK TRANSACTION DETECTED*\n\n*Transaction ID:* {{ $('Transaction Webhook').first().json.transactionId }}\n*Risk Score:* {{ $json.riskScore }}/100\n*Customer ID:* {{ $('Transaction Webhook').first().json.customerId }}\n*Amount:* {{ $('Transaction Webhook').first().json.amount }} {{ $('Transaction Webhook').first().json.currency }}\n*Merchant:* {{ $('Transaction Webhook').first().json.merchant }}\n\n*Fraud Indicators:*\n{{ $json.fraudIndicators.join(\"\\n\") }}\n\n*Recommendation:* {{ $json.recommendation }}\n*Reasoning:* {{ $json.reasoning }}\n\n\u26a0\ufe0f Transaction has been HELD for review.",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Workflow Configuration').first().json.fraudAlertChannel }}"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.4
    },
    {
      "id": "4c9e6769-74c5-42f9-9626-52055f143060",
      "name": "Email Fraud Team",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        464,
        112
      ],
      "parameters": {
        "html": "=<h2 style=\"color: #d32f2f;\">\ud83d\udea8 HIGH RISK TRANSACTION DETECTED</h2>\n\n<p><strong>A potentially fraudulent transaction has been flagged and held for review.</strong></p>\n\n<h3>Transaction Details:</h3>\n<ul>\n  <li><strong>Transaction ID:</strong> {{ $('Transaction Webhook').first().json.transactionId }}</li>\n  <li><strong>Customer ID:</strong> {{ $('Transaction Webhook').first().json.customerId }}</li>\n  <li><strong>Amount:</strong> {{ $('Transaction Webhook').first().json.amount }} {{ $('Transaction Webhook').first().json.currency }}</li>\n  <li><strong>Merchant:</strong> {{ $('Transaction Webhook').first().json.merchant }}</li>\n  <li><strong>Location:</strong> {{ $('Transaction Webhook').first().json.location }}</li>\n  <li><strong>Timestamp:</strong> {{ $('Transaction Webhook').first().json.timestamp }}</li>\n</ul>\n\n<h3>Risk Assessment:</h3>\n<ul>\n  <li><strong>Risk Score:</strong> {{ $json.riskScore }}/100</li>\n  <li><strong>Risk Level:</strong> {{ $json.riskLevel }}</li>\n  <li><strong>Recommendation:</strong> {{ $json.recommendation }}</li>\n</ul>\n\n<h3>Fraud Indicators Detected:</h3>\n<ul>\n  {{ $json.fraudIndicators.map(indicator => `<li>${indicator}</li>`).join(\"\") }}\n</ul>\n\n<h3>AI Analysis:</h3>\n<p>{{ $json.reasoning }}</p>\n\n<p style=\"color: #d32f2f;\"><strong>\u26a0\ufe0f The transaction has been automatically HELD. Please review immediately.</strong></p>",
        "options": {},
        "subject": "=URGENT: High Risk Transaction Alert - ID {{ $('Transaction Webhook').first().json.transactionId }}",
        "toEmail": "={{ $('Workflow Configuration').first().json.fraudTeamEmail }}"
      },
      "typeVersion": 2.1
    },
    {
      "id": "a9c65075-c614-4481-8484-2ac2c9288def",
      "name": "Log High Risk Incident",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        912,
        112
      ],
      "parameters": {
        "columns": {
          "value": {
            "amount": "={{ $json.amount }}",
            "status": "={{ $json.status }}",
            "currency": "={{ $json.currency }}",
            "merchant": "={{ $json.merchant }}",
            "reasoning": "={{ $json.reasoning }}",
            "riskLevel": "={{ $json.riskLevel }}",
            "riskScore": "={{ $json.riskScore }}",
            "customerId": "={{ $json.customerId }}",
            "logTimestamp": "={{ $json.logTimestamp }}",
            "transactionId": "={{ $json.transactionId }}",
            "recommendation": "={{ $json.recommendation }}",
            "fraudIndicators": "={{ $json.fraudIndicators }}"
          },
          "schema": [
            {
              "id": "logTimestamp",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "logTimestamp",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "transactionId",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "transactionId",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "customerId",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "customerId",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "amount",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "amount",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "currency",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "currency",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "merchant",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "merchant",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "riskScore",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "riskScore",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "riskLevel",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "riskLevel",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "fraudIndicators",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "fraudIndicators",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "recommendation",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "recommendation",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "reasoning",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "reasoning",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "status",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [
            "logTimestamp",
            "transactionId",
            "customerId",
            "amount",
            "currency",
            "merchant",
            "riskScore",
            "riskLevel",
            "fraudIndicators",
            "recommendation",
            "reasoning",
            "status"
          ]
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "High Risk Incidents"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Workflow Configuration').first().json.incidentLogSheetId }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "056b21e8-4144-4117-b99f-ed2eb02f7da2",
      "name": "Log Low Risk Transaction",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        0,
        352
      ],
      "parameters": {
        "columns": {
          "value": {
            "amount": "={{ $('Transaction Webhook').first().json.amount }}",
            "status": "APPROVED",
            "currency": "={{ $('Transaction Webhook').first().json.currency }}",
            "merchant": "={{ $('Transaction Webhook').first().json.merchant }}",
            "riskLevel": "={{ $json.riskLevel }}",
            "riskScore": "={{ $json.riskScore }}",
            "timestamp": "={{ $now.toISO() }}",
            "customerId": "={{ $('Transaction Webhook').first().json.customerId }}",
            "transactionId": "={{ $('Transaction Webhook').first().json.transactionId }}"
          },
          "schema": [
            {
              "id": "timestamp",
              "required": false,
              "displayName": "timestamp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "transactionId",
              "required": false,
              "displayName": "transactionId",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "customerId",
              "required": false,
              "displayName": "customerId",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "amount",
              "required": false,
              "displayName": "amount",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "currency",
              "required": false,
              "displayName": "currency",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "merchant",
              "required": false,
              "displayName": "merchant",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "riskScore",
              "required": false,
              "displayName": "riskScore",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "riskLevel",
              "required": false,
              "displayName": "riskLevel",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "status",
              "required": false,
              "displayName": "status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "transactionId"
          ]
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "Low Risk Transactions"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Workflow Configuration').first().json.incidentLogSheetId }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "d3d62b5d-0004-4b75-86ed-b6eb34aae684",
      "name": "Prepare Incident Log Data",
      "type": "n8n-nodes-base.set",
      "position": [
        688,
        112
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "id-1",
              "name": "logTimestamp",
              "type": "string",
              "value": "={{ $now.toISO() }}"
            },
            {
              "id": "id-2",
              "name": "transactionId",
              "type": "string",
              "value": "={{ $('Transaction Webhook').first().json.transactionId }}"
            },
            {
              "id": "id-3",
              "name": "customerId",
              "type": "string",
              "value": "={{ $('Transaction Webhook').first().json.customerId }}"
            },
            {
              "id": "id-4",
              "name": "amount",
              "type": "number",
              "value": "={{ $('Transaction Webhook').first().json.amount }}"
            },
            {
              "id": "id-5",
              "name": "currency",
              "type": "string",
              "value": "={{ $('Transaction Webhook').first().json.currency }}"
            },
            {
              "id": "id-6",
              "name": "merchant",
              "type": "string",
              "value": "={{ $('Transaction Webhook').first().json.merchant }}"
            },
            {
              "id": "id-7",
              "name": "status",
              "type": "string",
              "value": "HELD"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "2d685b51-5dce-48d8-8966-ae5e659bd17c",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1056,
        -272
      ],
      "parameters": {
        "width": 752,
        "height": 208,
        "content": "## How It Works\nAutomates fraud risk detection for financial transactions by analyzing real-time webhook events through AI-powered scoring. Target audience: fintech companies, payment processors, and banking teams preventing fraud losses. Problem solved: manual fraud checks are reactive and slow; automated detection catches suspicious transactions instantly. Workflow receives transactions via webhook, configures processing parameters, runs OpenAI GPT-4 fraud analysis, calculates risk scores, branches on risk level, holds high-risk transactions, alerts fraud teams, logs incidents, and documents evidence for compliance investigations."
      },
      "typeVersion": 1
    },
    {
      "id": "c54142a4-beb4-48d5-9f07-c72f7ab93eff",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -272,
        -256
      ],
      "parameters": {
        "color": 3,
        "width": 416,
        "height": 176,
        "content": "## Setup Steps\n1. Configure webhook endpoint for transaction ingestion. \n2. Set OpenAI API key and fraud detection prompts. \n3. Connect Google Sheets for incident logging. \n4. Enable email alerts to fraud team distribution list. \n5. Map risk thresholds (high/low)."
      },
      "typeVersion": 1
    },
    {
      "id": "f6e3d558-2de5-4b1c-acb1-bb64120e09b1",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        192,
        -288
      ],
      "parameters": {
        "color": 4,
        "width": 368,
        "height": 224,
        "content": "## Prerequisites\nOpenAI API key, webhook-capable transaction source, Gmail for alerts, Google Sheets access, incident tracking database.\n\n## Use Cases\nPayment processors detecting card fraud, fintech platforms catching account takeovers "
      },
      "typeVersion": 1
    },
    {
      "id": "1482e987-8201-4d13-809d-5617614e219e",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        608,
        -272
      ],
      "parameters": {
        "color": 6,
        "width": 336,
        "height": 208,
        "content": "## Customization\nAdjust risk thresholds and scoring logic. Add phone/SMS alerts for urgency.  \n\n## Benefits\nDetects fraud within seconds, reduces financial losses by up to 90% "
      },
      "typeVersion": 1
    },
    {
      "id": "d6bc6edb-4901-4200-bd0e-aa7d5e3f59b2",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1072,
        -48
      ],
      "parameters": {
        "color": 7,
        "width": 784,
        "height": 528,
        "content": "## Detect & Score\n**What:** Webhook receives transactions; OpenAI GPT-4 analyzes fraud indicators and generates risk scores.\n**Why:** Real-time AI analysis catches anomalies instantly; risk scores enable automated decisions."
      },
      "typeVersion": 1
    },
    {
      "id": "8186187e-99c4-400f-8ccf-dc4cba1aeb30",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -272,
        -48
      ],
      "parameters": {
        "color": 7,
        "width": 672,
        "height": 560,
        "content": "\n## Risk-YOUR_OPENAI_KEY_HERE Routing\n**What:** Conditional logic branches, high-risk transactions held and alerted; low-risk logged automatically.\n**Why:** Tiered response prevents fraud while minimizing false positives "
      },
      "typeVersion": 1
    },
    {
      "id": "55251d70-fcf4-4407-a19f-97881b4e7ec6",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        416,
        -48
      ],
      "parameters": {
        "color": 7,
        "width": 672,
        "height": 560,
        "content": "## Escalation & Documentation\n**What:** High-risk alerts sent to fraud team; all incidents logged to Google Sheets and incident database.\n**Why:** Immediate escalation enables fast investigation; "
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "1b7c16c9-4bad-4bb2-86f2-73b58987889b",
  "connections": {
    "OpenAI GPT-4": {
      "ai_languageModel": [
        [
          {
            "node": "Fraud Detection AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Check Risk Level": {
      "main": [
        [
          {
            "node": "Hold Transaction",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Log Low Risk Transaction",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email Fraud Team": {
      "main": [
        [
          {
            "node": "Prepare Incident Log Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Hold Transaction": {
      "main": [
        [
          {
            "node": "Send High Risk Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Transaction Webhook": {
      "main": [
        [
          {
            "node": "Workflow Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send High Risk Alert": {
      "main": [
        [
          {
            "node": "Email Fraud Team",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Workflow Configuration": {
      "main": [
        [
          {
            "node": "Fraud Detection AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fraud Detection AI Agent": {
      "main": [
        [
          {
            "node": "Check Risk Level",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Risk Score Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Fraud Detection AI Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Incident Log Data": {
      "main": [
        [
          {
            "node": "Log High Risk Incident",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}