Zoho Desk

本文档提供了有关如何将 Zoho Desk 与 Google SecOps 集成的指南。

在 Google Security Operations 中配置 Zoho Desk 集成

有关如何在 Google SecOps 中配置集成的详细说明,请参阅配置集成。

集成参数

使用以下参数配置集成:

参数显示名称 类型 默认值 为必填项 说明
API 根 字符串 https://desk.zoho.区域 是 Zoho Desk 实例的 API 根。
客户端 ID 字符串 不适用 是 Zoho Desk 账号的客户端 ID。
客户端密钥 密码 不适用 是 Zoho Desk 账号的客户端密钥。
刷新令牌 密码 不适用 否 Zoho Desk 账号的刷新令牌。您需要运行“获取刷新令牌”操作才能生成该令牌。
验证 SSL 复选框 勾选 是 如果启用此设置,系统会验证与 Zoho Desk 服务器连接的 SSL 证书是否有效。

获取 API 凭证

  1. 前往 Zoho Desk API 控制台。
  2. 点击添加客户端,然后选择自身客户端。
  3. 在客户端密钥标签页中,复制“客户端 ID”和“客户端密钥”参数的值,并将其粘贴到集成配置窗口中的相应字段中。
  4. 在生成代码标签页中,提供以下范围: Desk.tickets.READ,Desk.tickets.CREATE,Desk.tickets.UPDATE,Desk.tickets.DELETE,Desk.settings.READ,Desk.basic.READ,Desk.products.READ,Desk.contacts.READ 并添加范围说明。
  5. 如需获取授权代码,请点击创建。
  6. 返回 Google SecOps,模拟一个案例,然后前往 Zoho Desk 集成中的获取刷新令牌操作。
  7. 如需配置操作,请输入授权代码和授权链接。
  8. 从操作的 JSON 结果中复制令牌,将其粘贴到集成配置窗口中的相应字段中,然后运行测试。

使用场景

执行分类操作。

操作

向工单添加评论

说明

在 Zoho Desk 中为工单添加评论。

参数

参数显示名称 类型 默认值 为必填项 说明
工单 ID 字符串 不适用 是 指定要添加评论的工单的 ID。
公开范围 DDL

公开

可能的值:

  • 公开
  • 专用
否 指定评论应公开还是私密。
类型 字符串

纯文本

可能的值:

  • 纯文本
  • HTML
否 指定评论的类型。
文本 字符串 不适用 否 指定评论的内容。
等待回复 复选框 尚未核查 否 如果启用,该操作会等待回复。

运行时间

此操作不会对实体执行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
{
    "content": "zsu[@user:11550965]zsu Please fix this ASAP",
    "commentedTime": "2022-07-01T11:18:43.935Z",
    "modifiedTime": "2022-07-01T11:18:43.935Z",
    "contentType": "plainText",
    "impersonatedUser": null,
    "encodedContent": "zsu[@user:11550965]zsu Please fix this ASAP",
    "id": "97709000000179081",
    "commenterId": "97709000000092001",
    "commenter": {
        "id": "97709000000092001",
        "name": "TIP Labops",
        "email": "tip.labops@siemplify.co",
        "photoURL": "https://desk.zoho.eu/api/v1/agents/97709000000092001/photo?orgId=20083004796",
        "type": "AGENT",
        "firstName": "TIP",
        "lastName": "Labops",
        "roleName": "CEO"
    },
    "attachments": [],
    "isPublic": false
}
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行:

如果报告了 200 状态代码 (is_success = true):“已成功在 Zoho Desk 中向工单 {ticket id} 添加评论‘{text}’。”

异步消息:“正在等待回复…”

操作应失败并停止 playbook 执行:

如果报告了严重错误:“执行‘向工单添加评论’操作时出错。Reason: {0}''.format(error.Stacktrace)

如果报告了错误:“执行‘向工单添加评论’操作时出错。原因:{errors/errorMessage}

常规

创建工单

说明

在 Zoho Desk 中创建工单。

参数

