industries-communications-setup

Use when configuring Communications Cloud for the first time: org setup sequence, permission sets, Enterprise Product Catalog (EPC) service catalog configuration, TM Forum-aligned order decomposition, Account record-type segmentation, and contract lifecycle activation. NOT for generic OmniStudio configuration, Salesforce CPQ (SBQQ), standard B2C/B2B Commerce order management, or non-Communications Industries clouds.

Best use case

industries-communications-setup is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when configuring Communications Cloud for the first time: org setup sequence, permission sets, Enterprise Product Catalog (EPC) service catalog configuration, TM Forum-aligned order decomposition, Account record-type segmentation, and contract lifecycle activation. NOT for generic OmniStudio configuration, Salesforce CPQ (SBQQ), standard B2C/B2B Commerce order management, or non-Communications Industries clouds.

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

Manual Installation

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

How industries-communications-setup Compares

Feature / Agentindustries-communications-setupStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when configuring Communications Cloud for the first time: org setup sequence, permission sets, Enterprise Product Catalog (EPC) service catalog configuration, TM Forum-aligned order decomposition, Account record-type segmentation, and contract lifecycle activation. NOT for generic OmniStudio configuration, Salesforce CPQ (SBQQ), standard B2C/B2B Commerce order management, or non-Communications Industries clouds.

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

# Industries Communications Setup

This skill activates when a practitioner needs to configure a Salesforce Communications Cloud org from scratch or diagnose a broken setup. It covers the mandatory sequencing of org setup steps, Enterprise Product Catalog (EPC) configuration for service catalog modeling, TM Forum-aligned order decomposition, Account record-type segmentation (Billing Account, Service Account, Consumer Account), Industries Order Management, and contract lifecycle activation.

---

## Before Starting

Gather this context before working on anything in this domain:

- Confirm the Communications Cloud managed package is installed: Setup > Installed Packages should show "Communications Cloud" or "Vlocity Communications". The EPC objects (Product2, vlocity_cmt__ProductChildItem__c relationship tables, and catalog assignment objects) only appear after package install.
- Confirm which account model applies: Consumer (Person Accounts may be enabled) or Business (standard Account with record types). This determines how Billing, Service, and Consumer account record types are configured.
- Determine whether the org is a greenfield setup or a migration from a legacy catalog (e.g., Amdocs, Siebel, or manual Product2 entries). Migration orgs require EPC import tooling; greenfield orgs start with EPC catalog definition.
- Most common wrong assumption: practitioners treat Communications Cloud Account records like standard CRM Accounts and query them without RecordType filters. The Account object in a Communications Cloud org is segmented into Billing Account, Service Account, and Consumer Account via RecordTypes — querying without a RecordType filter produces data integrity problems at every layer.
- Key limit to know: EPC enforces a strict parent-child catalog hierarchy. Products, bundles, and child items must be modeled in EPC, not assembled ad hoc in Product2. Attempting to configure pricing or order decomposition before the EPC catalog is structured will block downstream flows.

---

## Core Concepts

### Enterprise Product Catalog (EPC) — Service Catalog Modeling

The Enterprise Product Catalog is the canonical source of truth for all communications service offerings in a Communications Cloud org. It is not a replacement for Salesforce CPQ or the standard Product2 object in isolation — rather, EPC uses Product2 as a base record and extends it with Communications Cloud-specific child relationships, attributes, and catalog assignments.

Key EPC constructs:
- **Product Specification**: the master template for a product or service type (e.g., "Broadband Internet 100Mbps"). Defined once, reused across catalog versions.
- **Product Offering**: a market-facing bundle or individual service offer derived from a Product Specification, with pricing, eligibility rules, and effective dates.
- **Catalog Assignment**: links a Product Offering to one or more catalogs (Consumer, Business, Wholesale). Controls visibility per segment.
- **Child Items** (vlocity_cmt__ProductChildItem__c): parent-child relationships that model bundle decomposition — a "Triple Play Bundle" parent contains child offering references for broadband, TV, and voice.

