experience-cloud-moderation

Use when setting up or tuning Experience Cloud community content moderation: keyword/criteria-based rules, member reputation system, and moderation queue management. Triggers: 'set up community content moderation', 'configure reputation levels', 'flagging rules Experience Cloud', 'moderation queue setup', 'keyword blocking community', 'approve community posts before publishing'. NOT for CMS content publishing workflows or Digital Experiences page publishing.

Best use case

experience-cloud-moderation is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when setting up or tuning Experience Cloud community content moderation: keyword/criteria-based rules, member reputation system, and moderation queue management. Triggers: 'set up community content moderation', 'configure reputation levels', 'flagging rules Experience Cloud', 'moderation queue setup', 'keyword blocking community', 'approve community posts before publishing'. NOT for CMS content publishing workflows or Digital Experiences page publishing.

Teams using experience-cloud-moderation should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/experience-cloud-moderation/SKILL.md --create-dirs "https://raw.githubusercontent.com/PranavNagrecha/AwesomeSalesforceSkills/main/skills/admin/experience-cloud-moderation/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/experience-cloud-moderation/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How experience-cloud-moderation Compares

Feature / Agentexperience-cloud-moderationStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when setting up or tuning Experience Cloud community content moderation: keyword/criteria-based rules, member reputation system, and moderation queue management. Triggers: 'set up community content moderation', 'configure reputation levels', 'flagging rules Experience Cloud', 'moderation queue setup', 'keyword blocking community', 'approve community posts before publishing'. NOT for CMS content publishing workflows or Digital Experiences page publishing.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Experience Cloud Moderation

Use this skill to configure the three-layer moderation system for an Experience Cloud community: automated rule-based content filtering, a reputation system that assigns levels and points to members, and a moderation queue where human moderators review flagged or held content. Activate when a practitioner needs to control what community members can post, build trust through member reputation, or establish a review workflow before content goes live.

---

## Before Starting

Gather this context before working on anything in this domain:

- Confirm the Experience Cloud site exists and is in a sandbox or scratch org. Moderation rules are site-specific; confirm which site(s) are in scope.
- Identify who will moderate: one or more users need the "Moderate Experiences Feeds" permission (via permission set or profile). Without this permission, users cannot access the moderation queue.
- Understand the desired content actions — Block (prevents post), Replace (substitutes offending text), Flag (marks for human review without hiding), Review (hides content from everyone except the author and moderators until approved). Each has a different user-facing impact.
- Reputation points are not retroactive. Any levels configured after member activity begins will not credit historical actions. Clarify whether a migration plan is needed.
- The site must have Chatter/feeds enabled. Reputation and rules apply to feed posts and comments, not CMS content pages.

---

## Core Concepts

### Rule-Based Automated Moderation

Moderation rules are created in Setup > Experience Cloud Sites > Moderation. Each rule defines:

- **Criteria type**: Keyword list (matches text content) or Member criteria (targets members by join date, post count, or reputation level — useful for throttling new members).
- **Content type**: Posts, comments, files, or all feed items.
- **Action**: Block, Replace, Flag, or Review.

Rules are evaluated in the order they appear in Setup. The **first matching rule wins**; subsequent rules are not evaluated for the same content item. Order matters and should be intentional — place high-priority Block rules above lower-priority Flag rules.

Keyword rules match partial words unless wildcards are explicitly excluded. A keyword of "spam" will match "spammy" and "asparagus" does not match unless it appears in the keyword list literally. Test keyword lists in a sandbox before activating in production.

### Four Moderation Actions and Their User Impact

| Action | What Happens | Visible to Author? | Visible to Others? |
|---|---|---|---|
| Block | Post or comment is rejected at submission | Author sees rejection message | Never posted |
| Replace | Offending text is substituted with *** or custom text | Author sees altered version | Altered version shown |
| Flag | Item is posted and marked for moderator review | Yes — post is live | Yes — post is live |
| Review | Item is held pending approval | Yes — author sees own post | No — hidden until approved |

**Review** is the most restrictive action. Content under Review is invisible to all community members except the author (who can see it but not edit it) and any user with the Moderate Experiences Feeds permission. This makes Review suitable for new-member or high-risk keyword scenarios where live visibility before approval is unacceptable.

### Reputation System

Each site supports up to 10 reputation levels. Each level has:
- A name (e.g., "Contributor", "Expert")
- A point threshold — the minimum cumulative points to reach that level
- An optional image

Points are awarded for specific member actions: posting, commenting, liking, receiving likes, having a best answer selected, and logging in. The point value for each action is configurable per site. **Points are not retroactive** — configuring levels after site launch does not award points for past activity.

