knowledge-vs-external-cms
Use when deciding between Salesforce Knowledge, an external CMS (Contentful, WordPress, AEM), or a hybrid content strategy. Triggers: 'should we use Salesforce Knowledge or a CMS', 'content federation across Salesforce and headless CMS', 'CMS Connect for Experience Cloud', 'agent-facing vs customer-facing content architecture'. NOT for CMS platform implementation, WordPress theme development, or AEM component authoring.
Best use case
knowledge-vs-external-cms is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use when deciding between Salesforce Knowledge, an external CMS (Contentful, WordPress, AEM), or a hybrid content strategy. Triggers: 'should we use Salesforce Knowledge or a CMS', 'content federation across Salesforce and headless CMS', 'CMS Connect for Experience Cloud', 'agent-facing vs customer-facing content architecture'. NOT for CMS platform implementation, WordPress theme development, or AEM component authoring.
Teams using knowledge-vs-external-cms 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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/knowledge-vs-external-cms/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How knowledge-vs-external-cms Compares
| Feature / Agent | knowledge-vs-external-cms | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use when deciding between Salesforce Knowledge, an external CMS (Contentful, WordPress, AEM), or a hybrid content strategy. Triggers: 'should we use Salesforce Knowledge or a CMS', 'content federation across Salesforce and headless CMS', 'CMS Connect for Experience Cloud', 'agent-facing vs customer-facing content architecture'. NOT for CMS platform implementation, WordPress theme development, or AEM component authoring.
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
# Knowledge vs External CMS Use this skill when an organization must decide where content lives: Salesforce Knowledge, an external CMS, or both. The highest-value move is usually to split content by consumer -- agent-facing articles stay in Knowledge for native case deflection and console integration, while customer-facing rich content lives in a purpose-built CMS -- and then federate where the audiences overlap. --- ## Before Starting Gather this context before working on anything in this domain: - Who consumes the content? Service agents via the console, customers via a portal, marketing audiences via a public site, or a mix? - Does the organization already own a CMS with established authoring workflows, localization pipelines, or headless delivery APIs? - Is Einstein article recommendation or case-deflection a requirement? These features depend on Knowledge being the content source. --- ## Core Concepts The decision between Knowledge and an external CMS is not a feature comparison. It is a question of where each content type delivers the most value given the platform capabilities and the audience consuming it. ### Salesforce Knowledge Strengths Salesforce Knowledge is a native object tightly coupled to the Service Cloud agent experience. Articles surface inside the console via Einstein Search and article recommendations. Data categories control visibility by audience segment. Knowledge supports approval workflows and article versioning (draft, published, archived lifecycle). Case deflection works out of the box in Experience Cloud when Knowledge is the source. The limitation is authoring: the rich-text editor is basic compared to modern CMS platforms, rich media support is constrained, and localization workflows are minimal beyond basic multi-language article translation. ### External CMS Strengths Platforms like Contentful, WordPress, and AEM offer structured content modeling, sophisticated authoring experiences, advanced localization with translation management, headless API delivery for omnichannel publishing, and mature rich-media pipelines (video, interactive components, DAM integration). They are purpose-built for content teams who publish at volume across web, mobile, and other channels. The tradeoff is that external CMS content does not natively participate in Salesforce case deflection, agent recommendations, or data-category-based visibility. ### CMS Connect and Content Federation CMS Connect is the Salesforce-provided bridge that brings external CMS content into Experience Cloud sites. It supports connections to headless CMS APIs, allowing external articles to render inside Salesforce-hosted portals without migrating content. This enables a hybrid model where the CMS is the system of record for customer-facing content, but that content still appears in the Salesforce portal. CMS Connect does not feed content into the agent console or Einstein recommendations -- that path still requires Knowledge. ### Search Strategy Across Boundaries When content spans two systems, search becomes the integration challenge. Agent-side search uses Einstein Search over Knowledge. Customer-side search in Experience Cloud can combine Knowledge articles with CMS Connect content, but relevance tuning and faceted navigation require deliberate configuration. Organizations that skip search planning end up with fragmented results where customers see partial content from each source. --- ## Common Patterns ### Pattern 1: Knowledge-Only for Agent-Centric Orgs **When to use:** The primary content consumers are service agents. Customer self-service is minimal or not yet launched. Content volume is under 5,000 articles with limited rich-media needs. **How it works:** All content lives in Salesforce Knowledge. Data categories segment visibility (internal-only vs. public). Einstein article recommendations surface relevant articles during case work. Experience Cloud exposes public articles for basic self-service. **Why not the alternative:** Adding an external CMS for agent-facing content creates a sync problem with no benefit. Agents need articles in the console, and Knowledge is the only source that feeds Einstein recommendations natively. ### Pattern 2: Hybrid Split by Audience **When to use:** The organization serves both agents and customers, but customer-facing content requires richer authoring, localization, or multimedia than Knowledge supports. A CMS is already in place or justified by content volume. **How it works:** Agent-facing troubleshooting articles and internal procedures stay in Knowledge. Customer-facing help center content, product documentation, and marketing-adjacent guides live in the external CMS. CMS Connect renders CMS content inside the Experience Cloud portal. A shared taxonomy or tagging scheme bridges the two systems so search results are coherent. **Why not the alternative:** Migrating all content to the CMS loses case deflection and Einstein recommendations. Migrating all content to Knowledge forces content teams into a basic editor and drops localization maturity. ### Pattern 3: CMS as Source of Truth with Knowledge Sync **When to use:** A mature CMS is the organization's canonical content platform and the team refuses to author in two places, but agents still need articles in the console. **How it works:** Content is authored and managed in the external CMS. A scheduled integration (MuleSoft, middleware, or custom Apex) pushes a subset of articles into Knowledge as read-only records so that agents and Einstein can consume them. The CMS remains the authoring system; Knowledge is a distribution endpoint. **Why not the alternative:** This adds integration complexity and latency. It only makes sense when the CMS authoring investment is too large to duplicate and agent-side consumption is a hard requirement. --- ## Decision Guidance | Situation | Recommended Approach | Reason | |---|---|---| | Agents are the primary audience; self-service is basic | Knowledge-only | Native console integration, Einstein recommendations, case deflection with no integration overhead | | Customer portal needs rich content; CMS already exists | Hybrid split with CMS Connect | Each system handles its strength; CMS Connect bridges content into Experience Cloud | | Content team refuses dual authoring; agents still need articles | CMS as source with Knowledge sync | Preserves single authoring workflow while enabling agent-side features via integration | | Localization across 10+ languages with regional variants | External CMS for localized content | Knowledge translation is basic; CMS platforms offer robust translation management | | Einstein article recommendations are a hard requirement | Knowledge must be the source for those articles | Einstein Search and recommendations only index Knowledge articles | | Public SEO-driven content with structured metadata | External CMS with headless delivery | CMS platforms offer better SEO tooling, structured data, and CDN delivery | --- ## Recommended Workflow Step-by-step instructions for an AI agent or practitioner working on this task: 1. **Inventory content consumers** -- List every audience (agents, customers, partners, public visitors) and the channels they use (console, portal, public site, mobile app). Map each audience to their primary content needs. 2. **Assess existing CMS investment** -- Determine whether the organization already operates a CMS, what content lives there, how mature the authoring and localization workflows are, and whether there is organizational willingness to adopt a second authoring tool. 3. **Map feature requirements to platforms** -- For each content type, check whether it requires Einstein article recommendations, case deflection, data-category visibility, rich media, localization, or headless delivery. Use the decision table above to assign each content type to Knowledge or the external CMS. 4. **Design the federation layer** -- If hybrid, define how content crosses system boundaries. Decide whether CMS Connect, a middleware integration, or both are needed. Specify the shared taxonomy or tagging convention that enables coherent cross-system search. 5. **Plan the search strategy** -- Define how agent-side search (Einstein Search) and customer-side search (Experience Cloud search, external search) will index and rank content from both sources. Test that results do not fragment across systems. 6. **Validate with a content pilot** -- Stand up a small set of articles in the chosen architecture. Verify that agents see recommendations, customers find content in self-service, and the authoring team can publish without friction. 7. **Document the content routing rules** -- Record which content types go where, who owns each system, and the escalation path when content does not fit cleanly into either platform. --- ## Review Checklist Run through these before marking work in this area complete: - [ ] Every content type is explicitly assigned to Knowledge, the external CMS, or both with a clear rationale - [ ] Einstein article recommendation and case deflection requirements are mapped to Knowledge as the source - [ ] CMS Connect configuration is validated if external content must appear in Experience Cloud - [ ] Search strategy covers both agent-side and customer-side channels without fragmented results - [ ] Localization requirements are satisfied by the chosen platform (Knowledge translation vs. CMS translation management) - [ ] Content authoring team has confirmed the workflow is acceptable -- no shadow authoring in unapproved tools - [ ] Data category or taxonomy alignment between systems is documented --- ## Salesforce-Specific Gotchas Non-obvious platform behaviors that cause real production problems: 1. **Einstein recommendations only index Knowledge** -- If articles live in an external CMS and are not synced into Knowledge, Einstein article recommendations and suggested articles on cases will not surface them. There is no workaround short of syncing content into Knowledge records. 2. **CMS Connect content is read-only in Experience Cloud** -- CMS Connect renders external content but does not support inline editing, commenting, or case attachment from within Salesforce. Users cannot interact with CMS Connect content the way they interact with Knowledge articles. 3. **Knowledge article versioning is linear, not branching** -- Unlike modern CMS platforms that support content branches, scheduled publishing, and variant testing, Knowledge articles follow a single draft-to-published-to-archived lifecycle. Teams accustomed to CMS branching workflows will find this restrictive. 4. **Data categories have a depth limit of 5 levels** -- Organizations that map complex content taxonomies into Knowledge data categories hit the 5-level nesting limit. Deep hierarchies must be flattened or supplemented with custom fields. 5. **CMS Connect requires Experience Cloud** -- CMS Connect is only available in Experience Cloud sites. It cannot bring external CMS content into the agent console, internal Lightning pages, or other Salesforce surfaces. --- ## Output Artifacts | Artifact | Description | |---|---| | Content platform decision matrix | Table mapping each content type to its target platform with rationale and feature requirements | | Hybrid content topology diagram | Architecture diagram showing content flow between CMS, Knowledge, Experience Cloud, and agent console | | Search strategy document | Specification for how search indexes, ranks, and presents content from both sources | | Content routing rules | Operational guide defining which content goes where and who owns each system | --- ## Related Skills - service-cloud-architecture -- Use when the broader service architecture (not just content) needs design, including routing, entitlements, and agent workspace layout - multi-channel-service-architecture -- Use when the content decision is part of a larger omnichannel service strategy spanning chat, voice, email, and self-service --- ## Official Sources Used - Salesforce Knowledge Overview -- https://help.salesforce.com/s/articleView?id=sf.knowledge_whatis.htm - CMS Connect for Experience Cloud -- https://help.salesforce.com/s/articleView?id=sf.cms_connect.htm
Related Skills
knowledge-article-lwc
Use this skill when building Lightning Web Components that query, display, or accept feedback on Salesforce Knowledge articles — covering Knowledge__kav SOQL/SOSL retrieval via Apex, caching strategy, and Experience Cloud guest access. NOT for Knowledge admin setup (article types, data categories, channels), Einstein Article Recommendations configuration, or Flow-based article surfacing.
salesforce-connect-external-objects
Use when deciding whether Salesforce Connect and External Objects are the right fit for external data access, or when reviewing OData, cross-org, and custom adapter patterns, query limitations, and latency tradeoffs. Triggers: 'Salesforce Connect', 'External Objects', '__x', 'OData adapter', 'custom adapter'. NOT for ordinary ETL or replicated-data designs where the data should live inside Salesforce.
external-user-data-sharing
Configure record visibility for external users (Customer Community, Customer Community Plus, Partner Community) using External OWDs, Sharing Sets, and external sharing rules. Trigger keywords: sharing data with external users, portal user record visibility, Experience Cloud sharing model, sharing set configuration, external OWD setup, Customer Community data access, High-Volume Portal sharing. NOT for internal sharing model configuration. NOT for internal user roles and hierarchies. NOT for guest user profile hardening.
external-id-strategy
Use this skill when designing, selecting, or troubleshooting external ID fields on Salesforce objects for upsert operations, cross-system record correlation, or idempotent data loads. Trigger keywords: external ID field design, upsert key strategy, cross-system record matching, source system ID mapping, composite key for uniqueness, duplicate insert on upsert, relationship resolution by external ID. NOT for data migration steps (use data-migration-planning), NOT for REST API upsert endpoint wiring (use rest-api-patterns), NOT for general data model field decisions (use data-model-design-patterns).
external-data-and-big-objects
Use this skill when storing large historical datasets in Salesforce using Big Objects, querying them with Async SOQL, or deciding between Big Objects and External Objects for high-volume or external data access patterns. Trigger keywords: big object, async SOQL, AsyncQueryJob, external object, Salesforce Connect, IoT data, audit history, event log archival, Database.insertImmediate, composite index. NOT for Salesforce Connect adapter configuration or OAuth setup (use salesforce-connect-external-objects), and NOT for standard data archival strategies (use data-archival-strategies).
analytics-external-data
Use when bringing non-Salesforce data into CRM Analytics via the External Data API, Data Connectors, or Live Datasets. Trigger keywords: InsightsExternalData, External Data API, live dataset, remote connection, Snowflake connector, BigQuery connector, Tableau Bridge, external CSV upload, analytics connector. NOT for standard data import into Salesforce objects. NOT for Salesforce object sync via dataflow local connectors. NOT for standard ETL into Sales or Service Cloud.
knowledge-taxonomy-design
Use when designing or restructuring a Salesforce Knowledge taxonomy: Data Category Group structure, hierarchy depth, article type selection, article lifecycle governance (Draft/Published/Archived), Validation Status gating, and content gap analysis via KCS methodology and Search Activity Gaps. Triggers: knowledge taxonomy design, data category hierarchy, knowledge article lifecycle, knowledge governance model, KCS content gap analysis, search activity gaps, knowledge category structure. NOT for Knowledge admin feature setup (use admin/knowledge-setup), NOT for Experience Cloud search configuration, NOT for Einstein Article Recommendations tuning.
knowledge-classic-to-lightning
Migrating Classic Knowledge (KnowledgeArticleVersion / Article Types) to Lightning Knowledge (Knowledge__kav with record types): article-type-to-record-type mapping, multi-language translation preservation, data category re-architecture, file attachment porting, version and publication-state retention, channel visibility translation, and downstream Case Feed / Community / Bot rewiring. NOT for new Lightning Knowledge setup (use admin/knowledge-base-administration) or for editorial workflow design (use admin/knowledge-publishing-workflow).
knowledge-base-administration
Use this skill when setting up, configuring, or managing Salesforce Lightning Knowledge — including enabling the feature, designing record types on Knowledge__kav, configuring Data Categories for organization and visibility control, setting up publishing workflows, and layering approval processes. Trigger keywords: Lightning Knowledge setup, Knowledge article record types, Data Category visibility, Knowledge publishing workflow, Knowledge__kav configuration. NOT for Knowledge in Experience Cloud (use the experience-cloud-knowledge skill), NOT for Einstein Article Recommendations surfacing (use einstein-article-recommendations skill), NOT for Knowledge search tuning or Apex programmatic article management.
xss-and-injection-prevention
Use when writing or reviewing Visualforce pages, Apex controllers, or LWC components that output user-supplied data, build dynamic queries, or construct HTTP responses. Triggers: 'XSS in Visualforce', 'SOQL injection vulnerability', 'how to encode output in Apex', 'JSENCODE Visualforce', 'open redirect prevention'. NOT for Apex CRUD/FLS enforcement (use soql-security or apex-crud-and-fls), NOT for Shield encryption (use shield-encryption-key-management), NOT for AppExchange security review process (use secure-coding-review-checklist).
visualforce-security-and-modernization
Use when hardening or modernizing legacy Visualforce pages — covers the platform CSRF token model and when disabling it is a security regression, view state encryption guarantees and the 170 KB ceiling, FLS/CRUD enforcement gaps on `<apex:outputField>` and on getters that return sObjects, `<apex:includeScript>` interaction with the org Content Security Policy, hosting LWC inside a VF page via `lightning:container` / `lightning-out`, and the retire-vs-harden-vs-leave-alone decision for an inventory of legacy pages. Triggers: 'should I rewrite this Visualforce page in LWC', 'CSRF protection disabled on Visualforce page is that safe', 'community user sees a field they should not on a Visualforce page', 'view state encryption is that enough for sensitive data', 'how do I host an LWC inside a Visualforce page', 'apex:dynamicComponent and apex:actionFunction safe to keep'. NOT for greenfield Visualforce architecture (use apex/visualforce-fundamentals — controller types, view state pattern selection, PDF rendering); NOT for Visualforce email template authoring (use apex/visualforce-email-templates if/when that skill is authored); NOT for general Apex security review across triggers and async (use apex/soql-security and security/secure-coding-review-checklist).
transaction-security-policies
Transaction Security policy creation and configuration: condition builder, enhanced policies, enforcement actions (block, MFA, notification, end session), real-time monitoring mode, and policy troubleshooting. NOT for Event Monitoring log analysis or Shield Event Monitoring setup (use event-monitoring). NOT for Apex testing or debug-log analysis.