概览

在 Zendesk 中,您无法限制用户在帐户中提交的工单数量。但是,您可以创建自定义工作流程,建立一个系统,限制用户在一个组织内和在一个特定的时间范围内提交的工单数量。

此工作流程实施组织字段以监测在指定时间范围内提交的工单量,以便进行必要调整。

此工作流程包括以下步骤。

  • 第 1 步:创建数字型组织字段
  • 第 2 步:创建 Webhook
  • 第 3 步:创建触发器

第 1 步:创建数字型组织字段

此工作流程使用两个自定义数字组织字段来监测并记录用户提交的工单数量。

创建自定义组织字段:

  1. 创建 自定义组织字段
  2. 在 选择字段类型下,选择 数字
  3. 在 显示名称下,输入 计数器
  4. 单击 保存 下拉箭头,选择 保存并添加另一个
  5. 在 选择字段类型下,选择 数字
  6. 在 显示名称下,输入 Counter Last Update Unix,然后单击 保存

第 2 步:创建 Webhook

此工作流程使用触发器中的 Webhook 来更新请求者的组织和工单标签。

创建 Webhook:

  1. 创建第一个 Webhook
  2. 在 选择连接方式下,选择 触发器或自行程序 ,然后单击 下一步
  3. 使用以下配置
    • 名称:更新组织
    • 端点 URL: https://yoursubdomain.zendesk.com/api/v2/tickets/{{ticket.organization.id}} 并替换 yoursubdomain 您帐户子域名的
    • 请求方法*放置
    • 身份验证:基本身份验证
  4. 创建第二个 触发器或自行程序Webhook,然后单击 下一步
  5. 使用以下配置
    • 名称:更新工单标签
    • 端点 URL: https://yoursubdomain.zendesk.com/api/v2/tickets/{{ticket.id}}/tags 并替换 yoursubdomain 替换为您的帐户子域名 。
    • 请求方法*放置
    • 身份验证:基本身份验证

Webhook 应如下图所示。

第 3 步:创建触发器

创建可验证请求者的工单数、更新组织字段以及为工单添加标签的触发器。

创建第一个触发器:

  1. 创建一个新触发器
  2. 在满足以下所有条件下添加:
    • 工单 工单 | >是> | 已创建
  3. 在满足以下任意条件下添加:
    • 组织> 计数器 | 小于 | 5
    • 组织> 计数器 | 没有

  4. 在操作下添加:
    • 其它>通知方式> Active webhook > 更新组织 ,在 JSON 正文中,添加以下 JSON 信息:

      {
      "organization": {
      "organization_fields": {
      "counter": "{{ ticket.organization.custom_fields.counter | plus:'1' }}",
      "counter_last_updated_epoch": "{{ 'now' | date: '%s' }}"
      }
      }
      }
  5. 单击创建触发器

创建第二个触发器:

  1. 创建一个新触发器
  2. 在满足以下所有条件下添加:
    • 工单 > 工单 | 是 | 已创建
    • 组织 > 计数器 | 是 |5

  3. 在操作下添加:
    • 其它>通知方式> Active webhook > 更新工单标签 ,在 JSON 正文中,添加以下信息:
      {% assign nowDateSec = "now" | date: "%s" | minus: 0 %}
      {% assign modDateSec = ticket.organization.custom_fields.counter_last_updated_epoch | date: "%s" | minus: 0 %}
      {% assign result = nowDateSec | minus: modDateSec %}
      {
      "tags": [
      "{% if result < 3600 %}last_ticket_within_1_hour{% else %}last_update_over_1_hour_ago{% endif %}"
      ]
      }
  4. 单击创建触发器

创建第三个触发器:

  1. 创建一个新触发器
  2. 在满足以下所有条件下添加:
    • 工单 工单 | >是> | 已更新
    • 工单> 工单标签 > 至少包含以下中的一个 | last_update_over_1_hour_ago
  3. 在操作下添加:
    • 其它>通知方式 > Active webhook > 更新组织 ,在 JSON 正文中,添加以下信息:
      {
      "organization": {
      "organization_fields": {
      "counter": 1,
      "counter_last_updated_epoch": "{{ 'now' | date: '%s' }}"
      }
      }
      }
    • 工单 添加标签 | >
  4. 单击创建触发器

创建第四个触发器:

  1. 创建一个新触发器
  2. 在满足以下所有条件下添加:
    • 工单 工单 | >是> | 已更新
    • 工单> 标签 | 至少包含以下中的一个 | last_ticket_within_1_hour
    • 组织> 计数器 | 是 |5
  3. 操作 添加:
    • 工单> 状态类别 > 已关闭
    • 其它 > >通知方式> > 用户电邮 | >工单> >(请求者)

      注意:/strong>可以选择通知用户以提升用户体验。
  4. 单击创建触发器

此概要概述了用户提交新工单的工作流程。

  1. 工单创建。
    • 工单创建后,工作流程会更新工单计数器和时间戳组织字段。
  2. 计数器评估:
    • 如果计数器小于允许的最大值,则工单将继续执行正常的提交流程
    • 如果计数器达到允许的最大限制,系统会检查最后更新时间,以确定其是否在规定的时间范围内提交
  3. 时间范围检查:
    • 如果最后更新时间超出指定时间范围,系统将计数器重置为 1。新的时间戳会记录更改
    • 如果最后一次更新是在该时间范围内,系统将不会更新计数器或保存新的时间戳,并会立即关闭工单。用户通知是可选的。
免责声明:本文仅供说明之用。Zendesk 不支持并不保证该代码。如有任何问题,请将其发布在评论部分,或尝试在线搜索解决方案。

翻译免责声明:本文章使用自动翻译软件翻译,以便您了解基本内容。 我们已采取合理措施提供准确翻译,但不保证翻译准确性

如对翻译准确性有任何疑问,请以文章的英语版本为准。

由 Zendesk 提供技术支持