一、准备 Superbadge(Get Ready for the Superbadge)
本单元为你的 Superbadge 挑战做准备。我们将先讲清 superbadge 是什么、它与普通 Trailhead 内容的区别,然后列出三项评估目标、推荐学习内容、特殊 Developer Edition org 的注册与连接、挑战帮助文章,最后给出 Coral Cloud Resorts 用例——客人体验评价与营销活动,以及你要完成的 Agentforce 配置。
Superbadge 简介(Introduction to Superbadges)
首先要理解你将面对的是什么。Superbadge 与普通 Trailhead 学习不同:它是一种动手型技术技能评估——你拿到业务需求,在没有逐步指导的情况下运用技能构建出令人惊叹的东西。
Trailhead 提供了推荐学习内容和充满资源的帮助文章来辅助你,但实际的构建要靠你自己。预计完成时间假设你已具备相关概念的经验、并已完成推荐学习。你的努力终将得到回报——真正证明你的技能。
评估目标(Assessment Objectives)
三项目标定义了本 superbadge 要考察的内容:
- 创建一个 invocable Apex 类来调用现有功能。
- 从 Apex 类中调用 Prompt 模板。
- 为 agent 创建一个 Apex 操作。
每项目标都对应你将要完成的一个挑战。
推荐学习内容(Recommended Learning)
开始前,先完成推荐的学习内容——它们为技能评估提供了知识基础:
Quickstart: Apex Coding for Admins — 把 Apex 加入你的工具库,用代码构建复杂的业务流程。
Agent Customization with Apex — 用 agent 操作和 Apex 创建自定义 AI agent。
Agent Customization: Quick Look — 学习如何用 prompt、flow 和 Apex 定制 agent。
每一项都补上本 superbadge 假定你已具备的技能。
预备工作与注意事项(Prework and Notes)
开始挑战前,需要完成三项预备工作:
- 注册特殊配置的 Developer Edition org——该 org 带有本 superbadge 所需的特定配置和示例数据。
- 将 org 连接到 Trailhead——把新 org 关联到你的 Trailhead 账户,用于动手挑战。
- 查阅 Trailhead 挑战帮助文章——了解完成挑战所需的资源及无障碍注意事项。
这三步确保你在开始构建前已准备好正确的环境和资源。
注册特殊配置的 Developer Edition Org
首先,准备好正确的环境。本 superbadge 需要一个特殊的 Developer Edition org,其中包含专为这些挑战设计的特定配置和示例数据。
通过免费链接注册带特殊配置的 Developer Edition org,并按照「Verify Account」邮件中的说明登录、完成注册。
妥善保管你的 org 凭据——把用户名和密码存放在安全的地方(如密码管理器),以便日后查找。如果你超过 30 天未登录该 org,继续动手操作前可能被要求重新将其连接到 Trailhead。
连接新的 Developer Edition Org
现在把新 org 连接到 Trailhead:
- 确保已登录你的 Trailhead 账户。
- 在 Choose a hands-on org 页面选择 Connect org。
- 在登录页输入刚设置的 Developer Edition 用户名和密码。
- 在 Allow Access? 页面点击 Allow。
- 在「Want to connect this org for hands-on challenges?」页面点击 Yes! Save it。
你会被重定向回 Get Ready for Superbadge 页面,准备好赢取本 superbadge。
查阅挑战帮助文章
开始挑战前,请查阅 Apex for Agentforce Superbadge: Trailhead Challenge Help 帮助文章,其中包含完成挑战所需的资源。
同时查看其中的「无障碍(accessibility)」部分,了解与本 superbadge 相关的任何无障碍注意事项——这小小一步能帮你省去后续不少麻烦。
用例:Coral Cloud Resorts(Use Case)
这是业务背景。Coral Cloud Resorts 是一个应有尽有的度假胜地,团队努力为客人提供绝佳体验,客人可从数百种活动与探险中挑选。在本 superbadge 中,你将用 Apex 和 Agentforce 帮助团队提供卓越服务、巩固客户关系、赢得回头生意。
你的工作聚焦在两个领域:客人体验评价(guest experience reviews)和营销活动(campaigns)——两者都将通过 Apex 定制来自动化。
客人体验评价(Guest Experience Reviews)
客人评价是 Coral Cloud 成功的关键要素。在网站上,每个体验都列有简要描述、价格、总体评分和个别客人评价的片段。客人用自己的话给出评价,并为体验打出 1–10 分的数字评分(10 分为卓越)。
这些评价随后指导回头客的未来决策——客人部分依据评价和评分来做预订决定,无论是 Tropical Snorkel Adventure(热带浮潜探险)、Sunrise Mountain Yoga(日出山地瑜伽)还是 Kids' Marine Discovery(儿童海洋探索)。
客人营销活动(Guest Campaigns)
营销活动是第二个领域。Coral Cloud 的管理层用营销活动在两次入住之间与客户保持联系,每年客人都会根据自己的兴趣和体验有资格参加不同的营销活动。
作为一名 Salesforce 开发人员,你被要求帮助 Coral Cloud 自动化捕获评价和把客人加入营销活动的流程。你将通过 Agentforce 和 Apex 定制,在 Coral Cloud CRM 中建立新的功能。
在 Org 中配置 Agentforce(一):主题与操作
你需要使用 Agentforce 来完成目标。在已连接的 Developer Edition org 中按以下步骤设置 agent:
- 启用 Einstein 和 Agentforce。
- 在 Agentforce Builder 中打开 Coral Cloud Experience Agent。
- 创建一个名为
Customer Experience Reviews的新主题(topic)——点击 Next 跳过可选的「What do you want this topic to do?」弹窗,然后在下一个弹窗中填写分类描述、范围和指令。 - 添加三个操作:Lookup Contact by Email(按邮箱查询联系人)、Get Most Recent Booking by Contact(查询今天之前最近的预订)、Lookup Experience(按体验名称查询体验)。
在 Org 中配置 Agentforce(二):上下文与注意事项
接着设置上下文:
- 在 Legacy Agentforce Builder 导航栏中选择 Context。
- 在 Context Variables 下选择 Messaging Session。
- 点击 Edit Included Fields,勾选 Email__c 字段。
- 点击 Save Included Fields 保存。
注意:通过 AI 实施记录变更时,最佳实践是加入用户身份验证等安全措施——本挑战不要求,但建议在真实场景中采用。另外,新的 Agentforce Builder 已于 2026 年 2 月上线,本 superbadge 使用的是旧版 builder,请按上面描述的旧版步骤操作。
二、创建 Invocable Apex 类调用现有功能(Create an Invocable Apex Class to Call an Existing Functionality)
在本挑战中,你要帮助 Coral Cloud 团队自动化收集、处理并存储客人体验评价的方式。在梳理需求时你了解到,Coral Cloud org 已有一些基于 Apex 的营销活动功能,并计划不久后连接到 Agentforce——因此你确定用 Apex 实现 agent 聊天提交评价的方案最佳,因为该方案很快也会扩展到营销活动。
处理客人评价(一):捕获评价
Coral Cloud Resorts 已在其站点上部署了 Service Agent。你的首要任务是确保当客人使用 agent 聊天选项提交体验评价时,Coral Cloud Experience Agent 能捕获正确的信息——Customer Experience Reviews 主题已为此添加。
为定制 Agentforce 操作,使用 Coral Cloud org 中现有的 Apex 类 GuestReviewProcessor:用 invocable 变量收集评价的关键信息,然后创建 invocable 方法处理评价细节。
处理客人评价(二):输入包装类
在 GuestReviewProcessor 类中构建输入包装类 GuestReviewRequest,定义以下输入变量(每个变量的 required 参数都设为 true,并添加合适的 description):
Contact contact—— 联系人Experience__c experience—— 体验String review—— 评价内容String rating—— 评分
挑战不会检查 description 的具体文字,只检查其存在。
处理客人评价(三):输出包装类
构建输出包装类 GuestReviewResponse,包含一个传达操作结果的消息:
- 输出变量
String message,label参数设为status。 - 为 message 变量添加
description。
该消息用于告知用户评价是否处理成功,也是你报告失败的通道。
处理客人评价(四):@InvocableMethod
创建 invocable 方法 processReviews,label 参数设为 Process Guest Reviews,并添加合适的 description。
用输入包装类 GuestReviewRequest 捕获聊天信息,用捕获的 contact(Contact__c)、experience(Experience__c)、review(Comments__c)、rating(Rating__c)创建评价记录。方法用输出包装类 GuestReviewResponse 在评价成功处理时显示消息。
处理客人评价(五):异常处理
异常处理很重要:务必遵循最佳实践——如果评价遇到失败,输出消息必须清楚告知用户出了问题,不要让用户猜测。
最后,用捕获的 contact、experience、review、rating 创建评价记录。你可以选择将其与 CampaignMemberController 类中的现有营销活动功能关联,但这一项不会被检查。
处理客人评价(六):备注与测试
两条提示帮助你完成:
- 参考推荐学习 Agent Customization with Apex 中「Get Ready to Create an Apex Action」单元的 CheckWeather 类。
- 测试 invocable Apex 类需要在 Agentforce Builder 中设置 agent 操作,并授予 EinsteinServiceAgent User 必要权限——本挑战不检查,但会在稍后的「Configure an Apex Action for an Agent」挑战中检查。
如果你之后修改了 invocable 变量,需删除引用 Process Guest Reviews invocable 方法的 agent 操作并重新创建一个新的。
三、从 Apex 类调用 Prompt 模板(Invoke a Prompt Template From an Apex Class)
在本挑战中,你要让评价数据发挥作用。评价是宝贵的资源——客人依赖体验评价和评分来决定是否在下次假期预订。你将使用现有的 Experience Guest Reviews Evaluator prompt 模板,从一个新的 Apex 方法中调用它,让体验记录获得更丰富的评分属性。
增强评价流程(一):为何需要更多细节
让我们探索评价中收集的数据以及利用它的方式。在当前评价流程中,客人用自己的话给出评价,并为体验打出 1–10 分的数字评分(10 分为卓越)。
但有些客人表示,他们想要的不仅仅是总体评分。由于 Coral Cloud 一直致力于提升客户满意度,团队进一步研究:还有哪些关于体验的额外细节会对客人有用?
增强评价流程(二):三个属性
与 Coral Cloud 团队合作,你确定三个补充总体评分的详细属性:
- Value(价值)——很多评价里提到,客人常说「绝对物有所值!」
- Accuracy(准确性)——体验是否符合客人的期望。
- Communication(沟通)——度假村员工是否很好地帮助客人做好享受体验的准备。
这三个——Value、Accuracy、Communication——成为体验对象上的自定义评分字段。
增强评价流程(三):Prompt 模板
已有一个名为 Experience Guest Reviews Evaluator 的 prompt 模板。这个现有模板评估与某体验相关的所有评价记录,计算 1–10 的数字评分,并以 JSON 格式返回各属性的评分:
- Value——体验物有所值。
- Accuracy——描述准确反映了体验。
- Communication——度假村员工清晰传达了体验细节。
增强评价流程(四):generateRatingParams
GuestReviewRatingCalculator 类中有一个 generateRatingParams 方法,接收体验记录 id 作为参数。在该方法中,inputParams map 应设置为 prompt 模板输入。
把骨架代码中的占位文本 REPLACE_WITH_PROMPT_TEMPLATE_INPUT 替换为实际的 prompt 模板输入。
增强评价流程(五):调用服务
generationsOutput 应调用服务 generateMessagesForPromptTemplate 生成响应,同时指定 prompt 模板 API 名 Experience_Guest_Reviews_Evaluator 和调用参数部分设置的输入参数。
最后,用 generationsOutput 变量的 generations 属性设置响应。其余代码反序列化响应,并用评估的评分更新体验记录(Value、Accuracy、Communication)。如需验证,可在 Developer Console 中用 Beach Bootcamp Challenge 体验记录 id 调用 generateRatingParams。
四、为 Agent 配置 Apex 操作(Configure an Apex Action for an Agent)
最后一项请求中,Coral Cloud 团队请你实现一个让 Coral Cloud Experience Agent 能顺畅处理客人评价的解决方案。你需要启用正确的权限、创建必要的自动化,并把操作关联到合适的 agent 主题。
配置 Agent 操作(Configure the Agent Action)
以下是你要构建的内容:
- EinsteinServiceAgent User 已通过 Guest Reviews and Campaign 权限集获得部分权限。更新该权限集,确保它也授予使用 GuestReviewProcessor Apex 类的权限。
- 为 Coral Cloud Experience Agent 创建一个名为
Process Guest Reviews的新 Apex agent 操作,Agent Action API 名为Process_Guest_Reviews。 - 将该 agent 操作分配到 Customer Experience Reviews 主题。
注意:不检查加载文本和输入/输出配置。
小结(一):挑战之外(Sum It Up: Beyond the Challenges)
如果你读得仔细,会发现本用例提到了 Coral Cloud 站点,但 superbadge 挑战并未要求你在 Experience Cloud 中工作。
如果想进一步锻炼技能,可以在 Experience Cloud 中测试你的 agent 设置——但要做到这一点,你的 Developer org 中还需要一些额外的设置步骤。详情参考 Apex for Agentforce Superbadge: Trailhead Challenge Help 帮助文章。
小结(二):恭喜(Sum It Up: Congratulations)
无论你是 Salesforce 开发人员还是高级管理员,完成本 superbadge 都展示了你把 Apex 与 Agentforce 结合、为组织实现自定义解决方案的能力。
通过 Apex 定制,你扩展了 Agentforce 的能力,创建了新的自动化与工作流——帮助 Coral Cloud 简化了客人评价处理和营销活动管理,设置了收集评价、处理评分、把客人整合进营销活动的自动化工作流。
恭喜你完成 Apex for Agentforce 技术技能评估!





























