本文へ移動
cccskills
無料GitHub で公開

industries-communications-setup

Configure Communications Cloud for the first time: org setup sequence, permission sets, Enterprise Product Catalog (EPC) service catalog, TM Forum-aligned order decomposition setup, Account record-type segmentation, contract lifecycle activation. NOT for designing the commercial-to-technical order process itself - use admin/industries-process-design. NOT for calling TM Forum Open APIs (TMF622, TMF679) - use omnistudio/industries-api-extensions.

インストール方法を見る

含まれるファイル(7)

  • SKILL.md24.4 KB
  • references/examples.md5.5 KB
  • references/gotchas.md8.1 KB
  • references/llm-anti-patterns.md7.8 KB
  • references/well-architected.md7.5 KB
  • scripts/check_industries_communications_setup.py9.8 KB
  • templates/industries-communications-setup-template.md4.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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 that applies a Product Specification and inherits its data shape from it, with pricing, eligibility rules, and effective dates layered on top.
  • 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.

The Four Specification Types

EPC defines four specification types, and choosing the right one is the first modeling decision for any new catalog entity:

Spec TypePurposeCustomer-Facing?
OfferSellable, market-facing entity with pricing and activation settingsYes
ProductReusable template of product data that offers inherit fromYes
ServiceFulfillment-side capability that supports delivery of a productNo — not sold directly
ResourceFulfillment-side asset (e.g., network element) consumed during deliveryNo — not sold directly

Service and resource specs exist to support fulfillment; only offer and product specs face the customer. Modeling a fulfillment-only component as a sellable offer (or vice versa) breaks the commercial/technical separation the decomposition engine depends on.

Spec Inheritance: Offers Apply Product Specs

A product spec is a reusable design-time template that carries the product's data shape. When you create a sellable offer, you apply the product spec to the offer so the offer inherits all the product data — Salesforce compares this to how a record inherits structure from an object type. Because specs are reusable, one product spec can back many differently priced offers: launch a promotional offer, a retention offer, and a standard offer off the same spec without reconfiguring the same product information from scratch each time.

Simple vs. Bundled Product Specs

Bundling is a spec-level modeling decision, not just a Child Item relationship. Simple product specs create standalone products with no child products; bundled product specs are specifically for parent products that have associated child products. Pick the spec subtype first, then express the concrete parent-child links (with quantities and cardinalities) as Child Item records. Assembling a parent-child bundle under a simple spec contradicts these definitions — simple specs are for standalone products without child products — and building it through custom lookups on Product2 bypasses EPC entirely (see Pattern 1).

Commercial vs. Technical Products

EPC formally separates the two halves of the catalog:

  • Commercial products are the customer-facing assets available for purchase, managed by sales and marketing teams.
  • Technical products represent the underlying back-end components that order management engineers and delivery teams use to fulfill orders.

The catalog maps commercial products to their technical products so that Order Management can decompose the order into the associated technical products during orchestration. This mapping is the catalog-side foundation of the TM Forum decomposition described in the next section — if the commercial-to-technical mapping is missing in EPC, decomposition has nothing to read.

Shared Catalog: The Cross-Cloud Foundation

EPC sits on Shared Catalog, a common foundation for all products, services, and resources used by Industries Communications, Media, and Energy & Utilities Cloud applications. Shared Catalog is included with Industries CPQ; EPC is a separately licensed layer that adds catalog entity versioning and lifecycle management on top of Shared Catalog's capabilities. Two practical consequences:

  1. Catalog modeling skills (spec types, inheritance, bundling, attributes) transfer directly between Communications and Energy & Utilities implementations — see admin/industries-energy-utilities-setup in Related Skills.
  2. When scoping a project, confirm whether the org has Shared Catalog only (via Industries CPQ) or the full EPC license — versioning and lifecycle-management features belong to EPC.

Attributes, Attribute Categories, and Picklists

Attributes are configurable key-value pairs on catalog items that capture product characteristics — tangible ones like size or color, and intangible ones like subscription type or SKU. The framework has three moving parts:

  • Attributes: key-value pairs whose value, depending on configuration, is set at design time, at runtime in the CPQ Cart, or during order decomposition. Runtime attributes are what make a product configurable by the customer or sales rep in the Cart.
  • Attribute Categories: every attribute must correspond to an attribute category, which holds a group of related attributes and organizes them into sections. Create the category before the attributes.
  • Picklists: drive dynamic attribute value selection in the Cart. Picklists must be created before they can be linked to attributes.

Attributes also feed attribute-based pricing rules — price can vary based on the attribute values selected in the CPQ Cart, so configuration choices (speed tier, contract length) reprice the line without separate offerings per combination.

Know the fields-vs-attributes boundary: fields store universal product information (name, ID, description) and require administrator privileges to manage; attributes capture product-specific or class-specific details and need only Product Designer access. Modeling a per-configuration characteristic as a Product2 custom field instead of an attribute strands it outside the Cart configuration and pricing-rule machinery.

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 DeveloperNamePurpose
Billing_AccountHolds billing address, payment method, and invoice relationships. Parent of Service Accounts.
Service_AccountRepresents a service location or service grouping. Child of Billing Account, parent of subscriptions.
Consumer_AccountRepresents 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

