8
n8n 中文网amn8n.com

为 HR 团队自动化从表单到 Telegram 的职位申请处理

高级

这是一个HR领域的自动化工作流,包含 18 个节点。主要使用 If, Set, Code, Merge, DateTime 等节点。 为 HR 团队实现从表单到 Telegram 的职位申请处理的自动化

前置要求
  • Telegram Bot Token
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "74a3eb1d9183863c3f38b013b35f7a0a47154b35bd27ba9a21ba134094100e42",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "6b22551a-df2d-44e2-a3d3-8f90c5b9187e",
      "name": "表单提交时",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -400,
        -240
      ],
      "webhookId": "b613885c-ca57-490e-a562-976fe3a487f6",
      "parameters": {
        "options": {
          "path": "mmc-newjob",
          "customCss": ":root {\n\t--font-family: 'Open Sans', sans-serif;\n\t--font-weight-normal: 400;\n\t--font-weight-bold: 600;\n\t--font-size-body: 12px;\n\t--font-size-label: 14px;\n\t--font-size-test-notice: 12px;\n\t--font-size-input: 14px;\n\t--font-size-header: 20px;\n\t--font-size-paragraph: 14px;\n\t--font-size-link: 12px;\n\t--font-size-error: 12px;\n\t--font-size-html-h1: 28px;\n\t--font-size-html-h2: 20px;\n\t--font-size-html-h3: 16px;\n\t--font-size-html-h4: 14px;\n\t--font-size-html-h5: 12px;\n\t--font-size-html-h6: 10px;\n\t--font-size-subheader: 14px;\n\n\t/* Colors */\n\t--color-background: #fbfcfe;\n\t--color-test-notice-text: #e6a23d;\n\t--color-test-notice-bg: #fefaf6;\n\t--color-test-notice-border: #f6dcb7;\n\t--color-card-bg: #ffffff;\n\t--color-card-border: #dbdfe7;\n\t--color-card-shadow: rgba(99, 77, 255, 0.06);\n\t--color-link: #7e8186;\n\t--color-header: #525356;\n\t--color-label: #555555;\n\t--color-input-border: #dbdfe7;\n\t--color-input-text: #71747A;\n\t--color-focus-border: rgb(90, 76, 194);\n\t--color-submit-btn-bg: #ff6d5a;\n\t--color-submit-btn-text: #ffffff;\n\t--color-error: #ea1f30;\n\t--color-required: #ff6d5a;\n\t--color-clear-button-bg: #7e8186;\n\t--color-html-text: #555;\n\t--color-html-link: #ff6d5a;\n\t--color-header-subtext: #7e8186;\n\n\t/* Border Radii */\n\t--border-radius-card: 8px;\n\t--border-radius-input: 6px;\n\t--border-radius-clear-btn: 50%;\n\t--card-border-radius: 8px;\n\n\t/* Spacing */\n\t--padding-container-top: 24px;\n\t--padding-card: 24px;\n\t--padding-test-notice-vertical: 12px;\n\t--padding-test-notice-horizontal: 24px;\n\t--margin-bottom-card: 16px;\n\t--padding-form-input: 12px;\n\t--card-padding: 24px;\n\t--card-margin-bottom: 16px;\n\n\t/* Dimensions */\n\t--container-width: 448px;\n\t--submit-btn-height: 48px;\n\t--checkbox-size: 18px;\n\n\t/* Others */\n\t--box-shadow-card: 0px 4px 16px 0px var(--color-card-shadow);\n\t--opacity-placeholder: 0.5;\n}\n\n.form-group.html {\n  margin: 0 -24px;\n}\n.form-group.html span {\n  margin: 24px;\n}",
          "buttonLabel": "Submit",
          "appendAttribution": false
        },
        "formTitle": "Career Application",
        "formFields": {
          "values": [
            {
              "html": "<img src=\"https://img.freepik.com/free-vector/stylish-welcome-lettering-banner-join-with-joy-happiness_1017-57675.jpg\" width=\"100%\"/>",
              "fieldType": "html",
              "elementName": "banner-top"
            },
            {
              "fieldLabel": "Name",
              "placeholder": "Lim Chee Xing",
              "requiredField": true
            },
            {
              "fieldType": "number",
              "fieldLabel": "Age",
              "placeholder": "23",
              "requiredField": true
            },
            {
              "fieldType": "number",
              "fieldLabel": "WhatsApp Number",
              "placeholder": "0182345678",
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Education Level / Degree",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Secondary School"
                  },
                  {
                    "option": "SPM"
                  },
                  {
                    "option": "Diploma"
                  },
                  {
                    "option": "Degree or Above"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldLabel": "Current Occupation",
              "placeholder": "Just graduated, looking for a job / Working at XX as XX / Staying at home to care for children",
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Position Applied",
              "multiselect": true,
              "fieldOptions": {
                "values": [
                  {
                    "option": "Facebook Marketing"
                  },
                  {
                    "option": "Xiaohongshu Marketing"
                  },
                  {
                    "option": "Course Consultant"
                  },
                  {
                    "option": "Any (see which position suits me)"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "date",
              "fieldLabel": "Earliest Start Date",
              "requiredField": true
            },
            {
              "fieldType": "number",
              "fieldLabel": "Expected Salary",
              "placeholder": "1800",
              "requiredField": true
            },
            {
              "html": "<span>Resume – **Can increase interview chances</span>",
              "fieldType": "html"
            },
            {
              "fieldType": "file",
              "fieldLabel": "Resume"
            },
            {
              "fieldType": "textarea",
              "fieldLabel": "Additional Information – **Can persuade HR to invite you for an interview"
            }
          ]
        },
        "formDescription": "Join our team."
      },
      "typeVersion": 2.2
    },
    {
      "id": "ac5c2a8f-fc22-4ec0-8b0c-4aca47d205ae",
      "name": "如果有简历",
      "type": "n8n-nodes-base.if",
      "position": [
        420,
        -260
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "72a76473-fd59-4d1d-aaa2-de6903c71d00",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.Resume }}",
              "rightValue": ""
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "98afc53b-7245-4538-aff3-5c8dc6e465fa",
      "name": "编辑字段",
      "type": "n8n-nodes-base.set",
      "position": [
        200,
        -100
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "d44507d9-9881-4172-8dd2-fb3bada8a1aa",
              "name": "banner-top",
              "type": "string",
              "value": "={{ $('On form submission').item.json['banner-top'] }}"
            },
            {
              "id": "8747858f-42cb-4250-98d0-7c999ccefd25",
              "name": "Name",
              "type": "string",
              "value": "={{ $('On form submission').item.json['Name'] }}"
            },
            {
              "id": "9630466e-7485-433a-86da-c1346831d285",
              "name": "Age",
              "type": "number",
              "value": "={{ $('On form submission').item.json['Age'] }}"
            },
            {
              "id": "36acd3ae-3469-4447-9e48-9fd5d6971030",
              "name": "WhatsApp Number",
              "type": "string",
              "value": "={{ $('Code').item.json['WhatsApp Number'] }}"
            },
            {
              "id": "9bfb47c8-1087-4486-a53f-5aadc6f3001c",
              "name": "Education Level",
              "type": "string",
              "value": "={{ $('On form submission').item.json['Education Level / Degree'] }}"
            },
            {
              "id": "adec4971-49e3-435d-87b7-39b441dcb347",
              "name": "Position Applied",
              "type": "array",
              "value": "={{ $('On form submission').item.json['Position Applied'] }}"
            },
            {
              "id": "b506bea0-b898-4153-9e15-df35dce0ecae",
              "name": "Earliest Start Date",
              "type": "string",
              "value": "={{ $json.formattedDate }}"
            },
            {
              "id": "42d5814a-e226-4722-a4c3-0a4ec1355f2e",
              "name": "Expected Salary",
              "type": "number",
              "value": "={{ $('On form submission').item.json['Expected Salary'] }}"
            },
            {
              "id": "af6a3839-c8e4-46ae-98c6-3c81244c7ec3",
              "name": "Resume",
              "type": "string",
              "value": "={{ $('On form submission').item.json.Resume }}"
            },
            {
              "id": "9e9cf239-88a7-419f-bb80-e4849b15df14",
              "name": "Additional Information",
              "type": "string",
              "value": "={{ $('On form submission').item.json['Additional Information – **Can persuade HR to invite you for an interview'] }}"
            },
            {
              "id": "f64ce133-7376-46a4-b2b4-b1ff22828f24",
              "name": "Current Occupation",
              "type": "string",
              "value": "={{ $('On form submission').item.json['Current Occupation'] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "f5ea7973-e865-4a61-af54-f94a69f3d975",
      "name": "日期和时间",
      "type": "n8n-nodes-base.dateTime",
      "position": [
        0,
        60
      ],
      "parameters": {
        "date": "={{ $json['Earliest Start Date'] }}",
        "options": {},
        "operation": "formatDate"
      },
      "typeVersion": 2
    },
    {
      "id": "98fcf3cd-4c52-40cb-aa87-b94a41b5e970",
      "name": "合并",
      "type": "n8n-nodes-base.merge",
      "position": [
        420,
        -500
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineAll"
      },
      "typeVersion": 3.2
    },
    {
      "id": "aa4f6279-3b64-479e-b9ed-26582065cd9d",
      "name": "发送简历",
      "type": "n8n-nodes-base.telegram",
      "position": [
        920,
        -340
      ],
      "parameters": {
        "chatId": "your-chat-id",
        "operation": "sendDocument",
        "binaryData": true,
        "additionalFields": {
          "caption": "={{ $json['Name'] }}|{{ $json['Age'] }}|{{ $json['Education Level'] }}\n☎️ [{{ $json['WhatsApp Number'] }}](https://wa.me/6{{ $json['WhatsApp Number'] }})\n💼 {{ $json['Position Applied'] }} → Current: {{ $json['Current Occupation'] }}\n📅 {{ $json['Earliest Start Date'] }}\n💰 {{ $json['Expected Salary'] }}\n·\nNote: “{{ $json['Additional Information'] }}”",
          "parse_mode": "MarkdownV2"
        },
        "binaryPropertyName": "Resume"
      },
      "credentials": {
        "telegramApi": {
          "id": "prZwnwXgVHS6Lwgd",
          "name": "@mal_notis_bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c369c256-d5d2-4c6a-9d26-540c1b61772a",
      "name": "发送信息",
      "type": "n8n-nodes-base.telegram",
      "position": [
        920,
        -115
      ],
      "parameters": {
        "text": "={{ $json['Name'] }}|{{ $json['Age'] }}|{{ $json['Education Level'] }}\n☎️ [{{ $json['WhatsApp Number'] }}](https://wa.me/6{{ $json['WhatsApp Number'] }})\n💼 {{ $json['Position Applied'] }} → Current: {{ $json['Current Occupation'] }}\n📅 {{ $json['Earliest Start Date'] }}\n💰 {{ $json['Expected Salary'] }}\n·\nNote: “{{ $json['Additional Information'] }}”",
        "chatId": "your-chat-id",
        "additionalFields": {
          "parse_mode": "MarkdownV2",
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "prZwnwXgVHS6Lwgd",
          "name": "@mal_notis_bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "1634ef3c-a55a-4f64-9645-5e0a21396a26",
      "name": "无操作,不执行任何操作",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1260,
        -240
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "5404267c-d6b1-4338-8436-78e33ce7f8b1",
      "name": "代码",
      "type": "n8n-nodes-base.code",
      "position": [
        -180,
        -80
      ],
      "parameters": {
        "jsCode": "return items.map(item => {\n  let num = String(item.json['WhatsApp Number']);\n  if (!num.startsWith('0')) {\n    num = '0' + num;\n  }\n  item.json['WhatsApp Number'] = num;\n  return item;\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "882c8ad4-90be-45ef-965b-7a80c3cdccb3",
      "name": "概述说明",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        -560
      ],
      "parameters": {
        "color": 7,
        "width": 600,
        "height": 260,
        "content": "🔶 **概述**:此工作流处理通过网页表单提交的新职业申请。"
      },
      "typeVersion": 1
    },
    {
      "id": "2c84d179-82af-41ec-b795-ba382aacd473",
      "name": "表单触发器说明",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        -240
      ],
      "parameters": {
        "width": 400,
        "height": 120,
        "content": "**表单提交时**:接收所有申请者字段。使用 webhook 捕获表单数据。"
      },
      "typeVersion": 1
    },
    {
      "id": "260ea9b6-7523-41a6-ab5f-d247e6492509",
      "name": "规范化电话说明",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -620,
        -80
      ],
      "parameters": {
        "width": 360,
        "height": 100,
        "content": "**代码**:确保 WhatsApp 号码以零开头(如果缺失)。"
      },
      "typeVersion": 1
    },
    {
      "id": "204a6f14-53d6-451f-9f21-ab4b53e79b56",
      "name": "格式化日期说明",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -420,
        60
      ],
      "parameters": {
        "width": 360,
        "height": 100,
        "content": "**日期与时间**:将\"最早开始日期\"格式化为标准日期字符串。"
      },
      "typeVersion": 1
    },
    {
      "id": "01ab050b-5080-4062-bf7a-591e54f25e05",
      "name": "映射字段说明",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        200,
        60
      ],
      "parameters": {
        "width": 400,
        "height": 120,
        "content": "**编辑字段**:重命名并映射表单字段为统一的 JSON 属性,供下游使用。"
      },
      "typeVersion": 1
    },
    {
      "id": "c841e2be-5a6a-4ba8-a8e8-aecefde46135",
      "name": "分支说明",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        420,
        -120
      ],
      "parameters": {
        "width": 440,
        "height": 140,
        "content": "**如果有简历**:根据是否提供了简历文件路由到两个路径:"
      },
      "typeVersion": 1
    },
    {
      "id": "dc212dcc-73e4-467e-ba37-75ff101543db",
      "name": "合并备注",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        -500
      ],
      "parameters": {
        "width": 380,
        "height": 100,
        "content": "**合并**:将两个分支合并回单个项目以进行最终处理。"
      },
      "typeVersion": 1
    },
    {
      "id": "7c871645-9e7d-42af-9cb5-1c66e3dcd67a",
      "name": "发送简历说明",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1060,
        -340
      ],
      "parameters": {
        "width": 400,
        "height": 120,
        "content": "**发送简历**:将上传的简历文件发送到 HR Telegram 群组,并在标题中包含申请者详情。"
      },
      "typeVersion": 1
    },
    {
      "id": "28109d7d-6c31-49a4-b1bc-a520b7b6f97d",
      "name": "发送信息说明",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1060,
        -120
      ],
      "parameters": {
        "width": 400,
        "height": 120,
        "content": "**发送信息**:当没有简历文件时发送纯文本申请者详情。"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {
    "On form submission": [
      {
        "Age": 25,
        "Name": "PUA JIA Wen",
        "Resume": [
          {
            "size": 31747,
            "filename": "Professional Minimalist CV Resume.pdf",
            "mimetype": "application/pdf"
          }
        ],
        "formMode": "production",
        "banner-top": "<img src=\"https://nocobase.maomaochia.com/storage/uploads/Welcome%20to%20Maomao%20Chia-izugwj.png\" width=\"100%\" />",
        "submittedAt": "2025-07-05T11:38:29.118+08:00",
        "Expected Salary": 2500,
        "WhatsApp Number": 183677119,
        "Position Applied": [
          "Course Consultant"
        ],
        "Current Occupation": "Real Estate Loan Company",
        "Earliest Start Date": "2025-08-01",
        "Education Level / Degree": "Diploma",
        "Additional Information – **Can persuade HR to invite you for an interview": ""
      }
    ]
  },
  "connections": {
    "Code": {
      "main": [
        [
          {
            "node": "Date & Time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Send a Resume",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Date & Time": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "If Have Resume",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send a Info": {
      "main": [
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send a Resume": {
      "main": [
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If Have Resume": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ],
        [
          {
            "node": "Send a Info",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          },
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 人力资源

需要付费吗?

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

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

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

外部链接
在 n8n.io 查看

分享此工作流