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)
{"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"}}}
{"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"}}}