forcedotcom/sf-skills

consumer-goods-tpe-dashboard-configure

End-to-end headless setup of Trade Promotion Effectiveness (TPE) dashboards for a Trade Promotion Management (TPM) Cloud org, covering tenant pairing checks, permission sets, SSOT and Tableau Next enablement, C360 SDM verification, the TPM Accruals data kit…

ソースを見る

使い方

  1. インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
  2. 必要なツール、認証情報、対応環境を原文で確認します。
  3. 入力と成果物を指定し、出力を資料と照合します。
npx skills add https://github.com/forcedotcom/sf-skills --skill consumer-goods-tpe-dashboard-configure

開始前の確認

  • 導入にはモデル契約、API枠、ファイルへのアクセス許可は含まれません。
  • スター数や導入数は活動の指標であり、独立した品質・安全性試験ではありません。
リポジトリの原文

見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。

Consumer Goods TPE Dashboard Configure

Bring a TPM org from bare state to a running TPE dashboard in one guided session, driven entirely by sf CLI + REST/anonymous-Apex against an already-authenticated org — never a password or interactive login on the user's behalf.

Persona: a Salesforce TPM System Admin setting up TPE dashboards for their org.

Delegates three of its twelve steps to standalone sibling skills (own SKILL.md, own inputs, self-contained per this repo's skills architecture rules — no shared files):

  • Step 7 → consumer-goods-tpe-datakit-deploy
  • Step 9 → consumer-goods-rtr-datacloud-export-configure
  • Step 12 → consumer-goods-tpe-dashboard-custom-kpi-configure (optional, only if the customer wants custom KPIs on the base dashboards)

Every other step runs directly in this skill.

Inputs to collect first

Ask before starting. Do not guess.

  1. TPM System Admin username — must already be authenticated via sf CLI. Verify with node ./scripts/sf-rest.js org-status --target-org <username> (never sf org display --json directly — see references/phases-1-6.md).
  2. Dry-run? — offer by default. In dry-run, every read/verify/check step still runs; every write/trigger/install step is skipped and recorded as pending — not run (dry-run).

Also detect the installed package namespace and version-gate the org (Consumer Goods Cloud >= 262.2 required) before Phase 1 — see "Namespace detection" in references/phases-1-6.md.

Phase list

PhaseStepSummaryDetails
Setup—Collect inputs, detect namespace, version-gate the orgreferences/phases-1-6.md
1Tenant pairingAsk user to confirm Hyperforce Processing Service pairing (not verifiable programmatically)references/phases-1-6.md
2TPM Admin permission set(s)Ask user to confirm org-specific persona permission sets are assignedreferences/phases-1-6.md
3GenieAdmin / TableauEinsteinAdminQuery, and on confirmation assign, these two permission setsreferences/phases-1-6.md
4SSOT packageVerify the ssot managed package is installedreferences/phases-1-6.md
5Enable Tableau NextAsk user to confirm manual UI enablement (not verifiable programmatically)references/phases-1-6.md
6C360 SDMVerify or trigger + poll the C360 Unified Semantic Model app installreferences/phases-1-6.md
7TPM Accruals Data KitDelegated to consumer-goods-tpe-datakit-deployreferences/phases-7-12.md
8Business Period exportAnonymous-Apex export via a Hyperforce-substrate Sales Org, poll, then confirm the tpmbusinessperiod Data Stream syncreferences/phases-7-12.md
9RTR Data Cloud exportDelegated to consumer-goods-rtr-datacloud-export-configurereferences/phases-7-12.md
10TPMPROMOTIONMEASURE Data TransformAsk (credit consumption), then run and poll the Data Transformreferences/phases-7-12.md
11TPE Analytics App installTrigger + poll the async app-framework install (~15-20 min)references/phases-7-12.md
12Customize KPIs (optional)Delegated to consumer-goods-tpe-dashboard-custom-kpi-configure, only if requestedreferences/phases-7-12.md

references/phases-7-12.md also documents the shared scripts/poll-status.js poller and the full set of hard Rules (never authenticate on the user's behalf, never hardcode a namespace or Sales Org, never claim success on anything but a terminal success status, a poll timeout is not a failure, etc.) that apply across every phase.

Scripts

  • scripts/sf-rest.js — authenticated REST calls; also exposes org-status (strips accessToken before printing).
  • scripts/poll-status.js — generic async-status poller, reused by Phases 6 and 11.
  • scripts/find-failure-reason.js — extracts the actual per-requirement failure reason for a FailedStatus app-framework install (Phase 11), including "DMO not available" detection.
  • scripts/render-apex.js — renders an anonymous-Apex template with --var substitutions; loads scripts/soql-escape.js to escape substituted literals.
  • scripts/soql-escape.js — escapes a value for safe interpolation into a single-quoted SOQL/Apex string literal.
  • scripts/run-data-transform.js — triggers and polls a named Data Transform (Phase 10).
  • scripts/schedule-business-period-export.apex — anonymous-Apex template for Phase 8.

Report

At the end of a run, give the user a structured status per phase (1-12): pass / blocked / pending, with the specific blocking reason and remediation click-path where applicable. Call out anything skipped due to dry-run, a declined confirmation, or (Phase 12) the customer opting out of KPI customization.

タスクに関連する項目

同じリポジトリから

関連する Skills

すべての Skills
forcedotcom
コミュニティ

platform-custom-application-generate

Use this skill when users need to create or configure tab-based Salesforce Custom Applications with navigation, branding, and action overrides. Trigger when users mention custom apps, application metadata, app navigation, or organizing tabs into applications. Use when users want to create app containers for tabs and pages. Do NOT use when the goal is hosting a React UI bundle in the App Launcher — use experience-ui-bundle-custom-app-generate for that case.

導入数
1
GitHub Stars
1112
更新日
10月23日
forcedotcom
コミュニティ

platform-custom-field-generate

Use when users create, generate, or validate Salesforce Custom Field metadata. Trigger on custom fields, field types, Roll-Up Summary, Master-Detail/Lookup relationships, formula fields, picklists, dependent (controlling) picklists, referencing a value set from a field, or scoping picklist values per record type; also field deployment errors, including a record type that won't deploy without a business process. DO NOT TRIGGER for creating/customizing the value set itself — a new GlobalValueSet o

導入数
1
GitHub Stars
1112
更新日
10月23日
forcedotcom
コミュニティ

platform-custom-metadata-type-generate

Use to create, generate, or validate Salesforce Custom Metadata Type metadata — the mdt object, fields, and deployable records. Trigger on custom metadata types, CMDT, mdt objects, .md-meta.xml files, or cross-org reference/config data; also admin-maintained mapping/lookup/crosswalk tables (config that changes without a deploy belongs in a CMDT, never hardcoded in Apex/Flow), and CMDT deploy errors. DO NOT TRIGGER for Custom Settings (use platform-custom-setting-generate), business-record object

導入数
1
GitHub Stars
1112
更新日
10月23日
forcedotcom
コミュニティ

platform-custom-report-type-generate

Use to create, generate, or validate Salesforce Custom Report Type metadata. Trigger on custom report types, CRTs, cross-object reports, report builder data sources, exposing fields for reporting across related objects, inner vs outer joins in reports, report type categories, or deployment errors for .reportType-meta.xml files. Do NOT trigger for running, editing, or filtering existing reports; creating report folders, dashboards, or list views; or non-authoring reporting questions.

導入数
1
GitHub Stars
1112
更新日
10月23日