AgentForce在Salesforce中无法获取2025年机会总数求助
AgentForce代理调用Invocable Apex获取2025年机会总数异常排查方案
1. 核对Invocable Apex方法逻辑
- 确认方法统计的是机会总数而非总金额:检查SOQL是否使用
COUNT()聚合函数,而非SUM(Amount)。示例正确代码:@InvocableMethod(label='Get 2025 Opportunity Count' description='Returns total number of 2025 opportunities') public static List<Integer> get2025OppCount(List<Request> requests) { List<Integer> results = new List<Integer>(); Date startOf2025 = Date.newInstance(2025, 1, 1); Date endOf2025 = Date.newInstance(2025, 12, 31); Integer oppCount = [SELECT COUNT() FROM Opportunity WHERE CloseDate >= :startOf2025 AND CloseDate <= :endOf2025]; results.add(oppCount); return results; } public class Request { // 无输入参数时保留空类,如需动态年份可添加@InvocableVariable字段 } - 单独验证方法:通过匿名Apex执行该方法,确认返回值是否符合预期(如200),排除方法本身逻辑错误。
2. 检查Flow与AgentForce的输出绑定
- 确认Flow中已将Invocable Apex返回的总数赋值给输出变量(类型设为数字/文本),且该变量被配置为AgentForce的响应输出项。
- 核对AgentForce的Prompt模板:确保模板中引用的变量名与Flow输出变量完全一致,例如使用
{!OpportunityTotalCount}而非总金额变量。
3. 验证AgentForce的意图与参数传递
- 确认用户输入"Show me total opportunity count for 2025"能正确触发目标Flow,而非匹配到其他处理总金额的意图。
- 若Flow支持动态年份参数,检查AgentForce是否正确提取输入中的"2025"并传递给Flow输入变量,避免硬编码错误年份。
4. 排查Flow执行日志
- 使用Flow Debug功能模拟AgentForce的调用场景,查看执行日志中Invocable Apex的返回值、变量赋值流程,定位是否存在数据传递中断或变量覆盖问题。
内容的提问来源于stack exchange,提问作者Sk_Dev
相关产品推荐
相关产品推荐

