Salesforce integration — SfSkills domain router
INBOUND integration and the API surface itself: the Salesforce REST and SOAP APIs, Bulk API 2.0 jobs, Platform Events, CDC, Pub/Sub, Named Credentials and middleware. For calling OUT to someone else's API from Apex, use salesforce-apex instead.
61 skill packages live under
${CLAUDE_PLUGIN_ROOT}/skills/integration/<slug>/SKILL.md. They are not
loaded — reach them by path, on demand.
Generated by scripts/build_plugin.py. Do not hand-edit.
How to find the right skill
Three mechanisms, listed in order of reliability on a fresh install.
Use the first one that is available; do not stop at a guess.
1. The shipped roster (always works, no setup).
Read references/skill-index.md next to this file. It lists every
integration skill package with a one-line gloss, generated from
registry/skills.json. Scan it and pick by name.
2. The MCP server (fast, needs the sfskills-mcp server connected).
Call the search_skill tool with the user's phrasing and domain: "integration". It returns
ranked skill ids. get_skill then returns the package contents.
3. The search CLI (fast, needs a locally built index).
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/search_knowledge.py" "<the user's question>" --domain integration --json
This needs vector_index/, which is not shipped — it is gitignored
and must be built once per clone:
cd "${CLAUDE_PLUGIN_ROOT}" && python3 -m pip install -r requirements.txt && python3 scripts/build_index.py
If the command errors or reports Coverage: NONE, fall back to
mechanism 1 rather than telling the user the topic is uncovered.
Then read the package. Open the exact
${CLAUDE_PLUGIN_ROOT}/skills/<domain>/<slug>/SKILL.md the lookup
returned, plus its references/gotchas.md and
references/llm-anti-patterns.md. Do not answer from this router:
it is a map, not the territory.
Featured entry points
Curated starting points when the request is broad or the lookup is
ambiguous. This is a shortlist, not the catalogue — the roster at
references/skill-index.md has all 61.
${CLAUDE_PLUGIN_ROOT}/skills/integration/rest-api-patterns/SKILL.md — the default synchronous inbound/outbound shape and its limits
${CLAUDE_PLUGIN_ROOT}/skills/integration/bulk-api-2-patterns/SKILL.md — high-volume loads and extracts without holding a transaction open
${CLAUDE_PLUGIN_ROOT}/skills/integration/named-credentials-setup/SKILL.md — credentials, auth providers, and never putting a secret in Apex
${CLAUDE_PLUGIN_ROOT}/skills/integration/oauth-flows-and-connected-apps/SKILL.md — picking the right OAuth flow for the right client
${CLAUDE_PLUGIN_ROOT}/skills/integration/platform-events-integration/SKILL.md — publish/subscribe decoupling, delivery guarantees and replay
${CLAUDE_PLUGIN_ROOT}/skills/integration/pub-sub-api-patterns/SKILL.md — the gRPC Pub/Sub API for events and Change Data Capture
${CLAUDE_PLUGIN_ROOT}/skills/integration/error-handling-in-integrations/SKILL.md — failure taxonomy, dead letters, and what the caller sees
${CLAUDE_PLUGIN_ROOT}/skills/integration/retry-and-backoff-patterns/SKILL.md — idempotent retries that do not amplify an outage
Decision trees
Read the tree before activating a skill when the request could be
solved more than one way, and cite the branch that decided it.
${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/integration-pattern-selection.md — the primary tree for this domain
${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/async-selection.md — read when a callout has to move off the synchronous path
Run-time agents for this domain
Invoke one of these subagents when the ask is a whole workflow
rather than a single question:
bulk-migration-planner — Pick the right Salesforce integration pattern
integration-catalog-builder — Build the org's integration catalog
integration-incident-triager — Integration Incident Triage
Rules
- Answer from the opened
integration package, never from this router.
- Cite the skill id and, where one applied, the decision-tree branch.
- Never claim a topic is uncovered without pasting lookup output.
- Never deploy to an org.