mcpField
E
experience-portal-create

experience-portal-create

github.com/forcedotcom云与 DevOps1.1k1.3k 次安装1 天前更新
代码仓库

关于 experience-portal-create

通过 headless-360 MCP 服务创建 Salesforce Digital Experience 门户的技能,涵盖员工、自助服务、合作伙伴和通用社区门户。它按门户类型选择 Connect API,并支持站点激活、添加成员和发布页面。

主要功能

  1. 01创建员工、自助及社区门户
  2. 02创建合作伙伴门户
  3. 03选择 Aura 或 LWR 模板
  4. 04配置自助服务的 MIAW
  5. 05激活站点并发布页面

适用场景

  1. 01创建员工 IT 服务门户
  2. 02搭建合作伙伴门户
  3. 03创建客户社区
  4. 04将 MIAW 配置接入自助门户

MCP 相关

所有 Salesforce 组织操作均通过 headless-360 MCP 服务的 discover、describe 和 dispatch 调用;该技能使用 Connect API 创建和读取门户,并通过状态端点监控后台任务。

安装

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

$npx skills add https://github.com/forcedotcom/sf-skills --skill experience-portal-create

安装后在 Claude Code 中输入/experience-portal-create确认已加载。

包含的文件

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

assets/
report-template.md
references/
mcp-invocation.md
post-creation-activate-publish.md
templates.md

详细介绍

创建数字体验门户

在 Salesforce 中创建新的数字体验(原名 Communities)门户/站点。支持员工服务门户、合作伙伴门户(PRM)和通用客户社区。

每项操作都必须通过 headless-360 MCP 服务运行(mcp__headless-360__discover → mcp__headless-360__describe → mcp__headless-360__dispatch / mcp__headless-360__dispatch_readonly)。 不要使用 Salesforce CLI(其 api request、data query 或 org open 子命令)、project-codey MCP 服务、原始 curl 或任何其他 HTTP 客户端——dispatch/dispatch_readonly 是此技能与 组织通信的唯一方式。具体调用格式请参阅 references/mcp-invocation.md。

范围

  • 包含:通过 headless-360 Connect API 分发器创建 Digital Experience 站点。选择门户类型。基本配置(名称、URL、模板)。包含嵌入式服务配置的自助服务门户。确保站点端到端可访问——激活 Network(status: Live)、添加成员配置文件,并发布 Experience Builder 页面(参见 references/post-creation-activate-publish.md)。
  • 不包含:创建后的深度自定义(在 Builder 中编写页面布局/组件)。内容编写。初始设置之外的品牌定制。单个用户的记录管理(成员资格在配置文件/权限集级别添加,而非按用户添加)。

执行模型(请先阅读)

每次组织调用都是一次 dispatch:读取时使用 mcp__headless-360__dispatch_readonly(url, method: "GET", queryParams), 写入时使用 mcp__headless-360__dispatch(url, method, body);从响应中读取 status_code + body。要解析门户类型对应的端点,请按需使用 mcp__headless-360__discover(query=...) 和 mcp__headless-360__describe(id=...)。Experience Cloud 的 Connect API 创建/列表操作不一定会被 discover/describe 编入索引——如果查询没有结果,请直接分发众所周知的带版本 Connect API 路径(参见 references/mcp-invocation.md),不要据此认定缺少相应功能。

重要:路径必须包含完整的 /services/data/vXX.0/... 前缀(例如 "/services/data/v67.0/connect/communities")——与某些其他分发器不同,headless-360 不会 为你解析或注入 API 版本。缺少版本前缀的路径会返回 400 ROUTE_NOT_FOUND。如果 discover/describe 结果中有路径,请原样复制; 否则使用此技能示例中显示的版本(撰写时为 v67.0),如果组织运行的版本不同,则相应调整。完整详情、响应封装、作业监控和注意事项请参阅 references/mcp-invocation.md。


澄清问题

