Skip to content
Development
Skill

/experience-portal-create

Create / provision / set up a NEW Digital Experience (Communities) / Experience Cloud site — employee service, IT support, help desk, HR, customer, and partner portals — via the headless-360 MCP site-creation APIs. Use whenever a user asks to create/provision/set up a portal,

From plugin
forcedotcom-sf-skills-2
998200 skills2 agents14 commands3 MCP
Install
$ npx -y skills add forcedotcom/sf-skills --skill experience-portal-create --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/experience-portal-create

Context preview

The summary Claude sees to decide when to auto-load this skill.

Create / provision / set up a NEW Digital Experience (Communities) / Experience Cloud site — employee service, IT support, help desk, HR, customer, and partner portals — via the headless-360 MCP site-creation APIs. Use whenever a user asks to create/provision/set up a portal,

SKILL.md

experience-portal-create.SKILL.md
name: experience-portal-create
description: "Create / provision / set up a NEW Digital Experience (Communities) / Experience Cloud site — employee service, IT support, help desk, HR, customer, and partner portals — via the headless-360 MCP site-creation APIs. Use whenever a user asks to create/provision/set up a portal, site, or community, e.g.: 'create an employee service portal', 'create an IT Support Portal', 'create an Agentforce Employee Center', including wiring MIAW (Messaging for In-App/Web) at create. This is the site-CREATION skill and OWNS provisioning a new Aura OR LWR Experience Builder site from scratch — trigger it even when the user says 'Experience Builder site' or 'LWR site', as long as a NEW site is wanted. It always writes a portal-creation report as its final step (never ad hoc via CLI) and never makes a legacy Tabs+Visualforce site. DO NOT TRIGGER only for modifying an EXISTING site's pages/routes/theme/branding/guest-access metadata (experience-lwr-site-generate), existing-site customization (experience-ui-bundle), CMS, Commerce."
metadata:
  version: "1.0"
  domains: ["Experience"]
  minApiVersion: "67.0"
  relatedSkills:
    - "experience-lwr-site-generate"
  mcpTools:
    headless-360:
      tools: ["describe", "discover", "dispatch", "dispatch_readonly"]
      semver: ">=1.0.0"
  cliTools:
    - tool: ["sf"]
      semver: ">=2.0.0"
allowed-tools: |
  Read AskUserQuestion Bash
  mcp__headless-360__discover
  mcp__headless-360__describe
  mcp__headless-360__dispatch
  mcp__headless-360__dispatch_readonly

Create Digital Experience Portal

Create a new Digital Experience (formerly Communities) portal/site in Salesforce. Supports employee service portals, partner portals (PRM), and general customer communities.

**Every operation runs through the headless-360 MCP server** (`mcp__headless-360__discover` → `mcp__headless-360__describe` → `mcp__headless-360__dispatch` / `mcp__headless-360__dispatch_readonly`). Do **not** use the Salesforce CLI (its `api request`, `data query`, or `org open` subcommands), the project-codey MCP server, raw `curl`, or any other HTTP client — `dispatch`/`dispatch_readonly` is the only way this skill talks to the org. See `references/mcp-invocation.md` for the exact call shapes.

Scope

  • **In scope**: Creating Digital Experience sites via the headless-360 Connect API dispatcher. Portal type selection. Basic configuration (name, URL, templates). Self-service portals with embedded service configs. **Making the site reachable end to end** — activating the Network (`status: Live`), adding member profiles, and publishing the Experience Builder pages (see `references/post-creation-activate-publish.md`).
  • **Out of scope**: Deep post-creation customization (page layout/component authoring in Builder). Content authoring. Branding beyond initial setup. Individual per-user record management (membership is added at the profile/permission-set level, not per user).

---

Execution model (read first)

Every org call is a **dispatch**: `mcp__headless-360__dispatch_readonly(url, method: "GET", queryParams)` for reads, `mcp__headless-360__dispatch(url, method, body)` for writes; read `status_code` + `body` from the response. To resolve the endpoint for a portal type, use `mcp__headless-360__discover(query=...)` and `mcp__headless-360__describe(id=...)` as needed. Connect API create/list operations for Experience Cloud are not always indexed by `discover`/`describe` — when a lookup returns nothing, dispatch the well-known versioned Connect API path directly (see `references/mcp-invocation.md`) rather than concluding the capability is missing.

**Critical: paths must include the full `/services/data/vXX.0/...` prefix** (e.g. `"/services/data/v67.0/connect/communities"`) — unlike some other dispatchers, headless-360 does **not** resolve or inject the API version for you. A path without the version prefix returns `400 ROUTE_NOT_FOUND`. Copy the path verbatim from a `discover`/`describe` result when available; otherwise use the version shown in this skill's examples (`v67.0` at time of writing) and adjust if the org runs a different version. Full details, response envelope, job-monitoring, and gotchas live in `references/mcp-invocation.md`.

---

Clarifying Questions

Before proceeding, determine:

1. **Portal type?**

  • Employee Service / ITSM / HR / help desk → **prefer the `Agentforce Employee Center` Aura template** via the communities API (richest employee experience; Agentforce-ready). Use the self-service API instead when MIAW must be wired in at creation time and a guest ESD exists.
  • Partner Portal (PRM) → requires PRM feature enabled
  • Customer Community → general community creation (Aura or LWR Experience Builder template)

2. **Basic settings (required for all types):**

  • Portal name?
  • URL prefix? (must be alphanumeric only, no hyphens or spaces)
  • Description (optional)

3. **For Employee Service / Self-Service portals:**

  • `siteType`? → default `AURA` (Aura Experience Builder + Builder). Use `LWR` only if the user explicitly wants a Lightning Web Runtime site. **Never** create a Salesforce Tabs + Visualforce ("VF Template") site — those are legacy and have no Builder.
  • MIAW / Embedded Service Deployment ID(s)? These wire Messaging for In-App and Web into the portal at creation time. A **guest** ESD config is required by the self-service API; an **authenticated-user** ESD config is optional. If the user hasn't created an Embedded Service Deployment yet, point them to Setup → Embedded Service Deployments first.

4. **For Partner portals only:**

  • PRM template name? (check org-specific templates)

---

Required Inputs

Employee Service / Self-Service Portals (`POST /connect/self-service/site`):

  • `siteName` (required) - portal name
  • `guestEmbeddedServiceConfigId` (required) - Embedded Service Deployment (MIAW) config ID for **guest** users
  • `embeddedServiceConfigId` (optional) - Embedded Servic
Read more
Ships withforcedotcom-sf-skills-2

This repository provides a curated collection of Salesforce agent skills for building applications.

Get the whole plugin

Other skills on forcedotcom-sf-skills-2.