AI Agent Studio includes a comprehensive set of standard actions for common Salesforce operations. All standard actions enforce CRUD/FLS permissions, support HITL approval workflows, and integrate with the framework’s security layers.
Core Actions
These actions are included in the core framework package.
GetRecordDetails
Purpose: Search and retrieve Salesforce records with field-level control.
Use Cases: Find accounts by name, search contacts, lookup opportunities, fetch record details.
Security: WITH USER_MODE enforces CRUD+FLS, respects sharing rules.
CreateRecord
Purpose: Create new Salesforce records with schema validation.
Use Cases: Create tasks, log cases, add contacts, create opportunities.
Security: Security.stripInaccessible enforces FLS, type coercion validates field access.
UpdateRecord
Purpose: Update existing records with permission and approval controls.
Use Cases: Update case status, change opportunity stage, modify account details.
Security: FLS enforcement on updates, supports HITL approval workflows.
PostChatter
Purpose: Post Chatter updates to records or groups.
Use Cases: Notify teams, log agent actions, create audit trail in Chatter feed.
Security: User must have Chatter access and record visibility.
Action Configuration Pattern
All actions follow a consistent configuration pattern:
"description": "Record ID to post to (uses context record if not provided)"
},
"mentionUsers": {
"type": "array",
"items": {"type": "string"},
"description": "User IDs to @mention in the post"
}
}
}
Example Capability Description:
Post an update to the Chatter feed for a record.
Use this capability when:
- User asks to post to Chatter
- You need to notify team members
- Creating audit trail of agent actions
- User says "post to", "notify team", or "share with"
Examples:
- "Post to Chatter that I completed the follow-up"
- "Let the team know about this update"
- "Notify the account team on Chatter"
Security: User must have Chatter access. Record visibility enforced by sharing rules.
Best Practices
Write Explicit Descriptions
The capability description is THE most important field. LLM uses it to decide when to call the tool. Be specific about when to use, when NOT to use, and provide examples.
Use Enums for Constrained Values
When a parameter has specific allowed values (like picklist values), use enum in JSON Schema to constrain LLM’s choices.
Start Read-Only, Add Writes Later
Begin with GetRecordDetails actions only. Once validated, add CreateRecord. Add UpdateRecord last with HITL approval.
Enable HITL for Sensitive Operations
Set HITLMode__c to Approval for UpdateRecord, DeleteRecord (custom), and any external integrations. Use Confirmation for CreateRecord.
Set Appropriate FailFast Behavior
For critical operations, set FailFastOnError__c = true to stop immediately on failure. For optional operations, leave false to let LLM handle errors.
Limit Field Exposure
In BackendConfiguration__c, specify allowedFields to limit which fields LLM can access. Don’t expose sensitive fields unnecessarily.
Use Default Values
For CreateRecord, provide defaultValues in Backend Configuration to set standard values (like OwnerId, RecordTypeId) that LLM shouldn’t control.
Test Parameter Schemas
Validate JSON Schema is correct using JSON Schema Validator. Invalid schema will cause capability to fail at runtime.
Typical Action Contract
Every action follows this contract:
Description (capability record): Human-readable explanation of when/how to use
JSON Schema (Parameters__c): Formal parameter definitions for LLM guidance