EPC must be configured before any order decomposition flows, pricing rules, or subscriber provisioning flows can function. Skipping EPC and creating products directly in Product2 breaks order fulfillment because the decomposition engine reads EPC child item structure, not raw Product2 records.

### TM Forum-Aligned Order Decomposition (Commercial to Technical Order)

Communications Cloud implements TM Forum SID (Shared Information/Data Model) TR139-aligned order decomposition. When a subscriber places an order, Communications Cloud decomposes it in two stages:

1. **Commercial Order**: the customer-facing representation of what was sold (e.g., "Add Broadband 100Mbps to account"). Stored as an Order record with associated OrderItem records referencing EPC Product Offerings.
2. **Technical Order** (Decomposed Order): the network-fulfillment representation that breaks the commercial order into atomic fulfillment actions per service component. Generated by the Industries Order Management decomposition engine reading EPC child item definitions.

Industries Order Management in Communications Cloud is **not** the same as Salesforce Order Management (part of B2C/B2B Commerce). They use different object models, different APIs, and different fulfillment engines. Conflating them leads to incorrect API calls, missing object references, and broken decomposition rules.

### Account Record-Type Segmentation

In Communications Cloud, the standard Account object is segmented by RecordType into three subtypes:

| RecordType DeveloperName | Purpose |
|---|---|
| `Billing_Account` | Holds billing address, payment method, and invoice relationships. Parent of Service Accounts. |
| `Service_Account` | Represents a service location or service grouping. Child of Billing Account, parent of subscriptions. |
| `Consumer_Account` | Represents an individual subscriber (B2C). May be linked to Person Accounts if enabled. |

These are RecordTypes on Account, not separate objects. Any SOQL query, Apex trigger, or Flow that processes Accounts in a Communications Cloud org **must** filter by `RecordType.DeveloperName` or it will mix billing, service, and consumer records, causing reporting errors, workflow misfires, and data corruption.

### Permission Sets and Setup Sequence

Communications Cloud requires specific permission sets to be assigned before any EPC configuration can proceed. Attempting to access EPC screens or run catalog APIs before permission set assignment produces silent failures or "Insufficient Privileges" errors that can be mistaken for missing metadata.

Required permission sets (names vary slightly by package version):
- `Vlocity_Communications_Admin` (or equivalent Communications Cloud Admin PS)
- `Vlocity_Communications_User` for non-admin users
- OmniStudio permission sets if OmniStudio runtime is used for order capture UIs

Permission sets must be assigned before configuring EPC catalogs, because EPC record visibility is controlled at the permission set level, not just profile level.

---

## Common Patterns

### Pattern 1: EPC Service Catalog Initialization for a New Org

**When to use:** Greenfield Communications Cloud setup where no products exist yet and EPC must be seeded before any order management work.

**How it works:**
1. Navigate to the EPC app (App Launcher > Enterprise Product Catalog).
2. Create one or more Catalogs (e.g., "Consumer Catalog", "Business Catalog") and set effective dates.
3. Create Product Specifications for each atomic service component (Broadband, Voice, TV).
4. Create Product Offerings that reference the Product Specifications, with pricing tiers attached.
5. Create bundle Product Offerings with Child Items linking to the atomic offerings.
6. Assign Product Offerings to the appropriate Catalog via Catalog Assignment records.
7. Validate the catalog by running a test quote or order capture flow against it.

**Why not the alternative:** Creating products directly in Product2 with custom fields does not populate the EPC relationship tables (ProductChildItem, CatalogAssignment). The decomposition engine reads EPC relationships, not raw Product2. Orders placed against non-EPC products will fail decomposition silently.

### Pattern 2: Account Hierarchy Setup (Billing → Service → Consumer)

**When to use:** Setting up a new subscriber, migrating an existing customer, or debugging account-related order failures.