参数显示名称 类型 默认值 为必填项 说明
标题 字符串 不适用 否 指定工单的标题。
说明 字符串 不适用 否 指定工单的说明。
部门名称 字符串 不适用 否 指定应为工单设置的部门名称。
联系人 字符串 不适用 否 指定工单联系人的邮箱。
分配对象类型 DDL

选择一项

可能的值:

  • 选择一项
  • 代理
  • 团队
否

指定被分配者的类型。

如果选择“客服人员”或“团队”,则必须提供“被分配人姓名”参数。

受让人姓名 字符串 不适用 否 指定工单受理人的姓名。对于代理类型,您可以提供电子邮件地址或显示名称。
优先级 DDL

选择一项

可能的值:

  • 选择一项
  • 无优先级
  • 低
  • 中
  • 高
否 指定工单的优先级。
分类 DDL

选择一项

可能的值:

  • 选择一项
  • 无分类
  • 问题
  • 问题
  • 功能
  • 其他
否 指定工单的分类类型。
渠道 DDL

选择一项

可能的值:

  • 选择一项
  • 电子邮件
  • 电话
  • Web
  • Twitter
  • Facebook
  • 聊天
  • 论坛
否 指定工单的渠道。
类别 字符串 不适用 否 指定工单的类别。
子类别 字符串 不适用 否 指定工单的子类别。
截止日期 字符串 不适用 否

指定工单的截止日期。

格式:ISO 8601。示例:2022-07-06T07:05:43Z。

自定义字段 JSON 不适用 否

指定一个 JSON 对象,其中包含需要更新的自定义字段。

注意:您需要提供密钥的 API 名称。

运行时间

此操作不会对实体执行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
{
    "modifiedTime": "2022-07-01T11:00:33.000Z",
    "subCategory": null,
    "statusType": "On Hold",
    "subject": "Here's your first ticket.",
    "dueDate": null,
    "departmentId": "97709000000007061",
    "channel": "Chat",
    "onholdTime": "2022-07-01T09:32:14.717Z",
    "language": "English",
    "source": {
        "appName": null,
        "extId": null,
        "permalink": null,
        "type": "SYSTEM",
        "appPhotoURL": null
    },
    "resolution": "Koko",
    "sharedDepartments": [],
    "closedTime": null,
    "approvalCount": "0",
    "isOverDue": true,
    "isTrashed": false,
    "createdTime": "2022-06-27T17:02:17.000Z",
    "id": "97709000000160077",
    "isResponseOverdue": false,
    "customerResponseTime": "2022-06-27T17:02:17.000Z",
    "productId": null,
    "contactId": "97709000000160029",
    "threadCount": "1",
    "secondaryContacts": [],
    "priority": null,
    "classification": null,
    "commentCount": "1",
    "taskCount": "0",
    "accountId": "97709000000160001",
    "phone": "1 888 900 9646",
    "webUrl": "https://desk.zoho.eu/support/siemplify/ShowHomePage.do#Cases/dv/97709000000160077",
    "isSpam": false,
    "status": "On Hold",
    "entitySkills": [],
    "ticketNumber": "101",
    "customFields": {},
    "isArchived": false,
    "description": "Hello<",
    "timeEntryCount": "0",
    "channelRelatedInfo": null,
    "responseDueDate": null,
    "isDeleted": false,
    "modifiedBy": "97709000000092001",
    "email": "support@zohosupport.com",
    "layoutDetails": {
        "id": "97709000000023011",
        "layoutName": "Siemplify"
    },
    "channelCode": null,
    "cf": {},
    "slaId": null,
    "layoutId": "97709000000023011",
    "assigneeId": null,
    "teamId": "97709000000182001",
    "attachmentCount": "0",
    "isEscalated": false,
    "category": null
}
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败 ,也不应停止 playbook 执行:

如果报告了 200 状态代码 (is_success=true):“已在 Zoho Desk 中成功创建 ID 为 {ticket id} 的工单。”

操作应失败并停止 playbook 执行:

