如何在Zendesk新请求表单中基于自定义字段值修改工单主题?
实现Zendesk表单主题与订单号拼接的方案
一、前端jQuery即时同步方案
你的需求完全可以实现,通过监听订单号字段的输入事件,就能实时把订单号拼到主题字段中,比仅在提交时修改更流畅:
首先找到orderno自定义字段的实际ID(Zendesk自定义字段ID格式一般为custom_field_xxxx,可通过浏览器开发者工具查看),然后添加以下脚本:
// 隐藏主题字段并设置默认前缀 $('.form-field.string.required.request_subject').hide(); const subjectPrefix = 'Insurance new request no:'; $('#request_subject').val(subjectPrefix); // 监听订单号输入/变化事件,实时更新主题 $('#custom_field_xxxx').on('input change', function() { const orderNo = $(this).val().trim(); // 空订单号时保留前缀,非空则拼接 $('#request_subject').val(orderNo ? `${subjectPrefix}${orderNo}` : subjectPrefix); }); // 表单提交时兜底校验,确保主题正确 $('form.request-form').on('submit', function() { const orderNo = $('#custom_field_xxxx').val().trim(); $('#request_subject').val(orderNo ? `${subjectPrefix}${orderNo}` : subjectPrefix); });
二、更可靠的后端替代方案:Zendesk触发器
前端脚本依赖用户浏览器启用JavaScript,存在失效风险,推荐用Zendesk触发器做后端兜底,甚至直接替代前端脚本:
- 登录Zendesk管理后台,进入触发器页面,点击创建新触发器
- 设置触发条件:
- 选择「工单」>「工单创建」
- 可额外添加条件(如「表单」>「等于」目标请求表单,若有多表单场景)
- 设置触发动作:
- 选择「工单」>「更新主题」
- 主题内容填写:
Insurance new request no:{{ticket.ticket_field_xxxx}}(将xxxx替换为orderno字段的实际ID)
- 保存触发器
这种方式完全不依赖前端脚本,工单创建时会自动完成主题拼接,稳定性更高。
内容的提问来源于stack exchange,提问作者Ram Chander
相关产品推荐
相关产品推荐

