Skip to content
AI & Agents
Skill

/sales-call-scoring-configure

Configure, set up, or repair AI Call Scoring (a.k.a. Call Coaching / Coaching Competencies) on an ECI-enabled Salesforce org. Flips ECICallScoringEnabled via SOAP Metadata API, enables Einstein Generative AI Platform if off, and manages Coaching Competency records

From plugin
forcedotcom-sf-skills
1k200 skills2 agents14 commands3 MCP
Install
$ npx -y skills add forcedotcom/afv-library --skill sales-call-scoring-configure --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/sales-call-scoring-configure

Context preview

The summary Claude sees to decide when to auto-load this skill.

Configure, set up, or repair AI Call Scoring (a.k.a. Call Coaching / Coaching Competencies) on an ECI-enabled Salesforce org. Flips ECICallScoringEnabled via SOAP Metadata API, enables Einstein Generative AI Platform if off, and manages Coaching Competency records

SKILL.md

sales-call-scoring-configure.SKILL.md
name: sales-call-scoring-configure
description: "Configure, set up, or repair AI Call Scoring (a.k.a. Call Coaching / Coaching Competencies) on an ECI-enabled Salesforce org. Flips ECICallScoringEnabled via SOAP Metadata API, enables Einstein Generative AI Platform if off, and manages Coaching Competency records (EnablementCompetencyDef Tooling API): install the 6 OOTB set, the 7 Momentum best-practice prompts, or conversationally author/edit/activate/deactivate custom competencies (8-active + 16000/255-char caps). TRIGGER when: user wants to turn on AI Call Scoring or Call Coaching, install OOTB or best-practice competencies, create/edit custom competencies, re-enable after sandbox refresh, or verify/repair partial Call Coaching setup on a 68+ ECI org. DO NOT TRIGGER when: no ECI license (direct to Agentforce for Sales), user wants to enable ECI/Momentum themselves (out of scope — Setup), Pipeline Management (use sales-agentforce-pipeline-management-configure), or custom agent (use agentforce-generate)."
metadata:
  version: "1.0"
  domains: ["Sales"]
  minApiVersion: "68.0"
  relatedSkills:
    - "sales-agentforce-pipeline-management-configure"
    - "agentforce-generate"
  cliTools:
    - tool: ["sf"]
      semver: ">=2.0.0"
    - tool: ["jq"]
      semver: ">=1.6.0"
    - tool: ["curl"]
      semver: ">=7.0.0"
  accessCheck:
    - type: "orgPref"
      value: "ConversationPilotPref"
    - type: "userPerm"
      value: "ModifyAllData"

Sales Call Scoring — Configure

Configure **Call Coaching** (a.k.a. AI Call Scoring / Coaching Competencies) on a Salesforce org. Detects the org's current state, enables dependent features it is authorized to enable, and flips the `ECICallScoringEnabled` org preference via the SOAP Metadata API.

Scope

**In scope**

  • **ECI-enabled orgs only.** The skill supports orgs on the ECI (Einstein

Conversation Insights) arm (spike scope: ECI-only for MVP).

  • Detect which of the 4 PRD-scoped org states the org is in.
  • Enable **Einstein Generative AI Platform** if off (PRD-authorized dependency).
  • Flip `enableECICallScoring` to `true` via SOAP Metadata API v68.
  • Verify the change took effect.
  • Idempotent — clean exit on states 3 and 4 (already enabled).

**Out of scope**

  • **River Rush / Momentum detection.** Deferred until that arm goes live —

see Key Considerations. A Momentum-only org today is not distinguished from any other ECI-off org; it gets the generic "ECI is not enabled" message from Phase 3, not a Momentum-specific one.

  • **Enabling ECI or Momentum themselves.** PRD-explicit out-of-scope; the skill

detects and messages the admin to enable ECI via Setup.

  • **License provisioning.** Missing base licenses (Agentforce for Sales, ECI

license) require an account-team ticket.

  • **Competency CRUD.** Handled by sibling scripts in this same skill — see "Competency CRUD workflow" below (§S3-§S10) and the "Execution sequence" matrix.

Prerequisites

1. **`sf` CLI authenticated** — `sf org login web --alias <org-alias>`. 2. ECI arm licensed and enabled: `ConversationPilot` org permission (Phase 0 purchase gate) and `enableCallCoaching` pref (Phase 1, the `ConversationPilotPref` preference). (River Rush/Momentum is a separate arm covered by the same server-side gate but not checked by this skill yet — see Key Considerations.) 3. Site gate `com.salesforce.eci.callScoringEnabled` open on the org's pod (RelEng-controlled; not admin-toggleable).

Einstein GenAI Platform is a soft prerequisite — the skill enables it automatically when off.

Clarifying Questions

Ask the admin: target org alias? Sandbox refresh scenario? (The pref has `disableOnSandboxCopy=true`, so it must be re-flipped after every refresh — that's normal, not a failure.)

Admin Communication Guidelines

**CRITICAL**: This skill serves admin users, not developers. The full 13-rule spec with rationale for each rule lives in [`references/admin-communication.md`](references/admin-communication.md) — consult it before your first response in this skill. Summary of the load-bearing rules:

1. **Run all bash commands in background** (`run_in_background: true`). 2. **Speak admin language, not entity language** — "Call Coaching", "Coaching Competency", "active/inactive". Never `EnablementCompetencyDef`, `enableECICallScoring`, `EvaluationInstructions`, `SourceCompetencyTemplate` in primary chat text. 3. **Hide technical details** — no record Ids, DeveloperNames, Template enum keys, HTTP codes, SOAP responses, curl/jq internals, script paths, or phase numbers. Exception: the S9 verify markdown table (see [`references/competency-crud.md`](references/competency-crud.md) §S9). 4. **Chain automatically** — when a script prints `Next: <script>`, run it in the same turn without asking. **Exception**: State 3 → rule #13. 5. **Ask OOTB-vs-custom once** — on first-time competency setup (State 3, unqualified intent), render `install-ootb-competencies.sh --list` and let the admin choose. Only checkpoint in this skill where Claude asks before writing. 6. **Idempotency is silent** — if already on/installed, say so briefly and move on.

See [`references/admin-communication.md`](references/admin-communication.md) for the full 13-rule spec, including error-surfacing, outcome-vs-steps reporting, and the S9 carve-out rationale.

Workflow

Phase 0 — Auth

Resolves org auth via the shared `scripts/shared/auth.sh` helper (`resolve_org_auth "$ORG_ALIAS"`), which every script in this skill sources: validate the alias format, call `sf org display` for `instanceUrl` and `accessToken` (falling back to `sf org auth show-access-token` when the CLI redacts the token), refuse a non-HTTPS instance URL, and fail closed with an explicit `sf org login web --alias <alias>` instruction if the org isn't reachable or no token can be extracted. If `ACCESS_TOKEN`/`INSTANCE_URL` are already exported for the same alias — e.g. a parent shell already resolved auth and is chaining multiple of these

Read more
Ships withforcedotcom-sf-skills

This repository provides a curated collection of Salesforce agent skills for building applications.

Get the whole plugin

Other skills on forcedotcom-sf-skills.