8
n8n 中文网amn8n.com

多司法管辖区智能合约合规监控器 - 自动警报

高级

这是一个Document Extraction, AI Summarization领域的自动化工作流,包含 16 个节点。主要使用 If, Set, Code, Gmail, Postgres 等节点。 多司法管辖区智能合约合规监控器,支持自动警报

前置要求
  • Google 账号和 Gmail API 凭证
  • PostgreSQL 数据库连接信息
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "nodes": [
    {
      "id": "1",
      "name": "每日合规性检查",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        240,
        300
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "value": "0 8 * * 1-5"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        140,
        180
      ],
      "parameters": {
        "width": 240,
        "height": 160,
        "content": "## 合规监控器设置"
      },
      "typeVersion": 1
    },
    {
      "id": "3",
      "name": "合规设置",
      "type": "n8n-nodes-base.set",
      "position": [
        440,
        300
      ],
      "parameters": {
        "values": {
          "number": [
            {
              "name": "mediumRiskThreshold",
              "value": 31
            },
            {
              "name": "highRiskThreshold",
              "value": 61
            },
            {
              "name": "criticalRiskThreshold",
              "value": 81
            }
          ],
          "string": [
            {
              "name": "jurisdictions",
              "value": "EU,US,UK,FR"
            },
            {
              "name": "legalEmail",
              "value": "legal@company.com"
            },
            {
              "name": "complianceOfficer",
              "value": "compliance@company.com"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "4",
      "name": "监控欧盟法规",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        640,
        200
      ],
      "parameters": {
        "qs": {
          "qid": "regulatory_updates",
          "DD_YEAR": "{{ new Date().getFullYear() }}",
          "DD_MONTH": "{{ String(new Date().getMonth() + 1).padStart(2, '0') }}",
          "SUBDOM_INIT": "LEGISLATION"
        },
        "url": "https://eur-lex.europa.eu/legal-content/EN/ALL/",
        "method": "GET"
      },
      "typeVersion": 1
    },
    {
      "id": "5",
      "name": "监控美国联邦公报",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        640,
        300
      ],
      "parameters": {
        "qs": {
          "order": "newest",
          "fields[]": "title,html_url,publication_date,abstract",
          "per_page": 20,
          "conditions[publication_date][gte]": "{{ new Date(Date.now() - 7*24*60*60*1000).toISOString().split('T')[0] }}"
        },
        "url": "https://www.federalregister.gov/api/v1/documents.json",
        "method": "GET"
      },
      "typeVersion": 1
    },
    {
      "id": "6",
      "name": "监控英国立法",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        640,
        400
      ],
      "parameters": {
        "qs": {
          "limit": 20,
          "format": "json"
        },
        "url": "https://www.legislation.gov.uk/new",
        "method": "GET"
      },
      "typeVersion": 1
    },
    {
      "id": "7",
      "name": "获取活跃合同",
      "type": "n8n-nodes-base.postgres",
      "position": [
        640,
        500
      ],
      "parameters": {
        "query": "SELECT contract_id, contract_type, jurisdiction, signing_date, expiry_date, key_clauses, compliance_tags FROM contracts WHERE status = 'active'"
      },
      "typeVersion": 1
    },
    {
      "id": "8",
      "name": "分析合规影响",
      "type": "n8n-nodes-base.code",
      "position": [
        840,
        350
      ],
      "parameters": {
        "jsCode": "// Advanced compliance risk analysis\nconst complianceSettings = $node['Compliance Settings'].json;\nconst jurisdictions = complianceSettings.jurisdictions.split(',');\n\n// Collect all regulatory updates\nconst regulatoryUpdates = [];\n\n// Process EU regulations\nconst euData = $node['Monitor EU Regulations'].json;\nif (euData && euData.results) {\n  euData.results.forEach(reg => {\n    regulatoryUpdates.push({\n      jurisdiction: 'EU',\n      title: reg.title,\n      url: reg.url,\n      date: reg.date,\n      category: 'legislation',\n      impact_areas: extractImpactAreas(reg.title + ' ' + reg.abstract)\n    });\n  });\n}\n\n// Process US Federal Register\nconst usData = $node['Monitor US Federal Register'].json;\nif (usData && usData.results) {\n  usData.results.forEach(reg => {\n    regulatoryUpdates.push({\n      jurisdiction: 'US',\n      title: reg.title,\n      url: reg.html_url,\n      date: reg.publication_date,\n      category: 'federal_register',\n      impact_areas: extractImpactAreas(reg.title + ' ' + reg.abstract)\n    });\n  });\n}\n\n// Process UK legislation\nconst ukData = $node['Monitor UK Legislation'].json;\nif (ukData && ukData.results) {\n  ukData.results.forEach(reg => {\n    regulatoryUpdates.push({\n      jurisdiction: 'UK',\n      title: reg.title,\n      url: reg.uri,\n      date: reg.date,\n      category: 'legislation',\n      impact_areas: extractImpactAreas(reg.title)\n    });\n  });\n}\n\n// Get active contracts\nconst contracts = $node['Get Active Contracts'].json;\n\n// Analyze compliance risks\nconst complianceAnalysis = [];\n\nregulatoryUpdates.forEach(update => {\n  // Find potentially affected contracts\n  const affectedContracts = contracts.filter(contract => {\n    const contractJurisdiction = contract.jurisdiction;\n    const contractType = contract.contract_type;\n    const contractClauses = contract.key_clauses || '';\n    const complianceTags = contract.compliance_tags || '';\n    \n    // Check jurisdiction match\n    if (contractJurisdiction !== update.jurisdiction) return false;\n    \n    // Check impact area relevance\n    const isRelevant = update.impact_areas.some(area => \n      contractClauses.toLowerCase().includes(area) || \n      complianceTags.toLowerCase().includes(area)\n    );\n    \n    return isRelevant;\n  });\n  \n  if (affectedContracts.length > 0) {\n    // Calculate risk score\n    let riskScore = 0;\n    \n    // Base risk from number of affected contracts\n    riskScore += Math.min(affectedContracts.length * 10, 40);\n    \n    // Risk from impact areas\n    const highRiskAreas = ['data protection', 'financial services', 'healthcare', 'employment'];\n    const impactRisk = update.impact_areas.filter(area => \n      highRiskAreas.some(hrArea => area.includes(hrArea))\n    ).length * 15;\n    riskScore += Math.min(impactRisk, 30);\n    \n    // Recency risk\n    const daysSinceUpdate = (new Date() - new Date(update.date)) / (1000 * 60 * 60 * 24);\n    if (daysSinceUpdate <= 7) riskScore += 20;\n    else if (daysSinceUpdate <= 30) riskScore += 10;\n    \n    // Contract expiry urgency\n    const nearExpiryContracts = affectedContracts.filter(contract => {\n      const daysToExpiry = (new Date(contract.expiry_date) - new Date()) / (1000 * 60 * 60 * 24);\n      return daysToExpiry <= 90;\n    });\n    riskScore += nearExpiryContracts.length * 5;\n    \n    // Determine risk level\n    let riskLevel = 'low';\n    let riskColor = '🟢';\n    let recommendedAction = 'monitor';\n    \n    if (riskScore >= complianceSettings.criticalRiskThreshold) {\n      riskLevel = 'critical';\n      riskColor = '🔴';\n      recommendedAction = 'emergency_review';\n    } else if (riskScore >= complianceSettings.highRiskThreshold) {\n      riskLevel = 'high';\n      riskColor = '🟠';\n      recommendedAction = 'immediate_review';\n    } else if (riskScore >= complianceSettings.mediumRiskThreshold) {\n      riskLevel = 'medium';\n      riskColor = '🟡';\n      recommendedAction = 'scheduled_review';\n    }\n    \n    complianceAnalysis.push({\n      regulatory_update: update,\n      affected_contracts: affectedContracts,\n      risk_score: Math.round(riskScore),\n      risk_level: riskLevel,\n      risk_color: riskColor,\n      recommended_action: recommendedAction,\n      impact_assessment: {\n        contract_count: affectedContracts.length,\n        jurisdictions_affected: [update.jurisdiction],\n        high_priority_contracts: nearExpiryContracts.length,\n        estimated_review_hours: affectedContracts.length * 2\n      },\n      analyzed_at: new Date().toISOString()\n    });\n  }\n});\n\n// Helper function to extract impact areas\nfunction extractImpactAreas(text) {\n  const impactKeywords = {\n    'data protection': ['gdpr', 'privacy', 'data protection', 'personal data'],\n    'financial services': ['banking', 'finance', 'securities', 'investment'],\n    'healthcare': ['healthcare', 'medical', 'pharmaceutical', 'hipaa'],\n    'employment': ['employment', 'labor', 'workplace', 'discrimination'],\n    'environmental': ['environmental', 'sustainability', 'climate', 'carbon'],\n    'cybersecurity': ['cyber', 'security', 'breach', 'information security']\n  };\n  \n  const areas = [];\n  const lowerText = text.toLowerCase();\n  \n  Object.entries(impactKeywords).forEach(([area, keywords]) => {\n    if (keywords.some(keyword => lowerText.includes(keyword))) {\n      areas.push(area);\n    }\n  });\n  \n  return areas;\n}\n\nreturn complianceAnalysis.filter(analysis => analysis.risk_score > 0);"
      },
      "typeVersion": 1
    },
    {
      "id": "9",
      "name": "筛选关键合规问题",
      "type": "n8n-nodes-base.if",
      "position": [
        1040,
        250
      ],
      "parameters": {
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.risk_level }}",
              "rightValue": "critical"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "10",
      "name": "发送关键法律警报",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1240,
        150
      ],
      "parameters": {
        "sendTo": "={{ $node['Compliance Settings'].json.legalEmail }}",
        "message": "=<!DOCTYPE html>\n<html>\n<head>\n  <style>\n    body { font-family: Arial, sans-serif; margin: 20px; background-color: #f8f9fa; }\n    .container { max-width: 700px; margin: 0 auto; background: white; padding: 30px; border-radius: 10px; }\n    .critical-alert { background: linear-gradient(45deg, #dc3545, #b21e2f); color: white; padding: 20px; text-align: center; margin: -30px -30px 30px -30px; border-radius: 10px 10px 0 0; }\n    .regulatory-update { background: #f8d7da; padding: 15px; margin: 15px 0; border-radius: 5px; border-left: 4px solid #dc3545; }\n    .affected-contracts { background: #fff3cd; padding: 15px; margin: 15px 0; border-radius: 5px; }\n    .impact-assessment { background: #e2e3e5; padding: 15px; margin: 15px 0; border-radius: 5px; }\n    .immediate-actions { background: #d4edda; padding: 15px; margin: 15px 0; border-radius: 5px; border-left: 4px solid #28a745; }\n    .contract-list { background: #f8f9fa; padding: 10px; margin: 10px 0; border-radius: 3px; }\n    .cta { background: #007bff; color: white; padding: 15px 30px; text-decoration: none; border-radius: 5px; display: inline-block; margin: 20px 0; }\n  </style>\n</head>\n<body>\n  <div class=\"container\">\n    <div class=\"critical-alert\">\n      <h2>⚖️ CRITICAL COMPLIANCE EMERGENCY</h2>\n      <p>Immediate legal intervention required - Risk Level: {{ $json.risk_score }}/100</p>\n    </div>\n    \n    <div class=\"regulatory-update\">\n      <h3>📋 Regulatory Change Details</h3>\n      <p><strong>Jurisdiction:</strong> {{ $json.regulatory_update.jurisdiction }}</p>\n      <p><strong>Title:</strong> {{ $json.regulatory_update.title }}</p>\n      <p><strong>Date:</strong> {{ new Date($json.regulatory_update.date).toLocaleDateString() }}</p>\n      <p><strong>Source:</strong> <a href=\"{{ $json.regulatory_update.url }}\">{{ $json.regulatory_update.url }}</a></p>\n      <p><strong>Impact Areas:</strong> {{ $json.regulatory_update.impact_areas.join(', ') }}</p>\n    </div>\n    \n    <div class=\"affected-contracts\">\n      <h3>📄 Affected Contracts ({{ $json.affected_contracts.length }})</h3>\n      {{#each $json.affected_contracts}}\n      <div class=\"contract-list\">\n        <p><strong>Contract ID:</strong> {{ this.contract_id }}</p>\n        <p><strong>Type:</strong> {{ this.contract_type }}</p>\n        <p><strong>Expiry:</strong> {{ new Date(this.expiry_date).toLocaleDateString() }}</p>\n      </div>\n      {{/each}}\n    </div>\n    \n    <div class=\"impact-assessment\">\n      <h3>📊 Impact Assessment</h3>\n      <p><strong>Risk Score:</strong> {{ $json.risk_color }} {{ $json.risk_score }}/100</p>\n      <p><strong>Contracts Affected:</strong> {{ $json.impact_assessment.contract_count }}</p>\n      <p><strong>High Priority Contracts:</strong> {{ $json.impact_assessment.high_priority_contracts }}</p>\n      <p><strong>Estimated Review Time:</strong> {{ $json.impact_assessment.estimated_review_hours }} hours</p>\n    </div>\n    \n    <div class=\"immediate-actions\">\n      <h3>🚨 Immediate Actions Required</h3>\n      <ul>\n        <li>Convene emergency legal review meeting within 24 hours</li>\n        <li>Conduct detailed analysis of regulatory impact on affected contracts</li>\n        <li>Prepare contract amendment strategies and compliance roadmap</li>\n        <li>Notify relevant stakeholders and department heads</li>\n        <li>Document all compliance actions and decisions</li>\n        <li>Establish timeline for contract modifications</li>\n      </ul>\n    </div>\n    \n    <div style=\"text-align: center;\">\n      <a href=\"{{ $json.regulatory_update.url }}\" class=\"cta\">📖 Review Regulation</a>\n      <a href=\"mailto:{{ $node['Compliance Settings'].json.complianceOfficer }}\" class=\"cta\">📧 Alert Compliance</a>\n    </div>\n    \n    <p style=\"color: #666; font-size: 14px; margin-top: 30px;\">\n      Alert generated: {{ $json.analyzed_at }}<br>\n      This is an automated compliance alert requiring immediate attention.\n    </p>\n  </div>\n</body>\n</html>",
        "options": {
          "contentType": "html"
        },
        "subject": "🚨 CRITICAL COMPLIANCE ALERT - Immediate Legal Review Required"
      },
      "typeVersion": 1
    },
    {
      "id": "11",
      "name": "筛选高风险问题",
      "type": "n8n-nodes-base.if",
      "position": [
        1040,
        350
      ],
      "parameters": {
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.risk_level }}",
              "rightValue": "high"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "12",
      "name": "发送高风险警报",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1240,
        350
      ],
      "parameters": {
        "sendTo": "={{ $node['Compliance Settings'].json.legalEmail }}",
        "message": "=<!DOCTYPE html>\n<html>\n<head>\n  <style>\n    body { font-family: Arial, sans-serif; margin: 20px; background-color: #f8f9fa; }\n    .container { max-width: 600px; margin: 0 auto; background: white; padding: 30px; border-radius: 10px; }\n    .high-risk-alert { background: linear-gradient(45deg, #fd7e14, #e8590c); color: white; padding: 20px; text-align: center; margin: -30px -30px 30px -30px; border-radius: 10px 10px 0 0; }\n    .regulatory-summary { background: #fff3cd; padding: 15px; margin: 15px 0; border-radius: 5px; border-left: 4px solid #ffc107; }\n    .contract-summary { background: #e8f4f8; padding: 15px; margin: 15px 0; border-radius: 5px; }\n    .action-plan { background: #d1ecf1; padding: 15px; margin: 15px 0; border-radius: 5px; border-left: 4px solid #17a2b8; }\n    .cta { background: #007bff; color: white; padding: 15px 30px; text-decoration: none; border-radius: 5px; display: inline-block; margin: 20px 0; }\n  </style>\n</head>\n<body>\n  <div class=\"container\">\n    <div class=\"high-risk-alert\">\n      <h2>🟠 HIGH PRIORITY COMPLIANCE REVIEW</h2>\n      <p>Legal review required within 72 hours</p>\n    </div>\n    \n    <p>A regulatory change has been identified that requires prompt legal review of affected contracts.</p>\n    \n    <div class=\"regulatory-summary\">\n      <h3>📋 Regulatory Update Summary</h3>\n      <p><strong>Jurisdiction:</strong> {{ $json.regulatory_update.jurisdiction }}</p>\n      <p><strong>Title:</strong> {{ $json.regulatory_update.title }}</p>\n      <p><strong>Impact Areas:</strong> {{ $json.regulatory_update.impact_areas.join(', ') }}</p>\n      <p><strong>Risk Score:</strong> {{ $json.risk_color }} {{ $json.risk_score }}/100</p>\n    </div>\n    \n    <div class=\"contract-summary\">\n      <h3>📄 Contract Impact</h3>\n      <p><strong>Affected Contracts:</strong> {{ $json.impact_assessment.contract_count }}</p>\n      <p><strong>Estimated Review Time:</strong> {{ $json.impact_assessment.estimated_review_hours }} hours</p>\n      <p><strong>High Priority Contracts:</strong> {{ $json.impact_assessment.high_priority_contracts }}</p>\n    </div>\n    \n    <div class=\"action-plan\">\n      <h3>📅 Recommended Timeline</h3>\n      <ul>\n        <li><strong>Day 1:</strong> Initial regulatory analysis and contract review</li>\n        <li><strong>Day 2:</strong> Identify specific compliance gaps and risks</li>\n        <li><strong>Day 3:</strong> Develop remediation strategy and timeline</li>\n        <li><strong>Week 1:</strong> Begin contract amendment process</li>\n      </ul>\n    </div>\n    \n    <div style=\"text-align: center;\">\n      <a href=\"{{ $json.regulatory_update.url }}\" class=\"cta\">📖 Review Regulation</a>\n      <a href=\"#\" class=\"cta\">📋 Schedule Review</a>\n    </div>\n    \n    <p style=\"color: #666; font-size: 14px; margin-top: 30px;\">\n      Please prioritize this review based on the risk assessment. Contact the compliance team with any questions.\n    </p>\n  </div>\n</body>\n</html>",
        "options": {
          "contentType": "html"
        },
        "subject": "🟠 High Priority Compliance Review - {{ $json.regulatory_update.jurisdiction }}"
      },
      "typeVersion": 1
    },
    {
      "id": "13",
      "name": "筛选中等风险问题",
      "type": "n8n-nodes-base.if",
      "position": [
        1040,
        450
      ],
      "parameters": {
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.risk_level }}",
              "rightValue": "medium"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "14",
      "name": "发送中等风险警报",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1240,
        450
      ],
      "parameters": {
        "sendTo": "={{ $node['Compliance Settings'].json.complianceOfficer }}",
        "message": "=<!DOCTYPE html>\n<html>\n<head>\n  <style>\n    body { font-family: Arial, sans-serif; margin: 20px; background-color: #f8f9fa; }\n    .container { max-width: 600px; margin: 0 auto; background: white; padding: 30px; border-radius: 10px; }\n    .medium-risk { background: #ffc107; color: #212529; padding: 20px; text-align: center; margin: -30px -30px 30px -30px; border-radius: 10px 10px 0 0; }\n    .update-summary { background: #fff3cd; padding: 15px; margin: 15px 0; border-radius: 5px; }\n    .monitoring-plan { background: #e8f4f8; padding: 15px; margin: 15px 0; border-radius: 5px; }\n  </style>\n</head>\n<body>\n  <div class=\"container\">\n    <div class=\"medium-risk\">\n      <h2>🟡 COMPLIANCE MONITORING UPDATE</h2>\n      <p>Scheduled review recommended</p>\n    </div>\n    \n    <p>A regulatory change has been identified that may impact some of our contracts. Please schedule a review within the next 2 weeks.</p>\n    \n    <div class=\"update-summary\">\n      <h3>📊 Update Summary</h3>\n      <p><strong>Regulation:</strong> {{ $json.regulatory_update.title }}</p>\n      <p><strong>Jurisdiction:</strong> {{ $json.regulatory_update.jurisdiction }}</p>\n      <p><strong>Contracts Affected:</strong> {{ $json.impact_assessment.contract_count }}</p>\n      <p><strong>Risk Level:</strong> {{ $json.risk_color }} {{ $json.risk_level }} ({{ $json.risk_score }}/100)</p>\n    </div>\n    \n    <div class=\"monitoring-plan\">\n      <h3>📋 Recommended Actions</h3>\n      <ul>\n        <li>Schedule contract review meeting within 2 weeks</li>\n        <li>Assess specific impact on affected contracts</li>\n        <li>Determine if contract amendments are needed</li>\n        <li>Update compliance documentation</li>\n        <li>Monitor for additional regulatory guidance</li>\n      </ul>\n    </div>\n    \n    <p>No immediate action required, but please ensure this is added to your compliance review calendar.</p>\n    \n    <p style=\"color: #666; font-size: 14px; margin-top: 30px;\">\n      Next compliance check: {{ new Date(Date.now() + 14*24*60*60*1000).toLocaleDateString() }}\n    </p>\n  </div>\n</body>\n</html>",
        "options": {
          "contentType": "html"
        },
        "subject": "🟡 Compliance Monitoring Update - {{ $json.regulatory_update.jurisdiction }}"
      },
      "typeVersion": 1
    },
    {
      "id": "15",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1140,
        60
      ],
      "parameters": {
        "width": 240,
        "height": 160,
        "content": "## 法律合规"
      },
      "typeVersion": 1
    },
    {
      "id": "16",
      "name": "记录合规检查",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1040,
        570
      ],
      "parameters": {
        "values": {
          "values": [
            "={{ $json.regulatory_update.title }}",
            "={{ $json.regulatory_update.jurisdiction }}",
            "={{ $json.risk_score }}",
            "={{ $json.risk_level }}",
            "={{ $json.impact_assessment.contract_count }}",
            "={{ $json.recommended_action }}",
            "={{ $json.analyzed_at }}"
          ]
        },
        "resource": "sheet",
        "operation": "appendRow",
        "sheetName": "Compliance Monitoring Log",
        "documentId": "your-google-sheet-id"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Compliance Settings": {
      "main": [
        [
          {
            "node": "Monitor EU Regulations",
            "type": "main",
            "index": 0
          },
          {
            "node": "Monitor US Federal Register",
            "type": "main",
            "index": 0
          },
          {
            "node": "Monitor UK Legislation",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get Active Contracts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Active Contracts": {
      "main": [
        [
          {
            "node": "Analyze Compliance Impact",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Daily Compliance Check": {
      "main": [
        [
          {
            "node": "Compliance Settings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Monitor EU Regulations": {
      "main": [
        [
          {
            "node": "Analyze Compliance Impact",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Monitor UK Legislation": {
      "main": [
        [
          {
            "node": "Analyze Compliance Impact",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter High Risk Issues": {
      "main": [
        [
          {
            "node": "Send High Risk Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Analyze Compliance Impact": {
      "main": [
        [
          {
            "node": "Filter Critical Compliance Issues",
            "type": "main",
            "index": 0
          },
          {
            "node": "Filter High Risk Issues",
            "type": "main",
            "index": 0
          },
          {
            "node": "Filter Medium Risk Issues",
            "type": "main",
            "index": 0
          },
          {
            "node": "Log Compliance Check",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Medium Risk Issues": {
      "main": [
        [
          {
            "node": "Send Medium Risk Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Monitor US Federal Register": {
      "main": [
        [
          {
            "node": "Analyze Compliance Impact",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Critical Compliance Issues": {
      "main": [
        [
          {
            "node": "Send Critical Legal Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 文档提取, AI 摘要总结

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量16
分类2
节点类型9
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

外部链接
在 n8n.io 查看

分享此工作流