portal-requirements-gathering

Use when gathering requirements for a customer portal, partner community, or self-service Experience Cloud site. Triggers: 'gathering requirements for customer portal', 'planning Experience Cloud site', 'what license for community portal', 'portal user journey mapping', 'self-service requirements'. NOT for Experience Cloud implementation or configuration. NOT for post-launch portal optimization or redesign.

Best use case

portal-requirements-gathering is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when gathering requirements for a customer portal, partner community, or self-service Experience Cloud site. Triggers: 'gathering requirements for customer portal', 'planning Experience Cloud site', 'what license for community portal', 'portal user journey mapping', 'self-service requirements'. NOT for Experience Cloud implementation or configuration. NOT for post-launch portal optimization or redesign.

Teams using portal-requirements-gathering 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/portal-requirements-gathering/SKILL.md --create-dirs "https://raw.githubusercontent.com/PranavNagrecha/AwesomeSalesforceSkills/main/skills/admin/portal-requirements-gathering/SKILL.md"

Manual Installation

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

How portal-requirements-gathering Compares

Feature / Agentportal-requirements-gatheringStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when gathering requirements for a customer portal, partner community, or self-service Experience Cloud site. Triggers: 'gathering requirements for customer portal', 'planning Experience Cloud site', 'what license for community portal', 'portal user journey mapping', 'self-service requirements'. NOT for Experience Cloud implementation or configuration. NOT for post-launch portal optimization or redesign.

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

# Portal Requirements Gathering

This skill activates when a BA, admin, or architect needs to elicit, structure, and lock in the decisions required before building a Salesforce Experience Cloud portal. It covers contact reason analysis, access architecture, license selection, user journey definition, and content taxonomy. It does not cover site configuration, theme setup, or post-launch optimization.

---

## Before Starting

Gather this context before working on anything in this domain:

- Pull at minimum 60–90 days of support contact data segmented by channel (phone, email, chat, web form). Without this baseline, feature prioritization is opinion-driven rather than data-driven.
- Identify the distinct audience segments the portal must serve. A portal that tries to serve customers, partners, and anonymous visitors under a single access model will require major rework later because access architecture is set at the Experience Cloud site level and is difficult to change post-launch.
- Confirm which Salesforce licenses the org currently owns. License type determines what objects, features, and sharing configurations are available. Recommending a portal design that requires a license the org does not own creates a hard blocker at build time.

---

## Core Concepts

### Contact Reason Analysis (Answers / Status / Actions Framework)

Before defining any portal features, categorize 60–90 days of support contacts into three buckets:

- **Answers** — contacts where the customer needed information (e.g., "How do I reset my password?", "What is my contract end date?"). These are deflectable via knowledge articles and FAQ content.
- **Status** — contacts where the customer needed to check on something (e.g., "Where is my order?", "What is the status of my open case?"). These are deflectable via self-service visibility into records.
- **Actions** — contacts where the customer needed to do something (e.g., "I need to update my billing address", "I want to raise a return request"). These require transactional self-service capabilities.

The ratio of Answers : Status : Actions determines the portal's feature priority stack. A portal heavy in Answers needs a strong knowledge base. A portal heavy in Actions needs a robust case management and record-update layer. Skipping this analysis results in building features that do not reduce support volume.

### Access Architecture Decision

Experience Cloud sites have three access models:

- **Public / Unauthenticated** — any visitor can see content without logging in. Appropriate for knowledge bases, product documentation, and community forums with no personalization.
- **Authenticated** — visitors must log in to access the site. Required for any personalized content, record visibility, or transactional self-service.
- **Hybrid** — some pages are public, others require login. Requires careful sharing rule and page-level access design to avoid accidental data exposure.

This decision must be locked before any other design work begins. It governs the license model, the sharing architecture, the guest user profile configuration, and the data exposure risk posture. Changing from authenticated to hybrid after launch is a significant rework.

### License Type Selection Per Audience

Experience Cloud user licenses determine which standard and custom objects users can access and what features are available. The primary license types for portal use are:

| License | Use case |
|---|---|
| Customer Community | Suitable for B2C self-service portals. Provides access to standard Case, Contact, and Knowledge objects. Does not support Leads or Opportunities. |
| Customer Community Plus | Adds advanced sharing (criteria-based and manual sharing on custom objects), reports, and dashboards. Required when customers need to view or manage complex data sets. |
| Partner Community | Designed for indirect sales and PRM. Includes access to Leads, Opportunities, and partner-specific features. Required for deal registration and pipeline visibility use cases. |
| External Apps | The most flexible license for custom portal experiences; provides object access comparable to internal users at higher cost. Use when none of the community licenses cover the required object set. |

License selection is difficult and costly to change after user records are provisioned at scale. It must be locked during requirements, not during build.

