引言

本页为开发者构建特定应用程序的 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 中设置身份验证之前,请在应用程序中执行以下步骤。

  1. 导航到 Salesforce 设置

gptactions_salesforce.png

  1. 搜索“应用程序管理器”

gptactions_salesforce.png

  1. 点击“新建已连接的应用程序”
  2. 输入已连接的应用程序名称
  3. 输入联系电子邮件(您的电子邮件)
  4. 勾选启用 OAuth 设置的框
  5. 插入回调 URL(目前使用占位符 https://chat.openai.com/aip//oauth/callback,稍后在 ChatGPT 中创建操作时更新)

gptactions_salesforce.png

  1. 选择“选定的 OAuth 范围”并授予适当的权限。根据您的内部安全策略进行范围限定。

gptactions_salesforce.png

  1. 确保选中以下框: - 启用客户端凭据流 - 启用授权代码和凭据流 - 启用令牌交换流
  2. 确保取消选中以下框: - 支持的授权流程需要代码交换证明密钥 (PKCE)

gptactions_salesforce.png

  1. 保存您的新已连接应用程序
  2. 在“使用者密钥和密码”下,点击“管理使用者详细信息”。使用发送到您帐户的电子邮件代码验证您的访问权限,然后复制密钥和密码。 - Salesforce 使用者密钥 = ChatGPT 客户端 ID - Salesforce 使用者密码 = ChatGPT 客户端密码

gptactions_salesforce.png

  1. 返回应用程序页面
  2. 点击“管理”
  3. 点击“编辑策略”
  4. 在 OAuth 策略下,勾选“启用令牌交换流”框

gptactions_salesforce.png

  1. 点击保存!

在 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,我们将进行查看。