Agentforce 客户聊天体验开发指南

发布时间:2026/11/4 8:19:01

Agentforce 客户聊天体验开发指南 Enhanced Chat v2 概述Enhanced Chat v2 是 Service Cloud 上 Enhanced Web Chat 的新客户界面允许你连接和部署 Service Agent 到外部聊天渠道。支持通过 Custom Lightning Types 自定义 UI、通过utilAPI.setSessionContext方法传递上下文事件、以及内联模式Inline Mode将聊天客户端嵌入到网页特定元素中。Context Events上下文事件Enhanced Chat v2 提供了一个独特的上下文事件传递方式。Enhanced Web Chat 中的utilAPI新增了setSessionContext方法可在 Enhanced Chat v2 部署中使用用于在网页和聊天客户端之间传递上下文事件。Inline Mode内联模式vs 浮动模式模式行为浮动模式默认用户点击右下角 FAB 按钮时出现聊天窗口内联模式聊天直接渲染在父页面指定的div元素内填满目标元素启用内联模式embeddedservice_bootstrap.settings.displayMode inline; embeddedservice_bootstrap.settings.headerEnabled false; // 可选 const myElement document.querySelector(.chat-container); embeddedservice_bootstrap.settings.targetElement myElement;Custom Lightning Types使用 Lightning Web Components 个性化聊天外观可以代表用户发送消息或从 LWC 传递上下文事件。Custom Connections自定义连接Custom Connections 通过 Agent API 将外部 Web 客户端连接到 Agentforce Agent。你定义基于元数据的连接告知 Agent 你的客户端支持哪些结构化响应格式Agent 则返回符合这些 Schema 的 JSON。这使得你的客户端可以渲染原生 UI 组件如轮播、卡片、表单或选择器。工作原理Custom Connections 使用两种元数据类型AiSurface—— 定义连接本身表面级指令语气、长度限制、格式化条件、引用的响应格式列表、surfaceType 设为 CustomAiResponseFormat—— 定义单个结构化输出格式JSON Schemainput 字段、描述和指令告诉 Agent 何时应用此格式、可选的 invocationTarget响应格式选择过程当前对话轮次的子代理和动作指令首先运行Agent 评估每个启用的 AiResponseFormat 的描述和指令Agent 每轮最多选择一个格式 —— 判定为最匹配的格式sortOrder控制 LLM 评估顺序较低值先评估影响但不强制执行回退如果没有格式被选中或发生错误 → 返回标准 Agent API 响应无格式纯文本警告所有响应格式指令都是非确定性的。Agent 可能选择错误的格式或产出不完全符合 JSON Schema 的输出。始终构建客户端解析以处理结构化响应和纯文本回退两种情况。设置 Custom Connection目录结构unpackaged/ package.xml aiResponseFormats/ AcmeChatChoices_{surfaceId}.aiResponseFormat AcmeChatChoicesWithImages_{surfaceId}.aiResponseFormat AcmeChatTimePicker_{surfaceId}.aiResponseFormat aiSurfaces/ AcmeChatClient_{surfaceId}.aiSurface genAiPlannerBundles/ {YourPlannerBundle}/ {YourPlannerBundle}.genAiPlannerBundle{surfaceId}是区分自定义连接及其关联响应格式的唯一字母数字标识符。部署顺序重要AiResponseFormat 必须在 AiSurface之前部署因为 Surface 引用了 Format。sf project deploy start --manifest unpackaged/package.xml。更新时直接重新部署同名的定义即可替换旧版本。AiSurface 字段参考description—— 连接的用途描述instructions[]—— 高层指导instruction 字符串 sortOrder 整数较低值优先如 Always reply with a brief, friendly, clear response under 160 characters.responseFormats[]—— 启用的响应格式列表enabled 布尔值 responseFormat 开发者名称surfaceType—— CustomAiResponseFormat 字段参考description—— 告诉 Agent何时选择此格式用于选择评估而非仅供人阅读。如 Use this when the number of choices is GREATER THAN 1 and LESSER THAN 8.input—— 定义预期输出结构的 JSON SchemaAgent 尝试映射但非严格强制instructions[]—— 应用此特定格式的详细用例条件invocationTarget / invocationTargetType—— 可选的可调用动作引用apex/flow/standardInvocableAction关联到 Agent在 GenAiPlannerBundle 中添加plannerSurfaces条目指定 surface 名称和 surfaceType 为 Custom。使用、解析和测试 Custom Connections在 Agent API 会话中使用surfaceConfig: { surfaceType: Custom }解析响应检查消息是否包含result数组 → 响应格式已被应用读取result[0].type→ 格式标识前缀为SURFACE_ACTION__ AiResponseFormat 开发者名称不含 _{surfaceId} 后缀将result[0].value解析为 JSON → 符合你定义的 input Schema无 result 数组→ 回退将 message 字段渲染为纯文本// 示例响应 result: [{ type: SURFACE_ACTION__RegistrationForm, value: {\title\:\registrationForm\,\message\:\To register...\} }]重要始终在客户端验证result[0].value后再交给渲染器 —— 平台不会对 Agent 的结构化输出进行 Schema 验证。响应格式示例和故障排查三种常见设计模式模式Schema使用条件文本选项{message: string, choices: string[]}选项数 1 且 8带图选项{message: string, choices: [{title, imageUrl, actionText}]}图片对决策至关重要时间选择器Slack Block Kit timepicker 语法用户需要选择具体时间设计技巧保持格式集小—— 每个连接少于 7 个响应格式太多会导致选择不可靠描述要写给选择逻辑—— 明确写出精确条件项目数量、是否包含图片、数据形状而非泛泛的人类描述用 LLM 生成 JSON Schema—— 向你偏好的 LLM 提供输出结构让它生成对应的 JSON Schema故障排查速查问题解决方案无效 JSON Schema验证 input 字段包含有效、正确转义的 JSON缺失引用AiSurface 中所有格式必须作为已部署的 AiResponseFormat 实体存在元数据部署错误先部署 AiResponseFormat再部署 AiSurfacesurfaceType 不匹配确保 AiSurface 和 plannerSurfaces 中 surfaceType 一致响应未格式化验证会话调用中包含 surfaceConfig 且 surfaceType 为 CustomCustom Connections 为你提供了对客户如何与 Agentforce Agent 交互的完全控制 —— 从原生 UI 组件渲染到结构化数据交换全部通过标准化的元数据定义实现。文章来源Agentforce 客户聊天体验开发指南 | Salesforce CRM 中文站
延伸阅读