开始之前,请确定:

  1. 门户类型?

    • Employee Service / ITSM / HR / help desk → 优先通过 communities API 使用 Agentforce Employee Center Aura 模板(员工体验最丰富,可用于 Agentforce)。只有在必须在创建时接入 MIAW,且已有 guest ESD 时,才使用 self-service API。
    • Partner Portal(PRM)→ 需要启用 PRM 功能
    • Customer Community → 常规社区创建(Aura 或 LWR Experience Builder 模板)
  2. 基本设置(所有类型均必需):

    • 门户名称?
    • URL 前缀?(只能包含字母数字,不得包含连字符或空格)
    • 描述(可选)
  3. 对于 Employee Service / Self-Service 门户:

    • siteType?→ 默认为 AURA(Aura Experience Builder + Builder)。仅当用户明确需要 Lightning Web Runtime 站点时才使用 LWR。绝不要创建 Salesforce Tabs + Visualforce(“VF Template”)站点——这些是旧版站点,且没有 Builder。
    • MIAW / Embedded Service Deployment ID?它们会在创建时将 Messaging for In-App and Web 接入门户。self-service API 要求提供 guest ESD 配置;authenticated-user ESD 配置为可选项。如果用户尚未创建 Embedded Service Deployment,请先引导他们前往 Setup → Embedded Service Deployments。
  4. 仅适用于 Partner 门户:

    • PRM 模板名称?(检查组织专属模板)

必需输入项

Employee Service / Self-Service 门户(POST /connect/self-service/site):
  • siteName(必需)- 门户名称
  • guestEmbeddedServiceConfigId(必需)- 面向 guest 用户的 Embedded Service Deployment(MIAW)配置 ID
  • embeddedServiceConfigId(可选)- 面向 authenticated 用户的 Embedded Service Deployment(MIAW)配置 ID
  • siteType(可选)- AURA(默认)或 LWR。会创建 Experience Builder 站点。请勿使用 Visualforce。
  • enableForGuest(可选)- guest(未经身份验证)用户是否可以访问该站点
  • contentDocumentId(可选)- 用于接入站点品牌配置集的徽标图片 ContentDocument ID
  • brandColors(可选)- RGBA 颜色数组,适用于 action、link、border、text、pageBackground

此 API 会根据站点名称自动设置 URL 路径前缀。此处没有 templateName——框架由 siteType(Aura/LWR)选择,绝不能使用 Visualforce。

Partner 门户(PRM):
  • siteName(必需)
  • siteUrlPrefix(必需)
  • prmTemplate(必需)
  • siteDesc(可选)
常规社区(POST /connect/communities):
  • name(必需)
  • urlPathPrefix(必需)- 只能包含字母数字,不得包含连字符
  • templateName(必需)- Experience Builder 模板。Aura:Agentforce Employee Center(员工服务首选)、Employee Portal、Customer Service、Help Center、Customer Account Portal、Partner Central、Build Your Own。LWR:Build Your Own (LWR)、Microsite (LWR)。通过 GET /connect/communities/templates(见下文)验证准确的字符串。请勿使用 Salesforce Tabs + Visualforce(“VF Template”)——它是没有 Builder 的旧版 Visualforce 站点。
  • description(可选)

工作流

第 1 步:根据门户类型确定 API
  1. Employee Service / Self-Service → POST /connect/self-service/site

    • 创建 Aura(或 LWR)Experience Builder 站点,绝不使用 Visualforce
    • 在创建时将 MIAW(Embedded Service Deployment)接入站点
    • 前提条件:具有 CustomizeApplication 权限;组织有权访问 self-service 站点创建 API;已存在 guest Embedded Service Deployment
  2. Partner(PRM) → POST /connect/prm/setup/sites

    • 前提条件:启用 CommonPrmEnabled 功能
  3. 常规社区 → POST /connect/communities

    • 使用 Experience Builder templateName(Aura 或 LWR),绝不使用 Salesforce Tabs + Visualforce
    • 前提条件:具有 Manage Communities 权限(ManageNetworks)

第 2 步:创建门户(按类型)
选项 A:员工服务 / 自助服务门户