如果报告了严重错误(例如凭据错误、无法连接到服务器等):“执行‘创建工单’操作时出错。Reason: {0}''.format(error.Stacktrace)

如果找不到代理:“执行‘创建工单’操作时出错。原因:在 Zoho Desk 中找不到代理“{agent_name}”。请检查拼写。'”

如果找不到团队:“执行‘创建工单’操作时出错。原因:在 Zoho Desk 中找不到团队“{team_name}”。请检查拼写。”

如果选择了“Agent”或“Team”,但未提供“Assignee Name”参数:“Error executing action "Create Ticket". 原因:需要提供“受让方姓名”。

如果未找到部门 :“执行‘创建工单’操作时出错。原因:在 Zoho Desk 中找不到部门“{department_name}”。

如果找不到联系人:“执行‘创建工单’操作时出错。原因:在 Zoho Desk 中找不到联系人“{contact}”。请检查拼写。”

如果未找到商品:“执行‘创建工单’操作时出错。原因:在 Zoho Desk 中找不到产品“{product}”。请检查拼写。”

常规

获取刷新令牌

说明

获取配置的刷新令牌。

参数

参数显示名称 类型 默认值 为必填项 说明
授权链接 字符串 https://accounts.zoho.区域} 是 指定集成的授权链接。
授权代码 密码 不适用 是 指定在 Zoho 的开发者控制台中生成的授权代码。

运行时间

此操作不会对实体执行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
{
    "refresh_token": "1000.90567b1fc0c54f540e56200ae4388cef.a8f6b313297d558774bee07d60cc6863"
}
案例墙
结果类型 值/说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行:

如果成功:“成功生成刷新令牌。将该值复制到集成配置中的“刷新令牌”参数中

操作应失败并停止 playbook 执行:

如果报告了严重错误(例如凭据错误、无法连接到服务器等),则会显示以下消息:“Error executing action 'Get 刷新令牌'. Reason: {0}''.format(error.Stacktrace)

如果报告了错误:“执行操作‘获取刷新令牌’时出错。原因:{error}”

常规

获取工单详情

说明

从 Zoho Desk 获取有关工单的详细信息。

参数

参数显示名称 类型 默认值 为必填项 说明
工单 ID 字符串 不适用 是 指定要返回其详细信息的逗号分隔列表 ID。
创建分析洞见 复选框 尚未核查 否 如果启用,该操作会创建包含工单相关信息的分析洞见。
要返回的其他字段 CSV contacts, products, assignee, departments, contract, isRead, team, skills 否

指定要返回的其他字段。

可能的值:contacts、products、assignee、departments、contract、isRead、team、skills。

提取评论 复选框 勾选 否 如果启用,该操作会提取与工单相关的评论。
返回的评论数上限 整数 50 否

指定每个工单要返回的评论数量。

最大值:100

运行时间

