/platform-agentexchange-partner-offers-configure
Enable or disable the org preference that controls whether a Salesforce org can receive partner offers from the Transactable Marketplace. Use this skill when the user wants to turn partner offer reception on or off for an org. TRIGGER when: user asks to enable or disable partner
$ npx -y skills add forcedotcom/sf-skills --skill platform-agentexchange-partner-offers-configure --agent claude-codeHow 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
/platform-agentexchange-partner-offers-configure
Context preview
The summary Claude sees to decide when to auto-load this skill.
Enable or disable the org preference that controls whether a Salesforce org can receive partner offers from the Transactable Marketplace. Use this skill when the user wants to turn partner offer reception on or off for an org. TRIGGER when: user asks to enable or disable partner
SKILL.md
platform-agentexchange-partner-offers-configure.SKILL.mdname: platform-agentexchange-partner-offers-configure
description: "Enable or disable the org preference that controls whether a Salesforce org can receive partner offers from the Transactable Marketplace. Use this skill when the user wants to turn partner offer reception on or off for an org. TRIGGER when: user asks to enable or disable partner offers, configure TransactableMarketplaceReceivePartnerOffers, configure enableTransactableMarketplaceReceivePartnerOffers, set up marketplace partner offer reception, toggle the TM partner offers setting, edit a TransactableMarketplacePrivateOffer.settings file, or configure org preferences related to transactable marketplace. DO NOT TRIGGER when: user needs to create or manage the partner offer records themselves, configure marketplace listing settings, or work with SfdcPartnerOffer objects (use platform-metadata-deploy or platform-apex-generate instead)."
metadata:
cliTools:
- tool: ["jq"]
semver: ">=1.6.0"
- tool: ["sf"]
semver: ">=2.0.0"
relatedSkills:
- "platform-apex-generate"
- "platform-metadata-deploy"
version: "1.0"
minApiVersion: "67.0"Enabling Transactable Marketplace Receive Partner Offers Org Preference
This skill configures the `enableTransactableMarketplaceReceivePartnerOffers` org preference via the `TransactableMarketplacePrivateOfferSettings` Metadata API type, which controls whether a Salesforce org is eligible to receive partner offers through the Transactable Marketplace. It is required for subscriber orgs that participate in the TM partner offer flow.
Scope
- **In scope**: Reading the current value of the pref, enabling or disabling it via Metadata API (`TransactableMarketplacePrivateOfferSettings`), and verifying the change took effect.
- **Out of scope**: Creating or managing partner offer records, configuring marketplace listings, or any Apex/trigger changes related to offer processing.
---
Required Inputs
- **Target org alias or username**: The org where the pref should be set. Ask if not provided.
- **Desired state**: `true` (enable) or `false` (disable). Default: `true`.
---
Workflow
Phase 1 — Check current state
1. **Query the current preference value** by running:
sf data query -q "SELECT Preference, Value FROM OrgPreference WHERE Preference = 'TransactableMarketplaceReceivePartnerOffers'" --target-org <alias> --use-tooling-api
If the record exists and `Value = true`, the pref is already enabled — confirm with the user before proceeding. If the query returns no rows, the pref is not yet set (defaults to `false`).
2. **Resolve the org's package directory** to determine where to write metadata. Run this and use its output as `<packageDir>`:
jq -r '.packageDirectories[0].path // "force-app/main/default"' sfdx-project.json
Phase 2 — Apply the preference
3. **Write the TransactableMarketplacePrivateOfferSettings metadata file** — load `assets/org-pref-template.md` for the exact XML structure, then write the file at:
<packageDir>/settings/TransactableMarketplacePrivateOffer.settings
Set `<enableTransactableMarketplaceReceivePartnerOffers>true</enableTransactableMarketplaceReceivePartnerOffers>` (or `false` if disabling).
4. **Deploy the metadata** to the target org. Before running the deploy, confirm with the user:
- [ ] Confirmed the target org alias with the user (deploying to the wrong org is not easily reversible)
- [ ] Confirmed the desired state (`true`/`false`) matches the user's intent
sf project deploy start --metadata TransactableMarketplacePrivateOfferSettings --target-org <alias>
Phase 3 — Verify
5. **Confirm the change** by re-running the Tooling API query from step 1 and verifying the `Value` column matches the desired state.
6. **Report to the user** — see Output Expectations below.
---
Rules / Constraints
| Rule | Rationale | |------|-----------| | Always query the current value before writing metadata | Avoids unnecessary deploys and detects conflicting changes | | Use `TransactableMarketplacePrivateOfferSettings` as the metadata type | This is the concrete type registered in the platform for this pref, not the generic `OrgPreferenceSettings` | | The settings file must be named `TransactableMarketplacePrivateOffer.settings` | Metadata API requires the filename to match the settings node name | | Do not hardcode `force-app/main/default/` | Always read `sfdx-project.json` for the actual package directory | | Never deploy without confirming the org alias with the user | Deploying to the wrong org is not easily reversible |
---
Gotchas
| Issue | Resolution | |-------|------------| | Tooling API query returns no rows | Pref is unset (defaults to `false`). Safe to create a new settings file. | | Deploy fails with `INVALID_TYPE` | The metadata type name is `TransactableMarketplacePrivateOfferSettings` — check the `--metadata` flag value. | | Deploy succeeds but value doesn't change | Another settings file in the project may be overriding this one. Search for other `TransactableMarketplacePrivateOffer.settings` files in the project. | | `INSUFFICIENT_ACCESS_OR_READONLY` on deploy | User running the deploy must have the "Modify All Data" or org preference admin permission in the target org. | | Pref not visible in UI | `enableTransactableMarketplaceReceivePartnerOffers` is not surfaced in Setup UI — the Tooling API query is the only way to verify it. | | Available from API version 67.0+ only | The type is available from API v67.0 — deploying against an older API version will fail. |
---
Output Expectations
After completing all phases, report:
Org: <alias>
Preference: enableTransactableMarketplaceReceivePartnerOffers
Previous value: <true|false|unset>
New value: <true|false>
File written: <packageDir>/settings/TransactableMarketplacePrivateOffer.settings
Deploy status: Success
---
Reference File I
Read more
name: platform-agentexchange-partner-offers-configure
description: "Enable or disable the org preference that controls whether a Salesforce org can receive partner offers from the Transactable Marketplace. Use this skill when the user wants to turn partner offer reception on or off for an org. TRIGGER when: user asks to enable or disable partner offers, configure TransactableMarketplaceReceivePartnerOffers, configure enableTransactableMarketplaceReceivePartnerOffers, set up marketplace partner offer reception, toggle the TM partner offers setting, edit a TransactableMarketplacePrivateOffer.settings file, or configure org preferences related to transactable marketplace. DO NOT TRIGGER when: user needs to create or manage the partner offer records themselves, configure marketplace listing settings, or work with SfdcPartnerOffer objects (use platform-metadata-deploy or platform-apex-generate instead)."
metadata:
cliTools:
- tool: ["jq"]
semver: ">=1.6.0"
- tool: ["sf"]
semver: ">=2.0.0"
relatedSkills:
- "platform-apex-generate"
- "platform-metadata-deploy"
version: "1.0"
minApiVersion: "67.0"Enabling Transactable Marketplace Receive Partner Offers Org Preference
This skill configures the `enableTransactableMarketplaceReceivePartnerOffers` org preference via the `TransactableMarketplacePrivateOfferSettings` Metadata API type, which controls whether a Salesforce org is eligible to receive partner offers through the Transactable Marketplace. It is required for subscriber orgs that participate in the TM partner offer flow.
Scope
- **In scope**: Reading the current value of the pref, enabling or disabling it via Metadata API (`TransactableMarketplacePrivateOfferSettings`), and verifying the change took effect.
- **Out of scope**: Creating or managing partner offer records, configuring marketplace listings, or any Apex/trigger changes related to offer processing.
---
Required Inputs
- **Target org alias or username**: The org where the pref should be set. Ask if not provided.
- **Desired state**: `true` (enable) or `false` (disable). Default: `true`.
---
Workflow
Phase 1 — Check current state
1. **Query the current preference value** by running:
sf data query -q "SELECT Preference, Value FROM OrgPreference WHERE Preference = 'TransactableMarketplaceReceivePartnerOffers'" --target-org <alias> --use-tooling-api
If the record exists and `Value = true`, the pref is already enabled — confirm with the user before proceeding. If the query returns no rows, the pref is not yet set (defaults to `false`).
2. **Resolve the org's package directory** to determine where to write metadata. Run this and use its output as `<packageDir>`:
jq -r '.packageDirectories[0].path // "force-app/main/default"' sfdx-project.json
Phase 2 — Apply the preference
3. **Write the TransactableMarketplacePrivateOfferSettings metadata file** — load `assets/org-pref-template.md` for the exact XML structure, then write the file at:
<packageDir>/settings/TransactableMarketplacePrivateOffer.settings
Set `<enableTransactableMarketplaceReceivePartnerOffers>true</enableTransactableMarketplaceReceivePartnerOffers>` (or `false` if disabling).
4. **Deploy the metadata** to the target org. Before running the deploy, confirm with the user:
- [ ] Confirmed the target org alias with the user (deploying to the wrong org is not easily reversible)
- [ ] Confirmed the desired state (`true`/`false`) matches the user's intent
sf project deploy start --metadata TransactableMarketplacePrivateOfferSettings --target-org <alias>
Phase 3 — Verify
5. **Confirm the change** by re-running the Tooling API query from step 1 and verifying the `Value` column matches the desired state.
6. **Report to the user** — see Output Expectations below.
---
Rules / Constraints
| Rule | Rationale | |------|-----------| | Always query the current value before writing metadata | Avoids unnecessary deploys and detects conflicting changes | | Use `TransactableMarketplacePrivateOfferSettings` as the metadata type | This is the concrete type registered in the platform for this pref, not the generic `OrgPreferenceSettings` | | The settings file must be named `TransactableMarketplacePrivateOffer.settings` | Metadata API requires the filename to match the settings node name | | Do not hardcode `force-app/main/default/` | Always read `sfdx-project.json` for the actual package directory | | Never deploy without confirming the org alias with the user | Deploying to the wrong org is not easily reversible |
---
Gotchas
| Issue | Resolution | |-------|------------| | Tooling API query returns no rows | Pref is unset (defaults to `false`). Safe to create a new settings file. | | Deploy fails with `INVALID_TYPE` | The metadata type name is `TransactableMarketplacePrivateOfferSettings` — check the `--metadata` flag value. | | Deploy succeeds but value doesn't change | Another settings file in the project may be overriding this one. Search for other `TransactableMarketplacePrivateOffer.settings` files in the project. | | `INSUFFICIENT_ACCESS_OR_READONLY` on deploy | User running the deploy must have the "Modify All Data" or org preference admin permission in the target org. | | Pref not visible in UI | `enableTransactableMarketplaceReceivePartnerOffers` is not surfaced in Setup UI — the Tooling API query is the only way to verify it. | | Available from API version 67.0+ only | The type is available from API v67.0 — deploying against an older API version will fail. |
---
Output Expectations
After completing all phases, report:
Org: <alias> Preference: enableTransactableMarketplaceReceivePartnerOffers Previous value: <true|false|unset> New value: <true|false> File written: <packageDir>/settings/TransactableMarketplacePrivateOffer.settings Deploy status: Success
---
Reference File I
This repository provides a curated collection of Salesforce agent skills for building applications.
Repo: forcedotcom/sf-skills
Other skills on sf-skills.
- /agentforce-generate
Build, modify, optimize, debug, and deploy agents with Agentforce Agent Script. TRIGGER when: user creates, modifies, optimizes, or asks about .agent files or aiAuthoringBundle metadata; changes agent behavior, responses, or conversation logic; designs agent actions, tools,
Open skill - /agentforce-observe
Analyze production Agentforce agent behavior using session traces and Data Cloud. TRIGGER when: user queries STDM session data or Data Cloud trace records; investigates production agent failures, regressions, or performance issues; asks about session traces, conversation logs,
Open skill - /agentforce-test
Write, run, and analyze structured test suites for Agentforce agents — functional AND security. TRIGGER when: user writes or modifies test spec YAML (AiEvaluationDefinition); runs sf agent test create, run, run-eval, or results commands; asks about test coverage strategy, metric
Open skill - /automation-flow-generate
Generate Salesforce Flows using the MCP tool execute_metadata_action. Use when the user asks to create, build, or generate a flow — including Screen, Autolaunched, Record-Triggered (before/after-save), Scheduled. Also trigger for flow-like requests such as \"when a record is
Open skill - /dx-code-analyzer-configure
Set up, configure, and troubleshoot Salesforce Code Analyzer for any project. Handles installation, prerequisite checks, diagnosing broken setups, creating and editing code-analyzer.yml overrides, engine-specific settings, ignore patterns, severity overrides, and CI/CD pipeline
Open skill - /dx-code-analyzer-custom-rule-create
Create custom Code Analyzer rules for Regex (pattern matching), PMD (XPath/AST for Apex and metadata XML), and ESLint (LWC/JavaScript/TypeScript). Use when users want to enforce coding standards, ban patterns, detect hardcoded values, govern metadata, or add rules not in the
Open skill

