📄️ Deploying Record Types
A record type is rarely self-contained. For every picklist on its object it stores which values are available under that record type — so it only deploys cleanly when those picklist fields already exist in the target, with the values it references. Deploy a record type on its own and Salesforce stops with:
📄️ Deploying Apex & the 75% Coverage Gate
A Salesforce deploy runs Apex tests by test level — No Test Run, Run Specified Tests, Run Local Tests, or Run All Tests. Here's what each does, how to run only specific Apex tests during a deploy (change set, Salesforce CLI, or mtdt.io), the 75% coverage gate, and how mtdt.io recommends exactly the tests your change needs.
📄️ Deploying a Connected App from Sandbox to Production
You can deploy a Connected App from sandbox to production with the Metadata API (mtdt.io does), but as of Spring '26 Salesforce blocks creating a brand-new connected app on any org unless Support enabled it — you get FUNCTIONALITY_NOT_ENABLED: "You can't create a connected app." Existing apps still deploy as updates. The consumer secret never travels, so the target issues its own consumer key/secret. Here's how to deploy one, what the gate means, and how mtdt.io warns before and decodes after.
📄️ Deploying Scheduled Apex
Deploying a Schedulable class that's already running in the target org tends to stop with: