常见问题及解决方案
工作流未触发
症状:您的工作流未在您预期的时间运行。
可能原因:
- 工作流未激活:请确保工作流设置为 “Active” 而非 “Draft”
- 未满足触发条件:请确认触发器与您期望的事件匹配
- 字段未被监控:对于 “Record is Updated” 触发器,请确保正在监控特定字段
- 权限:检查您是否具有运行工作流的权限
解决方案:
- 在工作流列表中核实工作流状态
- 使用您期望触发它的特定操作进行测试
- 检查触发器配置
- 就权限问题联系您的管理员
工作流触发过早(字段为空)
症状:在 UI 中手动创建记录时,您的工作流会在您填完所有字段之前就被触发。 工作流在大多数字段值为空的情况下运行。
原因:Twenty 实时保存所有内容——不存在单独的 “edit” 与 “read” 模式。 当您创建一条记录时,它会立即被保存,在您填写其他字段之前就触发 “Record is created” 事件。
当 “Record is created” 效果良好时:
- 通过 API 调用创建的记录(字段在单个请求中填充)
- 通过导入创建的记录
- 由其他工作流自动创建记录
解决方案:对于在 UI 中手动创建的记录,请改用 “Record is created or updated” 作为触发器。 这样一来:
- 工作流会在用户完成填写并保存字段后再触发
- 您将获得完整的数据,而不是空值
如果您只希望每条记录的工作流仅运行一次,请添加一个 Filter 操作以检查某个字段,例如 createdAt equals updatedAt(首次保存),或使用自定义复选框字段来跟踪该工作流是否已运行。
操作失败
症状:工作流已运行,但部分操作失败。
可能原因:
- 数据缺失:必填字段为空
- 引用无效:来自前面步骤的变量不存在
- API 错误:外部服务返回错误
- 权限问题:该操作需要您不具备的权限
解决方案:
- 在工作流运行详情中查看错误消息
- 确认所有必填字段都有值
- 单独测试 API 连接
- 检查角色权限
HTTP 请求错误
症状:HTTP 请求操作失败或返回意外结果。
常见错误代码:
- 400: 错误请求 - 检查请求正文格式
- 401: 未授权 - 验证 API 密钥
- 403: 禁止访问 - 检查 API 权限
- 404: 未找到 - 核实端点 URL
- 429: 请求过多 - 实施速率限制
- 500: 服务器错误 - 外部服务问题
解决方案:
- 核实 API 端点 URL
- 检查身份验证请求头
- 先在 Twenty 之外测试该 API 调用
- 在 Code 操作中添加错误处理
Code 操作错误
症状:JavaScript 代码执行失败。
常见问题:
- 语法错误:拼写错误或无效的 JavaScript
- 未定义的变量:引用了不存在的变量
- 类型错误:对错误的数据类型进行操作
- 超时:代码执行时间过长
解决方案:
- 使用内置代码编辑器的校验功能
- 先在 JavaScript 控制台中测试代码逻辑
- 添加 console.log 语句进行调试
- 简化复杂操作
电子邮件无法发送
症状:Send Email 操作未能投递电子邮件。
可能原因:
- 未连接电子邮件账户:检查 Settings → Accounts
- 无效的电子邮件地址:收件人电子邮件格式错误
- 发送限制:已达到电子邮件服务商的速率限制
- 垃圾邮件过滤器:电子邮件被拦截
解决方案:
- 确认电子邮件账户连接正常
- 校验收件人电子邮件地址
- 检查电子邮件服务商的限制
- 检查电子邮件内容是否包含垃圾邮件触发因素
调试工作流
使用工作流运行
- 进入工作流编辑器
- 打开 Runs 面板
- 找到失败的运行
- 点击查看逐步详情
- 查看错误消息和输出数据
测试单个步骤
- 对于 Code 操作,使用 Test 按钮
- 对于 HTTP 请求,请单独测试该端点
- 创建测试记录以触发工作流
- 使用手动触发器进行可控测试
常见调试模式
添加日志:
使用 Code 操作记录中间值以进行调试。
隔离步骤:
独立测试每个步骤以定位失败。
检查数据流:
确认每个步骤都接收到预期的输入数据。
避免问题的最佳实践
激活前
- 在草稿模式下进行充分测试
- 验证所有 API 连接
- 仔细检查触发条件
- 记录预期行为
开发过程中
- 使用具有描述性的步骤名称
- 在 Code 操作中添加注释
- 使用真实数据进行测试
- 考虑边界情况
激活后
- 密切监控初始运行
- 设置失败告警
- 定期查看运行历史
- 尽可能保持工作流简洁