flag92 flag92
博客
发布于 Sun Jan 25 2026 08:00:00 GMT+0800 (中国标准时间)
迁移ChatwootZendesk

从 Zendesk 迁移到 Chatwoot:工单与触发器的转译

Zendesk 的工单流程比 Intercom 重,迁移到 Chatwoot 时最大挑战是「Triggers / Automations / Macros」的语义转译。

为什么 Zendesk 迁移比 Intercom 更难#

维度IntercomZendesk
主要使用方式实时聊天工单 + 邮件
数据导出API 完善官方导出工具但慢
自动化复杂度高(Triggers / Automations / Macros / SLA)
多 brand没有有(每个 brand 独立 form)

Zendesk 的「Triggers + Automations + Macros + SLA Policies」如果直接照搬,Chatwoot 没有等价物。需要重新设计。

迁移分两步#

Step 1:数据迁移(容易)#

用 Zendesk API 拉数据:

# 工单
curl "https://yoursubdomain.zendesk.com/api/v2/tickets.json?page=1" \
  -u email/token:API_TOKEN > tickets.json

# 用户
curl "https://yoursubdomain.zendesk.com/api/v2/users.json" \
  -u email/token:API_TOKEN > users.json

字段映射:

ZendeskChatwoot
ticket.subjectconversation.additional_attributes.subject
ticket.priorityconversation.priority
ticket.status (open, pending, solved, closed)status (open, pending, resolved)
ticket.custom_fields[i]conversation.custom_attributes[i]
commentsmessages
organizationscontacts.additional_attributes.organization

Step 2:自动化转译(难)#

Triggers(满足条件时立即执行)#

Zendesk Trigger:「新工单 + priority=high → 分配给 Team A」

Chatwoot 对应:Automation Rule(触发时机:会话创建 / 更新)

# Chatwoot Automation Rule(伪代码)
name: High priority to senior team
trigger: conversation_created
conditions:
  - priority == high
actions:
  - assign_team: senior-team-id

Automations(定时执行)#

Zendesk Automation:「12 小时未响应 → 升级到经理」

Chatwoot 没有原生定时 Automation。需要外接 n8n

n8n Cron (每 10 分钟) →
  调 Chatwoot API 查所有 conversations
  → 过滤超 12h 未回的
  → 调 Chatwoot API 升级 + 通知

Macros(坐席快捷回复)#

Zendesk Macro 可以「写文本 + 改 ticket 字段 + 加 tag」一起。

Chatwoot 的 Canned Response 只能写文本。复杂的需要拆:

  • 文本部分 → Canned Response
  • 字段修改部分 → Chatwoot Custom View / Manual Action
  • 加 tag 部分 → 同上

SLA Policies#

Chatwoot 4.x 已支持 SLA,配置类似:

sla_policy:
  name: Premium customers
  first_response_time_threshold: 1h
  next_response_time_threshold: 4h
  resolution_time_threshold: 24h
  applicable_when:
    - contact.tag == premium

多 Brand 处理#

Zendesk 的 brand 隔离做得好——每个品牌独立 Help Center、独立工单表单。Chatwoot 用 多 Account多 Inbox 模拟:

  • 多 Account:完全独立,账户级别隔离(推荐企业)
  • 多 Inbox:单 Account 下,按 Inbox 区分(推荐中小)

我们的实战时间线#

工作
1-2数据导出 + 字段映射脚本
3Triggers / Automations 转译设计
4n8n 工作流搭建
5历史数据导入(夜间分批跑)
6坐席培训
7-810% → 50% → 100% 流量切换

千万不要#

  • 不要不做并行就直接切:Zendesk 的 Automation / SLA 通常已经跑了多年没人维护,一切才发现哪些规则缺失
  • 不要忽略历史工单的搜索:客户在新系统问「我上次那个工单怎么样了」时,必须能搜到
  • 不要把所有 macro 都迁过去:让客服团队挑出真用的 30-50 条,其他清掉

站内搜索

按 ⌘ K 随时唤起