跳到主要内容
知仓学习社ZHICANG

service-omni-supervisor-surface-deploy

Use to populate the Omni-Channel Supervisor action + tab surface on an existing OmniSupervisorConfig by inserting the standard OmniSupervisorConfigA…

读凭据执行命令严重 0 · 高危 3forcedotcom/sf-skills

它会碰到什么

扫了多少5 个文本文件,31 KB
它会碰到什么读凭据执行命令
命中总数3 处
命中统计严重 0 · 高 3 · 中 0 · 低 0
逐条看命中(3 条严重或高危)
  • scripts/tests/_bootstrap.py:68cred-envread
    env["PATH"] = os.pathsep.join(kept)
  • scripts/tests/_bootstrap.py:70cred-envread
    env["PATH"] = path_prefix + os.pathsep + env.get("PATH", "")
  • scripts/tests/_bootstrap.py:73exec-spawn
    proc = subprocess.run(

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

service-omni-supervisor-surface-deploy

Populate the Omni-Channel Supervisor surface — the action buttons and tabs a supervisor sees — on an existing OmniSupervisorConfig. OmniSupervisorConfigAction and OmniSupervisorConfigTab are createable child sObjects (OmniSupervisorConfigId, a *Type picklist, and DisplayOrder), so the surface is populated with plain Data API inserts against the parent config's Id rather than by re-deploying the whole OmniSupervisorConfig metadata document. That keeps this leaf independent of service-omni-supervisor-config-deploy (which owns the user/queue companions inside the metadata file) and lets it run idempotently — it inserts only the types that are missing.

Inputs

bash scripts/deploy-and-report.sh <org-alias> [config_developer_name]

  • org-alias (required) — must resolve via sf org display --target-org <alias>.
  • config_developer_name (optional) — the OmniSupervisorConfig.DeveloperName to 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.

Env overrides (both CSV of picklist values; defaults are the reference-free standard set):

  • SUPERVISOR_ACTIONS — default AllAgents.ChangeQueues,AllAgents.ChangeSkills,AllAgents.ChangeGroups,AllAgents.AssignLearning,QueuesBacklog.ManageQueues.
  • SUPERVISOR_TABS — default Wallboard,Agents,QueuesBacklog,AssignedWork,SkillsBacklog.
  • PLAN_ONLY=1 — report intent (existing vs. requested) and stop before any write.

Preconditions and safety

  • Target org authenticated via sf CLI, Service Cloud license present, sf CLI ≥ 2.139.6.
  • An OmniSupervisorConfig exists — provisioned by service-omni-supervisor-config-deploy. If none exists (or the named one is absent), the skill blocks with a target_skill pointer.
  • Production guardrail: the script computes safe_to_write as IsSandbox OR TrialExpirationDate != null OR OrganizationType in {Developer Edition, Base Edition}, and blocks with no override when it is false.

Run

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 DisplayOrder after the current maximum), and emits JSON to stdout.

Behavior

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 (SAFE_ACTIONS / SAFE_TABS in references/api-notes.md) and blocks up front on any type that needs an external reference — .CustomAction, .AWSDashboard, FlexipageType, AIAgents, AgentforceSDR — pointing you to Setup. Requesting a type outside the supported vocabulary also blocks before any write.

Idempotency. The requested types are diffed against the rows already on the config; existing types are reported as reused and never re-inserted, missing types are inserted and reported as created. status is created when anything was inserted, otherwise reused. Re-running the skill unchanged makes no writes.

Ordering. New rows are appended: DisplayOrder starts one above the current maximum for that companion type, preserving any ordering already configured in Setup.

Output contract

A single JSON object to stdout. status is one of created, reused, blocked, or (with PLAN_ONLY=1) action_needed. The object also carries config (developer_name, id), actions and tabs (each with requested, created, reused, count), manual_actions, and blocking_issue (null unless status: blocked).

Org-side spot-check:

SELECT OmniSupervisorActionType, DisplayOrder FROM OmniSupervisorConfigAction WHERE OmniSupervisorConfigId = :configId ORDER BY DisplayOrder
SELECT OmniSupervisorTabType,    DisplayOrder FROM OmniSupervisorConfigTab    WHERE OmniSupervisorConfigId = :configId ORDER BY DisplayOrder

Limitations

  • 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 OmniSupervisorConfig, its user/queue companions, or supervisor users/permission sets.
  • Does not remove surface rows — it only adds missing ones (no destructive reconciliation).

References

| File | When to read |

|---|---|

| references/api-notes.md | The full OmniSupervisorActionType / OmniSupervisorTabType vocabulary, which types are reference-free, and companion-row insert semantics |

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。