# Automation Sandbox Post Copy Config Generate

Generates the JSON config file that the Salesforce sandbox post-copy automation tool...

- Repository: https://github.com/forcedotcom/sf-skills (1134 stars)
- Category: Documents
- License: Apache-2.0
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add forcedotcom/sf-skills --skill automation-sandbox-post-copy-config-generate -g -a claude-code -y`
Codex: `npx skills add forcedotcom/sf-skills --skill automation-sandbox-post-copy-config-generate -g -a codex -y`
Cursor: `npx skills add forcedotcom/sf-skills --skill automation-sandbox-post-copy-config-generate -g -a cursor -y`
Gemini CLI: `npx skills add forcedotcom/sf-skills --skill automation-sandbox-post-copy-config-generate -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add forcedotcom/sf-skills`

## Description

Generates the JSON config file that the Salesforce sandbox post-copy automation tool consumes, from a customer SOP in any format (PDF, xlsx, csv, JSON, docx, Markdown, plain text, or a screenshot of an endpoint table). Use when the user asks to create, build, generate, produce, or convert a post-copy or post-refresh automation config, turning a sandbox-refresh SOP into a JSON array of OutboundMessages (OBM), RemoteSiteSettings, ScheduledApex, and Flows entries with ConfigurationName, Label, Fields, IsActive, and ExecutionOrder. Also trigger for phrasings like \"post-copy config\", \"post-refresh automation JSON\", \"update the outbound message (OBM) endpoints after refresh\", \"convert this SOP to config\", \"remote site settings JSON\", \"refresh planner to JSON\", or \"sandbox refresh config\". DO NOT TRIGGER when: user wants to deploy the generated config to an org (use platform-metadata-deploy), or apply/execute/run/dry-run the post-copy automation JSON against a sandbox (use automation-sandbox-post-copy-configure).

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Automation: Sandbox Post-Copy Config Generate

Convert a customer's sandbox-refresh / post-copy SOP into a structured JSON
array that the post-copy automation tool consumes. Each entry is a
declarative instruction: which Salesforce configuration to update, which
fields are involved, whether it is active, and what order it runs in.

## STOP, do this before writing any JSON

Do **not** compose the output from memory. Before you write the file, you
MUST open and read `assets/config_template.json` and copy an entry from it
for each action. Every output entry is exactly one of these four shapes, five top-level keys, no others, no wrapper object:

```json
[
  {
    "ConfigurationName": "OutboundMessages",
    "Label": "IR_Account_OBM_PROD",
    "Fields": { "EndpointUrl": "https://uat.example.com/services/account", "Object": "Account" },
    "IsActive": true,
    "ExecutionOrder": 1
  },
  {
    "ConfigurationName": "RemoteSiteSettings",
    "Label": "R12_Remote_Site",
    "Fields": { "RemoteSiteUrl": "https://uat.example.com" },
    "IsActive": true,
    "ExecutionOrder": 2
  },
  {
    "ConfigurationName": "ScheduledApex",
    "Label": "Nightly Data Sync",
    "Fields": { "ApexClassName": "NightlyDataSyncScheduler", "CronExpression": "0 0 2 * * ?", "JobName": "Nightly Data Sync" },
    "IsActive": true,
    "ExecutionOrder": 3
  },
  {
    "ConfigurationName": "Flows",
    "Label": "Deactivate Nightly Sync Flow",
    "Fields": { "FlowApiName": "Nightly_Sync_Flow", "Action": "Deactivate" },
    "IsActive": true,
    "ExecutionOrder": 4
  }
]
```

The rest: https://github.com/forcedotcom/sf-skills/blob/HEAD/plugins/builder/dx-org-lifecycle/skills/automation-sandbox-post-copy-config-generate/SKILL.md