### Top-3 High-Volume Jobs Model

Rather than building a feature list from wishlist conversations, the requirements process should identify the top 3 jobs customers most frequently need to complete. A "job" is defined as a task the customer is trying to accomplish, not a feature. Example jobs:

- "Check the status of my open support case"
- "Download my invoice"
- "Request a change to my service plan"

Each job should have a measurable success criterion (e.g., "customer can complete task without contacting support") and a baseline deflection target. Defer social features, gamification, idea exchanges, and community forums until the three core jobs are delivered and the deflection loop is validated.

---

## Common Patterns

### B2C Self-Service Support Portal

**When to use:** The primary goal is to reduce inbound support contact volume by enabling customers to find answers, check case status, and raise new cases without calling or emailing.

**How it works:**
1. Run contact reason analysis. Identify top 10 contact reasons; categorize as Answers, Status, or Actions.
2. Map each top contact reason to an Experience Cloud capability: Knowledge (Answers), case feed visibility (Status), web-to-case or case management (Actions).
3. Define authenticated access model. Customers log in with a Customer Community or Customer Community Plus license.
4. Set deflection baseline (current self-service containment rate) and target.
5. Defer idea exchange, chatter, and gamification to phase 2 after deflection goal is validated.

**Why not the alternative:** Building from a feature wishlist (search, FAQ, chat, forums, notifications) without contact reason grounding produces a portal with high feature count but low actual deflection, because the features do not map to the real reasons customers contact support.

### Partner Relationship Management (PRM) Portal

**When to use:** The portal must support indirect channel: deal registration, pipeline visibility, MDF requests, partner onboarding, or co-selling.

**How it works:**
1. Define partner tiers and what each tier needs to see and do (different job sets per tier).
2. Select Partner Community license. Confirm org has Sales Cloud enabled; PRM requires access to Lead and Opportunity objects.
3. Map access architecture: partners must be authenticated. Determine if partner account hierarchy is required (child partner accounts under master partner account).
4. Define content taxonomy: product enablement, partner agreements, co-marketing assets, deal registration forms.
5. Lock sharing model early — Partner Community uses role hierarchy and sharing rules. Confirm partner users should NOT see each other's opportunities (the default is account-scoped sharing).

**Why not the alternative:** Using Customer Community Plus for a PRM use case lacks Lead and Opportunity access, forcing workarounds that create data model debt and break standard Salesforce partner reporting.

---

## Decision Guidance

| Situation | Recommended Approach | Reason |
|---|---|---|
| B2C customers need to view cases, download invoices, update contact info | Customer Community or Customer Community Plus | Standard objects covered; no Lead/Opp access needed |
| B2C customers need to share reports with each other or see complex custom object data | Customer Community Plus | Advanced sharing (manual + criteria-based on custom objects) required |
| Indirect sales channel: deal registration, pipeline, MDF | Partner Community | Lead and Opportunity access mandatory for PRM |
| Portal requires access to objects beyond standard community object set | External Apps license | Most flexible; evaluate cost vs. object coverage gap |
| Portal will have anonymous (non-logged-in) visitors AND authenticated users | Hybrid access model | Requires careful guest user profile lockdown; plan sharing rules for both populations |
| Deflection is primary goal; gamification/forums in scope | Defer social features | Validate deflection loop first; gamification adds scope without improving core self-service |
| Less than 60 days of contact reason data available | Delay feature scoping | Feature decisions made without data will misalign with actual customer needs |

---

## Recommended Workflow

Step-by-step instructions for an AI agent or practitioner working on this task:

1. **Collect contact reason data** — Pull 60–90 days of support contact records segmented by contact reason. Categorize each reason as Answers, Status, or Actions. Identify the top 10 reasons by volume. This step is non-negotiable; it replaces stakeholder opinion with evidence.
2. **Lock access architecture** — Decide: public, authenticated, or hybrid. Document the rationale and have it signed off by a technical lead. Record the guest user profile requirements if hybrid or public pages are in scope.
3. **Select user license per audience segment** — Map each audience segment (B2C customer, B2B account user, partner, internal user, anonymous visitor) to the appropriate license. Confirm the org owns the required licenses. Record the decision and its rationale.
4. **Define top-3 high-volume jobs** — Translate the top contact reasons into customer jobs. Write a success criterion for each job. Set a deflection baseline (current self-service containment rate) and target for each job.
5. **Build content taxonomy and ownership matrix** — Identify every content type the portal will surface (knowledge articles, FAQs, product documentation, co-marketing assets, portal announcements). Assign an owner for each content type. Define the publication and review cadence.
6. **Produce the scoped requirements document** — Capture all locked decisions, in-scope features, deferred features, and out-of-scope items. Mark social, gamification, and idea exchange features as explicitly deferred until the deflection loop is validated.