使用自助服务站点 API。它会通过部署 CustomSite、Network 和 ExperienceBundle 元数据来创建 Aura Experience Builder 站点(使用 Builder 选项),然后使用给定的 Embedded Service Deployment(ESD)配置 ID 将 MIAW 接入站点。这是 ITSM / IT 帮助台 / 员工自助服务门户的正确方式。

API 调用(通过 mcp__headless-360__dispatch):

method: "POST"
url:    "/services/data/v67.0/connect/self-service/site"
body:
{
  "siteName": "<portal-name>",
  "siteType": "AURA",
  "guestEmbeddedServiceConfigId": "<guest-ESD-config-id>",
  "embeddedServiceConfigId": "<auth-ESD-config-id>",
  "enableForGuest": true
}

通过 mcp__headless-360__dispatch_readonly 使用 GET /services/data/v67.0/connect/self-service/site/status/{jobId} 轮询。

  • siteType 默认为 AURA(Aura Experience Builder + Builder)。仅当用户明确要求 Lightning Web Runtime 站点时才传入 LWR。绝不要创建 Visualforce 站点。
  • guestEmbeddedServiceConfigId 是必填项——它是访客用户的 MIAW Embedded Service Deployment 配置 ID。embeddedServiceConfigId(已认证用户)为可选项。如果用户还没有 Embedded Service Deployment,请先让他们创建一个(Setup → Embedded Service Deployments),或使用 MIAW/embedded-service 设置技能。
  • 可选品牌设置:contentDocumentId(徽标)和 brandColors({ "type": "action|link|border|text|pageBackground", "color": { "r": 0-255, "g": 0-255, "b": 0-255, "a": 0-1 } } 数组)。

响应:

{
  "success": true,
  "siteName": "IT Support Portal",
  "urlPathPrefix": "itsupport",
  "siteUrl": "https://domain.my.site.com/itsupport",
  "jobId": "708...",
  "status": "Queued"
}

成功时,报告成功:——门户创建已启动(Aura + Experience Builder);提供名称、框架(Aura)、jobId 和 status,并说明它正在后台配置 (Network、CustomSite、ExperienceBundle 元数据以及 Embedded Service/MIAW 部署)。下一步:监控 任务(参见“后台任务监控”),然后完成第 3 步(激活 → 添加成员 → 发布)。

失败时,报告失败:并提供 {error}——原因及解决方法参见“常见错误”部分 (缺少/无效的 guestEmbeddedServiceConfigId、名称/URL 前缀重复、组织无权访问自助服务 站点创建 API、缺少 CustomizeApplication)。


选项 B:合作伙伴门户(PRM)

API 调用(通过 mcp__headless-360__dispatch):

method: "POST"
url:    "/services/data/v67.0/connect/prm/setup/sites"
body:
{
  "siteName": "<name>",
  "siteUrlPrefix": "<url-prefix>",
  "siteDesc": "<description>",
  "prmTemplate": "<template-name>"
}

同步执行——无需轮询任务。

响应:

{
  "networkId": "0DB..."
}

成功时,报告成功:——合作伙伴门户已创建;提供名称、networkId、 siteUrlPrefix 和 prmTemplate。下一步:前往 Setup → Digital Experiences → All Sites(按 Network ID 查找),然后完成第 3 步(激活 → 添加成员 → 发布)。

失败时,报告失败:——参见“常见错误”(组织未启用 PRM/CommonPrmEnabled、PRM 模板名称无效、名称/URL 前缀重复)。PRM 模板:Setup → Digital Experiences → Settings → Partner Templates。


选项 C:通用社区

首先,发现有效模板(必需——可接受的 templateName 字符串因组织版本/版本号而异),通过 mcp__headless-360__dispatch_readonly:

method: "GET"
url:    "/services/data/v67.0/connect/communities/templates"

响应:{ "templates": [ { "publisher": "Salesforce", "templateName": "Employee Portal" }, … ], "total": N }。请原样使用返回的 templateName。优先选择 Experience Builder 模板(Aura 或 LWR)。切勿使用 Salesforce Tabs + Visualforce。

API 调用(通过 mcp__headless-360__dispatch):