**How it works:**
1. Create or identify the Billing Account (`RecordType.DeveloperName = 'Billing_Account'`): this holds payment and invoice information.
2. Create a Service Account (`RecordType.DeveloperName = 'Service_Account'`) as a child of the Billing Account: this represents the service address.
3. For B2C, create or link a Consumer Account (`RecordType.DeveloperName = 'Consumer_Account'`) representing the individual subscriber.
4. Validate the hierarchy by querying: `SELECT Id, Name, RecordType.DeveloperName, ParentId FROM Account WHERE RecordType.DeveloperName IN ('Billing_Account', 'Service_Account')`.
5. Ensure any order, subscription, or asset records are created on the correct account subtype.

**Why not the alternative:** Creating a single Account without RecordType assignment results in all Communications Cloud platform automations (order decomposition, billing event triggers, service provisioning) failing to associate the record with the correct processing pipeline.

---

## Decision Guidance

| Situation | Recommended Approach | Reason |
|---|---|---|
| Setting up products for order capture | Configure in EPC (Product Specification → Product Offering → Catalog Assignment) | Order decomposition engine reads EPC; direct Product2 creation bypasses decomposition |
| Customer account creation | Create Billing Account first, then Service Account as child | Account hierarchy is required for billing and provisioning linkage |
| Querying accounts in Apex or Flow | Always filter by `RecordType.DeveloperName` | Without filter, all account subtypes mix, causing data integrity failures |
| Order management APIs | Use Industries Order Management (vlocity_cmt namespace) APIs | Salesforce Order Management (commerce) uses different object model and APIs |
| Permission errors in EPC config screens | Assign Communications Cloud Admin permission set before configuring EPC | EPC visibility is permission-set gated, not just profile-based |
| Contract lifecycle activation | Activate contract through Industries Contract Management sequence, not standard Contract object workflow | Standard Contract activation does not trigger Industries entitlement and provisioning flows |

---

## Recommended Workflow

Step-by-step instructions for an AI agent or practitioner setting up or validating a Communications Cloud org:

1. **Verify package install and permission sets** — Check Setup > Installed Packages for Communications Cloud or Vlocity Communications. Assign the Communications Cloud Admin permission set to the implementing user before any configuration begins. Confirm EPC app appears in App Launcher.

2. **Design and confirm the account model** — Determine if the org is B2C (Consumer Accounts, possibly Person Accounts) or B2B (Billing + Service Account hierarchy). Document the RecordType DeveloperNames that will be used. Validate that RecordTypes for `Billing_Account`, `Service_Account`, and `Consumer_Account` exist on the Account object in Setup > Object Manager.

3. **Build the EPC service catalog** — In the EPC app, create Catalogs (one per market segment), Product Specifications for each service component, Product Offerings with pricing, bundle Product Offerings with Child Items, and Catalog Assignments linking offerings to catalogs. Do not bypass EPC and create offerings in raw Product2.

4. **Configure order decomposition rules** — In Industries Order Management, define the decomposition rules that map commercial order line items to technical fulfillment actions. Reference the EPC Child Item relationships defined in Step 3. Test decomposition by submitting a sample order and verifying that technical order records are generated.

5. **Activate contract lifecycle** — Configure Industries Contract Management for the subscriber contract types in scope (e.g., service agreements, device financing). Activate contracts through the Industries contract activation sequence, not the standard Contract object workflow, to ensure entitlement and provisioning flows fire.

6. **Validate the end-to-end subscriber flow** — Create a test Billing Account, add a Service Account child, place a test order against an EPC-cataloged offering, verify order decomposition generates technical order records, and confirm the contract is activated. Review any OmniStudio flows used for order capture and confirm they reference EPC catalog data.

---

## Review Checklist

Run through these before marking work in this area complete:

- [ ] Communications Cloud managed package confirmed installed in Setup > Installed Packages
- [ ] Communications Cloud Admin permission set assigned before EPC configuration
- [ ] EPC service catalog contains at least one Catalog, Product Specification, Product Offering, and Catalog Assignment
- [ ] Account RecordTypes (`Billing_Account`, `Service_Account`, `Consumer_Account`) confirmed present on Account object
- [ ] All SOQL queries and Apex that touch Account include a `RecordType.DeveloperName` filter
- [ ] Industries Order Management decomposition rules configured and tested (distinct from Salesforce Order Management)
- [ ] Contract lifecycle activation uses Industries contract activation, not standard Contract workflow
- [ ] No products created directly in Product2 without corresponding EPC Product Offering and Catalog Assignment
- [ ] End-to-end subscriber flow tested: account creation → order capture → order decomposition → contract activation

