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 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).
NPX Install
npx skill4agent add forcedotcom/sf-skills platform-agentexchange-partner-offers-configureTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Enabling Transactable Marketplace Receive Partner Offers Org Preference
enableTransactableMarketplaceReceivePartnerOffersTransactableMarketplacePrivateOfferSettingsScope
- In scope: Reading the current value of the pref, enabling or disabling it via Metadata API (), and verifying the change took effect.
TransactableMarketplacePrivateOfferSettings - 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: (enable) or
true(disable). Default:false.true
Workflow
Phase 1 — Check current state
-
Query the current preference value by running:bash
sf data query -q "SELECT Preference, Value FROM OrgPreference WHERE Preference = 'TransactableMarketplaceReceivePartnerOffers'" --target-org <alias> --use-tooling-apiIf the record exists and, the pref is already enabled — confirm with the user before proceeding. If the query returns no rows, the pref is not yet set (defaults toValue = true).false -
Resolve the org's package directory to determine where to write metadata. Run this and use its output as:
<packageDir>bashjq -r '.packageDirectories[0].path // "force-app/main/default"' sfdx-project.json
Phase 2 — Apply the preference
-
Write the TransactableMarketplacePrivateOfferSettings metadata file — loadfor the exact XML structure, then write the file at:
assets/org-pref-template.mdtext<packageDir>/settings/TransactableMarketplacePrivateOffer.settingsSet(or<enableTransactableMarketplaceReceivePartnerOffers>true</enableTransactableMarketplaceReceivePartnerOffers>if disabling).false -
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) matches the user's intentfalse
bashsf project deploy start --metadata TransactableMarketplacePrivateOfferSettings --target-org <alias>
Phase 3 — Verify
-
Confirm the change by re-running the Tooling API query from step 1 and verifying thecolumn matches the desired state.
Value -
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 | This is the concrete type registered in the platform for this pref, not the generic |
The settings file must be named | Metadata API requires the filename to match the settings node name |
Do not hardcode | Always read |
| 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 |
Deploy fails with | The metadata type name is |
| Deploy succeeds but value doesn't change | Another settings file in the project may be overriding this one. Search for other |
| User running the deploy must have the "Modify All Data" or org preference admin permission in the target org. |
| Pref not visible in UI | |
| 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
Org: <alias>
Preference: enableTransactableMarketplaceReceivePartnerOffers
Previous value: <true|false|unset>
New value: <true|false>
File written: <packageDir>/settings/TransactableMarketplacePrivateOffer.settings
Deploy status: SuccessReference File Index
| File | When to read |
|---|---|
| Phase 2, step 3 — use as the exact XML structure for the settings file |
| To verify the generated file matches expected format |