---

## Review Checklist

Run through these before marking requirements complete:

- [ ] Contact reason analysis completed with 60–90 days of real data
- [ ] Each top contact reason categorized as Answers, Status, or Action
- [ ] Access architecture decision documented and signed off (public / authenticated / hybrid)
- [ ] License type selected and confirmed as owned by the org for each audience segment
- [ ] Top-3 high-volume jobs defined with measurable success criteria
- [ ] Deflection baseline and target recorded
- [ ] Content taxonomy documented with content owners named
- [ ] Deferred features listed explicitly (social, gamification, idea exchange)
- [ ] Out-of-scope items recorded to prevent scope creep at build time
- [ ] Requirements document reviewed with at least one technical stakeholder

---

## Salesforce-Specific Gotchas

Non-obvious platform behaviors that cause real production problems:

1. **License selection is a one-way door at scale** — Once thousands of partner or customer users are provisioned under a given license type, changing the license requires reprovisioning every user record. This is a bulk DML operation with significant risk and effort. The license decision must be final before any user provisioning begins.
2. **Guest user profile is shared across all public pages** — In a hybrid access model, the guest user profile applies to every public page on the site. Overly permissive guest user object access (e.g., read access on Account) creates data exposure risk that is invisible during requirements if access architecture is not locked early.
3. **Customer Community does not support manual sharing or role hierarchy on custom objects** — Teams that choose Customer Community and later discover they need to share custom object records selectively must upgrade to Customer Community Plus. This surprises teams who assumed all community licenses had equivalent sharing capabilities.
4. **Contact reason analysis is almost never done** — The most common failure mode in portal projects is skipping the data pull and jumping directly to feature selection. The result is a portal with search, chat, and a knowledge base that does not contain answers to the actual questions customers ask, achieving near-zero deflection.
5. **Gamification and social features defer deflection validation** — Adding idea exchange, chatter, and leaderboards to phase 1 shifts engineering effort away from the core self-service loop. Deflection is measurable; community engagement metrics are vanity metrics at the requirements stage.

---

## Output Artifacts

| Artifact | Description |
|---|---|
| Contact Reason Analysis | Spreadsheet or document showing top 10 contact reasons, volume, and Answers/Status/Actions classification |
| Access Architecture Decision Record | Single-page document recording the access model decision, rationale, and technical sign-off |
| License Selection Matrix | Table mapping each audience segment to a license type with cost and coverage rationale |
| Top-3 Jobs Document | Three customer jobs with success criteria, deflection baseline, and target |
| Content Taxonomy and Ownership Matrix | List of content types, owners, and review cadence |
| Portal Requirements Scope Document | Full requirements document: in-scope features, deferred features, out-of-scope items |

---

## Related Skills

- requirements-gathering-for-sf — Use for general Salesforce project requirements gathering; this skill is the portal-specific extension
- experience-cloud-security — Use after requirements are locked to design the sharing model, guest user lockdown, and data exposure controls

Related Skills

volunteer-management-requirements

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when designing or implementing volunteer management in Salesforce for nonprofits using NPSP or Nonprofit Cloud — covers V4S managed package objects vs. NPC-native volunteer objects, hours tracking, scheduling, and recognition workflows. NOT for HR systems, commercial employee volunteering programs, or Field Service Lightning crew management.

agent-console-requirements

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when gathering and documenting requirements for a Lightning Service Console deployment: agent workspace layout, page template selection, utility bar composition, macro requirements, case handling workflows, split-view navigation design, and licensing requirements. Triggers: service console requirements, agent workspace design, console page layout, utility bar planning, console licensing. NOT for console configuration steps or click-by-click setup (use admin/case-management), NOT for Omni-Channel routing model design (use architect/service-cloud-architecture), NOT for CTI telephony integration details.

wealth-management-requirements

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when gathering, structuring, and documenting requirements for a Financial Services Cloud (FSC) wealth management implementation — including financial planning workflow discovery, portfolio review process mapping, client lifecycle requirements, advisor tooling needs, and FSC architecture determination (managed package vs. FSC Core). Trigger keywords: wealth management requirements, FSC requirements gathering, financial planning workflow, portfolio review process, advisor tools setup, FSC data model scoping, wealth management process mapping. NOT for implementation, configuration, or code — use financial-account-setup, fsc-action-plans, or apex/fsc-financial-calculations for those. NOT for FSC architecture decisions — use architect/wealth-management-architecture. NOT for Health Cloud or NPSP requirements.

