{
  "id": "WemZJe4i3HbdVSwE",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "AI Influencer Fraud & Fake Follower Detector",
  "tags": [],
  "nodes": [
    {
      "id": "53c4485a-32ca-4d7d-89da-b5c4c49dfbf0",
      "name": "Influencer Profile Input",
      "type": "n8n-nodes-base.webhook",
      "notes": "Submit influencer username and platform for analysis. Analyzes follower authenticity, engagement patterns, and fraud indicators using AI to score influencer legitimacy before brand partnerships. Detects fake followers, bot accounts, and suspicious activity.",
      "position": [
        -64,
        144
      ],
      "parameters": {
        "path": "influencer-fraud-check",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "lastNode"
      },
      "notesInFlow": true,
      "typeVersion": 1.1
    },
    {
      "id": "7d31c909-da36-4eb5-ab54-e40d589dc423",
      "name": "Fetch Influencer Data",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Retrieves complete influencer profile including followers, engagement metrics, post history, and audience demographics from social platform APIs",
      "position": [
        160,
        144
      ],
      "parameters": {
        "url": "={{ $json.platform === 'instagram' ? 'https://graph.instagram.com/v18.0/' + $json.username + '?fields=id,username,followers_count,follows_count,media_count,media{like_count,comments_count,timestamp,caption}&access_token=' + $credentials.instagramAccessToken : $json.platform === 'twitter' ? 'https://api.twitter.com/2/users/by/username/' + $json.username + '?user.fields=created_at,description,public_metrics,verified&expansions=pinned_tweet_id' : 'https://www.tiktok.com/api/user/detail/?uniqueId=' + $json.username }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "json"
            }
          }
        },
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "{{ $json.platform === 'instagram' ? 'instagramOAuth2Api' : $json.platform === 'twitter' ? 'twitterOAuth2Api' : 'httpHeaderAuth' }}"
      },
      "notesInFlow": true,
      "typeVersion": 4.2
    },
    {
      "id": "f5bee00a-c135-4945-b639-6e42711329ff",
      "name": "Analyze Follower Patterns",
      "type": "n8n-nodes-base.code",
      "notes": "Examines follower-to-following ratio, engagement rate, growth velocity, audience quality, posting consistency, and comment authenticity to identify bot networks and fake accounts",
      "position": [
        384,
        144
      ],
      "parameters": {
        "jsCode": "// Comprehensive follower authenticity analysis\nconst profile = $input.first().json;\nconst requestData = $node['Influencer Profile Input'].json.body;\n\n// Extract metrics based on platform\nlet followers, following, posts, engagement, profileAge;\n\nif (requestData.platform === 'instagram') {\n  followers = profile.followers_count || 0;\n  following = profile.follows_count || 0;\n  posts = profile.media_count || 0;\n  const media = profile.media?.data || [];\n  const totalEngagement = media.reduce((sum, post) => \n    sum + (post.like_count || 0) + (post.comments_count || 0), 0\n  );\n  engagement = media.length > 0 ? totalEngagement / media.length : 0;\n  profileAge = Date.now() - new Date(profile.created_time || Date.now()).getTime();\n} else if (requestData.platform === 'twitter') {\n  const metrics = profile.data?.public_metrics || {};\n  followers = metrics.followers_count || 0;\n  following = metrics.following_count || 0;\n  posts = metrics.tweet_count || 0;\n  engagement = (metrics.like_count || 0) / Math.max(posts, 1);\n  profileAge = Date.now() - new Date(profile.data?.created_at || Date.now()).getTime();\n} else if (requestData.platform === 'tiktok') {\n  const user = profile.userInfo?.user || {};\n  followers = user.followerCount || 0;\n  following = user.followingCount || 0;\n  posts = user.videoCount || 0;\n  engagement = (user.heart || 0) / Math.max(posts, 1);\n  profileAge = Date.now();\n}\n\n// Calculate fraud indicators\nconst analysis = {\n  // 1. Follower-to-Following Ratio (red flag if < 0.5 for influencers)\n  followerRatio: following > 0 ? followers / following : followers,\n  followerRatioScore: (() => {\n    const ratio = following > 0 ? followers / following : followers / 1000;\n    if (ratio > 10) return 100; // Excellent\n    if (ratio > 5) return 85;\n    if (ratio > 2) return 70;\n    if (ratio > 1) return 50;\n    if (ratio > 0.5) return 30;\n    return 10; // Suspicious\n  })(),\n  \n  // 2. Engagement Rate (industry average: 1-5%)\n  engagementRate: followers > 0 ? (engagement / followers) * 100 : 0,\n  engagementScore: (() => {\n    const rate = followers > 0 ? (engagement / followers) * 100 : 0;\n    if (rate > 10) return 100; // Excellent\n    if (rate > 5) return 90;\n    if (rate > 2) return 75;\n    if (rate > 1) return 60;\n    if (rate > 0.5) return 40;\n    if (rate > 0.1) return 20;\n    return 5; // Likely fake engagement\n  })(),\n  \n  // 3. Content Consistency (posts per week)\n  postsPerWeek: (posts / (profileAge / (7 * 24 * 60 * 60 * 1000))) || 0,\n  consistencyScore: (() => {\n    const postsWeek = (posts / Math.max(profileAge / (7 * 24 * 60 * 60 * 1000), 1)) || 0;\n    if (postsWeek >= 3 && postsWeek <= 10) return 100; // Optimal\n    if (postsWeek >= 1) return 80;\n    if (postsWeek >= 0.5) return 60;\n    return 30; // Inactive or spam\n  })(),\n  \n  // 4. Account Age vs Follower Growth (suspicious if too fast)\n  accountAgeMonths: profileAge / (30 * 24 * 60 * 60 * 1000),\n  growthVelocity: followers / Math.max(profileAge / (30 * 24 * 60 * 60 * 1000), 1),\n  growthScore: (() => {\n    const months = Math.max(profileAge / (30 * 24 * 60 * 60 * 1000), 1);\n    const velocity = followers / months;\n    \n    // Gradual growth is authentic\n    if (velocity < 1000 && months > 6) return 100;\n    if (velocity < 5000 && months > 3) return 85;\n    if (velocity < 10000) return 70;\n    if (velocity < 50000) return 50;\n    return 20; // Suspicious rapid growth\n  })(),\n  \n  // 5. Profile Completeness\n  profileComplete: (() => {\n    let score = 0;\n    if (profile.description || profile.bio) score += 30;\n    if (profile.profile_pic_url || profile.profile_image_url) score += 30;\n    if (profile.website || profile.url) score += 20;\n    if (profile.verified) score += 20;\n    return score;\n  })(),\n  \n  // 6. Follower Quality Indicators\n  suspiciousFollowerIndicators: {\n    highFollowingRatio: following / Math.max(followers, 1) > 2,\n    lowEngagement: (engagement / Math.max(followers, 1)) * 100 < 0.5,\n    rapidGrowth: (followers / Math.max(profileAge / (30 * 24 * 60 * 60 * 1000), 1)) > 50000,\n    fewPosts: posts < 10 && followers > 10000,\n    noVerification: !profile.verified && followers > 100000\n  }\n};\n\n// Calculate red flags\nconst redFlags = [];\nif (analysis.suspiciousFollowerIndicators.highFollowingRatio) {\n  redFlags.push('High following-to-follower ratio suggests fake account or bot behavior');\n}\nif (analysis.suspiciousFollowerIndicators.lowEngagement) {\n  redFlags.push('Extremely low engagement rate indicates purchased followers');\n}\nif (analysis.suspiciousFollowerIndicators.rapidGrowth) {\n  redFlags.push('Unnaturally rapid follower growth detected');\n}\nif (analysis.suspiciousFollowerIndicators.fewPosts) {\n  redFlags.push('Large follower count with minimal content suggests inauthenticity');\n}\nif (analysis.suspiciousFollowerIndicators.noVerification) {\n  redFlags.push('No platform verification despite significant following');\n}\n\n// Overall fraud risk score (weighted average)\nconst fraudScore = Math.round(\n  (analysis.followerRatioScore * 0.25) +\n  (analysis.engagementScore * 0.35) +\n  (analysis.consistencyScore * 0.15) +\n  (analysis.growthScore * 0.15) +\n  (analysis.profileComplete * 0.10)\n);\n\n// Risk classification\nlet riskLevel = 'UNKNOWN';\nlet recommendation = 'Insufficient data for analysis';\n\nif (fraudScore >= 80) {\n  riskLevel = 'LOW RISK';\n  recommendation = 'APPROVED - Authentic influencer with genuine engagement';\n} else if (fraudScore >= 60) {\n  riskLevel = 'MEDIUM RISK';\n  recommendation = 'REVIEW - Some concerns, conduct additional verification';\n} else if (fraudScore >= 40) {\n  riskLevel = 'HIGH RISK';\n  recommendation = 'CAUTION - Multiple fraud indicators detected';\n} else {\n  riskLevel = 'CRITICAL RISK';\n  recommendation = 'REJECTED - Strong evidence of fake followers and fraud';\n}\n\nreturn [{\n  json: {\n    influencer: {\n      username: requestData.username,\n      platform: requestData.platform,\n      profileUrl: requestData.platform === 'instagram' \n        ? `https://instagram.com/${requestData.username}`\n        : requestData.platform === 'twitter'\n        ? `https://twitter.com/${requestData.username}`\n        : `https://tiktok.com/@${requestData.username}`\n    },\n    metrics: {\n      followers,\n      following,\n      posts,\n      engagementPerPost: Math.round(engagement),\n      accountAgeMonths: Math.round(analysis.accountAgeMonths),\n      verified: profile.verified || false\n    },\n    analysis: {\n      followerRatio: analysis.followerRatio.toFixed(2),\n      engagementRate: analysis.engagementRate.toFixed(3) + '%',\n      postsPerWeek: analysis.postsPerWeek.toFixed(1),\n      growthVelocity: Math.round(analysis.growthVelocity) + ' followers/month'\n    },\n    scoring: {\n      followerQuality: analysis.followerRatioScore,\n      engagementQuality: analysis.engagementScore,\n      contentConsistency: analysis.consistencyScore,\n      growthPattern: analysis.growthScore,\n      profileCompleteness: analysis.profileComplete\n    },\n    fraudAssessment: {\n      overallScore: fraudScore,\n      riskLevel,\n      recommendation,\n      redFlags,\n      suspiciousIndicators: analysis.suspiciousFollowerIndicators\n    },\n    timestamp: new Date().toISOString(),\n    rawData: profile\n  }\n}];"
      },
      "notesInFlow": true,
      "typeVersion": 2
    },
    {
      "id": "639a1dc7-e2c6-4e30-a38a-4e16630c698e",
      "name": "AI Authenticity Analysis",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Uses Claude AI to perform deep behavioral analysis on profile content, writing patterns, comment quality, and audience interactions to detect sophisticated fraud tactics",
      "position": [
        608,
        144
      ],
      "parameters": {
        "url": "https://api.anthropic.com/v1/messages",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "authentication": "predefinedCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "model",
              "value": "claude-sonnet-4-20250514"
            },
            {
              "name": "max_tokens",
              "value": "1500"
            },
            {
              "name": "messages",
              "value": "={{ [{role: 'user', content: `You are an expert in influencer fraud detection. Analyze this influencer profile and provide detailed insights.\n\nInfluencer: ${$json.influencer.username} on ${$json.influencer.platform}\nFollowers: ${$json.metrics.followers.toLocaleString()}\nEngagement Rate: ${$json.analysis.engagementRate}\nFollower/Following Ratio: ${$json.analysis.followerRatio}\nGrowth Velocity: ${$json.analysis.growthVelocity}\nPosts per Week: ${$json.analysis.postsPerWeek}\n\nCurrent Risk Assessment: ${$json.fraudAssessment.riskLevel}\nAutomated Score: ${$json.fraudAssessment.overallScore}/100\n\nRed Flags Detected:\n${$json.fraudAssessment.redFlags.map((flag, i) => `${i+1}. ${flag}`).join('\\n')}\n\nProvide:\n1. Authenticity verdict (AUTHENTIC/SUSPICIOUS/FRAUDULENT)\n2. Key fraud indicators or positive signs (3-4 points)\n3. Specific concerns about follower quality\n4. Final recommendation for brand partnership (APPROVE/REVIEW/REJECT)\n5. Confidence level (0-100%)\n\nReturn as JSON: {verdict, indicators: [], concerns, recommendation, confidence, summary}`}] }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "x-api-key",
              "value": "={{ $credentials.apiKey }}"
            },
            {
              "name": "anthropic-version",
              "value": "2023-06-01"
            }
          ]
        },
        "nodeCredentialType": "anthropicApi"
      },
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.2
    },
    {
      "id": "9a341d4e-1007-4e16-af6a-dfc6c992fcc2",
      "name": "Generate Fraud Report",
      "type": "n8n-nodes-base.code",
      "notes": "Creates comprehensive fraud assessment report combining automated analysis and AI insights with actionable partnership recommendations and risk scoring",
      "position": [
        816,
        144
      ],
      "parameters": {
        "jsCode": "// Generate comprehensive fraud detection report\nconst analysis = $node['Analyze Follower Patterns'].json;\nconst aiResponse = $input.first().json;\n\n// Parse AI response\nlet aiAnalysis = {};\ntry {\n  const aiContent = aiResponse.content?.[0]?.text || '{}';\n  const jsonMatch = aiContent.match(/\\{[\\s\\S]*\\}/);\n  if (jsonMatch) {\n    aiAnalysis = JSON.parse(jsonMatch[0]);\n  }\n} catch (error) {\n  aiAnalysis = {\n    verdict: 'ERROR',\n    indicators: ['AI analysis failed'],\n    concerns: 'Unable to complete AI verification',\n    recommendation: 'MANUAL REVIEW REQUIRED',\n    confidence: 0,\n    summary: 'Technical error during AI analysis'\n  };\n}\n\n// Combined final score (70% automated + 30% AI)\nconst automatedScore = analysis.fraudAssessment.overallScore;\nconst aiConfidence = aiAnalysis.confidence || 50;\nconst finalScore = Math.round((automatedScore * 0.7) + (aiConfidence * 0.3));\n\n// Determine final decision\nlet finalDecision = 'MANUAL REVIEW';\nlet partnershipRecommendation = 'HOLD';\n\nif (finalScore >= 75 && aiAnalysis.recommendation?.includes('APPROVE')) {\n  finalDecision = 'APPROVED FOR PARTNERSHIP';\n  partnershipRecommendation = 'PROCEED';\n} else if (finalScore < 45 || aiAnalysis.recommendation?.includes('REJECT')) {\n  finalDecision = 'REJECTED - HIGH FRAUD RISK';\n  partnershipRecommendation = 'DO NOT PROCEED';\n} else {\n  finalDecision = 'REQUIRES MANUAL REVIEW';\n  partnershipRecommendation = 'ADDITIONAL VERIFICATION NEEDED';\n}\n\n// Generate report\nconst report = {\n  reportId: `FRAUD-${Date.now()}-${Math.random().toString(36).substr(2, 6).toUpperCase()}`,\n  generatedAt: new Date().toISOString(),\n  \n  influencerProfile: analysis.influencer,\n  \n  executiveSummary: {\n    finalDecision,\n    partnershipRecommendation,\n    overallAuthenticityScore: finalScore,\n    riskLevel: finalScore >= 75 ? 'LOW' : finalScore >= 60 ? 'MEDIUM' : finalScore >= 45 ? 'HIGH' : 'CRITICAL',\n    aiVerdict: aiAnalysis.verdict || 'UNKNOWN',\n    aiConfidence: aiConfidence + '%'\n  },\n  \n  keyMetrics: analysis.metrics,\n  \n  detailedAnalysis: {\n    followerAuthenticity: {\n      score: analysis.scoring.followerQuality,\n      ratio: analysis.analysis.followerRatio,\n      assessment: analysis.scoring.followerQuality >= 70 ? 'Healthy follower ratio' : 'Suspicious ratio detected'\n    },\n    engagementQuality: {\n      score: analysis.scoring.engagementQuality,\n      rate: analysis.analysis.engagementRate,\n      assessment: analysis.scoring.engagementQuality >= 60 ? 'Genuine engagement' : 'Low or fake engagement'\n    },\n    contentConsistency: {\n      score: analysis.scoring.contentConsistency,\n      frequency: analysis.analysis.postsPerWeek,\n      assessment: analysis.scoring.contentConsistency >= 60 ? 'Regular posting pattern' : 'Irregular activity'\n    },\n    growthPattern: {\n      score: analysis.scoring.growthPattern,\n      velocity: analysis.analysis.growthVelocity,\n      assessment: analysis.scoring.growthPattern >= 70 ? 'Organic growth' : 'Suspicious growth pattern'\n    }\n  },\n  \n  fraudIndicators: {\n    automatedRedFlags: analysis.fraudAssessment.redFlags,\n    aiConcerns: aiAnalysis.indicators || [],\n    suspiciousPatterns: Object.keys(analysis.fraudAssessment.suspiciousIndicators)\n      .filter(key => analysis.fraudAssessment.suspiciousIndicators[key])\n      .map(key => key.replace(/([A-Z])/g, ' $1').trim())\n  },\n  \n  aiInsights: {\n    verdict: aiAnalysis.verdict,\n    keyFindings: aiAnalysis.indicators || [],\n    specificConcerns: aiAnalysis.concerns || 'None provided',\n    summary: aiAnalysis.summary || 'AI analysis completed'\n  },\n  \n  recommendations: {\n    partnership: partnershipRecommendation,\n    nextSteps: finalDecision.includes('APPROVED') ? [\n      'Proceed with partnership negotiations',\n      'Set clear deliverables and KPIs',\n      'Monitor performance metrics closely',\n      'Establish fraud detection checkpoints'\n    ] : finalDecision.includes('REJECTED') ? [\n      'Do not proceed with partnership',\n      'Document fraud indicators for records',\n      'Consider reporting to platform',\n      'Review screening criteria'\n    ] : [\n      'Conduct manual profile review',\n      'Request additional verification documents',\n      'Analyze recent audience growth patterns',\n      'Review competitor partnerships',\n      'Consider trial campaign first'\n    ],\n    estimatedFakeFollowerPercentage: Math.max(0, Math.round(100 - finalScore)) + '%'\n  },\n  \n  confidenceScore: {\n    automated: automatedScore,\n    aiVerification: aiConfidence,\n    combined: finalScore,\n    methodology: '70% algorithmic analysis + 30% AI behavioral analysis'\n  }\n};\n\nconsole.log(`\\n========== FRAUD DETECTION REPORT ==========`);\nconsole.log(`Influencer: @${analysis.influencer.username}`);\nconsole.log(`Platform: ${analysis.influencer.platform}`);\nconsole.log(`Final Score: ${finalScore}/100`);\nconsole.log(`Decision: ${finalDecision}`);\nconsole.log(`==========================================\\n`);\n\nreturn [{ json: report }];"
      },
      "notesInFlow": true,
      "typeVersion": 2
    },
    {
      "id": "b2b71f85-95d2-4924-80ff-600fe5b07d64",
      "name": "Send Report & Notification",
      "type": "n8n-nodes-base.emailSend",
      "notes": "Delivers detailed fraud assessment report to brand partnership team via email with visual scoring dashboard and clear approval/rejection recommendation",
      "position": [
        1040,
        144
      ],
      "parameters": {
        "options": {},
        "subject": "={{ $json.executiveSummary.finalDecision }} - Influencer Fraud Report: @{{ $json.influencerProfile.username }}",
        "toEmail": "user@example.com",
        "fromEmail": "user@example.com"
      },
      "credentials": {
        "smtp": {
          "name": "<your credential>"
        }
      },
      "notesInFlow": true,
      "typeVersion": 2.1
    },
    {
      "id": "112a5f5f-6db0-4ac9-a6b1-ab94d9b92b43",
      "name": "Save to Database",
      "type": "n8n-nodes-base.postgres",
      "notes": "Stores complete fraud assessment in database for historical tracking, trend analysis, and future reference during partnership decisions",
      "position": [
        1264,
        144
      ],
      "parameters": {
        "table": "influencer_fraud_reports",
        "schema": "partnerships",
        "columns": {
          "value": {},
          "schema": [],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "credentials": {
        "postgres": {
          "name": "<your credential>"
        }
      },
      "notesInFlow": true,
      "typeVersion": 2.4
    },
    {
      "id": "398cce3c-5d49-4434-87c1-4191bf7021fd",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -944,
        -752
      ],
      "parameters": {
        "width": 720,
        "height": 1748,
        "content": "## \ud83d\udee1\ufe0f AI Influencer Fraud & Fake Follower Detector\n\nAnalyzes influencer profiles and scores authenticity before brand partnership approval. Detects fake followers, bot accounts, and suspicious engagement patterns using AI-powered behavioral analysis.\n\n## \ud83c\udfaf How It Works\n\n**Simple 7-Node Workflow:**\n1. **Input** \u2192 Submit influencer username and platform (Instagram/Twitter/TikTok)\n2. **Fetch** \u2192 Retrieve complete profile data and engagement metrics\n3. **Analyze** \u2192 Examine follower patterns, ratios, growth velocity, engagement\n4. **AI Check** \u2192 Deep behavioral analysis with Claude AI\n5. **Report** \u2192 Generate comprehensive fraud assessment\n6. **Notify** \u2192 Send detailed email report to partnership team\n7. **Log** \u2192 Save to database for tracking\n\n## \u2699\ufe0f Setup Instructions\n\n### 1. Configure API Access\n**Social Platform APIs:**\n- **Instagram**: Get Graph API access token from Meta for Developers\n- **Twitter**: OAuth 2.0 credentials from Twitter Developer Portal\n- **TikTok**: Business API credentials (optional)\n\n**AI Analysis:**\n- **Anthropic Claude API**: Get key from console.anthropic.com\n- Used for advanced behavioral fraud detection\n\n### 2. Setup Notifications\n- Configure SMTP in \"Send Report\" node\n- Update recipient email (partnerships@company.com)\n- Customize HTML template if needed\n\n### 3. Database (Optional)\n- Create PostgreSQL table (schema below)\n- Add database credentials to final node\n- Skip if you don't need historical tracking\n\n### Database Schema\n```sql\nCREATE TABLE partnerships.influencer_fraud_reports (\n  id SERIAL PRIMARY KEY,\n  report_id VARCHAR(255) UNIQUE,\n  username VARCHAR(255),\n  platform VARCHAR(50),\n  profile_url TEXT,\n  followers BIGINT,\n  following BIGINT,\n  posts INTEGER,\n  verified BOOLEAN,\n  authenticity_score INTEGER,\n  risk_level VARCHAR(50),\n  final_decision TEXT,\n  partnership_recommendation VARCHAR(100),\n  ai_verdict VARCHAR(50),\n  ai_confidence VARCHAR(20),\n  red_flags JSONB,\n  fake_follower_estimate VARCHAR(20),\n  detailed_analysis JSONB,\n  created_at TIMESTAMP\n);\n```\n\n## \ud83d\ude80 How to Use\n\n**Webhook Endpoint**: `POST /webhook/influencer-fraud-check`\n\n**Request Body:**\n```json\n{\n  \"username\": \"influencer_handle\",\n  \"platform\": \"instagram\"  // or \"twitter\", \"tiktok\"\n}\n```\n\n**Example:**\n```bash\ncurl -X POST https://your-n8n.com/webhook/influencer-fraud-check \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"username\":\"example_user\",\"platform\":\"instagram\"}'\n```\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "77bed5f9-06df-4aea-849e-c6f1736ce728",
      "name": "Sticky Note - Workflow",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -112,
        16
      ],
      "parameters": {
        "color": 4,
        "width": 640,
        "height": 352,
        "content": "## Input \u2192 Fetch Profile \u2192 Analyze Patterns"
      },
      "typeVersion": 1
    },
    {
      "id": "bc08e159-a9c4-43b3-b060-182640d96b92",
      "name": "Sticky Note - Workflow1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        16
      ],
      "parameters": {
        "color": 4,
        "width": 640,
        "height": 352,
        "content": "## IAI Verification \u2192 Generate Report \u2192 Notify Team "
      },
      "typeVersion": 1
    },
    {
      "id": "01c4e97a-d604-4f8e-a245-0e2c3abc13f1",
      "name": "Sticky Note - Workflow2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1232,
        16
      ],
      "parameters": {
        "color": 4,
        "width": 320,
        "height": 352,
        "content": "## Database Log"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "3149600b-0b4b-4ab2-b43a-549d5c636b55",
  "connections": {
    "Fetch Influencer Data": {
      "main": [
        [
          {
            "node": "Analyze Follower Patterns",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Fraud Report": {
      "main": [
        [
          {
            "node": "Send Report & Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Authenticity Analysis": {
      "main": [
        [
          {
            "node": "Generate Fraud Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Influencer Profile Input": {
      "main": [
        [
          {
            "node": "Fetch Influencer Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Analyze Follower Patterns": {
      "main": [
        [
          {
            "node": "AI Authenticity Analysis",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Report & Notification": {
      "main": [
        [
          {
            "node": "Save to Database",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}