{"id":19893,"date":"2026-08-11T10:16:12","date_gmt":"2026-08-11T10:16:12","guid":{"rendered":"https:\/\/dianapps.com\/blog\/?p=19893"},"modified":"2026-08-11T10:17:16","modified_gmt":"2026-08-11T10:17:16","slug":"salesforce-sandbox-explained","status":"publish","type":"post","link":"https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/","title":{"rendered":"Salesforce Sandbox Explained: Types, Refresh Limits, &#038; What Breaks After a Refresh"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Here\u2019s the thing most sandbox guides skip: A refresh doesn\u2019t update your sandbox; it deletes it and provides a new one with a new Org ID.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">That single detail is why teams come back from a refresh to find their Marketo sync dead, their middleware unauthenticated, and a support ticket queue between them and a working test environment. It\u2019s documented in integration vendor forums with thousands of views, and almost no sandbox guides mention it.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This guide covers the types and limits properly, then the part that nobody writes about.<\/span><\/p>\n<blockquote><p><b>TL;DR<\/b><span style=\"font-weight: 400;\">: Four sandbox types: Developer (metadata only, 200MB, daily refresh), Developer Pro (1GB, daily), Partial Copy (5GB sample data, 5 days), Full (mirrors production, 29 days). Refreshes always pull from production, never from another sandbox. A refresh deletes undeployed work and issues a new Org ID, which breaks connected integrations. Run Data Mask before anyone logs into a Partial or Full copy.<\/span><\/p><\/blockquote>\n<h2><b>The Four Salesforce Sandbox Types<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">The dividing line is simple: Developer and Developer Pro copy <\/span><b>metadata only; <\/b><span style=\"font-weight: 400;\">partial Copy and Full Copy <\/span><b>metadata plus data<\/b><span style=\"font-weight: 400;\">. Everything else follows from that.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-19906\" src=\"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_25_36-PM.webp\" alt=\"The four salesforce sandbox types compared\" width=\"1672\" height=\"941\" srcset=\"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_25_36-PM.webp 1672w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_25_36-PM-1024x576.webp 1024w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_25_36-PM-768x432.webp 768w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_25_36-PM-1536x864.webp 1536w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_25_36-PM-640x360.webp 640w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_25_36-PM-400x225.webp 400w\" sizes=\"auto, (max-width: 1672px) 100vw, 1672px\" \/><\/p>\n<p><i><span style=\"font-weight: 400;\">Comparison of the four Salesforce sandbox types showing what each copies, storage limits, refresh intervals, best use, and which editions include them<\/span><\/i><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Developer<\/b><span style=\"font-weight: 400;\">: Your default for feature work. 200MB of data and files, refreshable daily. Included with most editions, so you\u2019ll usually have several.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Developer Pro<\/b><span style=\"font-weight: 400;\">: The same thing with 1GB. Worth it when you need enough sample data to test properly but not a full copy.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Partial Copy<\/b><span style=\"font-weight: 400;\">: The first type that brings real data across, using a sandbox template to define which objects and how much. Capped at 10,000 records per object. The workhorse for QA and UAT.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Full<\/b><span style=\"font-weight: 400;\">: A replica of production, storage and all. The only sensible choice for performance testing and final UAT, and the slowest to refresh.<\/span><\/li>\n<\/ul>\n<h2><b>Refresh Limits and What They Mean in Practice<\/b><\/h2>\n\n<table id=\"tablepress-253\" class=\"tablepress tablepress-id-253\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Type<\/th><th class=\"column-2\">Refresh interval<\/th><th class=\"column-3\">Realistic refresh duration<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Developer<\/td><td class=\"column-2\">1 day<\/td><td class=\"column-3\">Minutes to an hour<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Developer Pro<\/td><td class=\"column-2\">1 day<\/td><td class=\"column-3\">Under an hour<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Partial Copy<\/td><td class=\"column-2\">5 days<\/td><td class=\"column-3\">Hours<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">Full<\/td><td class=\"column-2\">29 days<\/td><td class=\"column-3\">Hours to more than a day<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-253 from cache -->\n<p><span style=\"font-weight: 400;\">The 29-day interval on Full sandboxes is the one that shapes release planning. Miss a refresh window, and your staging environment drifts a month behind production. Most teams that get burned by this discover it the week before a major release.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">You cannot refresh one sandbox from another as a refresh always pulls from production. If you want a copy of a configured sandbox, that\u2019s cloning &#8211; covered below.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Refresh duration depends on data volume and customisation. A small org completes in an hour; a large, heavily customised one can take more than a day. If your production org is on Hyperforce, refreshes are typically faster &#8211; check for the Hyperforce badge on the Sandbox list page in Setup.<\/span><\/p>\n<h2><b>How to Create or Refresh a Sandbox<\/b><\/h2>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Setup \u2192 Sandboxes<\/b><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">Check your available licences first, and if you\u2019re at your allotment, you\u2019ll need to delete or convert one.<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>New Sandbox<\/b><span style=\"font-weight: 400;\"> (or Refresh next to an existing one).<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Choose the type<\/b><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">For Partial Copy, select or build a sandbox template defining which objects come across.<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Name It:<\/b><span style=\"font-weight: 400;\"> This becomes part of the login URL and every username, so get it right &#8211; see the naming section below.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Start the copy<\/b><span style=\"font-weight: 400;\"> and wait.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Activate It<\/b><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">This step catches people out: <\/span><i><span style=\"font-weight: 400;\">Copy Complete<\/span><\/i><span style=\"font-weight: 400;\"> is not the same as ready. Go back to Setup \u2192 Sandboxes and click Activate.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Work through the post-refresh checklist before letting anyone in.<\/span><\/li>\n<\/ul>\n<div style=\"background: #EEF2FE; border: 1px solid #DBE2FB; border-radius: 14px; padding: 28px 32px; margin: 38px 0;\">\n<h4 style=\"color: #1b3fae; font-size: 22px; line-height: 1.3; font-weight: bold; margin: 0 0 10px;\"><span style=\"font-weight: 400;\"><b>Need Help With Your Salesforce Setup? <\/b><\/span><\/h4>\n<p style=\"color: #4b5563; font-size: 16px; line-height: 1.6; margin: 0 0 22px;\"><span style=\"font-weight: 400;\">Whether you\u2019re setting up sandbox environments, managing integrations, or improving your development workflow, our Salesforce development services can help you build and manage a more efficient Salesforce environment.<\/span><\/p>\n<p><a style=\"display: inline-block; background: #2563EB; color: #ffffff; text-decoration: none; font-size: 15px; font-weight: 600; padding: 13px 26px; border-radius: 8px;\" href=\"https:\/\/dianapps.com\/contact\">Connect Now \u2192<\/a><\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h2><b>What a Sandbox Refresh Actually Breaks<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">This is the section most guides don\u2019t usually write.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-19907\" src=\"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_30_25-PM-1.webp\" alt=\"What breaks after a sandbox refresh\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_30_25-PM-1.webp 1536w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_30_25-PM-1-1024x683.webp 1024w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_30_25-PM-1-768x512.webp 768w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_30_25-PM-1-640x427.webp 640w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_30_25-PM-1-400x267.webp 400w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><\/p>\n<p><i><span style=\"font-weight: 400;\">Seven things that break after a Salesforce sandbox refresh, including new Org ID, deleted undeployed work, mangled email addresses, activation requirement, production endpoints, real customer data, and version mismatch<\/span><\/i><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>The New Org ID Is The Big One:<\/b><span style=\"font-weight: 400;\"> Because a refresh provisions a fresh org rather than updating the existing one, the Org ID changes. Any integration authenticated against the old one stops working &#8211; and several major platforms deliberately lock a connection to a single Org ID, meaning you need a support ticket to re-pair them. Marketo is the most documented case; the same pattern affects Pardot connections, middleware, and anything using OAuth against a specific org.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Plan For It:<\/b><span style=\"font-weight: 400;\"> Disable the sync before you refresh, refresh, then coordinate re-pairing and regenerate security tokens for the integration user.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Undeployed Work Is Gone:<\/b><span style=\"font-weight: 400;\"> A refresh overwrites metadata from production. Anything built in that sandbox and not deployed is deleted, with no recovery. This is the single most common cause of a bad Monday.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Emails Get Mangled:<\/b><span style=\"font-weight: 400;\"> Salesforce appends <\/span><span style=\"font-weight: 400;\">.invalid<\/span><span style=\"font-weight: 400;\"> to user email addresses so your sandbox doesn\u2019t email real people. Useful, but it means logins fail until you fix them and reset passwords.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Endpoints Still Point At Production:<\/b><span style=\"font-weight: 400;\"> Named Credentials, remote site settings, and connected app configurations copy across unchanged. Your fresh sandbox can happily call your live ERP or payment gateway. Repoint them before anyone tests anything.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Real Customer Data Is Present:<\/b><span style=\"font-weight: 400;\"> Partial and Full copies bring live personal data into a lower-security environment. Mask it before granting access.<\/span><\/li>\n<\/ul>\n<p><b>Release Windows Cause Version Drift:<\/b><span style=\"font-weight: 400;\"> Refresh during a Salesforce release window, and your sandbox may end up on a different platform version than production, which makes any testing you do unreliable.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">See <\/span><span style=\"font-weight: 400;\">managing Salesforce\u2019s three annual releases<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n<h2><b>The Post-Refresh Checklist<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Work through this before anyone logs in:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Sandbox activated in Setup<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">User emails corrected and passwords reset<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Integration users recreated, security tokens regenerated<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Org ID change communicated to every integration owner<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Named Credentials and remote site settings repointed away from production<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Outbound email deliverability set to System email only<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Scheduled jobs and Flows reviewed &#8211; many restart automatically<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Data Mask run on any Partial or Full copy<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Permission sets and profiles checked for over-granted access<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Undeployed work from the previous sandbox confirmed as deployed or documented<\/span><\/li>\n<\/ul>\n<h2><b>Cloning: The Alternative to Refreshing<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Sandbox Clone duplicates an existing sandbox rather than pulling from production; it skips the refresh wait and preserves the configuration you\u2019ve already built.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Use it when:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Your QA team needs several identical environments<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">You want to reuse a configured setup without rebuilding it<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">You need a snapshot before a risky change<\/span><\/li>\n<\/ul>\n<p><i><span style=\"font-weight: 400;\">The Trade-Off<\/span><\/i><span style=\"font-weight: 400;\">: a clone doesn\u2019t sync with production, so it inherits any drift the source sandbox already had.<\/span><\/p>\n<h2><b>Data Mask and Sandbox Seeding<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Data Mask anonymises sensitive data in a sandbox: names, emails, phone numbers, identifiers, after a refresh. It\u2019s a managed package installed in production and runs against the sandbox.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If you\u2019re in a regulated industry, this isn\u2019t optional; a Full sandbox contains every customer record you hold, typically with looser access controls than production.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">See <\/span><span style=\"font-weight: 400;\">Privacy Center and Data Mask<\/span><span style=\"font-weight: 400;\"> and <\/span><span style=\"font-weight: 400;\">Salesforce compliance<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b><i>Sandbox seeding<\/i><\/b><i><span style=\"font-weight: 400;\"> is the opposite problem<\/span><\/i><span style=\"font-weight: 400;\">: A Developer sandbox has no data at all, so the options are a test data factory in Apex, Data Loader with a prepared CSV set, or a seeding tool. Building a reusable seed set is one of the highest-return things a team can do &#8211; it turns \u201cwait for a Partial Copy refresh\u201d into \u201crun the script.\u201d<\/span><\/li>\n<\/ul>\n<h2><b>Environment Strategy: What You Actually Need<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">More sandboxes isn\u2019t better; each one needs refreshing, governing, and, past your allotment, paying for.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-19909\" src=\"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_46_05-PM.webp\" alt=\"Salesforce sandbox environment strategy\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_46_05-PM.webp 1536w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_46_05-PM-1024x683.webp 1024w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_46_05-PM-768x512.webp 768w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_46_05-PM-640x427.webp 640w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-11-2026-02_46_05-PM-400x267.webp 400w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><\/p>\n<p><i><span style=\"font-weight: 400;\">Environment strategy by team size showing small teams need two sandboxes, mid-size teams need four, and enterprises need scratch orgs plus four or five sandboxes<\/span><\/i><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>The Principle<\/b><span style=\"font-weight: 400;\">: One environment per purpose, not one per person. A Developer sandbox each is fine &#8211; those are cheap and disposable, but a Full sandbox of each is not.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Where Scratch Orgs Fit:<\/b><span style=\"font-weight: 400;\"> Scratch orgs are disposable, source-tracked environments created from a definition file, spun up in minutes and thrown away. They suit source-driven development and per-feature isolation, and they reduce how many Developer sandboxes you need. They don\u2019t replace Partial or Full copies, because they have no production data. Most mature teams run both.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">See <\/span><span style=\"font-weight: 400;\">Salesforce DevOps and CI\/CD<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n<h2><b>Naming and Governance<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Sandbox names become part of every username in that environment (<\/span><span style=\"font-weight: 400;\">user@company.com.uat<\/span><span style=\"font-weight: 400;\">) and can\u2019t be changed without a refresh, so make sure to get it right the first time.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Name By Purpose, Not By Person:<\/b> <span style=\"font-weight: 400;\">DEV_JSMITH<\/span><span style=\"font-weight: 400;\"> becomes an unowned mystery the day they leave. <\/span><span style=\"font-weight: 400;\">UAT<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">INT<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">STAGING<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">TRAINING<\/span><span style=\"font-weight: 400;\"> stay meaningful.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Keep Names Short:<\/b><span style=\"font-weight: 400;\"> They\u2019re appended to every username.<\/span><\/li>\n<\/ul>\n<p><b>Governance that prevents sprawl:<\/b><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A named owner per environment, documented<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A published refresh calendar, with Full sandbox windows planned around releases<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A rule that undeployed work is deployed or documented before any refresh<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Quarterly review &#8211; delete sandboxes nobody has logged into<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Old sandboxes consume licences you may need and hold stale customer data nobody is auditing.<\/span><\/p>\n<div style=\"background: #EEF2FE; border: 1px solid #DBE2FB; border-radius: 14px; padding: 28px 32px; margin: 38px 0;\">\n<h4 style=\"color: #1b3fae; font-size: 22px; line-height: 1.3; font-weight: bold; margin: 0 0 10px;\"><span style=\"font-weight: 400;\"><b>Refreshes breaking things every time? <\/b><\/span><\/h4>\n<p style=\"color: #4b5563; font-size: 16px; line-height: 1.6; margin: 0 0 22px;\"><span style=\"font-weight: 400;\">That\u2019s usually an environment strategy problem, not a refresh problem. We\u2019ll review how your sandboxes are structured and what your pipeline actually needs.<\/span><\/p>\n<p><a style=\"display: inline-block; background: #2563EB; color: #ffffff; text-decoration: none; font-size: 15px; font-weight: 600; padding: 13px 26px; border-radius: 8px;\" href=\"https:\/\/dianapps.com\/salesforce-development-services\">Talk to our Salesforce development team \u2192<\/a><\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h2><b>What Do Sandboxes Cost?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Sandboxes are included with your edition up to an allotment, and purchasable beyond it.<\/span><\/p>\n\n<table id=\"tablepress-254\" class=\"tablepress tablepress-id-254\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Edition<\/th><th class=\"column-2\">Typically includes<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Professional<\/td><td class=\"column-2\">Developer sandboxes only<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Enterprise<\/td><td class=\"column-2\">Developer, Developer Pro and Partial Copy<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Unlimited \/ Performance<\/td><td class=\"column-2\">All four types, including Full<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-254 from cache -->\n<p><span style=\"font-weight: 400;\">Additional sandboxes, particularly full, are priced as a percentage of your net annual licence spend, which means they scale with your org rather than being a flat fee. For a large org, an extra Full sandbox is a material line item.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Before Buying Another One, Check Utilisation:<\/b><span style=\"font-weight: 400;\"> In the orgs we review at DianApps, unused or duplicated sandboxes are common &#8211; teams provision one for a project and never delete it. A cleanup often frees exactly the licence someone was about to purchase.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">More on managing platform costs: <\/span><span style=\"font-weight: 400;\">Salesforce customization cost<\/span><\/p>\n<h2><b>Final Thoughts<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Salesforce sandbox management is not just about choosing the right sandbox type or waiting for the next refresh window. A well-planned environment strategy protects your work, keeps integrations connected, prevents production data from leaking into testing, and gives your development and QA teams a reliable place to work. If refreshes regularly turn into broken integrations and last-minute firefighting, it may be time to rethink how your Salesforce environments are structured and governed.<\/span><\/p>\n<p>&nbsp;<\/p>\n<style>.elementor-19898 .elementor-element.elementor-element-2932a52{text-align:left;}.elementor-19898 .elementor-element.elementor-element-2932a52 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-19898 .elementor-element.elementor-element-0b767d1 .elementor-tab-title{border-width:1px;border-color:#00000014;}.elementor-19898 .elementor-element.elementor-element-0b767d1 .elementor-tab-content{border-width:1px;border-bottom-color:#00000014;}.elementor-19898 .elementor-element.elementor-element-0b767d1 > .elementor-widget-container{margin:0px 0px 0px 0px;}<\/style><div class=\"porto-block elementor elementor-19898\">\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-27707ca elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"27707ca\" data-element_type=\"section\">\r\n\t\t\t\r\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0163611\" data-id=\"0163611\" data-element_type=\"column\">\r\n\r\n\t\t\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-03a2969 elementor-widget elementor-widget-text-editor\" data-id=\"03a2969\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.14.0 - 26-06-2023 *\/\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2932a52 elementor-widget elementor-widget-heading\" data-id=\"2932a52\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.14.0 - 26-06-2023 *\/\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style><h2 class=\"elementor-heading-title elementor-size-large\">FAQs <\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0b767d1 elementor-widget elementor-widget-toggle\" data-id=\"0b767d1\" data-element_type=\"widget\" data-widget_type=\"toggle.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.14.0 - 26-06-2023 *\/\n.elementor-toggle{text-align:left}.elementor-toggle .elementor-tab-title{font-weight:700;line-height:1;margin:0;padding:15px;border-bottom:1px solid #d5d8dc;cursor:pointer;outline:none}.elementor-toggle .elementor-tab-title .elementor-toggle-icon{display:inline-block;width:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon svg{-webkit-margin-start:-5px;margin-inline-start:-5px;width:1em;height:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-right{float:right;text-align:right}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left{float:left;text-align:left}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed{display:block}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-opened{display:none}.elementor-toggle .elementor-tab-title.elementor-active{border-bottom:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed{display:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened{display:block}.elementor-toggle .elementor-tab-content{padding:15px;border-bottom:1px solid #d5d8dc;display:none}@media (max-width:767px){.elementor-toggle .elementor-tab-title{padding:12px}.elementor-toggle .elementor-tab-content{padding:12px 10px}}.e-con-inner>.elementor-widget-toggle,.e-con>.elementor-widget-toggle{width:var(--container-widget-width);--flex-grow:var(--container-widget-flex-grow)}<\/style>\t\t<div class=\"elementor-toggle\">\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1201\" class=\"elementor-tab-title\" data-tab=\"1\" role=\"button\" aria-controls=\"elementor-tab-content-1201\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Does refreshing a Salesforce sandbox change the Org ID?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1201\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"1\" role=\"region\" aria-labelledby=\"elementor-tab-title-1201\"><p><span style=\"font-weight: 400;\">Yes, a refresh provides a new org rather than updating the existing one, so the Org ID changes. This breaks integrations authenticated against the old ID &#8211; some platforms lock a connection to a single Org ID and require a support ticket to re-pair. Disable syncs before refreshing and plan the reconnection.<\/span><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1202\" class=\"elementor-tab-title\" data-tab=\"2\" role=\"button\" aria-controls=\"elementor-tab-content-1202\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">What happens to my work when I refresh a sandbox?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1202\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"2\" role=\"region\" aria-labelledby=\"elementor-tab-title-1202\"><p><span style=\"font-weight: 400;\">Anything built in that sandbox and not deployed to production is permanently deleted. A refresh copies metadata from production and overwrites what\u2019s there. Deploy or document your work before refreshing, as there\u2019s no recovery afterwards.<\/span><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1203\" class=\"elementor-tab-title\" data-tab=\"3\" role=\"button\" aria-controls=\"elementor-tab-content-1203\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Can I refresh one sandbox from another sandbox?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1203\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"3\" role=\"region\" aria-labelledby=\"elementor-tab-title-1203\"><p><span style=\"font-weight: 400;\">No, refreshes always pull from production. If you want a copy of a configured sandbox, use Sandbox Clone instead, which duplicates an existing sandbox without syncing it to production.<\/span><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1204\" class=\"elementor-tab-title\" data-tab=\"4\" role=\"button\" aria-controls=\"elementor-tab-content-1204\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">How long does a Salesforce sandbox refresh take?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1204\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"4\" role=\"region\" aria-labelledby=\"elementor-tab-title-1204\"><p><span style=\"font-weight: 400;\">From a few minutes for a developer sandbox to hours and more than a day for a full sandbox on a large, heavily customised org. Duration depends on data volume and customisation. Orgs on Hyperforce generally refresh faster &#8211; check for the Hyperforce badge on the Sandbox list page in Setup.<\/span><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1205\" class=\"elementor-tab-title\" data-tab=\"5\" role=\"button\" aria-controls=\"elementor-tab-content-1205\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">How often can you refresh a Salesforce sandbox?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1205\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"5\" role=\"region\" aria-labelledby=\"elementor-tab-title-1205\"><p><span style=\"font-weight: 400;\">Developer and Developer Pro once per day, Partial Copy every five days, Full every 29 days. Attempt it sooner, and the Refresh button is disabled. You also need an available sandbox licence.<\/span><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1206\" class=\"elementor-tab-title\" data-tab=\"6\" role=\"button\" aria-controls=\"elementor-tab-content-1206\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Will my sandbox send emails to real customers?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1206\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"6\" role=\"region\" aria-labelledby=\"elementor-tab-title-1206\"><p><span style=\"font-weight: 400;\">It can, which is why this matters. Salesforce appends <\/span><span style=\"font-weight: 400;\">.invalid<\/span><span style=\"font-weight: 400;\"> to user emails, but Named Credentials, remote site settings, and integrations carry over unchanged. Set email deliverability to System email only and repoint endpoints before anyone tests.<\/span><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1207\" class=\"elementor-tab-title\" data-tab=\"7\" role=\"button\" aria-controls=\"elementor-tab-content-1207\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">What\u2019s the difference between a Developer sandbox and a Full sandbox?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1207\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"7\" role=\"region\" aria-labelledby=\"elementor-tab-title-1207\"><p><span style=\"font-weight: 400;\">A Developer sandbox copies metadata only, with 200MB of storage and daily refreshes. A Full sandbox copies all metadata <\/span><i><span style=\"font-weight: 400;\">and<\/span><\/i><span style=\"font-weight: 400;\"> all production data, mirrors production storage, and can only be refreshed every 29 days. Developer is for building; Full is for final UAT and performance testing.<\/span><\/p><h3>\u00a0<\/h3><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1208\" class=\"elementor-tab-title\" data-tab=\"8\" role=\"button\" aria-controls=\"elementor-tab-content-1208\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Do I need to activate a sandbox after refreshing?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1208\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"8\" role=\"region\" aria-labelledby=\"elementor-tab-title-1208\"><p><span style=\"font-weight: 400;\">Yes, c<\/span><i><span style=\"font-weight: 400;\">opy complete<\/span><\/i><span style=\"font-weight: 400;\"> isn\u2019t the same as ready to use. Go to Setup \u2192 Sandboxes, find the refreshed sandbox, and click Activate. Skipping this is one of the most common reasons a refresh appears to have failed.<\/span><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1209\" class=\"elementor-tab-title\" data-tab=\"9\" role=\"button\" aria-controls=\"elementor-tab-content-1209\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Should I use scratch orgs or sandboxes?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1209\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"9\" role=\"region\" aria-labelledby=\"elementor-tab-title-1209\"><p><span style=\"font-weight: 400;\">Both Scratch orgs are disposable and source-tracked, ideal for per-feature development and reducing Developer sandbox demand. They contain no production data, so they don\u2019t replace Partial or Full copies for QA, UAT, or performance testing.<\/span><\/p><h2>\u00a0<\/h2><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Does refreshing a Salesforce sandbox change the Org ID?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">Yes, a refresh provides a new org rather than updating the existing one, so the Org ID changes. This breaks integrations authenticated against the old ID &#8211; some platforms lock a connection to a single Org ID and require a support ticket to re-pair. Disable syncs before refreshing and plan the reconnection.<\\\/span><\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"What happens to my work when I refresh a sandbox?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">Anything built in that sandbox and not deployed to production is permanently deleted. A refresh copies metadata from production and overwrites what\\u2019s there. Deploy or document your work before refreshing, as there\\u2019s no recovery afterwards.<\\\/span><\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"Can I refresh one sandbox from another sandbox?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">No, refreshes always pull from production. If you want a copy of a configured sandbox, use Sandbox Clone instead, which duplicates an existing sandbox without syncing it to production.<\\\/span><\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"How long does a Salesforce sandbox refresh take?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">From a few minutes for a developer sandbox to hours and more than a day for a full sandbox on a large, heavily customised org. Duration depends on data volume and customisation. Orgs on Hyperforce generally refresh faster &#8211; check for the Hyperforce badge on the Sandbox list page in Setup.<\\\/span><\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"How often can you refresh a Salesforce sandbox?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">Developer and Developer Pro once per day, Partial Copy every five days, Full every 29 days. Attempt it sooner, and the Refresh button is disabled. You also need an available sandbox licence.<\\\/span><\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"Will my sandbox send emails to real customers?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">It can, which is why this matters. Salesforce appends <\\\/span><span style=\\\"font-weight: 400;\\\">.invalid<\\\/span><span style=\\\"font-weight: 400;\\\"> to user emails, but Named Credentials, remote site settings, and integrations carry over unchanged. Set email deliverability to System email only and repoint endpoints before anyone tests.<\\\/span><\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"What\\u2019s the difference between a Developer sandbox and a Full sandbox?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">A Developer sandbox copies metadata only, with 200MB of storage and daily refreshes. A Full sandbox copies all metadata <\\\/span><i><span style=\\\"font-weight: 400;\\\">and<\\\/span><\\\/i><span style=\\\"font-weight: 400;\\\"> all production data, mirrors production storage, and can only be refreshed every 29 days. Developer is for building; Full is for final UAT and performance testing.<\\\/span><\\\/p><h3>\\u00a0<\\\/h3>\"}},{\"@type\":\"Question\",\"name\":\"Do I need to activate a sandbox after refreshing?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">Yes, c<\\\/span><i><span style=\\\"font-weight: 400;\\\">opy complete<\\\/span><\\\/i><span style=\\\"font-weight: 400;\\\"> isn\\u2019t the same as ready to use. Go to Setup \\u2192 Sandboxes, find the refreshed sandbox, and click Activate. Skipping this is one of the most common reasons a refresh appears to have failed.<\\\/span><\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"Should I use scratch orgs or sandboxes?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">Both Scratch orgs are disposable and source-tracked, ideal for per-feature development and reducing Developer sandbox demand. They contain no production data, so they don\\u2019t replace Partial or Full copies for QA, UAT, or performance testing.<\\\/span><\\\/p><h2>\\u00a0<\\\/h2>\"}}]}<\/script>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/section>\r\n\t\t<\/div>\n<p>&nbsp;<\/p>\n<h2><b>Where to Go Next<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">For the pipeline that moves work between these environments, see <\/span><span style=\"font-weight: 400;\">Salesforce DevOps: CI\/CD and release management<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For handling the three annual platform releases your sandboxes have to stay aligned with, see <\/span><span style=\"font-weight: 400;\">managing Salesforce releases<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For the testing standards that make a sandbox useful, see the <\/span><span style=\"font-weight: 400;\">Apex guide<\/span><span style=\"font-weight: 400;\"> &#8211; particularly the section on test data factories.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For the broader picture, the <\/span><a href=\"https:\/\/dianapps.com\/blog\/salesforce-development-guide\/\"><span style=\"font-weight: 400;\">complete Salesforce development guide<\/span><\/a><span style=\"font-weight: 400;\"> is the hub.<\/span><\/p>\n<h2><b>When Environment Management Becomes the Bottleneck<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">If every refresh means a day of firefighting &#8211; broken integrations, lost work, endpoints pointing somewhere they shouldn\u2019t &#8211; the problem usually isn\u2019t the refresh. It\u2019s that the environment strategy grew by accident.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We\u2019re a certified Salesforce Consulting Partner, and untangling sandbox sprawl is routine work for our team: mapping what each environment is for, building a refresh calendar that survives release windows, setting up Data Mask, and putting a real deployment pipeline underneath it. Our <\/span><a href=\"https:\/\/dianapps.com\/salesforce-development-services\"><span style=\"font-weight: 400;\">Salesforce development services<\/span><\/a><span style=\"font-weight: 400;\"> can also help you optimize your broader Salesforce environment, integrations, and development workflows as your requirements grow.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here\u2019s the thing most sandbox guides skip: A refresh doesn\u2019t update your sandbox; it deletes it and provides a new one with a new Org ID. That single detail is why teams come back from a refresh to find their Marketo sync dead, their middleware unauthenticated, and a support ticket queue between them and a [&hellip;]<\/p>\n","protected":false},"author":15,"featured_media":19910,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_meta-robots-noindex":"","_yoast_wpseo_meta-robots-nofollow":"","_yoast_wpseo_canonical":"","_yoast_wpseo_opengraph-title":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_opengraph-image":"","_yoast_wpseo_twitter-title":"","_yoast_wpseo_twitter-description":"","_yoast_wpseo_twitter-image":"","_wp_applaud_exclude":false,"footnotes":""},"categories":[85],"tags":[2579],"class_list":["post-19893","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-salesforce","tag-salesforce-sandbox"],"featured_image_src":{"landsacpe":["https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/Untitled-design-70-1140x445.webp",1140,445,true],"list":["https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/Untitled-design-70-463x348.webp",463,348,true],"medium":["https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/Untitled-design-70-300x169.webp",300,169,true],"full":["https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/Untitled-design-70.webp",1536,864,false]},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Salesforce Sandbox Explained: Types, Refresh Limits, &amp; Refresh<\/title>\n<meta name=\"description\" content=\"Learn Salesforce sandbox types, refresh limits, Org ID changes, post-refresh issues, cloning, Data Mask, environment strategy, costs and best practices.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Salesforce Sandbox Explained: Types, Refresh Limits, &amp; Refresh\" \/>\n<meta property=\"og:description\" content=\"Learn Salesforce sandbox types, refresh limits, Org ID changes, post-refresh issues, cloning, Data Mask, environment strategy, costs and best practices.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/\" \/>\n<meta property=\"og:site_name\" content=\"Learn About Digital Transformation &amp; Development | DianApps Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-11T10:16:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-11T10:17:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/Untitled-design-70.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"864\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Vaibhav Sharma\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vaibhav Sharma\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Salesforce Sandbox Explained: Types, Refresh Limits, & Refresh","description":"Learn Salesforce sandbox types, refresh limits, Org ID changes, post-refresh issues, cloning, Data Mask, environment strategy, costs and best practices.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/","og_locale":"en_US","og_type":"article","og_title":"Salesforce Sandbox Explained: Types, Refresh Limits, & Refresh","og_description":"Learn Salesforce sandbox types, refresh limits, Org ID changes, post-refresh issues, cloning, Data Mask, environment strategy, costs and best practices.","og_url":"https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/","og_site_name":"Learn About Digital Transformation &amp; Development | DianApps Blog","article_published_time":"2026-08-11T10:16:12+00:00","article_modified_time":"2026-08-11T10:17:16+00:00","og_image":[{"width":1536,"height":864,"url":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/Untitled-design-70.webp","type":"image\/webp"}],"author":"Vaibhav Sharma","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Vaibhav Sharma","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/#article","isPartOf":{"@id":"https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/"},"author":{"name":"Vaibhav Sharma","@id":"https:\/\/dianapps.com\/blog\/#\/schema\/person\/e0ee1e2a6cfb8681a3cc69154f8d8bcf"},"headline":"Salesforce Sandbox Explained: Types, Refresh Limits, &#038; What Breaks After a Refresh","datePublished":"2026-08-11T10:16:12+00:00","dateModified":"2026-08-11T10:17:16+00:00","mainEntityOfPage":{"@id":"https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/"},"wordCount":1870,"commentCount":0,"image":{"@id":"https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/#primaryimage"},"thumbnailUrl":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/Untitled-design-70.webp","keywords":["Salesforce Sandbox"],"articleSection":["Salesforce"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/","url":"https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/","name":"Salesforce Sandbox Explained: Types, Refresh Limits, & Refresh","isPartOf":{"@id":"https:\/\/dianapps.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/#primaryimage"},"image":{"@id":"https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/#primaryimage"},"thumbnailUrl":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/Untitled-design-70.webp","datePublished":"2026-08-11T10:16:12+00:00","dateModified":"2026-08-11T10:17:16+00:00","author":{"@id":"https:\/\/dianapps.com\/blog\/#\/schema\/person\/e0ee1e2a6cfb8681a3cc69154f8d8bcf"},"description":"Learn Salesforce sandbox types, refresh limits, Org ID changes, post-refresh issues, cloning, Data Mask, environment strategy, costs and best practices.","breadcrumb":{"@id":"https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/#primaryimage","url":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/Untitled-design-70.webp","contentUrl":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/08\/Untitled-design-70.webp","width":1536,"height":864,"caption":"Salesforce Sandbox Explained: Types, refresh limits and what happens after a refresh"},{"@type":"BreadcrumbList","@id":"https:\/\/dianapps.com\/blog\/salesforce-sandbox-explained\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dianapps.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Salesforce Sandbox Explained: Types, Refresh Limits, &#038; What Breaks After a Refresh"}]},{"@type":"WebSite","@id":"https:\/\/dianapps.com\/blog\/#website","url":"https:\/\/dianapps.com\/blog\/","name":"Learn About Digital Transformation &amp; Development | DianApps Blog","description":"Dianapps","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dianapps.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/dianapps.com\/blog\/#\/schema\/person\/e0ee1e2a6cfb8681a3cc69154f8d8bcf","name":"Vaibhav Sharma","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/07\/cropped-Vaibhav-Sharma-Salesforce-Specialist-96x96.jpg","url":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/07\/cropped-Vaibhav-Sharma-Salesforce-Specialist-96x96.jpg","contentUrl":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/07\/cropped-Vaibhav-Sharma-Salesforce-Specialist-96x96.jpg","caption":"Vaibhav Sharma"},"description":"A Salesforce specialist with over 15 years in the field, Vaibhav Sharma has built his career at the intersection of CRM strategy and enterprise transformation. As the driving force behind Salesforce innovation at DianApps, he architects solutions across Sales Cloud, Service Cloud, and Experience Cloud that turn fragmented customer data into unified growth engines. His work spans a 360-degree perspective in BFSI, healthcare, and retail, where he's known for engineering platforms that don't just go live, they move revenue and retention numbers. Vaibhav's edge lies in reading where Salesforce is headed next, from AI-powered automation, AgentExchange to Agentforce, and translating that foresight into roadmaps enterprise leaders can act on today.","url":"https:\/\/dianapps.com\/blog\/author\/vaibhav-sharma\/"}]}},"_links":{"self":[{"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/posts\/19893","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/comments?post=19893"}],"version-history":[{"count":3,"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/posts\/19893\/revisions"}],"predecessor-version":[{"id":19911,"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/posts\/19893\/revisions\/19911"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/media\/19910"}],"wp:attachment":[{"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/media?parent=19893"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/categories?post=19893"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/tags?post=19893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}