---

## Salesforce-Specific Gotchas

Non-obvious platform behaviors that cause real production problems:

1. **EPC objects are invisible without the package** — If the Communications Cloud managed package is not installed, EPC configuration screens and objects (ProductChildItem, CatalogAssignment) do not exist. Admins attempting to configure EPC before package install will find no App Launcher entry and no objects in Object Manager. Always confirm Installed Packages before starting any EPC work.

2. **RecordType DeveloperName vs. Name on Account** — Communications Cloud RecordType filtering must use `RecordType.DeveloperName`, not `RecordType.Name`. `RecordType.Name` is locale-sensitive and changes when orgs are deployed to different language environments. Queries using `RecordType.Name = 'Billing Account'` will break in non-English orgs or after translation workbench changes.

3. **Industries Order Management ≠ Salesforce Order Management** — These are two separate platforms with separate object models, APIs, and deployment requirements. Salesforce Order Management (part of B2C/B2B Commerce) uses `OrderSummary`, `FulfillmentOrder`, and Commerce APIs. Industries Order Management uses vlocity_cmt namespace objects and decomposition rules. Attempting to use Commerce APIs for Communications Cloud order fulfillment will produce missing field errors and silent fulfillment failures.

---

## Output Artifacts

| Artifact | Description |
|---|---|
| Org setup checklist | Step-by-step verification list for Communications Cloud activation |
| EPC catalog structure | Recommended Product Specification → Product Offering → Catalog Assignment hierarchy |
| Account segmentation design | RecordType mapping for Billing, Service, and Consumer accounts with query patterns |
| Order decomposition flow diagram | Commercial-to-technical order flow with EPC child item references |
| Permission set assignment plan | List of Communications Cloud permission sets and assignment sequence |
| Contract lifecycle sequence | Industries contract activation steps with entitlement flow validation |

---

## Related Skills

- `architect/industries-data-model` — Use for understanding the full Industries data model across Communications, Insurance, Energy & Utilities, and Health Cloud, including Account subtype SOQL patterns
- `omnistudio/omnistudio-custom-components` — Use when customizing OmniStudio-based order capture UIs within a Communications Cloud org
- `admin/industries-energy-utilities-setup` — Use when configuring Energy & Utilities Cloud; shares similar account hierarchy and Industries Order Management patterns

Related Skills

shield-kms-byok-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Configure Shield Platform Encryption with customer-supplied (BYOK) or customer-held (Cache-Only Key Service) tenant secrets, rotate them, and recover. NOT for Classic Encryption or field masking.

industries-cpq-vs-salesforce-cpq

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when comparing Industries CPQ (formerly Vlocity CPQ) with Salesforce CPQ (Revenue Cloud managed package) — covering feature parity, decision criteria, migration paths, and coexistence patterns. Trigger keywords: Vlocity CPQ, Industries CPQ, Salesforce CPQ comparison, Revenue Cloud migration, CPQ selection, which CPQ to use. NOT for implementing, configuring, or debugging either CPQ product.

industries-api-extensions

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when integrating with Salesforce Industries-specific API layers — Insurance Policy Business Connect API, Communications Cloud TM Forum Open APIs (TMF679, TMF680, etc.), Energy and Utilities Update Asset Status API, and Service Process Studio Connect APIs. Trigger keywords: Insurance policy issuance API, endorsement API, TMF679, Communications Cloud REST API, Update Asset Status, Service Process API, InsurancePolicy Connect API, sfiEnergy, industry-specific REST endpoint. NOT for standard Salesforce REST API, SOAP API, Bulk API, or platform event integration unrelated to an industry vertical.

