Describe Action Schema
curl --request POST \
--url 'https://actionkit.useparagon.com/projects/{project_id}/tools/#SALESFORCE_DESCRIBE_ACTION_SCHEMA' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tool": "SALESFORCE_DESCRIBE_ACTION_SCHEMA",
"parameters": {
"recordType": "<string>",
"operation": "<string>"
}
}
'import requests
url = "https://actionkit.useparagon.com/projects/{project_id}/tools/#SALESFORCE_DESCRIBE_ACTION_SCHEMA"
payload = {
"tool": "SALESFORCE_DESCRIBE_ACTION_SCHEMA",
"parameters": {
"recordType": "<string>",
"operation": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
tool: 'SALESFORCE_DESCRIBE_ACTION_SCHEMA',
parameters: {recordType: '<string>', operation: '<string>'}
})
};
fetch('https://actionkit.useparagon.com/projects/{project_id}/tools/#SALESFORCE_DESCRIBE_ACTION_SCHEMA', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://actionkit.useparagon.com/projects/{project_id}/tools/#SALESFORCE_DESCRIBE_ACTION_SCHEMA",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'tool' => 'SALESFORCE_DESCRIBE_ACTION_SCHEMA',
'parameters' => [
'recordType' => '<string>',
'operation' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://actionkit.useparagon.com/projects/{project_id}/tools/#SALESFORCE_DESCRIBE_ACTION_SCHEMA"
payload := strings.NewReader("{\n \"tool\": \"SALESFORCE_DESCRIBE_ACTION_SCHEMA\",\n \"parameters\": {\n \"recordType\": \"<string>\",\n \"operation\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://actionkit.useparagon.com/projects/{project_id}/tools/#SALESFORCE_DESCRIBE_ACTION_SCHEMA")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tool\": \"SALESFORCE_DESCRIBE_ACTION_SCHEMA\",\n \"parameters\": {\n \"recordType\": \"<string>\",\n \"operation\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://actionkit.useparagon.com/projects/{project_id}/tools/#SALESFORCE_DESCRIBE_ACTION_SCHEMA")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tool\": \"SALESFORCE_DESCRIBE_ACTION_SCHEMA\",\n \"parameters\": {\n \"recordType\": \"<string>\",\n \"operation\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"type": "function",
"function": {
"name": "SALESFORCE_CREATE_RECORD_ACCOUNT",
"description": "Create Account",
"parameters": {
"type": "object",
"properties": {
"Id": {
"type": "string",
"description": "Account ID"
},
"IsDeleted": {
"type": "boolean",
"description": "Deleted"
},
"MasterRecordId": {
"type": "string",
"description": "Master Record ID"
},
"Name": {
"type": "string",
"description": "Account Name"
},
"Type": {
"type": "string",
"description": "Account Type",
"enum": [
"Analyst",
"Competitor",
"Customer",
"Integrator",
"Investor",
"Partner",
"Press",
"Prospect",
"Reseller",
"Other"
]
},
"ParentId": {
"type": "string",
"description": "Parent Account ID"
}
},
"required": [
"Name"
],
"additionalProperties": false
}
}
}Tools
Describe Action Schema
POST
/
projects
/
{project_id}
/
tools
/
#SALESFORCE_DESCRIBE_ACTION_SCHEMA
Describe Action Schema
curl --request POST \
--url 'https://actionkit.useparagon.com/projects/{project_id}/tools/#SALESFORCE_DESCRIBE_ACTION_SCHEMA' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tool": "SALESFORCE_DESCRIBE_ACTION_SCHEMA",
"parameters": {
"recordType": "<string>",
"operation": "<string>"
}
}
'import requests
url = "https://actionkit.useparagon.com/projects/{project_id}/tools/#SALESFORCE_DESCRIBE_ACTION_SCHEMA"
payload = {
"tool": "SALESFORCE_DESCRIBE_ACTION_SCHEMA",
"parameters": {
"recordType": "<string>",
"operation": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
tool: 'SALESFORCE_DESCRIBE_ACTION_SCHEMA',
parameters: {recordType: '<string>', operation: '<string>'}
})
};
fetch('https://actionkit.useparagon.com/projects/{project_id}/tools/#SALESFORCE_DESCRIBE_ACTION_SCHEMA', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://actionkit.useparagon.com/projects/{project_id}/tools/#SALESFORCE_DESCRIBE_ACTION_SCHEMA",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'tool' => 'SALESFORCE_DESCRIBE_ACTION_SCHEMA',
'parameters' => [
'recordType' => '<string>',
'operation' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://actionkit.useparagon.com/projects/{project_id}/tools/#SALESFORCE_DESCRIBE_ACTION_SCHEMA"
payload := strings.NewReader("{\n \"tool\": \"SALESFORCE_DESCRIBE_ACTION_SCHEMA\",\n \"parameters\": {\n \"recordType\": \"<string>\",\n \"operation\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://actionkit.useparagon.com/projects/{project_id}/tools/#SALESFORCE_DESCRIBE_ACTION_SCHEMA")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tool\": \"SALESFORCE_DESCRIBE_ACTION_SCHEMA\",\n \"parameters\": {\n \"recordType\": \"<string>\",\n \"operation\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://actionkit.useparagon.com/projects/{project_id}/tools/#SALESFORCE_DESCRIBE_ACTION_SCHEMA")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tool\": \"SALESFORCE_DESCRIBE_ACTION_SCHEMA\",\n \"parameters\": {\n \"recordType\": \"<string>\",\n \"operation\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"type": "function",
"function": {
"name": "SALESFORCE_CREATE_RECORD_ACCOUNT",
"description": "Create Account",
"parameters": {
"type": "object",
"properties": {
"Id": {
"type": "string",
"description": "Account ID"
},
"IsDeleted": {
"type": "boolean",
"description": "Deleted"
},
"MasterRecordId": {
"type": "string",
"description": "Master Record ID"
},
"Name": {
"type": "string",
"description": "Account Name"
},
"Type": {
"type": "string",
"description": "Account Type",
"enum": [
"Analyst",
"Competitor",
"Customer",
"Integrator",
"Investor",
"Partner",
"Press",
"Prospect",
"Reseller",
"Other"
]
},
"ParentId": {
"type": "string",
"description": "Parent Account ID"
}
},
"required": [
"Name"
],
"additionalProperties": false
}
}
}Provider API: Salesforce REST API (Latest version available to the connected org).
Authorizations
Your Paragon User Token (JWT), which you can generate using your project's signing keys.
Path Parameters
Your Paragon Project ID. You can copy your Project ID from your dashboard URL or by clicking Copy Project ID under the Environment switcher.
Body
application/json
Response
200 - application/json
The input schema of a Salesforce Create Record or Update Record Tool for the given record type, in the same format as the Tools list. operation is CREATE_RECORD or UPDATE_RECORD. The properties are built from the connected org, so they include its custom fields; the example is abbreviated to the first properties.