Configuration Guide

Complete reference for all agent and capability settings.

Table of contents

  1. Agent Configuration
    1. Basic Settings
    2. AI Provider Settings
    3. Memory Strategies
    4. Behavior Settings
    5. Performance Settings
  2. Async Dispatch Types
    1. High Concurrency (Platform Events)
    2. Low Concurrency (Queueables)
  3. LLM Configuration
    1. Temperature Guide
  4. Capability Configuration
    1. Basic Info
    2. Implementation Types
    3. Execution Settings
    4. Configuration Fields
  5. Writing Effective Descriptions
    1. Good Description Example
    2. Bad Description Example
  6. JSON Schema for Parameters
    1. Basic Example
    2. With Required Fields
    3. With Enums
    4. Complex Example
  7. Backend Configuration Examples
    1. GetRecords Action
    2. CreateRecord Action
    3. Flow Action

Agent Configuration

Basic Settings

Field Type Description
Name Text Display name for the agent
DeveloperName__c Text Unique API identifier (no spaces)
AgentType__c Picklist Conversational, Function, or Workflow
IsActive__c Checkbox Enable/disable the agent

AI Provider Settings

Field Type Description
LLMConfiguration__c Lookup Which AI provider configuration to use
MemoryStrategy__c Picklist How to manage conversation history
HistoryTurnLimit__c Number Number of conversation turns to remember

Memory Strategies

Strategy Description Best For
BufferWindow Keeps last N turns verbatim Short conversations, precise context
SummaryBuffer Summarizes older turns Long conversations, cost optimization

Behavior Settings

Field Type Description
IdentityPrompt__c Long Text Defines who the agent is (persona)
InstructionsPrompt__c Long Text How the agent should behave
EnableActionTransparency__c Checkbox Show tool execution details to users
ErrorHandlingPolicy__c Picklist Fail-Fast or Autonomous Recovery

Performance Settings

Field Type Description
AsyncDispatchType__c Picklist High (Platform Events) or Low (Queueables)
EnableParallelToolCalling__c Checkbox Execute multiple tools simultaneously

Async Dispatch Types

High Concurrency (Platform Events)

Best for production environments with many concurrent users.

  • Handles thousands of simultaneous conversations
  • Event-driven architecture
  • Better scalability
  • Harder to debug

Low Concurrency (Queueables)

Best for development, testing, and debugging.

  • Sequential processing
  • Full debug log support
  • Guaranteed execution order
  • Limited concurrent executions

LLM Configuration

Field Type Description
DeveloperName__c Text Unique identifier
NamedCredential__c Text Named Credential API name
ProviderAdapterClass__c Text Apex class for provider integration
DefaultModel__c Text Model identifier (e.g., gpt-4o)
Temperature__c Number Creativity level (0.0 - 1.0)
MaxTokens__c Number Maximum response tokens
IsActive__c Checkbox Enable this configuration

Temperature Guide

Value Behavior Use Case
0.0 - 0.3 Deterministic, focused Data retrieval, classification
0.4 - 0.7 Balanced General assistance
0.8 - 1.0 Creative, varied Content generation

Capability Configuration

Basic Info

Field Type Description
CapabilityName__c Text Tool name shown to AI (use snake_case)
Description__c Long Text When and how to use this tool
ImplementationType__c Picklist Standard, Apex, or Flow

Implementation Types

Type Description Use Case
Standard Built-in actions Common Salesforce operations
Apex Custom Apex class Complex business logic
Flow Salesforce Flow No-code automation

Execution Settings

Field Type Description
RequiresApproval__c Checkbox Require human approval before execution
RequiresConfirmation__c Checkbox AI asks user for yes/no confirmation in chat before executing
RunAsynchronously__c Checkbox Execute in separate transaction
FailFastOnError__c Checkbox Stop immediately on error

Configuration Fields

Field Type Description
BackendConfiguration__c Long Text Admin settings (JSON)
Parameters__c Long Text Tool parameters (JSON Schema)

Writing Effective Descriptions

The capability description is crucial for the AI to understand when to use a tool.

Good Description Example

Search for contacts in Salesforce by name, email, or account.
Use this capability when:
- User asks to find a contact
- User wants contact information
- User mentions a person's name in a business context

Do NOT use when:
- User is asking about accounts (use search_accounts instead)
- User wants to create a new contact (use create_contact instead)

Bad Description Example

Gets contacts

JSON Schema for Parameters

Parameters use JSON Schema format.

Basic Example

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The contact's full name"
    }
  }
}

With Required Fields

{
  "type": "object",
  "required": ["email"],
  "properties": {
    "email": {
      "type": "string",
      "description": "Email address (required)"
    },
    "name": {
      "type": "string",
      "description": "Optional name filter"
    }
  }
}

With Enums

{
  "type": "object",
  "properties": {
    "priority": {
      "type": "string",
      "enum": ["High", "Normal", "Low"],
      "description": "Task priority level"
    }
  }
}

Complex Example

{
  "type": "object",
  "required": ["objectType"],
  "properties": {
    "objectType": {
      "type": "string",
      "enum": ["Account", "Contact", "Opportunity"],
      "description": "Salesforce object to search"
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {"type": "string"},
          "operator": {"type": "string", "enum": ["=", "!=", "LIKE"]},
          "value": {"type": "string"}
        }
      },
      "description": "Search filters to apply"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 10,
      "description": "Maximum records to return"
    }
  }
}

Backend Configuration Examples

GetRecords Action

{
  "objectApiName": "Contact",
  "defaultFields": ["Id", "Name", "Email", "Phone", "Account.Name"],
  "defaultLimit": 25
}

CreateRecord Action

{
  "objectApiName": "Task",
  "defaultValues": {
    "OwnerId": "{!$User.Id}",
    "Status": "Not Started"
  }
}

Flow Action

For Flow implementation, set ImplementationType__c to Flow and put the Flow API name in ImplementationDetail__c.

{
  "defaultInputValues": {
    "source": "AI_Agent"
  }
}