SuperAPI AI 工具集

service-omni-presence-status-deploy

部署与运维

查看项目

更新于 10-16 05:47

技能介绍

用途:为 Omni-Channel 路由部署标准在线状态。每个 Omni 坐席需要一个携带渠道的“可工作”状态(用于接收路由进来的工作)和一个“离线”状态。由于一个在线状态只能按 DeveloperName 绑定一个 ServiceChannel,每个路由目标都需要各自的 Available 状态。

主要能力:按目标 sObject 部署 Available_<X> 并绑定对应渠道——Case 对应 Available_Case/Cases,Incident 对应 Available_Incident/Incidents,MessagingSession 对应 Available_Messaging/sfdc_livemessage,VoiceCall 对应 Available_Voice/sfdc_phone;同时确保存在通用 Busy 状态。Busy 由 UI 定义而非元数据定义,ServicePresenceStatus 只含 label 与 channels,无渠道的状态即视为 busy;约定 DeveloperName 为 Busy,多数组织已有,技能会复用现有 Busy,仅在没有时才部署内置资产。

使用方式:运行 bash scripts/deploy-and-report.sh <org-alias> [Case|Incident|MessagingSession|VoiceCall]。org-alias 必填,sobject_type 可选,默认 Case。脚本在一次 Metadata API 调用中部署,并用显式 --metadata 标志(不用 --source-dir),随后将各组件 files[].state 映射为 reused、updated 或 created。输出单个 JSON 对象,含 status(created|reused|updated|blocked)、sobject_type、presence_statuses 数组、deploy_id、manual_actions 与 blocking_issue。

适用场景:需要为 Case、Incident、MessagingSession、VoiceCall 配置 Omni 路由在线状态时;与 service-omni-permission-set-assign 配合授予坐席访问权限,并由 service-omni-channel-setup-coordinate 按路由目标调用。

限制:前置条件包括目标组织已通过 sf CLI 认证(My Domain URL)、Service Cloud 许可、sf CLI ≥ 2.139.6、已启用 Omni-Channel 基础设置、目标 sObject 的 ServiceChannel 已存在;Incident 需启用 Incident Management,MessagingSession 需 Enhanced Messaging。仅部署 Available_<X> 与 Busy 组合,自定义状态需 fork assets/servicePresenceStatuses/*.xml;仅支持上述四种 sObject;不配置 PresenceUserConfig 容量或拒绝原因,也不会删除现有状态。