此操作不会对实体执行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
{
  "modifiedTime": "2022-06-27T17:12:35.000Z",
  "subCategory": null,
  "statusType": "Open",
  "subject": "tesa",
  "dueDate": null,
  "departmentId": "97709000000007061",
  "channel": "Phone",
  "onholdTime": null,
  "language": null,
  "source": {
      "appName": null,
      "extId": null,
      "permalink": null,
      "type": "SYSTEM",
      "appPhotoURL": null
  },
  "resolution": null,
  "sharedDepartments": [],
  "closedTime": null,
  "approvalCount": "0",
  "isOverDue": false,
  "isTrashed": false,
  "contact": {
      "firstName": null,
      "lastName": "test",
      "phone": null,
      "mobile": null,
      "id": "97709000000159194",
      "isSpam": false,
      "type": null,
      "email": "test@test.com",
      "account": {
          "website": null,
          "accountName": "test!@test.com",
          "id": "97709000000159182"
      }
  },
  "createdTime": "2022-06-27T17:12:35.000Z",
  "id": "97709000000159224",
  "isResponseOverdue": false,
  "customerResponseTime": "2022-06-27T17:12:35.000Z",
  "productId": null,
  "contactId": "97709000000159194",
  "threadCount": "1",
  "secondaryContacts": [],
  "priority": null,
  "classification": null,
  "commentCount": "0",
  "taskCount": "0",
  "accountId": "97709000000159182",
  "phone": null,
  "webUrl": "https://desk.zoho.eu/support/siemplify/ShowHomePage.do#Cases/dv/97709000000159224",
  "assignee": {
      "photoURL": "https://desk.zoho.eu/api/v1/agents/97709000000092001/photo?orgId=20083004796",
      "firstName": "TIP",
      "lastName": "Labops",
      "id": "97709000000092001",
      "email": "tip.labops@siemplify.co"
  },
  "isSpam": false,
  "status": "Open",
  "entitySkills": [],
  "ticketNumber": "102",
  "sentiment": null,
  "customFields": {},
  "isArchived": false,
  "skillsInfo": [],
  "isRead": false,
  "description": "<div style=\"font-size: 13px; font-family: Regular, Lato, Arial, Helvetica, sans-serif\"><div>tetsta</div></div>",
  "timeEntryCount": "0",
  "channelRelatedInfo": null,
  "responseDueDate": null,
  "isDeleted": false,
  "modifiedBy": "97709000000092001",
  "department": {
      "name": "Siemplify",
      "id": "97709000000007061"
  },
  "followerCount": "0",
  "email": "test@test.com",
  "layoutDetails": {
      "id": "97709000000023011",
      "layoutName": "Siemplify"
  },
  "channelCode": null,
  "product": null,
  "isFollowing": false,
  "cf": {},
  "slaId": null,
  "team": null,
  "layoutId": "97709000000023011",
  "assigneeId": "97709000000092001",
  "createdBy": "97709000000092001",
  "teamId": null,
  "contractId": null,
  "tagCount": "0",
  "attachmentCount": "0",
  "isEscalated": false,
  "category": null
  "comments":          {
            "content": "<div style=\"font-size: 14px; font-family: LatoRegular, Regular, Lato, &quot;Lato 2&quot;, Arial, Helvetica, sans-serif\"><div style=\"font-size: 14px; font-family: LatoRegular, Regular, Lato, &quot;Lato 2&quot;, Arial, Helvetica, sans-serif\"><ul><li>asdasdasdasd<br /></li></ul></div><div><br /></div></div>",
            "commentedTime": "2022-06-29T10:21:24.000Z",
            "modifiedTime": "2022-06-29T10:23:42.000Z",
            "contentType": "html",
            "impersonatedUser": null,
            "encodedContent": "&lt;div style&#x3d;&quot;font-size&#x3a; 14px&#x3b; font-family&#x3a; LatoRegular, Regular, Lato, &amp;quot&#x3b;Lato 2&amp;quot&#x3b;, Arial, Helvetica, sans-serif&quot;&gt;&lt;div style&#x3d;&quot;font-size&#x3a; 14px&#x3b; font-family&#x3a; LatoRegular, Regular, Lato, &amp;quot&#x3b;Lato 2&amp;quot&#x3b;, Arial, Helvetica, sans-serif&quot;&gt;&lt;ul&gt;&lt;li&gt;asdasdasdasd&lt;br &#x2f;&gt;&lt;&#x2f;li&gt;&lt;&#x2f;ul&gt;&lt;&#x2f;div&gt;&lt;div&gt;&lt;br &#x2f;&gt;&lt;&#x2f;div&gt;&lt;&#x2f;div&gt;",
            "id": "97709000000172003",
            "commenterId": "97709000000092001",
            "commenter": {
                "id": "97709000000092001",
                "name": "TIP Labops",
                "email": "tip.labops@siemplify.co",
                "photoURL": "https://desk.zoho.eu/api/v1/agents/97709000000092001/photo?orgId=20083004796",
                "type": "AGENT",
                "firstName": "TIP",
                "lastName": "Labops",
                "roleName": "CEO"
            },
            "attachments": [],
            "isPublic": false
        }

}
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行:

