mcpField
S
service-omni-sidebar-configure

service-omni-sidebar-configure

github.com/forcedotcom其他1.1k87 次安装1 天前更新
代码仓库

关于 service-omni-sidebar-configure

这项 Salesforce skill 为 Lightning 控制台应用启用固定的 Omni-Channel 侧边栏,并验证设置结果。它面向配置控制台体验的管理员,只修改所需的元数据标志。

主要功能

  1. 01启用固定的 Omni-Channel 侧边栏
  2. 02自动检测唯一的控制台应用
  3. 03验证部署后的设置
  4. 04不改动无关的应用配置

适用场景

  1. 01在控制台记录旁固定 Omni-Channel
  2. 02检查侧边栏设置是否已启用
  3. 03每次配置一个控制台应用

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/forcedotcom/sf-skills --skill service-omni-sidebar-configure

安装后在 Claude Code 中输入/service-omni-sidebar-configure确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
api-notes.md
scripts/
enable-and-report.sh
scripts/tests/
_bootstrap.py
test_sidebar_contracts.py

详细介绍

service-omni-sidebar-configure

通过在 Lightning 控制台应用的 CustomApplication 元数据中设置 isOmniPinnedViewEnabled=true 并确认该标志往返无误,启用 Omni-Channel 侧边栏——固定在 Lightning 控制台应用侧边的 Omni 实用工具区域。对于控制台/演示组织,这是推荐的 Omni 界面:客服代表可以在记录旁边的停靠区域中查看传入的工作、状态和工作列表,而不只是使用可折叠的实用工具栏。此操作针对每个控制台应用运行一次,并由 service-omni-channel-setup-coordinate 作为客服代表体验配置的最后一步调用。

输入

bash scripts/enable-and-report.sh <org-alias> [app_developer_name]
  • org-alias(必需)。
  • app_developer_name(可选)。Lightning 控制台应用的 CustomApplication DeveloperName。省略时,该技能会查询 AppDefinition 中的 Lightning 控制台应用:恰好找到一个 → 采用该应用;找到零个或多个 → blocked(需明确指定名称)。

前提条件与安全

  • 目标组织已通过 sf CLI 进行身份验证,拥有 Service Cloud 许可证,且 sf CLI ≥ 2.139.6。
  • 已启用 Omni-Channel 基本设置(service-omni-base-settings-configure)。
  • 目标必须是可作为 CustomApplication 元数据部署的 Lightning 控制台应用。标准应用和 Aura 应用不在范围内。
  • 适用三项式 safe_to_write 生产环境保护措施。

运行

enable-and-report.sh 会解析目标应用、检索其 CustomApplication,并读取当前的 isOmniPinnedViewEnabled 值:

  • 已为 true → reused(不部署)。
  • 为 false 或缺失 → 将其设为 true,并通过一次原子 Metadata API 调用部署这一个 CustomApplication,然后重新检索以确认该标志为 true 后再报告成功。

部署会显式使用 --metadata "CustomApplication:<name>"(绝不使用 --source-dir),并单独执行——Metadata 部署具有原子性,因此任何失败都不会改变应用。

行为

**幂等且非破坏性。**该技能只切换这一个布尔值;不会重写选项卡、品牌或导航配置。字段缺失时,会按其 XSD 顺序插入(紧挨 <label> 之前);字段已存在时,则在原位置替换其值。

**自动检测遵循保守原则。**仅当恰好存在一个 Lightning 控制台应用时,才会自动采用该应用,因此在拥有多个应用的组织中,绝不会悄然固定错误的应用。

输出约定

单个 JSON 对象:status ∈ enabled | reused | blocked,app_developer_name、app_label、before(布尔值)、after(布尔值)、deploy_id、manual_actions、blocking_issue。

  • enabled — 该标志原为 false/缺失,现在已确认是 true。
  • reused — 该标志原本就是 true。
  • blocked — 未找到控制台应用或找到多个、检索/部署失败,或部署后验证未确认其为 true;blocking_issue 会说明原因,manual_actions 会列出修复方法或前置技能。

限制

  • 每次调用处理一个应用;需要为多个控制台应用启用侧边栏时,请分别运行。
  • 仅适用于 Lightning 控制台 CustomApplication——不适用于 Aura、标准应用或实用工具栏中的 Omni 小组件。
  • 不会创建或布局控制台应用、其选项卡或 Omni 实用工具项。

参考资料

文件阅读时机
references/api-notes.md了解 CustomApplication 的 isOmniPinnedViewEnabled 架构/顺序、AppDefinition 检测查询以及检索/部署说明

评论

支持 Markdown