1. 前置条件与架构
基线:Make Web 应用、Zapier Webhooks、Google AI Studio API Key,测试数据 10 条,单条简历不超过 20 KB。免费层足够完成验证,但任务次数、AI 调用次数和 Webhook 保留时间会变化,部署前查看当前账单页面。
- Make 创建 Custom webhook,复制接收地址。
- Zapier 创建 Catch Hook,复制触发地址。
- Make 场景顺序设置为:Webhook → JSON 校验 → HTTP POST 到 Zapier。
- Zapier 顺序设置为:Catch Hook → Gemini 文本分类 → Webhooks POST 回 Make。
推荐字段:candidate_id、title、years、skills、city。不要把身份证号、手机号和完整住址发送给模型。
2. 按步骤配置并调试
- 先用 curl 验证 Make 接收端。
curl -X POST 'MAKE_WEBHOOK_URL' \
-H 'Content-Type: application/json' \
-d '{"candidate_id":"fh-1001","title":"数控车工","years":5,"skills":["FANUC","三坐标"],"city":"奉化"}'
预期输出:HTTP 状态码 200,Make 历史记录出现 1 个新 Bundle。若无记录,检查 Webhook 是否处于侦听状态。
- 在 Make 的 HTTP 模块中,将收到的字段映射到 Zapier Hook。请求体固定为 JSON:
{
"candidate_id": "{{candidate_id}}",
"resume_text": "{{resume_text}}",
"source": "make",
"schema_version": "1.0"
}
Zapier 的 Gemini 步骤要求返回严格 JSON:{"fit":"A|B|C","reasons":[],"missing":[]}。提示词中明确禁止输出 Markdown,避免后续解析失败。
- Zapier 最后增加 Webhooks POST,回传 Make 的第二个 Custom webhook:
curl -X POST 'MAKE_CALLBACK_URL' \
-H 'Content-Type: application/json' \
-d '{"candidate_id":"fh-1001","fit":"A","reasons":["FANUC经验匹配"],"missing":[]}'
预期输出:HTTP 200;Make 运行记录中出现回调 Bundle。用 candidate_id 做幂等键,重复数据直接路由到忽略分支。
3. 验收、限流与故障定位
这套 Zapier Webhook教程的验收标准是:连续发送 10 条测试数据,10 条均有回调;A/B/C 分类总数等于 10;单条端到端延迟低于 15 秒。我在 2026-09 的测试中,10 条、平均 4.2 秒,最长 8.7 秒。
- 401/403:API Key、Hook 地址或请求头错误。
- 429:Gemini 或平台额度触顶;在 Make 设置 30 秒重试、最多 3 次,并增加随机退避。
- JSON 解析失败:增加 Zapier Formatter 或 Make Parse JSON,先记录原始响应,不要直接覆盖。
- 重复执行:用 Data Store 保存
candidate_id和处理状态。
Note:Gemini怎么用取决于账号、API 区域和当前配额;Gemini国内使用时先确认官方服务可达性与组织合规要求,不要把网络绕过方案写进生产流程。
Warning:招聘数据属于个人信息。生产环境至少启用最小权限、日志脱敏、密钥轮换和 30 天自动删除策略。
如何确认已经修复
重新发送同一个 candidate_id 两次:第一次应写入结果,第二次应进入幂等分支;再发送一条缺少 skills 的数据,应被 Make 拒绝并返回明确错误。确认 Zapier、Make 两端日志均无未处理任务后再启用真实表单。
References:Zapier Webhooks、Make HTTP/Webhook、Google Gemini API 文档请直接在各自控制台查看当前版本说明;网络接入与办公自动化环境可参考 商都加速器,但官方免费层和自建方案同样可用。