territory-design-requirements

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when gathering or evaluating requirements for a Salesforce Enterprise Territory Management (ETM) territory design: alignment criteria, coverage model selection, assignment rule logic, geographic considerations, hierarchy depth and breadth, and user-to-territory ratios. Trigger keywords: territory design, territory alignment, territory model requirements, sales coverage model, territory criteria, geographic territory, named account territory, overlay territory. NOT for ETM configuration or setup steps — use enterprise-territory-management for that. NOT for role hierarchy design — use sharing-and-visibility.

subscription-lifecycle-requirements

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when documenting, reviewing, or gathering requirements for Salesforce CPQ subscription lifecycle behavior: how amendments, renewals, upgrades, downgrades, and cancellations must work for a specific business. Trigger keywords: subscription requirements, amendment requirements, renewal requirements, proration requirements, co-termination, subscription ledger, upgrade downgrade policy. NOT for CPQ setup or configuration, not for Apex amendment API implementation, and not for Revenue Cloud advanced order management.

revenue-recognition-requirements

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill to configure and troubleshoot Salesforce Billing revenue recognition rules, schedules, and GL transaction generation in compliance with ASC 606. Triggers: 'revenue schedule not generated after order activation', 'blng__RevenueSchedule__c records missing', 'how to configure blng__RevenueRecognitionRule__c on a product', 'Finance Periods not set up before revenue schedule generation', 'revenue schedule did not update after contract amendment', 'performance obligation allocation for bundled products', 'distribution method for revenue spread', 'ASC 606 implementation in Salesforce Billing'. NOT for billing schedule setup (see billing-schedule-setup skill), NOT for standard Salesforce CPQ quoting, NOT for OpportunityLineItem native Revenue Schedules (standard platform feature unrelated to Salesforce Billing), NOT for Salesforce Revenue Cloud (Revenue Lifecycle Management).

requirements-traceability-matrix

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when building or maintaining a Requirements Traceability Matrix (RTM) on a Salesforce project: one row per requirement, columns for source, user-story id(s), test-case id(s), defect id(s), sprint, release, and status. Covers forward traceability (req → story → code → test) and backward traceability (test → req). Trigger keywords: RTM, requirements traceability matrix, audit trail for salesforce delivery, traceability for steerco, deferred requirement tracking, regulatory traceability. NOT for requirements elicitation (use requirements-gathering-for-sf). NOT for user-story authoring (use user-story-writing-for-salesforce). NOT for UAT test design (use uat-test-case-design). NOT for Apex test design (use agents/test-generator/AGENT.md). NOT for backlog prioritization (use moscow-prioritization-for-sf-backlog).

requirements-gathering-for-sf

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when eliciting, documenting, and structuring requirements for a Salesforce implementation or enhancement: writing Salesforce-specific user stories with acceptance criteria, mapping As-Is and To-Be business processes, conducting stakeholder discovery interviews, and performing gap analysis against standard Salesforce capabilities. Trigger keywords: requirements gathering, user story, As-Is To-Be, gap analysis, stakeholder interview, process mapping, business requirements, fit gap. NOT for technical design decisions (use solution-design-patterns). NOT for automation implementation (use flow/* or apex/* skills). NOT for data model design (use data-model-design-patterns or object-creation-and-design).

quote-to-cash-requirements

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when gathering, designing, or validating the end-to-end quote-to-cash process on standard Salesforce: Opportunity to Quote (with line items) to Synced Quote to Approval Process to Quote PDF to Order creation. Trigger keywords: quote approval, discount policy, quote PDF limits, order from quote, quote sync, quote template. NOT for CPQ/Revenue Cloud pricing rules, discount schedules, or guided selling — use CPQ skills for those.

patient-engagement-requirements

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when defining patient engagement portal requirements for Health Cloud: appointment scheduling, secure in-portal messaging, health assessments, patient education, and self-service features. NOT for Experience Cloud site configuration, OmniStudio development, or standard CRM portal setup unrelated to clinical patient engagement.

partner-community-requirements

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill to define and validate the requirements for a Salesforce Partner Relationship Management (PRM) implementation: deal registration flows, lead distribution models, partner tier hierarchies, MDF budget tracking, and co-marketing content entitlement. Trigger keywords: partner community requirements, PRM deal registration setup, channel partner portal requirements, lead distribution partner, partner tier management, MDF tracking, co-marketing entitlement. NOT for partner portal technical configuration (Experience Cloud site builder, Visualforce pages, LWC development). NOT for partner account management (account hierarchy or channel account teams).

omniscript-flow-design-requirements

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill to gather, document, and validate OmniScript flow design requirements before development begins — covering screen layout requirements, branching logic, data source requirements, and user journey mapping. Trigger keywords: OmniScript requirements, OmniScript BA, OmniScript screen design, OmniScript user journey, OmniScript branching requirements. NOT for OmniScript development implementation, DataRaptor mapping, Integration Procedure design, or standard Screen Flow requirements.