method: "POST"
url:    "/services/data/v67.0/connect/communities"
body:
{
  "name": "<name>",
  "urlPathPrefix": "<url-prefix>",
  "description": "<description>",
  "templateName": "Agentforce Employee Center"
}

请求正文只接受 {name, description, templateName, templateParams, urlPathPrefix}——除非需要特定于模板的配置,否则请省略 templateParams。

对于员工服务 / ITSM / HR 门户,如果组织的实时模板列表中包含 Agentforce Employee Center 模板,应优先选择该模板——它自带 IT/HR 工单处理、自助服务目录、知识库和适配 Agentforce 的体验。如果需要更简单、非 Agentforce 的站点,则回退使用 Employee Portal(然后是 Customer Service)。其他可按使用场景选择的选项:Help Center(Aura 知识/问题转移)、Customer Account Portal(Aura 身份验证账户自助服务)、Partner Central(Aura PRM),或使用 Build Your Own (LWR) 创建现代空白 LWR 站点。

Agentforce Employee Center 分为两个层次。 此 POST /connect/communities 调用仅配置站点。嵌入式 Agentforce 对话助手需要单独配置——通过其自带模板(EmployeeCopilot__AgentforceEmployeeAgent)使用 PATCH /services/data/v67.0/headless/invoke/einstein/genai-agentbuilder/create-copilot-from-template 创建内部员工 Agent(必须填写 copilotContext.company),然后激活它并将其连接到站点。此技能负责配置站点,并引导用户完成后续步骤;完整的 Agentforce 设置不在本范围内。请参阅 references/templates.md。

响应:

{
  "jobId": "08P...",
  "message": "Your site is almost ready. To track the site creation status, query the BackgroundOperation object and enter the jobId as the Id.",
  "name": "Customer Community"
}

成功时,报告 Success:——社区创建已启动;提供名称、jobId 和 message。下一步:监控作业(请参阅“后台作业监控”),然后完成步骤 3(激活 → 添加成员 → 发布)。

失败时,报告 Failure:——请参阅“常见错误”(templateName 无效——运行 GET /services/data/v67.0/connect/communities/templates 并原样使用返回值;名称/URL 前缀重复;缺少 Manage Communities 权限)。


步骤 3:使站点可访问 — 激活、添加成员、发布

创建操作只会配置站点——站点会以 UnderConstruction 状态返回,仅管理员可访问,且页面尚未发布,因此其 URL 暂不可访问(这是“我的门户无法使用”最常见的原因)。请按顺序完成三个步骤:(1) 激活——部署包含 <status>Live</status> 的 Network 元数据;(2) 添加成员——将目标配置文件添加到 networkMemberGroups 并重新部署(可与步骤 1 合并;成员资格基于配置文件,而非单个用户,例如 Unified Employee——这是一个 Profile,而非 UserRole);(3) 发布——运行 sf community publish --name "<Site Name>",然后轮询返回的 jobId 对应的 BackgroundOperation,直到状态为 Complete。随后确认 status: Live,并提供用户登录 URL(.../<prefix>/login),而非仅提供前缀。

**工具例外:**激活/添加成员使用 Metadata API(部署 Network),发布使用 sf community publish——这些操作没有 Connect API(PATCH /connect/communities 会返回 405)。这是此技能使用 headless-360 以外工具的唯一场景;步骤 3 中的读取操作仍通过 headless-360 执行。

准确的命令、XML、验证查询和注意事项:references/post-creation-activate-publish.md。


第 4 步:撰写门户创建报告(始终执行——最后一步)

务必以撰写 report.md 总结已完成的工作作为最后一步——这是此技能最终且不可省略的操作,无论创建调用成功、仍在配置中还是失败。将其写入工作目录/输出目录,文件名为 report.md。

