关于 customer-support-integration
用于规划电商客服系统集成的技能,将订单信息带入工单并支持路由和更新自动化。内容涵盖 Shopify、WooCommerce、BigCommerce 及自定义店面的平台选择与实施方式。
主要功能
- 01选择客服系统与平台
- 02在工单中显示订单信息
- 03配置 VIP 工单路由规则
- 04按订单事件创建工单
- 05提供 CSAT 同步指导
适用场景
- 01让客服查看订单详情
- 02将高价值客户转给 VIP 团队
- 03为配送或欺诈事件创建工单
- 04将客服评分同步到 CRM
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ finsilabs/ awesome-ecommerce-skills --skill customer-support-integration安装后在 Claude Code 中输入/customer-support-integration确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
tile.jsonevals/intercom-canvas-kit-order-context-sideba/criteria.jsontask.mdevals/zendesk-ticket-auto-creation-from-order-/criteria.jsontask.mdevals/zendesk-webhook-csat-sync-and-vip-ticket/criteria.jsontask.md详细介绍
客户支持集成
概述
将帮助台连接到商店后,每张支持工单都会自动显示订单历史、物流跟踪信息和客户消费金额,从而减少 40–60% 的平均处理时长,因为客服人员无需在不同系统之间切换。对于 Shopify,Gorgias 是专为该平台打造的原生帮助台。对于其他平台以及 Zendesk/Intercom 用户,可通过专用集成应用连接系统。只有在需要深度双向自动化(根据订单事件自动创建工单、VIP 路由、将 CSAT 同步回 CRM),而现成应用无法提供这些功能时,才构建自定义集成。
何时使用此技能
- 支持人员反复向客户索要订单号,因为工单中不会自动填入订单号
- 实施 Zendesk Sunshine Apps 或 Intercom Canvas Kit,以便在客服人员界面中显示订单详情
- 根据订单事件自动创建工单(配送失败、欺诈审核、延期交货)
- 根据订单金额路由工单,优先处理 VIP 客户
- 将支持 CSAT 评分同步回 CRM,用于客户健康度评分
核心说明
步骤 1:确定平台并选择合适的帮助台
| 平台 | 推荐帮助台 | 原因 |
|---|---|---|
| Shopify | Gorgias | 专为 Shopify 打造;可深入访问订单数据,宏变量可提取订单信息,并可在工单中一键退款、取消订单或重新下单 |
| Shopify | Zendesk | 适合已在使用 Zendesk 的团队;从 App Store 安装 Zendesk 的 Shopify 应用 |
| WooCommerce | Gorgias 或 Freshdesk | Gorgias 支持 WooCommerce;使用 Freshdesk 的团队可安装 Freshdesk + WooCommerce 插件 |
| BigCommerce | Gorgias 或 Zendesk | 两者都在各自的应用市场提供 BigCommerce 集成 |
| 自定义 / 无头平台 | Zendesk 或 Intercom 搭配自定义集成 | 构建侧边栏应用,将订单上下文注入工单 |
步骤 2:按平台进行设置
Shopify
选项 A:Gorgias(Shopify 推荐)
Gorgias 是使用最广泛的 Shopify 客户支持帮助台,提供了最深入的平台集成。
- 从 Shopify App Store 安装 Gorgias
- 授权 Gorgias 访问 Shopify 商店数据
- 当客户使用其 Shopify 账户所绑定的邮箱地址发送邮件时,Gorgias 会自动将订单历史、客户详情和配送状态提取到每张工单中
Gorgias 会自动向客服人员显示:
- 客户姓名、邮箱、消费总额、订单数量
- 所有历史订单的状态、商品和物流跟踪信息
- 所有渠道的实时聊天记录
设置自动化规则:
- 前往 Gorgias → Automation → Rules
- 创建规则,例如:
- 当客户生命周期价值 > $500 时,自动为工单添加“VIP”标签
- 自动将 VIP 工单分配给高级支持团队
- 当工单包含“我的订单在哪里”时,自动回复订单状态
在 Gorgias 中一键执行的操作:
- 直接在工单侧边栏中退款、取消订单或复制订单
- 无需离开 Gorgias,即可为订单应用折扣码
- 为换货创建草稿订单
Gorgias 宏(含动态变量的模板回复):
- 创建可自动提取订单数据的宏:
Your order {{order.name}} is currently {{order.fulfillment_status}} - 前往 Settings → Macros 创建和管理宏
WooCommerce
WooCommerce 的 Gorgias:
- 从 WordPress.org 安装 Gorgias WooCommerce 插件,或通过 Gorgias 集成进行连接
- 连接你的 WooCommerce 商店 — Gorgias 会自动拉取订单历史记录
WooCommerce 的 Freshdesk:
- 从 WordPress 插件目录安装 Freshdesk Help Desk for WooCommerce
- 该插件会根据 WooCommerce 订单事件创建 Freshdesk 工单
- Freshdesk 客服人员可通过集成在工单侧边栏中查看客户订单详情
与 Zendesk 手动集成:
- 从 Zendesk App Marketplace 安装 Zendesk for WooCommerce
- 客服人员可以通过电子邮件搜索客户,并在工单侧边栏中查看其订单历史记录
BigCommerce
BigCommerce 的 Gorgias:
- 从 BigCommerce App Marketplace 安装 Gorgias
- 连接你的商店 — 与 Shopify 的深度集成相同
BigCommerce 的 Zendesk:
- 从 Zendesk App Marketplace 安装 BigCommerce 应用
- 客服人员可在工单侧边栏中查看客户详情和订单历史记录
自定义/无头架构
构建 Zendesk Sunshine App(侧边栏面板)或 Intercom Canvas Kit 应用,将订单上下文注入每张工单:
Zendesk 侧边栏应用 — 数据端点:
// GET /api/support/[email protected]
export async function getZendeskContext(req: Request, res: Response) {
const customerEmail = (req.query.email as string)?.toLowerCase();
if (!customerEmail) return res.json({ customer: null, orders: [] });
const [customer, recentOrders] = await Promise.all([
db.customers.findByEmail(customerEmail, { include: ['segmentScore'] }),
db.orders.findMany({
where: { customerEmail },
orderBy: { createdAt: 'desc' },
take: 5,
include: { lineItems: { include: { product: true } }, shipments: true },
}),
]);
res.json({
customer: customer ? {
lifetimeValue: customer.totalSpentCents / 100,
orderCount: customer.orderCount,
segment: customer.segmentScore?.segment,
tags: customer.tags,
} : null,
orders: recentOrders.map(o => ({
number: o.orderNumber,
status: o.status,
total: o.totalCents / 100,
createdAt: o.createdAt,
trackingUrl: o.shipments[0]?.trackingUrl,
items: o.lineItems.map(i => ({ name: i.product.name, quantity: i.quantity })),
})),
});
}
将高价值工单路由到 VIP 队列:
// Called when a new Zendesk ticket is created (via Zendesk webhook)
export async function applyTicketRouting(ticketId: string) {
const ticket = await fetchZendeskTicket(ticketId);
const customerEmail = ticket.requester?.email?.toLowerCase();
if (!customerEmail) return;
const customer = await db.customers.findByEmail(customerEmail, { include: ['segmentScore'] });
if (!customer) return;
const isVIP = ['champions', 'cannot_lose_them'].includes(customer.segmentScore?.segment ?? '');
const isHighValue = customer.totalSpentCents >= 100000; // $1,000+
if (isVIP || isHighValue) {
await fetch(`https://${process.env.ZENDESK_SUBDOMAIN}.zendesk.com/api/v2/tickets/${ticketId}.json`, {
method: 'PUT',
headers: { Authorization: getZendeskAuthHeader(), 'Content-Type': 'application/json' },
body: JSON.stringify({
ticket: {
priority: 'urgent',
group_id: process.env.ZENDESK_VIP_GROUP_ID,
tags: [...(ticket.tags ?? []), 'vip-customer'],
},
}),
});
}
}
// Auto-create ticket on delivery failure
export async function onDeliveryFailed(shipmentId: string) {
const shipment = await db.shipments.findById(shipmentId, { include: ['order.customer'] });
await fetch(`https://${process.env.ZENDESK_SUBDOMAIN}.zendesk.com/api/v2/tickets.json`, {
method: 'POST',
headers: { Authorization: getZendeskAuthHeader(), 'Content-Type': 'application/json' },
body: JSON.stringify({
ticket: {
subject: `Delivery failed — Order #${shipment.order.orderNumber}`,
comment: { body: `Delivery attempt failed on ${new Date().toDateString()}. Carrier: ${shipment.carrier}. Tracking: ${shipment.trackingNumber}.` },
requester: { email: shipment.order.customer.email },
priority: 'high',
tags: ['delivery-failure', 'auto-created'],
},
}),
});
}
第 3 步:为 VIP 客户设置工单路由规则
将工单路由给最优秀的客服人员,确保最有价值的客户能更快获得回复。
Gorgias 路由规则:
- 前往 Automation → Rules → Create Rule
- 条件:
Customer → Total spent → is greater than → $500 - 操作:
Add tag → vip、Assign to → VIP Support Team、Set priority → Urgent
Zendesk 触发器:
- 前往 Admin → Business Rules → Triggers → Add trigger
- 条件:工单标签包含 "vip-customer"
- 操作:分配给群组(VIP Support),将优先级设为 Urgent
定义 SLA 目标:
- VIP 客户:1 小时内首次回复
- 普通客户:24 小时内首次回复
- 在 Gorgias → Settings → Business hours and SLAs 或 Zendesk → Admin → SLAs 中设置这些目标
最佳实践
- Shopify 商店使用 Gorgias — 它是专为此场景打造的解决方案;设置时节省的时间和集成的深度都值得订阅费用
- 切勿将服务台 API 令牌存储在客户端代码中 — Zendesk 和 Intercom API 令牌拥有对所有工单的写入权限;始终通过服务器代理请求
- 将订单 ID 附加到每张工单 — 这是将支持系统与商务数据库关联起来,并实现双向同步和自动化的关键
- 确保侧边栏中的订单上下文保持最新 — 数据缓存时间最多为 60 秒;客服人员看到过时的订单状态,比看到加载指示器更糟
- 记录客服人员对订单执行的每项操作 — 对从服务台内发起的退款、订单变更和状态更新保留审计记录
常见问题
| 问题 | 解决方案 |
|---|---|
| 由于电子邮件查找区分大小写,客服人员看到的客户有误 | 查找前将所有电子邮件统一转换为小写;[email protected] 和 [email protected] 必须匹配到同一位客户 |
| 未验证 Webhook 载荷 | 在处理任何载荷前,使用 Zendesk/Gorgias Webhook 签名密钥实现 HMAC 签名验证 |
| CSAT 同步创建了重复的客户记录 | 始终先通过电子邮件查找;切勿根据支持 Webhook 创建新的客户记录 — 应关联到现有记录,否则跳过 |
| 自动创建的工单缺少订单上下文 | 创建工单时,将订单 ID 设置到自定义工单字段中;这有助于实现双向同步和准确路由 |
相关技能
- @live-chat-commerce
- @customer-segmentation
- @customer-lifetime-value