Help & Support
Elevate Your Agents with AgentExchange Solutions
Have Questions?
Consumer Goods Tpe Dashboard Configure
- references/
- scripts/
- SKILL.md
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.
- TPM System Admin username — must already be authenticated via
sfCLI. Verify withnode ./scripts/sf-rest.js org-status --target-org <username>(neversf org display --jsondirectly — seereferences/phases-1-6.md). - 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
| Phase | Step | Summary | Details |
|---|---|---|---|
| Setup | — | Collect inputs, detect namespace, version-gate the org | references/phases-1-6.md |
| 1 | Tenant pairing | Ask user to confirm Hyperforce Processing Service pairing (not verifiable programmatically) | references/phases-1-6.md |
| 2 | TPM Admin permission set(s) | Ask user to confirm org-specific persona permission sets are assigned | references/phases-1-6.md |
| 3 | GenieAdmin / TableauEinsteinAdmin | Query, and on confirmation assign, these two permission sets | references/phases-1-6.md |
| 4 | SSOT package | Verify the ssot managed package is installed |
references/phases-1-6.md |
| 5 | Enable Tableau Next | Ask user to confirm manual UI enablement (not verifiable programmatically) | references/phases-1-6.md |
| 6 | C360 SDM | Verify or trigger + poll the C360 Unified Semantic Model app install | references/phases-1-6.md |
| 7 | TPM Accruals Data Kit | Delegated to consumer-goods-tpe-datakit-deploy |
references/phases-7-12.md |
| 8 | Business Period export | Anonymous-Apex export via a Hyperforce-substrate Sales Org, poll, then confirm the tpmbusinessperiod Data Stream sync |
references/phases-7-12.md |
| 9 | RTR Data Cloud export | Delegated to consumer-goods-rtr-datacloud-export-configure |
references/phases-7-12.md |
| 10 | TPM_PROMOTION_MEASURE Data Transform | Ask (credit consumption), then run and poll the Data Transform | references/phases-7-12.md |
| 11 | TPE Analytics App install | Trigger + poll the async app-framework install (~15-20 min) | references/phases-7-12.md |
| 12 | Customize KPIs (optional) | Delegated to consumer-goods-tpe-dashboard-custom-kpi-configure, only if requested |
references/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 exposesorg-status(stripsaccessTokenbefore 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 aFailedStatusapp-framework install (Phase 11), including "DMO not available" detection.scripts/render-apex.js— renders an anonymous-Apex template with--varsubstitutions; loadsscripts/soql-escape.jsto 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.
Related Skills
Salesforce
Configure a Trade Promotion Management (TPM) org's RTR (Real Time Reporting) export pipeline to push promotion measures into Data Cloud (Data 360) for Trade Promotion Effectiveness (TPE) dashboards. Use when a customer or admin wants to set up the RTR exp
Categories
Agentforce Content
Salesforce
Customize the Trade Promotion Effectiveness (TPE) Analytics dashboards' generic KPI slots (Promotion Measure 1-3, Tactic Measure 1-2) with customer-chosen KPI measure codes and display names, without touching the shipped base model. Use when a customer/ad
Categories
Agentforce Content
Salesforce
Deploy the TPM Accruals Data Kit components specifically required for Trade Promotion Effectiveness (TPE) dashboards. Use when a customer or admin wants to install or deploy the TPM data kit for TPE dashboards, or as a delegated step from consumer-goods-t