报告必须:

  • 以标题 # Portal Creation Report 开头。
  • 说明门户名称、使用的 API(self-service/site、communities 或 prm)及原因(例如:“不存在访客 ESD → 使用 communities API”)、框架(Aura / LWR),以及所选的模板或 siteType。
  • 提供已发送的请求(路径 + 关键请求体字段)和响应(jobId / networkId / siteUrl / status,或错误)。
  • 列出第 3 步剩余工作(激活 → 添加成员 → 发布);对于员工服务站点,注明嵌入式 Agentforce Agent 是单独的后续步骤。
  • 以以下标记行结尾,内容必须完全一致: Task completed: portal creation dispatched — see report.md

复制 assets/report-template.md 中的模板,并填入门户专属的值。


模板建议

所有建议都会创建 Experience Builder 站点(Aura 或 LWR)。切勿推荐 Salesforce Tabs + Visualforce(“VF Template”)——这是旧版模板,不支持 Builder。

用例API框架模板 / siteType
员工服务 / ITSM / HR / 服务台(功能最全面;支持 Agentforce)communitiesAuraAgentforce Employee Center
员工服务 / 服务台(创建时使用 MIAW,且已存在访客 ESD)self-service/siteAurasiteType: AURA(+ MIAW ESD 配置)
员工服务 / 服务台(更简洁,不含 Agentforce)communitiesAuraEmployee Portal(备用方案为 Customer Service)
客户支持 / 自助服务社区communitiesAuraCustomer Service
知识库 / 案例分流communitiesAuraHelp Center
已通过身份验证的账户自助服务communitiesAuraCustomer Account Portal
合作伙伴门户(使用 PRM)prm/setup/sitesAura组织专属 PRM 模板
合作伙伴门户 / 渠道(不使用 PRM)communitiesAuraPartner Central
现代化空白站点 / 适合无头架构的站点communitiesLWRBuild Your Own (LWR)

现代化建议:

  • 对于员工服务 / ITSM / HR 门户,优先通过 communities API 使用 Agentforce Employee Center Aura 模板——它提供最完整的员工体验(工单、目录、知识库,并支持 Agentforce)。对话助手是单独的 Agent 步骤(EmployeeCopilot__AgentforceEmployeeAgent)。如果门户需要在创建时接入 MIAW,且已存在访客 Embedded Service Deployment,则改用自助服务站点 API(siteType: AURA);如需更简洁且不含 Agentforce 的站点,则使用 Employee Portal。
  • 对于客户社区,通过 communities API 使用 Customer Service 模板(Aura,适配移动设备)。

完整模板文档请参阅 references/templates.md。

后台作业监控

创建门户是异步的(PRM 除外,它是同步的)。通过 mcp__headless-360__dispatch_readonly 轮询。

自助服务站点路径 — 使用专用的类型化状态路由(首选):

method: "GET"
url:    "/services/data/v67.0/connect/self-service/site/status/{jobId}"

返回 {success, siteName, urlPathPrefix, siteUrl, error, jobId, status}。

社区路径 — 通过常规 REST 查询端点查询 BackgroundOperation, 不要使用 /tooling/query:

method:      "GET"
url:         "/services/data/v67.0/query"
queryParams: { "q": "SELECT Id, Status FROM BackgroundOperation WHERE Id = '<jobId>'" }

Tooling 与常规查询(已验证的注意事项): BackgroundOperation 不是此分发器支持的有效 Tooling API sObject — 使用该 SOQL 的 GET /services/data/vXX.0/tooling/query 会返回 400 INVALID_TYPE "sObject type 'BackgroundOperation' is not supported."。请改用普通的 /services/data/vXX.0/query 端点;使用相同的 SOQL 字符串即可成功。

列选择注意事项: 对于 BackgroundOperation,只选择 Id 和 Status。JobType、 CompletedDate 和 NumErrors 不是此对象的列,会返回 INVALID_FIELD。 请完全按上面的 SOQL 字符串使用。

作业状态:

  • Queued / Scheduled — 等待开始
  • InProgress / Running — 正在执行
  • Complete — 已成功完成
  • Error — 失败(请检查状态路由上的 error 字段)

验证