slack-salesforce-integration-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when setting up or troubleshooting the Salesforce for Slack managed app — including connecting a Salesforce org to a Slack workspace, configuring the three-party admin handshake, linking Slack channels to Salesforce records, enabling record preview sharing, and managing org-level limits. Triggers on: Salesforce for Slack app not connecting, Slack org connection setup, Salesforce record sharing in Slack, Slack workspace admin approval, connecting Salesforce to Slack. NOT for building custom Slack apps or Slack bots (separate development platform), not for Slack Workflow Builder Salesforce connector (use slack-workflow-builder skill), not for Flow-based Slack messaging (use flow-for-slack skill).

salesforce-maps-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when configuring Salesforce Maps (formerly MapAnything) — territory planning, route optimization, live tracking, geo-grid visualizations, and check-in/check-out workflows for Sales or Service field reps not on Field Service. Covers package installation order (Maps + Maps Advanced + Maps Routing/Live Tracking add-ons), the MapsTerritoryPlan / MapsAdvancedRoute / MapsLayer object family, base-data syncs (Geocoding and Routing services), and integration with Sales and Service Cloud records. Triggers: 'Salesforce Maps setup', 'MapAnything migration', 'territory planning by polygon', 'route optimization for sales reps', 'live tracking field reps', 'plot accounts on a map', 'check-in to the closest account'. NOT for Field Service Lightning territory and scheduling (use admin/fsl-scheduling-optimization-design and data/fsl-territory-data-setup) — Maps and FSL are different products. NOT for Consumer Goods Cloud retail visit planning (use admin/consumer-goods-cloud-setup) — RoutePlan/Visit objects are CG-specific. NOT for Tableau / CRM Analytics geo charts.

private-connect-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Configure Private Connect between Salesforce and AWS/Azure for traffic to stay on private networks. NOT for standard internet callouts.

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).

named-credentials-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Named Credentials and External Credentials configuration for secure outbound callouts: per-user vs per-org authentication, legacy vs enhanced Named Credentials, external credential principal types (Named Principal, Per User, Anonymous), OAuth 2.0 and JWT flows, and credential deployment. NOT for callout code patterns, Apex HTTP implementation, or OAuth server-side flow debugging.

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).

loyalty-management-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when setting up or extending Salesforce Loyalty Management — including program and currency creation, tier group design, qualifying vs. non-qualifying point currency separation, DPE batch job activation, partner loyalty configuration, and member portal setup on Experience Cloud. Triggers on: Loyalty Management setup, loyalty tier setup Salesforce, qualifying points vs redemption points, DPE batch job for loyalty, partner loyalty program Salesforce, loyalty member portal. NOT for Marketing Cloud engagement program design (separate product), not for B2B loyalty via Sales Cloud (standard opportunity, not loyalty program), not for general Experience Cloud site setup (use experience-cloud-setup skill).

automotive-cloud-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when setting up or extending Salesforce Automotive Cloud — including the Vehicle / VehicleDefinition data model, dealer-OEM relationship modeling via AccountAccountRelation, ActionableEvent orchestration for service campaigns and recalls, FinancialAccount lifecycle for retail-credit deals, and DriverQualification / WarrantyTerm extensions. Triggers on: Automotive Cloud setup, Salesforce Automotive Cloud data model, Vehicle vs VehicleDefinition, dealer hierarchy AccountAccountRelation, Automotive Cloud actionable events, recall campaign Salesforce. NOT for general Sales Cloud opportunity work on a vehicle product (use standard Opportunity), NOT for Manufacturing Cloud sales agreements (use manufacturing-cloud-setup), NOT for Field Service vehicle inventory (use FSL skills).

industries-data-migration

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when bulk-migrating data into Salesforce Industries clouds — including InsurancePolicy and its child objects for Insurance, ServicePoint/Premise for Energy and Utilities, or subscriber/account hierarchies for Communications. Trigger keywords: insurance policy migration, InsurancePolicyCoverage load order, ServicePoint bulk load, Premise hierarchy, E&U data migration, telco subscriber migration, utility account import, industries object dependency. NOT for generic Salesforce data migration planning, FSC FinancialAccount migration, Health Cloud patient data migration, or Experience Cloud user migration.