{
  "schemaVersion": 1,
  "id": "5291eab1d20942c7aee4cc6122f35532",
  "name": "企业微信 · 多联系人 · 引用回复 1",
  "description": "收到消息后，使用系统条件分支筛选多个联系人。选中“筛选多个联系人”，将左值 left 的空数组 [] 改为允许的完整联系人 ID 字符串数组，例如 [\"联系人ID1\",\"联系人ID2\"]；比较保留 contains，右值 right 已连接发送者 ID。任意一个 ID 精确匹配后，在原会话引用该消息回复 1，否则结束。不限定群聊或消息类型。导入默认关闭，空列表不会回复；连接企业微信、填写列表并保存后，在工作流列表开启。",
  "enabled": false,
  "priority": 0,
  "kind": "Graph",
  "graph": {
    "nodes": [
      {
        "id": "receive",
        "capabilityId": "xfe.wecom.message.received",
        "name": "收到消息",
        "x": 160,
        "y": 180,
        "parameters": {},
        "code": "",
        "trigger": {
          "id": "receive",
          "kind": "Plugin",
          "enabled": true,
          "intervalSeconds": 300,
          "dailyTime": "09:00",
          "path": "",
          "filter": "*",
          "capabilityId": "xfe.wecom.message.received",
          "parameters": {},
          "inputBindings": {},
          "sourceWorkflowId": "",
          "completionStatus": "Succeeded"
        },
        "children": {},
        "timeoutSeconds": 0,
        "retryCount": 0,
        "retryDelayMilliseconds": 500
      },
      {
        "id": "allowed-contacts",
        "capabilityId": "core.if",
        "name": "筛选多个联系人",
        "x": 640,
        "y": 260,
        "parameters": {
          "left": [],
          "operator": "contains",
          "normalizeText": false,
          "ignoreCase": false
        },
        "code": "",
        "trigger": null,
        "children": {},
        "timeoutSeconds": 0,
        "retryCount": 0,
        "retryDelayMilliseconds": 500
      },
      {
        "id": "reply",
        "capabilityId": "xfe.wecom.quoteReply",
        "name": "引用原消息回复 1",
        "x": 1120,
        "y": 260,
        "parameters": {
          "content": "1",
          "quoteOriginal": true,
          "dryRun": false
        },
        "code": "",
        "trigger": null,
        "children": {},
        "timeoutSeconds": 0,
        "retryCount": 0,
        "retryDelayMilliseconds": 500
      },
      {
        "id": "done",
        "capabilityId": "core.end",
        "name": "完成回复",
        "x": 1600,
        "y": 260,
        "parameters": {},
        "code": "",
        "trigger": null,
        "children": {},
        "timeoutSeconds": 0,
        "retryCount": 0,
        "retryDelayMilliseconds": 500
      },
      {
        "id": "skip",
        "capabilityId": "core.end",
        "name": "忽略其他联系人",
        "x": 1120,
        "y": 840,
        "parameters": {
          "result": {
            "status": "Skipped",
            "reason": "发送者不在允许的联系人列表中"
          }
        },
        "code": "",
        "trigger": null,
        "children": {},
        "timeoutSeconds": 0,
        "retryCount": 0,
        "retryDelayMilliseconds": 500
      }
    ],
    "edges": [
      {
        "id": "receive-filter",
        "fromNode": "receive",
        "fromPort": "next",
        "toNode": "allowed-contacts",
        "toPort": "in",
        "kind": "Execution"
      },
      {
        "id": "match-reply",
        "fromNode": "allowed-contacts",
        "fromPort": "true",
        "toNode": "reply",
        "toPort": "in",
        "kind": "Execution"
      },
      {
        "id": "no-match-skip",
        "fromNode": "allowed-contacts",
        "fromPort": "false",
        "toNode": "skip",
        "toPort": "in",
        "kind": "Execution"
      },
      {
        "id": "reply-done",
        "fromNode": "reply",
        "fromPort": "next",
        "toNode": "done",
        "toPort": "in",
        "kind": "Execution"
      },
      {
        "id": "sender-to-filter",
        "fromNode": "receive",
        "fromPort": "senderId",
        "toNode": "allowed-contacts",
        "toPort": "right",
        "kind": "Data"
      },
      {
        "id": "message-to-reply",
        "fromNode": "receive",
        "fromPort": "message",
        "toNode": "reply",
        "toPort": "message",
        "kind": "Data"
      },
      {
        "id": "reply-result",
        "fromNode": "reply",
        "fromPort": "result",
        "toNode": "done",
        "toPort": "result",
        "kind": "Data"
      }
    ]
  },
  "code": "",
  "generatedCodeHash": "",
  "previousCode": "",
  "inputs": [],
  "outputs": [],
  "inputDefaults": {},
  "variables": {},
  "pluginVersions": {
    "xfe.wecom": "3.0.0"
  },
  "triggers": [],
  "modifiedAt": "2026-10-12T06:59:00.4969505+00:00"
}