创建完成后:

  1. API(主要方式): mcp__headless-360__dispatch_readonly(url: "/services/data/v67.0/connect/communities", method: "GET") 会列出所有 Experience Cloud 站点。找到新站点并确认 siteAsContainerEnabled: true(Experience Builder — Aura/LWR)、builderUrl 非空,并且 templateName 不是 Salesforce Tabs + Visualforce。siteAsContainerEnabled: false 表示这是旧版 Visualforce 站点 — 这正是此技能旨在避免的问题。
  2. Setup UI(可选): Setup → Digital Experiences → All Sites。Framework 列应显示 Aura(或 LWR),而非 Visualforce,并带有 Builder 工作区链接。
  3. 测试 URL: 使用响应中的 siteUrl(门户初始处于非活动状态)。

注意: 必须先激活并发布门户,外部用户才能访问。


规则 / 限制

限制原因
创建门户是异步的在后台部署元数据并预配资源
站点名称必须唯一每个门户在组织内都需要使用不同的名称
URL 前缀必须唯一URL 路径不能冲突
URL 前缀必须为字母数字不允许使用连字符、空格或特殊字符
PRM 需要启用 PRM 功能受许可证和组织配置限制
创建的门户初始处于非活动状态创建后必须手动激活并发布
路径必须包含 API 版本前缀dispatch/dispatch_readonly 不会注入 /services/data/vXX.0 — 省略该前缀会返回 400 ROUTE_NOT_FOUND

按类型划分的先决条件

Employee Service / Self-Service:
  • CustomizeApplication 权限
  • 已启用 Communities/Digital Experience
  • 组织已启用自助服务站点创建 API 访问权限
  • 存在一个访客 Embedded Service Deployment(MIAW)配置(需要其 ID);也可选择配置经过身份验证的用户 ESD
Partner (PRM):
  • 组织已启用 CommonPrmEnabled
  • 门户创建权限
  • 有效的 PRM 模板名称
General Community:
  • Manage Communities 权限(ManageNetworks)
  • 已启用 Communities/Digital Experience
  • 有效的模板名称

常见错误

URL 前缀无效:

“URL 只能包含字母数字字符。请移除连字符、空格或特殊字符(例如,使用 'employeeservice' 而不是 'employee-service'),并尝试其他前缀。”

模板名称无效(常规社区路径):

“指定的模板不存在。

解决方法:

  • 运行 GET /services/data/v67.0/connect/communities/templates,并逐字使用返回的 templateName
  • 优先选择 Experience Builder 模板:Agentforce Employee Center(员工服务)、Employee Portal、Customer Service、Help Center、Customer Account Portal、Partner Central、Build Your Own、Build Your Own (LWR)
  • 模板名称区分大小写 — 必须完全匹配
  • 请勿使用 Salesforce Tabs + Visualforce(“VF Template”)— 这是一个没有 Builder 的旧版 Visualforce 站点”
缺少访客 Embedded Service 配置(自助服务路径):

“自助服务站点 API 需要访客 Embedded Service 部署配置 ID。

解决方法:

  • 在 Setup → Embedded Service Deployments 中创建 Embedded Service 部署(MIAW),或使用 MIAW/embedded-service 设置技能
  • 将其配置 ID 作为 guestEmbeddedServiceConfigId 传入(也可为经过身份验证的用户传入 embeddedServiceConfigId)”
未启用 PRM:

“此组织未启用 Partner Relationship Management (PRM)。

选项:

  1. 联系 Salesforce 启用 PRM 功能
  2. 改为使用 Partner Central 模板创建常规社区(通过 Communities API)”
名称/URL 重复:

“已存在使用此名称或 URL 前缀的门户(Communities API 返回 400 INVALID_INPUT — Enter a different name. That one already exists.)。

检查现有门户: mcp__headless-360__dispatch_readonly(url: "/services/data/v67.0/connect/communities", method: "GET"),并检查 name / urlPathPrefix 字段。

请选用不同的名称或 URL 前缀。”

缺少权限:

“您没有创建门户的权限。

所需权限:

  • 自助服务门户:CustomizeApplication
  • 常规社区:ManageNetworks(Manage Communities)

请联系 Salesforce 管理员申请这些权限。”

找不到路由(缺少版本前缀):

