引言
本页为开发者构建特定应用程序的 GPT Action 提供说明和指南。在继续之前,请确保您已熟悉以下信息:
此特定的 GPT Action 概述了如何连接到 Salesforce,特别是 Salesforce Service Cloud。此 Action 中详细介绍的模式允许用户直接从 ChatGPT 拉取案例数据并更新案例。为其他 Salesforce Cloud 解决方案创建 Actions 的设置过程使用相同的已连接应用程序和身份验证设置,但需要不同的 API 模式。
价值 + 示例业务用例
价值:用户现在可以利用 ChatGPT 的自然语言功能直接连接到 Salesforce
示例用例:
- 减少客户的平均响应时间
- 减少排查案例或问题的时间
- 结合 GPT 中的知识和说明,确保在响应客户时具有更一致的品牌声音
应用程序信息
应用程序关键链接
在开始之前,请查看应用程序中的这些链接:
应用程序先决条件
在开始之前,请确保在您的应用程序环境中完成以下步骤:
- 确保您拥有在 Salesforce 中创建应用程序的权限
ChatGPT 步骤
自定义 GPT 说明
创建自定义 GPT 后,请将以下文本复制到“说明”面板中。有疑问吗?请查看 入门示例,了解此步骤的详细信息。
**上下文**:您的目的是从 Service Cloud 拉取信息,并将更新推送到案例。用户将向您提出问题并要求您进行更新。
**说明**:
1. 当用户要求您在 Service Cloud 中帮助他们解决案例时,请询问案例编号,并通过 getCaseDetailsFromNumber 操作将案例的详细信息拉入对话中。
2. 如果用户要求您更新案例详细信息,请使用 updateCaseStatus 操作。
**示例**:
用户:请帮助我解决 Service Cloud 中的案例 00001104。
OpenAPI 模式
创建自定义 GPT 后,请将以下文本复制到“操作”面板中。有疑问吗?请查看 入门示例,了解此步骤的详细信息。
openapi: 3.1.0
info:
title: Salesforce Service Cloud 案例更新 API
description: 用于更新 Salesforce 中 Service Cloud 票证(案例)状态的 API。
version: 1.0.3
servers:
- url: https://your_instance.my.salesforce.com
description: 您的 Salesforce 实例的基本 URL(将“your_instance”替换为您的实际 Salesforce 域)
paths:
/services/data/v60.0/sobjects/Case/{CaseId}:
patch:
operationId: updateCaseStatus
summary: 更新 Service Cloud 案例的状态
description: 根据案例 ID 号更新 Service Cloud 票证的状态。
parameters:
- name: CaseId
in: path
required: true
description: 要更新的案例的 ID。
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
Status:
type: string
description: 案例的新状态。
responses:
'204':
description: 成功更新案例状态
'400':
description: 请求错误 - 输入无效或找不到案例 ID
'401':
description: 未授权 - 需要身份验证
'404':
description: 未找到 - 案例 ID 不存在
delete:
operationId: deleteCase
summary: 删除 Service Cloud 案例
description: 根据案例 ID 号删除 Service Cloud 票证。
parameters:
- name: CaseId
in: path
required: true
description: 要删除的案例的 ID。
schema:
type: string
responses:
'204':
description: 成功删除案例
'400':
description: 请求错误 - 无效的案例 ID
'401':
description: 未授权 - 需要身份验证
'404':
description: 未找到 - 案例 ID 不存在
/services/data/v60.0/query:
get:
operationId: getCaseDetailsFromNumber
summary: 使用案例编号检索案例详细信息
description: 检索与给定案例编号关联的 Service Cloud 案例的详细信息。
parameters:
- name: q
in: query
required: true
description: 用于根据案例编号查找案例详细信息的 SOQL 查询字符串。
schema:
type: string
example: "SELECT Id, CaseNumber, Status, Subject, Description FROM Case WHERE CaseNumber = '123456'"
responses:
'200':
description: 成功检索案例详细信息
content:
application/json:
schema:
type: object
properties:
totalSize:
type: integer
done:
type: boolean
records:
type: array
items:
type: object
properties:
Id:
type: string
CaseNumber:
type: string
Status:
type: string
Subject:
type: string
Description:
type: string
'400':
description: 请求错误 - 查询无效
'401':
description: 未授权 - 需要身份验证
'404':
description: 未找到 - 案例编号不存在
身份验证说明
以下是与此第三方应用程序设置身份验证的说明。有疑问吗?请查看 入门示例,了解此步骤的详细信息。
操作前步骤
在 ChatGPT 中设置身份验证之前,请在应用程序中执行以下步骤。
在 ChatGPT 中设置身份验证之前,请在应用程序中执行以下步骤。
- 导航到 Salesforce 设置
- 搜索“应用程序管理器”
- 点击“新建已连接的应用程序”
- 输入已连接的应用程序名称
- 输入联系电子邮件(您的电子邮件)
- 勾选启用 OAuth 设置的框
- 插入回调 URL(目前使用占位符 https://chat.openai.com/aip//oauth/callback,稍后在 ChatGPT 中创建操作时更新)
- 选择“选定的 OAuth 范围”并授予适当的权限。根据您的内部安全策略进行范围限定。
- 确保选中以下框: - 启用客户端凭据流 - 启用授权代码和凭据流 - 启用令牌交换流
- 确保取消选中以下框: - 支持的授权流程需要代码交换证明密钥 (PKCE)
- 保存您的新已连接应用程序
- 在“使用者密钥和密码”下,点击“管理使用者详细信息”。使用发送到您帐户的电子邮件代码验证您的访问权限,然后复制密钥和密码。 - Salesforce 使用者密钥 = ChatGPT 客户端 ID - Salesforce 使用者密码 = ChatGPT 客户端密码
- 返回应用程序页面
- 点击“管理”
- 点击“编辑策略”
- 在 OAuth 策略下,勾选“启用令牌交换流”框
- 点击保存!
在 ChatGPT 中
在 ChatGPT 中,点击“身份验证”并选择 “OAuth”。在此处输入以下信息。
- 客户端 ID:使用以上步骤中的客户端 ID
- 客户端密码:使用以上步骤中的客户端密码
- 授权 URL:https://[inserturlhere].my.salesforce.com/services/oauth2/authorize
- 令牌 URL:https://[inserturlhere].my.salesforce.com/services/oauth2/token
- 范围:full
- 令牌:Default (POST)
操作后步骤
在 ChatGPT 中设置身份验证后,请在应用程序中按照以下步骤完成操作。
- 复制 GPT 操作中的回调 URL
- 导航回 Salesforce 中的已连接应用程序,并添加您的回调 URL。
常见问题解答和故障排除
- 回调 URL 错误: 如果在 ChatGPT 中遇到回调 URL 错误,请仔细查看上面的屏幕截图。您需要将回调 URL 直接添加到 Salesforce 中,操作才能正确进行身份验证
- 内部服务器错误: 确保在已连接应用程序的 OAuth 设置中选中和/或取消选中所有正确的框。
您希望我们优先处理哪些集成?我们的集成是否存在错误?在我们的 GitHub 上提交 PR 或 issue,我们将进行查看。