更多相关文章

2026/11/4 20:43:26

运算符与表达式

目录 1.运算符 2.表达式 3.运算符的分类 3.1 算术运算符 (自增运算符) – – (自减运算符) 3.2 关系运算符 3.3 逻辑运算符 C语言逻辑运算符是 "惰性运算" 3.4 位运算符 1.~ 按位取反 2. & 按位与 3. | 按位或 4. ^ 按位异或 有两个变量 a,b 要交换…

2026/11/4 23:08:19

从零手写顺序表到深入理解ArrayList:Java数据结构核心实践指南

顺序表理解顺序表在物理内存结构是连续的 通常用数组 完成增删查改 我们需要删除和修改的时候 必须要遍历整个数组 效率不高 于是引出来链表 顺序表的模拟package Book3;import java.util.ArrayList; import java.util.Arrays; import java.util.List;public class nn{priv…

2026/11/1 22:31:17

滑动窗口算法实战:无重复字符最长子串详解与多语言实现

算法实战:无重复字符的最长子串详解在面试和算法竞赛中,"无重复字符的最长子串"是一个经典且高频出现的题目。很多开发者在初次接触时容易陷入暴力求解的思维定式,导致时间复杂度居高不下。本文将系统讲解滑动窗口算法的核心思想&a…

2026/11/4 23:06:20

Audio学习9(AudioFlinger/HAL)

1 环境 这次主要是看看audio在安卓平台的实现,用是瑞芯微RK3568开发板。 本来是想还是用之前的WM8960模块,但是很无语发现它板子上的I2S接口并没有引出来。引出的口只有I2C,SPI,还有UART。 和之前用的WM8960比较一下:…

2026/11/4 23:06:20

记录系统即权力:智能体时代企业底座迁移与决策权再分配

【摘要】以a16z 2026年10月发布的万字分析为核心依据,梳理4轮计算范式下的权力转移规律,结合Databricks年化收入70亿美元、智能体日均启动1700万个数据库的行业样本,拆解记录系统三权重构的底层逻辑,明确3类可量化失效边界&#x…

2026/11/4 23:06:20

第十章 GPU 虚拟地址空间管理:10.9 本章小结

1. 本章小结 本章讨论了 GPU 虚拟地址空间的管理。与 CPU 内存管理对照可以看出,GPU 内存管理在结构上沿用了地址空间、后备存储、反向映射与回收的分层,差异来自四项约束: 管理单位是 BO 而不是页; 多数 GPU 不能在作业执行中从缺页恢复,映射必须预先建立; 页表写入与数…

2026/11/4 23:01:19

年底还在招的岗位,先确认缺口和到岗要求

十一月看到一个技术岗位,不要仅凭「年底还在招」判断机会好坏。先确认缺口是否明确、流程由谁推进、希望何时到岗。岗位发布时间只能说明页面上有这条信息,不能替你回答团队现在需要什么人。 准备跳槽的人往往同时安排项目收尾、面试和个人行程。如果岗位…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/4 0:03:20

AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年…

2026/11/4 0:03:20

从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你…

2026/11/4 0:03:20

32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