
创建和增强 Actions 总览
Actions 是使 Agent 能够执行任务和与数据交互的构建块。有四种创建方式和三种增强方式:

创建 Actions — 四种方式
方式说明
Apex REST Actions使用生成式 AI 为 @RestResource 类创建 OpenAPI 文档。部署类 + OAS + 元数据到 API 目录,然后从方法创建 Agent 动作
AuraEnabled Actions为带有 @AuraEnabled 的 Apex 控制器方法生成 OpenAPI 文档。部署到 API 目录并在 Builder 中创建 Agent 动作
Named Query Actions在 Setup 中创建自定义 SOQL 查询(命名查询),在 Agent Creator 中暴露为 Agent 动作
Apex Invocable Method在 Apex 类上使用 @InvocableMethod 注解,将自定义 Apex 逻辑直接集成到 Agentforce 中
增强 Actions — 三种方式
方式说明
Lightning Types使用自定义 LWC 为复杂输入和输出改善 UI
Global Copy提供一致的从 UI 复制功能,提升可用性
Apex Citations使用内联引用扩展动作,支持知识文章、PDF 数据和外部 URL 的来源标注
Apex REST Actions:生成 OpenAPI 和配置
使用 Agentforce Vibes Extension 通过生成式 AI 快速为你的 Apex REST 类创建 OpenAPI v3 文档。工作流:编写或获取 Apex REST 类 → 生成 OpenAPI 文档 → 验证 → 部署类 + 元数据到 API 目录 → 在 Agentforce Builder 中创建 Agent 动作。

前提条件
Agentforce Vibes Extension(包含在 Salesforce Extension Pack for VS Code 或 Agentforce Vibes IDE 中)
MuleSoft for Agentforce Extension Pack(可选)—— 用于治理规则集验证(API Design、Dependencies、Platform)
Apex REST Class:必须有 @RestResource 注解 + 至少一个 @HttpGet/@HttpPost/@HttpPut/@HttpPatch/@HttpDelete 方法
必须有共享规则:with sharing / without sharing / inherited sharing
托管包类不符合条件;先分解 ExternalServiceRegistration 文件
10 步生成工作流
创建 Salesforce DX 项目(SFDX: Create Project)
设置默认组织(SFDX: Set a Default Org)
创建或获取 Apex REST 类
运行:SFDX: Create OpenAPI Document from this Class
选择输出文件夹(默认:externalServiceRegistration)
生成:
<ApexClass>.yaml+<ApexClass>.externalServiceRegistration-meta.xml验证:检查 Problems 标签页修复错误;运行 SFDX: Validate OpenAPI Document
部署 Apex 类:SFDX: Deploy This Source to Org
部署生成的 XML 文件到组织
确认:Setup → API Catalog → Apex 标签页 → API 已列出 → 可作为 Apex Reference Action 使用
类更改后重新生成:再次运行 Create OpenAPI Document → 选择 Overwrite(覆盖)或 Manually Merge(手动合并,打开 diff 视图,带时间戳的新文件放在 esr_files_for_merge 文件夹)→ 验证 → 部署。

验证 OpenAPI Spec 和扩展字段
生成 OpenAPI 文档后,验证其与 REST 类语义一致。确认路径参数、方法路径、查询参数、必填字段、参数类型、请求体形状、响应码(200-299 范围)和响应体结构。

关键 OpenAPI 对象要求
openapi: 3.0.0
servers: 单个
/services/apexrestURLpaths: 必须精确匹配 @RestResource urlMapping
security: OAuth2 或 HTTP Bearer
关键字段规则
Path Item:不要包含 servers、options、head、trace
Operations:不要包含 callbacks、deprecated、security、servers
Parameters:仅 query、header、path(无 cookie);不要包含 deprecated、explode、allowReserved
Request Body:仅 application/json 媒体类型
Response:仅 application/json(对象)或 text/plain(字符串);响应中无 headers
Schema:不允许 'not' 块
Salesforce 扩展字段(x-sfdc)—— 启用 Agent Action 必需
扩展字段说明x-sfdc/agent/action/publishAsAgentAction: true必填 —— 启用为 Agent Actionx-sfdc/privacy/isPii: true可选 —— 启用 PII 服务x-sfdc/agent/action/isUserInput: true必填 —— 将字段暴露为输入x-sfdc/agent/action/isDisplayable: true必填 —— 向用户显示字段
重要:扩展必须定义在 Schema 内部(非 $ref Schema),嵌套在 components.schemas.Pet.x-sfdc.agent.action 路径下。
ESR 元数据关键字段
namedCredential: 始终为 null(部署到组织)
registrationProvider: Apex REST 类名
registrationProviderType: Custom(新枚举值)
schemaType: OpenApi3

验证工具、规则集和限制
MuleSoft for Agentforce Extension Pack(3 个扩展)
API Design Extension —— 检查语义和语法正确性
Dependencies Extension —— 管理 API 依赖
Platform Extension —— 特定于平台的验证
治理规则集
Salesforce API Topic and Action Enablement —— 确保文档具备 Agent Action 所需的元数据
Salesforce Apex REST Best Practices —— 确保 REST 实现遵循最佳实践
命令:MuleSoft: Run Governance Validation(全部规则) 或 MuleSoft: Rerun non-confirmation validations(重新运行之前失败的规则)。
API Console 测试
使用已部署的 Apex REST 实例或 Mock 请求数据检查端点,使用 API Mocking 服务审查 Spec 并测试。
限制和注意事项
API 目录限制适用于 Agent 中的 Apex REST API
达到限制时:先停用或删除不需要的操作(在此之前先从 Agent Action 中移除)
provider type 为 ApexRest 的 ExternalServiceRegistration 不可见于 External Service Setup
部署 ESR 不会同时部署 Apex REST 类 —— 必须分别部署
托管包类不符合条件(代码不可访问)
新的 ESR 文件在生成时自动分解

Agentforce Actions 让你完全控制扩展 Agent 的能力 —— 从 Apex REST 到 OpenAPI 生成、验证、部署,再到 UI 增强和引用标注,覆盖完整的 Action 开发生命周期。
文章来源:https://www.salesforcecrm.cn/article/agentforce/agentforce-actions-guide.html