“如果某个路径与此技能文档中的路径匹配,但返回 400 ROUTE_NOT_FOUND,请确认 url 包含完整的 /services/data/vXX.0/... 前缀 — dispatch/dispatch_readonly 要求原样提供此路径,不会为您补上。如果某个特定版本返回 404,请尝试该组织最近一次 discover/describe 结果中显示的版本。”


相关操作

创建后:

  • 激活门户 — Setup → Digital Experiences → All Sites → Activate
  • 配置品牌 — 自定义颜色、徽标和主题
  • 添加页面/组件 — 使用 Experience Builder
  • 设置用户访问权限 — 配置文件、权限集、共享规则
  • 发布门户 — 让外部用户可以访问

管理现有门户:

  • 列出门户 — mcp__headless-360__dispatch_readonly(url: "/services/data/v67.0/connect/communities", method: "GET")
  • 更新设置 — Network Tooling API 或 Metadata API
  • 停用 — 通过 Setup UI

重要说明

  1. 创建是异步的(PRM 除外),且只负责配置资源 — API 会返回作业 ID,门户会以 UnderConstruction 状态返回,没有成员且尚未发布,因此在完成第 3 步(激活 → 添加成员 → 发布;请参阅 references/post-creation-activate-publish.md)之前,无法访问其 URL。
  2. URL 前缀会成为站点路径 — https://<domain>.my.site.com/<prefix>(服务/登录地址为 .../<prefix>/login,而非不带路径的前缀)。
  3. Embedded Service / MIAW 配置必须预先存在 — 此技能不会创建 Embedded Service 部署。请先在 Setup → Embedded Service Deployments 中单独创建(或使用 MIAW/embedded-service 设置技能创建),然后将配置 ID 传递给自助服务站点 API。对于常规社区,可在创建后通过 Experience Builder 中的 Embedded Service 组件添加 MIAW。
  4. 模板名称区分大小写 — 尝试创建之前,请确认组织中可用的模板。
  5. discover/describe 可能无法通过 ID 解析特定的 Connect API 操作 — headless-360 语料库会将许多操作编入索引,作为多步骤 SOR,而非单个端点;一些标准 Connect API 写入操作(例如 POST /connect/communities)也没有单独编入索引。不要因此断定缺少该功能;请直接调用已知且有版本号的 Connect API 路径(本文档说明了该路径)。

参考文档

  • references/mcp-invocation.md — 每次会话都要阅读。 精确的 mcp__headless-360__* 调用格式、版本前缀要求、响应封装、作业监控、BackgroundOperation 列/端点使用规范以及注意事项。
  • references/templates.md — 可用模板、模板参数、选择指南。
  • references/post-creation-activate-publish.md — 使站点可访问的第 3 步(激活、添加成员、发布):Metadata API + sf community publish 路径、PATCH 返回 405 的注意事项、NetworkMemberGroup 列使用规范以及登录 URL 说明。
  • assets/report-template.md — 第 4 步 report.md 模板,请复制使用(标题、必填字段、哨兵值)。

API 类型分类

站点创建通过 mcp__headless-360__dispatch / mcp__headless-360__dispatch_readonly 执行(绝不使用 project-codey 或原始 HTTP)。所有路径都包含 /services/data/vXX.0 前缀。创建后(第 3 步)是唯一例外: 激活 Network 和添加成员使用 Metadata API(sf project deploy start --metadata Network:...),发布则使用 sf community publish — 这些操作没有 Connect API(PATCH /connect/communities/<id> 会返回 405)。第 3 步的读取/验证仍通过 headless-360 执行。创建路径:

  • 自助服务门户: Connect API POST /services/data/vXX.0/connect/self-service/site — 异步(轮询 GET /services/data/vXX.0/connect/self-service/site/status/{jobId})
  • PRM 门户: Connect API POST /services/data/vXX.0/connect/prm/setup/sites — 同步
  • 常规社区: Connect API POST /services/data/vXX.0/connect/communities — 异步(通过 GET /services/data/vXX.0/query 轮询 BackgroundOperation,而非 /tooling/query)

评论

支持 Markdown