SituationRecommended ApproachReason
Setting up products for order captureConfigure in EPC (Product Specification → Product Offering → Catalog Assignment)Order decomposition engine reads EPC; direct Product2 creation bypasses decomposition
Modeling a new catalog entityPick the spec type first: offer/product for customer-facing, service/resource for fulfillment-onlySpec type determines visibility and purpose; service and resource specs are never sold directly
Several price points for the same productOne product spec, multiple offers that apply itEach offer inherits the spec's product data — no reconfiguring the same product information per offer
Bundle vs. standalone productChoose bundled vs. simple product spec at the spec level, then add Child ItemsBundling is a spec-level decision; Child Items express the concrete parent-child links
Per-configuration characteristic (speed tier, contract length)Model as an attribute in an attribute category, with a picklist if Cart-selectableAttribute values can be set in the Cart or at decomposition and can drive attribute-based pricing; Product2 custom fields cannot
Customer account creationCreate Billing Account first, then Service Account as childAccount hierarchy is required for billing and provisioning linkage
Querying accounts in Apex or FlowAlways filter by RecordType.DeveloperNameWithout filter, all account subtypes mix, causing data integrity failures
Order management APIsUse Industries Order Management (vlocity_cmt namespace) APIsSalesforce Order Management (commerce) uses different object model and APIs
Permission errors in EPC config screensAssign Communications Cloud Admin permission set before configuring EPCEPC visibility is permission-set gated, not just profile-based
Contract lifecycle activationActivate contract through Industries Contract Management sequence, not standard Contract object workflowStandard 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), then specs with the correct type for each entity: product specs for customer-facing templates (simple or bundled, decided at the spec level), service and resource specs for fulfillment-only components. Create Product Offerings that apply the product specs (inheriting their data shape) with pricing attached, bundle offerings with Child Items, and Catalog Assignments linking offerings to catalogs. Define attribute categories, picklists, and attributes for any characteristic the Cart or decomposition must configure. 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
  • Every spec uses the correct type — offer/product for customer-facing entities, service/resource for fulfillment-only components
  • Bundles use bundled product specs at the spec level plus Child Items, not custom lookups or simple specs with ad hoc children
  • Configurable characteristics modeled as attributes (each in an attribute category), with picklists created before linking to attributes
  • 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

ArtifactDescription
Org setup checklistStep-by-step verification list for Communications Cloud activation
EPC catalog structureRecommended Product Specification → Product Offering → Catalog Assignment hierarchy
Account segmentation designRecordType mapping for Billing, Service, and Consumer accounts with query patterns
Order decomposition flow diagramCommercial-to-technical order flow with EPC child item references
Permission set assignment planList of Communications Cloud permission sets and assignment sequence
Contract lifecycle sequenceIndustries 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-lwc-elements — Use when customizing OmniStudio-based order capture UIs within a Communications Cloud org
  • admin/industries-energy-utilities-setup — Use when configuring Energy & Utilities Cloud; both clouds' catalogs sit on the same Shared Catalog foundation (along with Media Cloud), so spec-type, inheritance, bundling, and attribute patterns carry over, as do the account hierarchy and Industries Order Management patterns

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use this skill when writing test-first, behavior-driven acceptance criteria in Given/When/Then format for a Salesforce user story. Covers happy path, edge cases, negative paths, permission boundaries, and data-state preconditions so the AC block can drive UAT scripts and Apex test design downstream. Trigger keywords: given when then, gherkin, behavior driven AC, test first acceptance criteria, scenario outline, BDD acceptance criteria. NOT for the user-story format itself (use admin/user-story-writing-for-salesforce). NOT for UAT script writing (use admin/uat-test-case-design). NOT for Apex test method generation (use agents/test-class-generator). NOT for high-level UAT planning (use admin/uat-and-acceptance-criteria). More triggers: acceptance criteria record, ac_id, req_id on a criterion, artefact under test, negative case for a rule-type requirement, no-match fall-through criterion, oracle for a Then clause, test type apex flow manual, criteria linter, check_ac_format.py, --manifest-dir.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Task and Event objects: polymorphic WhatId/WhoId, Activity object model, ActivityHistory vs OpenActivity, activity timeline customization, bulk task creation, Einstein Activity Capture boundaries. NOT for turning on EAC or calendar sync — use admin/einstein-activity-capture-setup. NOT for Email-to-Case — use admin/case-management-setup. Covers ActivitiesSettings metadata, enableActivities, shared Task/Event custom fields and FLS, TaskStatus value sets, Shared Activities and TaskRelation/EventRelation, recurring and child activities, and partial-success bulk DML on Task.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Design Invocable Apex actions that return deterministic, agent-friendly errors instead of surfacing raw exceptions to the LLM. NOT for authoring the action itself — @InvocableMethod schema, labels, security context — use agentforce/custom-agent-actions-apex. NOT for the Apex tests that force each error branch — use agentforce/agent-action-unit-tests.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Use when designing how an Agentforce agent extracts structured input parameters (slots) from a user's natural-language utterance to invoke an action. Triggers: 'agent extract date from user', 'agent action argument extraction', 'agentforce slot filling', 'agent invocable input mapping', 'agent fails to fill required parameter'. NOT for action authoring (use agentforce/agent-actions) or for prompt-template variable binding (use agentforce/prompt-builder-templates).

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Apex test patterns for @InvocableMethod agent actions: per-reason-code branch coverage, bulk safety, callout mocking, deterministic assertions. NOT for testing whether the agent routes to the right topic or answers well — use agentforce/agent-testing-and-evaluation. NOT for designing the error envelope the tests assert on — use agentforce/agent-action-error-handling.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Designing or reviewing Agentforce actions: Flow actions, Apex invocable actions, prompt-template actions, action naming, input and output contracts, confirmation requirements, and safe error behavior. Triggers: 'agent actions', 'build an agent that can look up an order', 'make the agent able to check order status', 'give the agent a capability', 'agent that can retrieve a record', 'flow action for agent', 'agent invocable action', 'action schema design'. NOT for writing the Apex class itself — use agentforce/custom-agent-actions-apex. NOT for the reason_code error envelope that stops an agent retry loop — use agentforce/agent-action-error-handling.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

PranavNagrecha のスキルをすべて見る

このスキルの問題を報告する