如果至少有一个 ID 有可用数据 (is_success = true):“Successfully returned details related to the following tickets in Zoho Desk: {ticket ids}”。

如果至少有一个 ID 没有可用数据 (is_success=true):“Action wasn't able to find details related to the following tickets in Zoho Desk: {ticket ids}”。

如果所有 ID 都没有数据 (is_success=false):“未找到任何工单。”

操作应失败并停止 playbook 执行:

如果报告了严重错误(例如凭据错误、无法连接到服务器等):“执行‘获取工单详情’操作时出错。Reason: {0}''.format(error.Stacktrace)

常规
案例墙表格

表名称:Ticket Details 表列:

  • Number: ticketNumber
  • 状态:status 主题:subject
  • 创建时间:createdTime
  • 分辨率:分辨率
  • 电子邮件:email
  • 联系人:{firstName} + {lastName}
常规

将工单标记为垃圾邮件

说明

在 Zoho Desk 中将工单标记为垃圾邮件。

参数

参数显示名称 类型 默认值 为必填项 说明
工单 ID 字符串 不适用 是 指定需要标记为垃圾内容的工单的 ID。
标记联系人 复选框 勾选 否 如果启用此选项,创建工单的联系人会被标记为垃圾内容发布者。

运行时间

此操作不会对实体执行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型
输出消息*

该操作不应失败 ,也不应停止 playbook 执行:

如果报告了 200 状态代码 (is_success = true):“已在 Zoho Desk 中成功将工单标记为垃圾内容。

操作应失败并停止 playbook 执行:

如果报告了严重错误(例如凭据错误、无法连接到服务器等):“执行‘将工单标记为垃圾邮件’操作时出错。Reason: {0}''.format(error.Stacktrace)

如果报告了错误:“执行‘将工单标记为垃圾内容’操作时出错。原因:{errors/errorMessage}

常规

Ping

说明

使用 Google SecOps Content Hub 页面中的集成配置页面上提供的参数,测试与 Zoho Desk 的连接。

参数

不适用

运行时间

该操作不会对实体执行,也没有强制性输入参数。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型
输出消息\*

操作不应失败,也不应停止 playbook 执行:

如果成功 (is_success=true): “已使用提供的连接参数成功连接到 Zoho Desk 服务器!”

操作应失败并停止 playbook 执行:

如果不成功 (is_success= false):“Failed to connect to the Zoho Desk server! 错误为 {0}”。format(exception.stacktrace)

常规

更新工单

说明

更新 Zoho Desk 中的工单。

参数

参数显示名称 类型 默认值 为必填项 说明
工单 ID 字符串 不适用 是 指定需要更新的工单的 ID。
标题 字符串 不适用 否 指定应为工单设置的标题。
说明 字符串 不适用 否 指定工单的说明。
部门名称 字符串 不适用 否 指定应为工单设置的部门名称。
联系人 字符串 不适用 否 指定工单联系人的邮箱。
分配对象类型 DDL

选择一项

可能的值:

  • 选择一项
  • 代理
  • 团队
否

指定被分配者的类型。

如果选择“客服人员”或“团队”,则必须提供“被分配人姓名”参数。

受让人姓名 字符串 不适用 否 指定工单受理人的姓名。对于代理类型,您可以提供电子邮件地址或显示名称。
解决方法 字符串 不适用 否 指定工单的解决方法。
优先级 DDL

选择一项

可能的值:

  • 选择一项
  • 无优先级
  • 低
  • 中
  • 高
否 指定工单的优先级。
状态 DDL

选择一项

可能的值:

  • 选择一项
  • 打开
  • 已暂停
  • 已上报
  • 已关闭
否 指定工单的状态。
马克州 DDL

选择一项

可能的值:

  • 选择一项
  • 读取
  • 未读
否 指定票券的标记状态。
分类 DDL

选择一项

可能的值:

  • 选择一项
  • 无分类
  • 问题
  • 问题
  • 功能
  • 其他
否 指定工单的分类类型。
渠道 DDL

选择一项