Reputation levels can be used as Member Criteria in moderation rules. For example: require Review action for posts by members below Level 2 to throttle spam from new accounts.

### Moderation Queue

The moderation queue (Chatter > Moderation or the Feed Moderation page in Experience Workspaces) aggregates all content in Review status or explicitly flagged via the Flag action. To access it a user must have the **Moderate Experiences Feeds** permission — this is a granular permission within the Salesforce user license, not an Experience Cloud-specific setting. Moderators can Approve (make content live), Delete, or Dismiss (remove flag without deleting).

---

## Common Patterns

### Pattern: Throttle New-Member Posts with Review Action

**When to use:** Community launches and the team wants to prevent spam from brand-new accounts before they have established any reputation.

**How it works:**
1. Create a Member Criteria rule targeting members with fewer than 5 posts and a join date within the last 7 days (or reputation below Level 2).
2. Set the action to Review.
3. Assign the Moderate Experiences Feeds permission to community managers.
4. New member posts are held until a moderator approves them. Approved posts are visible immediately.

**Why not Flag instead:** Flag leaves the post live for other members to see. A spam post under Flag is visible to the entire community until a moderator acts. Review prevents public exposure entirely.

### Pattern: Keyword Block for Prohibited Terms

**When to use:** Compliance or community guidelines prohibit specific words (profanity, competitor names, regulated terms).

**How it works:**
1. Create a keyword list under Setup > Experience Cloud Sites > Keyword Lists. Add exact terms and common variants.
2. Create a Moderation Rule that references the keyword list, applies to Posts and Comments, and uses the Block action.
3. Place this rule at the top of the rule order so it fires before any Flag or Review rules.

**Why not Replace:** Replace is suitable for borderline content where the post intent is acceptable but specific language is not. For strictly prohibited content, Block gives the clearest signal to the author and prevents any altered version of the problematic post from reaching other members.

### Pattern: Reputation-Gated Contribution Levels

**When to use:** The community wants to increase trust as members demonstrate engagement over time — e.g., allow posting links only after reaching a certain reputation threshold.

**How it works:**
1. Define 5–10 reputation levels under Experience Workspaces > Reputation.
2. Set point values for relevant actions (posting, commenting, best answer).
3. Create Member Criteria rules tied to reputation level thresholds for high-risk content types (e.g., posts containing URLs require Review if member is below Level 3).
4. As members earn points and advance levels, restrictive moderation rules no longer apply to them.

---

## Decision Guidance

| Situation | Recommended Action | Reason |
|---|---|---|
| Post contains a prohibited term and must never be visible | Block | Rejects submission entirely; no version of the post reaches other members |
| Post language is borderline but intent is acceptable | Replace | Substitutes offending text; post remains with corrected wording |
| Post is suspicious but should be reviewable before removal | Flag | Post goes live; moderators can evaluate in queue without hiding from community |
| New member posts that must not be visible until approved | Review | Holds content from all community members until moderator approves |
| Reputation needed before relaxing moderation rules | Reputation + Member Criteria rule | Levels gate rule application automatically as members accumulate points |

---

## Recommended Workflow

Step-by-step instructions for an AI agent or practitioner setting up Experience Cloud moderation:

1. **Identify moderation requirements.** Confirm the site name, which content types need moderation (posts, comments, files), which keywords or member conditions are in scope, and the desired action for each scenario. Get moderator names or profiles for permission assignment.

2. **Assign the Moderate Experiences Feeds permission.** In Setup > Permission Sets (or the relevant profile), grant "Moderate Experiences Feeds" to all designated moderators. Without this permission, the moderation queue is inaccessible and moderators cannot take action on Review-status content.

3. **Configure keyword lists.** Navigate to Setup > Experience Cloud Sites > [Site] > Moderation > Keyword Lists. Create one or more keyword lists. Test terms in a sandbox to confirm partial-match behavior is acceptable before enabling in production.

4. **Create and order moderation rules.** Under Moderation Rules, create rules for each keyword list and/or member criteria scenario. Assign the correct action (Block / Replace / Flag / Review). Reorder rules so the most restrictive (Block) appears first. Verify rule order reflects intent.

5. **Configure reputation levels and points.** In Experience Workspaces > Reputation, define up to 10 levels with meaningful names and point thresholds. Set point values for each member action (post, comment, like, best answer, login). If using reputation as a criteria in moderation rules, confirm levels are active before rules referencing them go live.

---

## Review Checklist

Run through these before marking work in this area complete:

