service-omni-supervisor-surface-deploy
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseservice-omni-supervisor-surface-deploy
service-omni-supervisor-surface-deploy
Populate the Omni-Channel Supervisor surface — the action buttons and tabs a supervisor sees — on an existing . and are createable child sObjects (, a picklist, and ), so the surface is populated with plain Data API inserts against the parent config's Id rather than by re-deploying the whole metadata document. That keeps this leaf independent of (which owns the user/queue companions inside the metadata file) and lets it run idempotently — it inserts only the types that are missing.
OmniSupervisorConfigOmniSupervisorConfigActionOmniSupervisorConfigTabOmniSupervisorConfigId*TypeDisplayOrderOmniSupervisorConfigservice-omni-supervisor-config-deploy为已有的填充全渠道主管(Omni-Channel Supervisor)的界面——即主管可见的操作按钮和标签页。和是可创建的子sObject(包含、选择列表和字段),因此无需重新部署整个元数据文档,只需针对父配置的ID通过普通Data API插入即可填充界面。这使得该组件独立于(后者负责元数据文件中的用户/队列关联配置),并且可以幂等运行——仅插入缺失的类型。
OmniSupervisorConfigOmniSupervisorConfigActionOmniSupervisorConfigTabOmniSupervisorConfigId*TypeDisplayOrderOmniSupervisorConfigservice-omni-supervisor-config-deployInputs
输入参数
bash scripts/deploy-and-report.sh <org-alias> [config_developer_name]- (required) — must resolve via
org-alias.sf org display --target-org <alias> - (optional) — the
config_developer_nameto populate. Omit it when the org has exactly one config; the skill resolves it. With multiple configs and no name, the skill blocks and lists them.OmniSupervisorConfig.DeveloperName
Env overrides (both CSV of picklist values; defaults are the reference-free standard set):
- — default
SUPERVISOR_ACTIONS.AllAgents.ChangeQueues,AllAgents.ChangeSkills,AllAgents.ChangeGroups,AllAgents.AssignLearning,QueuesBacklog.ManageQueues - — default
SUPERVISOR_TABS.Wallboard,Agents,QueuesBacklog,AssignedWork,SkillsBacklog - — report intent (existing vs. requested) and stop before any write.
PLAN_ONLY=1
bash scripts/deploy-and-report.sh <org-alias> [config_developer_name]- (必填)——必须可通过
org-alias解析。sf org display --target-org <alias> - (可选)——要填充的
config_developer_name。当组织中仅有一个配置时可省略,该工具会自动解析。若存在多个配置且未指定名称,工具会终止运行并列出所有配置。OmniSupervisorConfig.DeveloperName
环境变量覆盖(均为选择列表值的CSV格式;默认值为无需外部引用的标准集合):
- ——默认值
SUPERVISOR_ACTIONS。AllAgents.ChangeQueues,AllAgents.ChangeSkills,AllAgents.ChangeGroups,AllAgents.AssignLearning,QueuesBacklog.ManageQueues - ——默认值
SUPERVISOR_TABS。Wallboard,Agents,QueuesBacklog,AssignedWork,SkillsBacklog - ——仅报告操作意图(现有配置与请求配置的对比),在执行任何写入操作前停止。
PLAN_ONLY=1
Preconditions and safety
前置条件与安全机制
- Target org authenticated via CLI, Service Cloud license present,
sfCLI ≥ 2.139.6.sf - An exists — provisioned by
OmniSupervisorConfig. If none exists (or the named one is absent), the skill blocks with aservice-omni-supervisor-config-deploypointer.target_skill - Production guardrail: the script computes as
safe_to_writeORIsSandboxORTrialExpirationDate != nullin {Developer Edition, Base Edition}, and blocks with no override when it is false.OrganizationType
- 目标组织已通过CLI完成认证,具备Service Cloud许可证,且
sfCLI版本≥2.139.6。sf - 已存在——由
OmniSupervisorConfig提供。若不存在(或指定的配置不存在),工具会终止运行并指向对应的service-omni-supervisor-config-deploy。target_skill - 生产环境防护:脚本会计算,当组织为
safe_to_write(沙箱)或IsSandbox不为空,或TrialExpirationDate属于{Developer Edition, Base Edition}时,OrganizationType为true;否则工具会终止运行且无覆盖选项。safe_to_write
Run
运行方式
bash
bash scripts/deploy-and-report.sh <org-alias> [config_developer_name]It resolves the parent config, reads the surface rows already present, inserts only the missing action/tab types (appending after the current maximum), and emits JSON to stdout.
DisplayOrderbash
bash scripts/deploy-and-report.sh <org-alias> [config_developer_name]脚本会解析父配置,读取已存在的界面行,仅插入缺失的操作/标签页类型(将设置为当前该类型的最大值加1),并向标准输出打印JSON结果。
DisplayOrderBehavior
行为特性
Reference-free types only. The companion rows expose no reference field, so only self-contained types can be inserted headlessly. The skill accepts the standard set ( / in ) and blocks up front on any type that needs an external reference — , , , , — pointing you to Setup. Requesting a type outside the supported vocabulary also blocks before any write.
SAFE_ACTIONSSAFE_TABSreferences/api-notes.md*.CustomAction*.AWSDashboardFlexipageTypeAIAgentsAgentforceSDRIdempotency. The requested types are diffed against the rows already on the config; existing types are reported as and never re-inserted, missing types are inserted and reported as . is when anything was inserted, otherwise . Re-running the skill unchanged makes no writes.
reusedcreatedstatuscreatedreusedOrdering. New rows are appended: starts one above the current maximum for that companion type, preserving any ordering already configured in Setup.
DisplayOrder仅支持无需外部引用的类型。关联行未暴露引用字段,因此仅能无交互插入自包含类型。工具接受标准集合(中的/),并且会提前终止运行如果请求的类型需要外部引用——如、、、、——并引导用户前往Setup进行配置。若请求的类型不在支持范围内,也会在执行任何写入操作前终止运行。
references/api-notes.mdSAFE_ACTIONSSAFE_TABS*.CustomAction*.AWSDashboardFlexipageTypeAIAgentsAgentforceSDR幂等性。会将请求的类型与配置中已有的行进行对比;已存在的类型会被标记为且不会重新插入,缺失的类型会被插入并标记为。当有任何类型被插入时,为,否则为。重复运行相同的工具不会执行任何写入操作。
reusedcreatedstatuscreatedreused排序规则。新行会被追加:从当前该关联类型的最大值加1开始,保留已在Setup中配置的任何排序。
DisplayOrderOutput contract
输出约定
A single JSON object to stdout. is one of , , , or (with ) . The object also carries (, ), and (each with , , , ), , and ( unless ).
statuscreatedreusedblockedPLAN_ONLY=1action_neededconfigdeveloper_nameidactionstabsrequestedcreatedreusedcountmanual_actionsblocking_issuenullstatus: blockedOrg-side spot-check:
sql
SELECT OmniSupervisorActionType, DisplayOrder FROM OmniSupervisorConfigAction WHERE OmniSupervisorConfigId = :configId ORDER BY DisplayOrder
SELECT OmniSupervisorTabType, DisplayOrder FROM OmniSupervisorConfigTab WHERE OmniSupervisorConfigId = :configId ORDER BY DisplayOrder向标准输出打印单个JSON对象。的值为、、,或(当设置时)。该对象还包含(、)、和(各自包含、、、)、,以及(当时不为,否则为)。
statuscreatedreusedblockedPLAN_ONLY=1action_neededconfigdeveloper_nameidactionstabsrequestedcreatedreusedcountmanual_actionsblocking_issuestatus: blockednullnull组织端校验查询:
sql
SELECT OmniSupervisorActionType, DisplayOrder FROM OmniSupervisorConfigAction WHERE OmniSupervisorConfigId = :configId ORDER BY DisplayOrder
SELECT OmniSupervisorTabType, DisplayOrder FROM OmniSupervisorConfigTab WHERE OmniSupervisorConfigId = :configId ORDER BY DisplayOrderLimitations
局限性
- Populates only the reference-free standard action and tab types. Custom actions, FlexiPage tabs, AWS dashboards, and AI-agent surfaces need an external reference and must be configured in Setup.
- Does not create, rename, or delete the parent , its user/queue companions, or supervisor users/permission sets.
OmniSupervisorConfig - Does not remove surface rows — it only adds missing ones (no destructive reconciliation).
- 仅填充无需外部引用的标准操作和标签页类型。自定义操作、FlexiPage标签页、AWS仪表板和AI-agent界面需要外部引用,必须在Setup中配置。
- 不创建、重命名或删除父及其用户/队列关联配置,也不创建主管用户或分配权限集。
OmniSupervisorConfig - 不删除界面行——仅添加缺失的行(无破坏性协调)。
References
参考文档
| File | When to read |
|---|---|
| The full |
| 文件 | 阅读场景 |
|---|---|
| 完整的 |