tool
| Property | Type | Required | Default Value | Details |
|---|---|---|---|---|
name | string | Yes | data type=string; maxLen=64; textCase=LOWER | |
type | enum | Yes | data type=string; lov=PLUGINSValid values: executeClientsideCode executeServersideCode retrieveData | |
executionPoint | enum | Yes | data type=string; lov=STATICValid values: augmentSystemPrompt onDemand | |
description | multiline string | No | data type=multiline string; maxLen=4000Applies when executionPoint = onDemand |
userApproval
| Property | Type | Required | Default Value | Details |
|---|---|---|---|---|
requiresConfirmation | boolean | Yes | false | data type=booleanApplies when executionPoint = onDemand |
title | string | No | data type=string; maxLen=255Applies when executionPoint = onDemand and requiresConfirmation = true | |
message | multiline string | Yes | data type=multiline string; maxLen=4000Applies when executionPoint = onDemand and requiresConfirmation = true | |
confirmLabel | string | No | data type=string; maxLen=255Applies when executionPoint = onDemand and requiresConfirmation = true | |
cancelLabel | string | No | data type=string; maxLen=255Applies when executionPoint = onDemand and requiresConfirmation = true |
userApproval {
requiresConfirmation: false
title: value
message: ```
value
```
confirmLabel: value
cancelLabel: value
}notification
| Property | Type | Required | Default Value | Details |
|---|---|---|---|---|
message | multiline string | No | data type=multiline string; maxLen=4000Applies when executionPoint = onDemand | |
type | enum | No | data type=string; lov=STATICValid values: info successApplies when executionPoint = onDemand and message is set |
notification {
message: ```
value
```
type: info
}advanced
| Property | Type | Required | Default Value | Details |
|---|---|---|---|---|
staticId | string | Yes | data type=string; maxLen=255Enter a unique Static ID to identify this component in API calls or refer to it in application export files. If you change the Static ID, dependent components will retain their references, but any existing API calls using the old ID must be updated manually. |
advanced {
staticId: value
}serverSideCondition
| Property | Type | Required | Default Value | Details |
|---|---|---|---|---|
type | enum | No | data type=string; lov=STATICValid values: anyUserPromptContains lastUserPromptContains rowsReturned noRowsReturned expression functionBody neverSelect a condition type that must be met in order for the Augment System Prompt tool to be executed, or the On Demand tool to be made available to the AI Service. For the condition types Any User Prompt contains and Last User Prompt contains, provide a comma-separated list of words to check for their presence in the user's prompt. In programmatic contexts, you can use the following special bind variables to access and evaluate the user's prompt:
| |
sqlQuery | multiline string | Yes | data type=multiline string; maxLen=4000Applies when type in (rowsReturned)type in (noRowsReturned) | |
language | enum | Yes | plsql | data type=string; lov=STATICValid values: sql plsql javaScript-mleApplies when type = expression |
sqlExpression | multiline string | Yes | data type=multiline string; maxLen=4000Applies when type = expression and language = sql | |
plsqlExpression | multiline string | Yes | data type=multiline string; maxLen=4000Applies when type = expression and language = plsql | |
javaScriptExpression | multiline string | Yes | data type=multiline string; maxLen=4000Applies when type = expression and language = javaScript-mle | |
language | enum | Yes | plsql | data type=string; lov=STATICValid values: plsql javaScript-mleApplies when type = functionBody |
plsqlFunctionBody | multiline string | Yes | data type=multiline string; maxLen=4000Applies when type = functionBody and language = plsql | |
javaScriptFunctionBody | multiline string | Yes | data type=multiline string; maxLen=4000Applies when type = functionBody and language = javaScript-mle | |
list | array of strings | Yes | data type=string; maxLen=4000Applies when type in (anyUserPromptContains)type in (lastUserPromptContains) |
serverSideCondition {
type: anyUserPromptContains
sqlQuery: ```sql
value
```
language: sql
sqlExpression: ```sql
value
```
plsqlExpression: ```plsql
value
```
javaScriptExpression: ```javascript-mle
value
```
plsqlFunctionBody: ```plsql
value
```
javaScriptFunctionBody: ```javascript-mle
value
```
list: [
value
value
]
}security
| Property | Type | Required | Default Value | Details |
|---|---|---|---|---|
authorizationScheme | enum | No | data type=reference; lov=COMPONENT; references=authorizationValid values: mustNotBePublicUser |
security {
authorizationScheme: mustNotBePublicUser
}config
| Property | Type | Required | Default Value | Details |
|---|---|---|---|---|
buildOption | reference | No | data type=reference; lov=COMPONENT; references=buildOption |
config {
buildOption: @component
}comments
| Property | Type | Required | Default Value | Details |
|---|---|---|---|---|
comments | multiline string | No | data type=multiline string; maxLen=4000 |
comments {
comments: ```
value
```
}APEXlang Example
tool sample (
name: value
type: executeClientsideCode
executionPoint: augmentSystemPrompt
description: ```
value
```
userApproval {
requiresConfirmation: false
title: value
message: ```
value
```
confirmLabel: value
cancelLabel: value
}
notification {
message: ```
value
```
type: info
}
advanced {
staticId: value
}
serverSideCondition {
type: anyUserPromptContains
sqlQuery: ```sql
value
```
language: sql
sqlExpression: ```sql
value
```
plsqlExpression: ```plsql
value
```
javaScriptExpression: ```javascript-mle
value
```
plsqlFunctionBody: ```plsql
value
```
javaScriptFunctionBody: ```javascript-mle
value
```
list: [
value
value
]
}
security {
authorizationScheme: mustNotBePublicUser
}
config {
buildOption: @component
}
comments {
comments: ```
value
```
}
)