- [ ] All designated moderators have the Moderate Experiences Feeds permission assigned
- [ ] Moderation rules are ordered correctly (Block rules before Flag/Review rules)
- [ ] Keyword lists have been tested in sandbox for partial-match false positives
- [ ] Review-action behavior (hidden from all but author and moderators) has been demonstrated to stakeholders and accepted
- [ ] Reputation levels are defined before any Member Criteria rules that reference them go live
- [ ] Moderators know how to access the moderation queue in Experience Workspaces or Chatter
- [ ] Rule actions and their user-facing messages have been reviewed for tone and compliance requirements

---

## Salesforce-Specific Gotchas

Non-obvious platform behaviors that cause real production problems:

1. **Review-status content is invisible to everyone except the author and moderators** — Stakeholders often assume Flag and Review behave the same way (the post is live but marked). They do not. Content under Review is not visible to any community member other than the author. If a community manager asks "why can't I see the new post?" — the member likely hit a Review rule and the manager does not have the Moderate Experiences Feeds permission.

2. **Reputation points are not retroactive** — If reputation levels are configured after members have been active in the community, no historical points are awarded. Members who have been active for months may start at Level 1. Plan reputation configuration before or at launch, not as a post-launch addition.

3. **Moderation rules fire in order; the first match wins** — If a Block rule appears below a Flag rule and content matches both, only the Flag action fires. Admins who add a new Block rule at the bottom of the list may be surprised that flagged content is still appearing live. Always review rule order after adding or editing rules.

4. **Keyword rules match partial words by default** — A keyword of "ban" will match "banner", "abandon", and "band". Review keyword lists carefully and use specific multi-word phrases where precision is required.

5. **The Moderate Experiences Feeds permission is a Salesforce platform permission, not an Experience Cloud role** — It is assigned through permission sets or profiles in the internal org, not through community member roles. External community members (Customer Community or Partner Community licenses) typically cannot be granted this permission unless they are also internal Salesforce users.

---

## Output Artifacts

| Artifact | Description |
|---|---|
| Moderation rules configuration | Ordered list of active rules with criteria type, action, and content type per site |
| Keyword lists | Named keyword lists referenced by moderation rules |
| Reputation configuration | Up to 10 levels with point thresholds and per-action point values |
| Permission assignment record | List of users or permission sets assigned the Moderate Experiences Feeds permission |
| Moderation queue access guide | Brief instructions for moderators on accessing and processing the queue |

---

## Related Skills

- experience-cloud-setup — Site creation, network settings, and member access configuration; complete before moderation rules
- permission-set-management — Assigning the Moderate Experiences Feeds permission to moderators via permission sets

Related Skills

experience-cloud-security

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when configuring access controls, sharing, or site security for authenticated or guest Experience Cloud (community) users: external OWD, Sharing Sets, Share Groups, CSP, clickjack protection, guest user record access. NOT for internal sharing model configuration (use sharing-and-visibility).

headless-experience-cloud

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when building custom frontends (React, Vue, mobile, static sites) that consume Salesforce CMS content via the Connect REST API headless delivery endpoint. Triggers: 'headless Salesforce CMS', 'deliver CMS content to external frontend', 'React app Salesforce content API', 'custom frontend Experience Cloud data', 'CMS delivery channel API'. NOT for standard Experience Builder site development. NOT for CMS Connect (3rd-party CMS federation into Experience Builder). NOT for Experience Cloud LWC components rendered inside a site.

experience-cloud-search-customization

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when configuring or extending search on an Experience Cloud site — covering Search Manager scope configuration, LWR vs Aura search component selection, federated search setup, guest user search access, and custom search result components. NOT for SOSL/SOQL query development. NOT for internal Salesforce global search or Einstein Search for agents.

experience-cloud-multi-idp-sso

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when configuring multiple identity providers (OIDC and/or SAML) on a single Experience Cloud site or across tenant-specific portals in the same org — covering auth provider registration, Start SSO URL routing, Federation ID mapping, RegistrationHandler implementation, and simultaneous SP+IdP topology. Trigger keywords: multiple identity providers Experience Cloud, multi-tenant SSO community portal, vendor and citizen portal same site, OIDC SAML both on login page, tenant-specific login routing community. NOT for internal Salesforce employee SSO configuration. NOT for single auth provider setups — see experience-cloud-authentication for basic SSO.

