SuperAPI AI 工具集

service-omni-supervisor-users-create

智能体与模型

查看项目

更新于 10-15 21:43

技能介绍

用途:在 Salesforce 组织中创建 N 个经典 Omni-Channel 主管配置(OmniSupervisorConfig)所需的主管用户,通过 OmniSupervisorConfigUser 绑定。用户名采用固定模式 supervisor{i}.<suffix>@example.com,使协调器可在多次运行间重新发现这些用户。它是 service-omni-agent-users-create 的主管版本,检测、密码与幂等模型相同,仅用户名/别名前缀和调试日志标记不同。将用户绑定进配置(service-omni-supervisor-config-deploy)和授予主管权限(service-omni-supervisor-permset-assign)是另外的独立技能。

输入:org-alias(必填,无默认,需能通过 sf org display 解析);主管数量(可选,默认 1,范围 1..5);Profile 名称(可选,默认 Standard User)。用户名和密码不接受操作者输入,均由系统生成。

前置条件与安全:目标组织需通过 sf CLI 认证(My Domain URL),具备 Service Cloud 许可证,sf CLI ≥ 2.139.6;执行用户需 PermissionsModifyAllData 和 PermissionsManagePasswordPolicies。生产保护:detect 脚本计算 safe_to_write,为 false 时技能直接阻断且无覆盖选项。密码处理为失败关闭:在首次 System.setPassword 前通过 SOQL 过滤的 Tooling API 查询确认无活动 TraceFlag,无法证明安全则不设密码,用户保持 ACTIVE 并标记 password_status:"reset_required"。

运行方式:

只读预览(不写入)

bash scripts/detect-and-create.sh plan <org-alias> [count] [profile-name]

检测、执行 safe_to_write 保护,仅插入缺失的主管

bash scripts/detect-and-create.sh run <org-alias> [count=1] [profile-name="Standard User"]

detect-and-create.sh 是规范入口,会重新检测并执行生产保护后才插入;不要直接调用 scripts/run-create.sh。

行为:检测器从 Organization.Id 派生 8 字符后缀,按名称解析 Profile,查询 User 并将已占用槽位分为 active existing_users 与 inactive_users。插入时 Apex 加载 assets/create-supervisors.apex.template,替换 COUNT/PROFILE_ID/SUFFIX,仅插入缺失索引,并在事务内复查。创建的用户获得 Service Cloud 特性(UserPermissionsSupportUser=true),若 Profile 许可证不允许则剥离该标志重试。每个创建用户通过 SUPERVISOR_CREATED|<id>|<username>|<email> 报告。被停用用户占用的槽位需人工重新激活,不计入请求槽位。插入后重新检测须显示 missing_count == 0。

输出契约:detect-and-create.sh 输出单个 JSON 对象,含 status(created | partial | reused | action_needed | blocked)、detect、create、created_count、reused_count、total_present_after、users_needing_password_reset、action_required、safe_to_write。生成的密码仅出现在返回 JSON 中,属机密,持久化 stdout 时应仅写入受限的 CREDENTIALS.json(权限 0600)并在分发后删除。

限制:用户名模式和 org 后缀固定,不可由操作者配置;仅创建主管用户,从不删除或停用用户;常见 User 错误(DUPLICATE_USERNAME、INVALID_EMAIL、LICENSE_LIMIT_EXCEEDED)会转换为友好提示。参考资料包括 references/apex-patterns.md、references/apex-template-notes.md、assets/create-supervisors.apex.template、scripts/detect-existing.sh、scripts/run-create.sh。