This page provides an instruction & guide for developers building a GPT Action for a specific application. Before you proceed, make sure to first familiarize yourself with the following information:
This page provides an instruction & guide for developers building a GPT Action for a specific application. Before you proceed, make sure to first familiarize yourself with the following information:
This particular GPT Action provides an overview of how to connect to Salesforce, specifically, Salesforce Service Cloud. This schema detailed in this Action allows the user to pull case data and update cases directly from ChatGPT. The setup process to create Actions for other Salesforce Cloud solutions uses the same Connected App and authentication setup, but will require a different API schema.
Value: Users can now leverage ChatGPT's natural language capability to connect directly to Salesforce
Example Use Cases:
Check out these links from the application before you get started:
Before you get started, make sure you go through the following steps in your application environment:
Once you've created a Custom GPT, copy the text below in the Instructions panel. Have questions? Check out Getting Started Example to see how this step works in more detail.
**Context**: Your purpose is to pull information from Service Cloud, and push updates to cases. A user is going to ask you a question and ask you to make updates.
**Instructions**:
1. When a user asks you to help them solve a case in Service Cloud, ask for the case number and pull the details for the case into the conversation using the getCaseDetailsFromNumber action.
2. If the user asks you to update the case details, use the action updateCaseStatus.
**Example**:
User: Help me solve case 00001104 in Service Cloud.
Once you've created a Custom GPT, copy the text below in the Actions panel. Have questions? Check out Getting Started Example to see how this step works in more detail.
openapi: 3.1.0
info:
title: Salesforce Service Cloud Case Update API
description: API for updating the status of Service Cloud tickets (cases) in Salesforce.
version: 1.0.3
servers:
- url: https://your_instance.my.salesforce.com
description: Base URL for your Salesforce instance (replace 'your_instance' with your actual Salesforce domain)
paths:
/services/data/v60.0/sobjects/Case/{CaseId}:
patch:
operationId: updateCaseStatus
summary: Updates the status of a Service Cloud case
description: Updates the status of a Service Cloud ticket based on the case ID number.
parameters:
- name: CaseId
in: path
required: true
description: The ID of the case to update.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
Status:
type: string
description: The new status of the case.
responses:
'204':
description: Successfully updated the case status
'400':
description: Bad request - invalid input or case ID not found
'401':
description: Unauthorized - authentication required
'404':
description: Not Found - case ID does not exist
delete:
operationId: deleteCase
summary: Deletes a Service Cloud case
description: Deletes a Service Cloud ticket based on the case ID number.
parameters:
- name: CaseId
in: path
required: true
description: The ID of the case to delete.
schema:
type: string
responses:
'204':
description: Successfully deleted the case
'400':
description: Bad request - invalid case ID
'401':
description: Unauthorized - authentication required
'404':
description: Not Found - case ID does not exist
/services/data/v60.0/query:
get:
operationId: getCaseDetailsFromNumber
summary: Retrieves case details using a case number
description: Retrieves the details of a Service Cloud case associated with a given case number.
parameters:
- name: q
in: query
required: true
description: SOQL query string to find the Case details based on Case Number.
schema:
type: string
example: "SELECT Id, CaseNumber, Status, Subject, Description FROM Case WHERE CaseNumber = '123456'"
responses:
'200':
description: Successfully retrieved the case details
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: Bad request - invalid query
'401':
description: Unauthorized - authentication required
'404':
description: Not Found - case number does not exist
Below are instructions on setting up authentication with this 3rd party application. Have questions? Check out Getting Started Example to see how this step works in more detail.
Before you set up authentication in ChatGPT, please take the following steps in the application.
Before you set up authentication in ChatGPT, please take the following steps in the application.
In ChatGPT, click on "Authentication" and choose "OAuth". Enter in the information below.
Once you've set up authentication in ChatGPT, follow the steps below in the application to finalize the Action.
Are there integrations that you’d like us to prioritize? Are there errors in our integrations? File a PR or issue in our github, and we’ll take a look.