experience-cloud-lwc-components

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when building custom LWC components for Experience Cloud (Experience Builder sites, LWR portals, Aura-based communities). Covers community context imports, guest user Apex access patterns, navigation API differences between LWR and Aura, and JS-meta.xml target configuration for Experience Builder exposure. NOT for internal LWC components deployed to Lightning App Builder or standard record pages (see lwc/lwc-development). NOT for Aura community components. Trigger keywords: build LWC for Experience Cloud, custom component community portal LWC, guest user LWC component, community context import salesforce, lightningCommunity target, @salesforce/community, guest Apex.

experience-cloud-authentication

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when building custom login pages, social SSO flows, self-registration flows, or passwordless OTP login for Experience Cloud (community) sites. Trigger keywords: custom login page Experience Cloud, social SSO community portal, passwordless login Experience Cloud, self-registration custom flow, headless authentication community, auth provider OIDC SAML site. NOT for internal SSO configuration (use identity/sso skills). NOT for standard username/password authentication with no customization.

experience-cloud-api-access

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when configuring or troubleshooting API access for Experience Cloud external users and guest users: guest user Apex data access, Customer Community Plus or Partner Community REST/SOAP API access, external user OAuth scopes, and sharing enforcement on API responses. Trigger keywords: Experience Cloud API access external user, community user REST API, guest user API limits, Customer Community API permissions, external user OAuth. NOT for internal Salesforce API authentication, non-community OAuth flows, or internal user API security.

net-zero-cloud-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when configuring Salesforce Net Zero Cloud — including Scope 1/2/3 emission source modeling via the StnryAssetCrbnFtprnt / VehicleAssetCrbnFtprnt / Scope3CrbnFtprnt object families, emission factor library setup (EmssnFctr / EmssnFctrSet), DPE-driven carbon calculation jobs, supplier engagement scoring, and CSRD / ESRS / TCFD disclosure pack mapping. Triggers on: Net Zero Cloud setup, Sustainability Cloud carbon accounting, Scope 1 2 3 emissions Salesforce, emission factor library, supplier engagement Net Zero, ESG disclosure pack mapping. NOT for ESG content scoring (use Marketing Cloud), NOT for general financial reporting (use Accounting Subledger), NOT for energy-only utility billing (use Energy & Utilities Cloud).

manufacturing-cloud-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when configuring Salesforce Manufacturing Cloud — including Sales Agreement setup, Account-Based Forecasting (ABF) recalc jobs, run-rate management, Rebate Management programs, channel inventory tracking via Channel Revenue Management, and Group Membership / OrderItem-to-SalesAgreement reconciliation. Triggers on: Manufacturing Cloud setup, Sales Agreement Salesforce, account-based forecast recalculation, run rate manufacturing, rebate program setup, channel revenue management. NOT for general Sales Cloud opportunity-to-order flow (use standard Opportunity / Order), NOT for Field Service install-base management (use FSL skills), NOT for Automotive Cloud dealer modeling (use automotive-cloud-setup).

data-cloud-zero-copy-federation

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when configuring or troubleshooting Data Cloud Zero Copy / Lakehouse Federation against Snowflake, Databricks, BigQuery, or Redshift — including external Data Lake Object setup, query semantics through federation, refresh and cache behavior, and choosing federation versus physical ingestion. Triggers on: Data Cloud federated DLO setup, query latency against external warehouse, Snowflake/Databricks/BigQuery integration with Data Cloud, federation vs ingestion decision. NOT for physical Ingestion API streaming/bulk patterns (use data-cloud-integration-strategy), not for CRM Analytics external connectors (use analytics-external-data), not for outbound Data Cloud activation to external systems (use data-cloud-activation-development).

data-cloud-query-api

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when querying unified profile data, calculated insights, or Data Lake Objects from Data Cloud using ANSI SQL via the Query V2 or Query Connect APIs. Triggers on: SQL queries against Data Cloud, querying unified individuals, querying DMOs via API, paginating large Data Cloud result sets. NOT for SOQL queries against standard Salesforce objects, not for Data Cloud segment filtering in the UI, not for vector/semantic search (use data-cloud-vector-search-dev).

data-cloud-integration-strategy

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when designing or troubleshooting the data pipeline strategy for connecting source systems to Data Cloud — including ingestion API pattern selection (streaming vs. batch), connector type decisions, DSO-to-DLO-to-DMO pipeline lag, and lakehouse federation patterns. Triggers on: Data Cloud ingestion API setup, streaming vs batch connector decision, Data Cloud connector types, MuleSoft Direct for Data Cloud, data pipeline lag for segmentation. NOT for standard Salesforce integration patterns (use integration-patterns skill), not for querying Data Cloud once data is ingested (use data-cloud-query-api), not for configuring standard admin connectors through the UI only.