可能的值:

  • 选择一项
  • 电子邮件
  • 电话
  • Web
  • Twitter
  • Facebook
  • 聊天
  • 论坛
否 指定工单的渠道。
类别 字符串 不适用 否 指定工单的类别。
子类别 字符串 不适用 否 指定工单的子类别。
截止日期 字符串 不适用 否

指定工单的截止日期。

格式:ISO 8601。示例:2022-07-06T07:05:43Z。

注意:如果状态设置为“暂停”,此参数不会产生任何影响。

自定义字段 JSON 不适用 否

指定一个 JSON 对象,其中包含需要更新的自定义字段。

注意:您需要提供密钥的 API 名称。

运行时间

此操作不会对实体执行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
{
    "modifiedTime": "2022-07-01T11:00:33.000Z",
    "subCategory": null,
    "statusType": "On Hold",
    "subject": "Here's your first ticket.",
    "dueDate": null,
    "departmentId": "97709000000007061",
    "channel": "Chat",
    "onholdTime": "2022-07-01T09:32:14.717Z",
    "language": "English",
    "source": {
        "appName": null,
        "extId": null,
        "permalink": null,
        "type": "SYSTEM",
        "appPhotoURL": null
    },
    "resolution": "Koko",
    "sharedDepartments": [],
    "closedTime": null,
    "approvalCount": "0",
    "isOverDue": true,
    "isTrashed": false,
    "createdTime": "2022-06-27T17:02:17.000Z",
    "id": "97709000000160077",
    "isResponseOverdue": false,
    "customerResponseTime": "2022-06-27T17:02:17.000Z",
    "productId": null,
    "contactId": "97709000000160029",
    "threadCount": "1",
    "secondaryContacts": [],
    "priority": null,
    "classification": null,
    "commentCount": "1",
    "taskCount": "0",
    "accountId": "97709000000160001",
    "phone": "1 888 900 9646",
    "webUrl": "https://desk.zoho.eu/support/siemplify/ShowHomePage.do#Cases/dv/97709000000160077",
    "isSpam": false,
    "status": "On Hold",
    "entitySkills": [],
    "ticketNumber": "101",
    "customFields": {},
    "isArchived": false,
    "description": "Hello<",
    "timeEntryCount": "0",
    "channelRelatedInfo": null,
    "responseDueDate": null,
    "isDeleted": false,
    "modifiedBy": "97709000000092001",
    "email": "support@zohosupport.com",
    "layoutDetails": {
        "id": "97709000000023011",
        "layoutName": "Siemplify"
    },
    "channelCode": null,
    "cf": {},
    "slaId": null,
    "layoutId": "97709000000023011",
    "assigneeId": null,
    "teamId": "97709000000182001",
    "attachmentCount": "0",
    "isEscalated": false,
    "category": null
}
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行:

如果报告了 200 状态代码 (is_success = true):“已成功在 Zoho Desk 中更新 ID 为 {ticket id} 的工单。”

操作应失败并停止 playbook 执行:

如果报告了严重错误(例如凭据错误、无法连接到服务器等),则会显示:“Error executing action "Update Ticket". Reason: {0}''.format(error.Stacktrace)

如果未找到代理:“Error executing action "Update Ticket". 原因:在 Zoho Desk 中找不到代理“{agent_name}”。请检查拼写。'”

如果找不到团队:“执行‘更新工单’操作时出错。原因:在 Zoho Desk 中找不到团队“{team_name}”。请检查拼写。”

如果找不到部门:“Error executing action "Update Ticket". 原因:在 Zoho Desk 中找不到部门“{department}”。请检查拼写。'”

如果找不到联系人:“执行‘更新工单’操作时出错。原因:在 Zoho Desk 中找不到联系人“{contact}”。请检查拼写。”

如果未找到商品:“执行‘更新工单’操作时出错。原因:在 Zoho Desk 中找不到产品“{product}”。请检查拼写。”

如果选择了“Agent”或“Team”,但未提供“Assignee Name”参数:“Error executing action "Update Ticket". 原因:需要提供“受让方姓名”。

常规

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。