Your first hour in a Salesforce org you didn’t build
Status: draft, awaiting review · Queries not yet run in every org edition · Updated 28 Oct 2026
Open checklist
The first-hour checklist
You inherit an org with no handover document. The first hour is for counting and listing, not for changing. Work in a sandbox that is a recent copy of the client org, and ask for counts, names and structure, not record contents.
Step 1
Before you touch anything
- Confirm in writing which org is the sandbox and which is production.
- Put --target-org on every sf command. Never rely on the default org.
- Ask who built the org, who owns it now and who can answer why something is there.
Step 2
Size the org (counts only)
- Active users by profile, custom objects, active Flows, Apex classes and triggers.
- Validation rules, Workflow Rules and active Process Builder processes.
- Do not read record data yet.
Step 3
Find where the logic lives
- List Flows, triggers and Workflow Rules per object and find the three busiest objects.
- Check Flow Trigger Explorer on those objects for run order.
- Look for scheduled Apex and scheduled Flows.
Step 4
Find who can do what
- List permission sets and profiles that grant Modify All Data or View All Data. Note them, do not change them.
- List integration and API-only users and when they last logged in.
Step 5
Find what connects to the outside
- Connected apps, named credentials, outbound messages and platform event subscribers.
- Anything nobody on the client team can explain goes on the question list.
Step 6
Write it down
- For each finding: what touches it, how sure you are and how to check it.
- Three questions to ask the client before you change anything, and a list of what you did not check.
Open queries
Three queries to start with
These need the Salesforce CLI and a login to the sandbox. Replace <alias> with your sandbox alias. They return counts and names, not record contents. Run each once in a sandbox before you rely on it.
1. Active users by profile
sf data query --target-org <alias> \
--query "SELECT Profile.Name, COUNT(Id) FROM User WHERE IsActive = true GROUP BY Profile.Name"Does not tell you who actually logs in. The full kit has a last-login query.
2. Active Flows by type
sf data query --target-org <alias> \
--query "SELECT ProcessType, TriggerType, COUNT(Id) FROM FlowDefinitionView WHERE IsActive = true GROUP BY ProcessType, TriggerType"A Process Builder process shows up here with the type Workflow. It does not tell you what each Flow does.
3. Apex triggers by object
sf data query --target-org <alias> \
--query "SELECT Name, TableEnumOrId, Status, ApiVersion FROM ApexTrigger WHERE NamespacePrefix = null ORDER BY TableEnumOrId"Several triggers on one object run in an order you cannot set. It does not tell you what they do.
The download has nine more: Apex classes, validation rules, Workflow Rules, scheduled jobs, permission sets, last logins, connected apps and a field-dependency query.
Download
What is in the kit
Open files, no form. Every file is marked as a draft until a reviewer signs off on it.
- first-hour-checklist.mdOne page: what to do, in order, in your first hour.
- queries.mdTwelve queries with the sf command and what each result does not tell you.
- CLAUDE.mdA project file for a client org: sandbox first, no changes without an instruction, no record contents in chats.
- skills/salesforce-org-discovery/SKILL.mdA Claude Code skill: a numbered procedure that ends in a one-page summary.
- findings-log-template.mdA table for what you found, how sure you are and how to check it.
- README.mdHow to set the files up in a Salesforce DX project.
Or take everything in one file: salesforce-org-discovery-kit.zip.
Want a general project file that is not about a client org? Use the CLAUDE.md template for a Salesforce DX project. To check what uses a field before you change it, use the field-usage prompts.
Read this before you rely on it
What the kit cannot tell you
Limits
- Metadata shows what exists and what references what. It does not show what outside systems do, or why something was built.
- The queries come from Salesforce’s object references. They have not been run in every org edition, and some will need changes.
- A coding agent that sees only a retrieved project sees only what you retrieved. Flows, Process Builder, Workflow Rules and permissions you did not pull are missing from its answer. Say “unknown” when you cannot prove something is unused.
Clientell MCP works in Claude Code, Cursor, Codex and VS Code. It reads records live under the user’s own Salesforce permissions and does not store record data. Nothing changes in the org without your approval. Setup is on the install page.
Run the same questions against a client sandbox.
Connect a client sandbox and the agent can answer what touches a field, which Flows run on an object and who has access, instead of guessing from the files you retrieved. 14-day free trial, no card.
No card needed