In the Salesforce ecosystem, effective development and testing are crucial for businesses competing in today's world. Central to this process are Salesforce sandboxes – a significant development and testing environment for Developers, Testers, and Administrators alike.
Harald is the Co-Founder of Hutte, bringing his vision of no-code DevOps to life. His passion enables teams and individuals to focus on what matters most – bringing value to the users they build for.
Matthias Rolke
Freelance DevOps Consultant
Matthias is a freelance DevOps consultant for the Salesforce platform and an advisor for Hutte. He loves open-source software and maintains a few SFDX-related tools.
Article Highlights
Developer Sandboxes are essential for individual developers or small teams to build and test new features without affecting the live system.
Developer Pro Sandboxes offer increased storage and features for larger teams or projects, supporting extensive data handling and comprehensive testing.
Partial Copy Sandboxes provide a balance by offering a subset of production data for realistic testing while ensuring data privacy and compliance.
In this article, I'll discuss Salesforce sandbox types and templates, offering insights to enhance your development workflow. Whether you're a seasoned Salesforce professional or starting out, mastering sandbox management is crucial in driving success in your Salesforce projects.
But it won't be wrong to state that sandbox management in the native Salesforce platform can be improved drastically. Hence, I'll also demonstrate how tools like Hutte make working with sandboxes more efficient.
But first, let's start with the absolute basics.
What is a Salesforce sandbox?
A Salesforce sandbox is a dedicated environment replicating a production org's functionalities. Salesforce Developers, Administrators, and Testers use a sandbox to build, customize, and test applications, configurations, and processes without impacting the live system.
These sandboxes provide:
A safe and isolated space for experimentation
A space where users can develop and test new features
Integrations
Updates before deploying them to the production environment.
They help minimize the risk of errors and disruptions by providing a controlled environment for development and testing activities.
4️⃣
But there's a small catch – the type of data you get depends on the sandbox type. There are four types of Salesforce sandbox environments, each with its own considerations with a support or requirement for sandbox templates.
Types of Salesforce sandboxes
As mentioned above, Salesforce provides a range of sandbox types, each serving distinct purposes and catering to different development and testing requirements. Let's now delve deeper into the characteristics and advantages of each type.
A Developer Sandbox
A Developer Sandbox is an entry-level environment for individual Developers or small teams. It replicates your production org's metadata, allowing Developers to build and test new features, customizations, and integrations without affecting the live system.
While Developer Sandboxes don't include real data, they provide a valuable space for code experimentation and development. In Developer Sandboxes, you get one refresh per day and a file and data storage limit of 200MB.
A Developer Pro Sandbox
A Developer Pro Sandbox builds upon the capabilities of a Developer Sandbox by offering additional storage space and enhanced features. This sandbox type suits larger development teams or projects requiring more resources.
With Developer Pro, you can work with larger datasets and perform more comprehensive testing, including full data copy capabilities for realistic scenarios.
In Developer Pro Sandboxes, you get one refresh per day and a file and data storage limit of 1GB.
A Partial Copy Sandbox
A Partial Copy Sandbox balances data realism and privacy by providing a subset of production data and metadata. This sandbox type is ideal for testing scenarios that require realistic data but don't require a full copy of production data.
Partial Copy Sandboxes enable organizations to conduct thorough testing while protecting sensitive information and complying with privacy regulations.
In Partial Copy Sandboxes, you get a refresh interval of five days and a file and data storage up to 5GB.
A Full Sandbox
As the most comprehensive sandbox type, a Full Sandbox replicates your production org, including metadata and data. This sandbox mirrors the live environment, making it suitable for extensive testing, user training, and staging environment setups.
Full Sandboxes enable you to validate complex configurations, conduct end-to-end testing, and confidently simulate production scenarios. In Full Sandboxes, you get a 29-day refresh interval and a storage limit mirroring your production org.
Sandbox type
Metadata
Data
Ideal for
Refresh interval
Data storage limit
A Developer Sandbox
A replica of the production org
No real data
Code development and testing
Once per day
200MB
A Developer Pro Sandbox
A replica of the production org
A partial or full data copy
Larger development teams and projects
Once per day
1GB
A Partial Copy Sandbox
A replica of the production org
A subset of production data
Realistic testing while protecting sensitive information
Every five-six days
5GB
A Full Sandbox
A replica of the production org
A Full copy of production data
Comprehensive testing, user training, and staging environments
Every 29 days
The same as the production org
👉
Author's note: When choosing a sandbox type, consider factors such as the size of your organization, the complexity of your projects, and the level of data privacy required. By selecting the appropriate sandbox type, you can optimize your development workflow, mitigate risks, and successfully deliver high-quality Salesforce solutions.
Most of my experience was with full-copy sandboxes as they replicate the production environment, give a production-like environment to work on, and minimize deployment risks.
A sandbox template is a guiding framework for determining the data to include when initiating a new sandbox in Salesforce. Only useful for Partial Copy or Full Sandboxes, these templates allow you to specify the precise objects and data to be incorporated rather than duplicating everything from the production org.
This targeted approach conserves storage space and enhances testing efficiency by focusing on relevant areas. Here's a step-by-step guide to creating a new sandbox template in Salesforce:
Log into your org and go to "Setup." Locate the "Sandboxes" section.
Click on the "Sandbox Templates" tab and select the "New Sandbox Template" button to begin creating.
Provide a clear and descriptive name for the template and a brief description outlining its purpose.
Choose from standard and custom objects to determine the sandbox's content. For each selected object, specify whether to include all records, no records, or a defined subset of records.
✍️
Author's note: Salesforce will notify you if excluding an object results in removing related objects. This ensures comprehensive data management.
By offering flexibility in data management, these templates ensure that sandbox environments accurately reflect production scenarios, allowing robust testing and development workflows.
Key considerations
Sandbox templates apply to Partial Copy and Full Sandboxes, catering to diverse testing needs.
Data included in sandbox templates are static and reflect the state when the sandbox is created or refreshed. Regular sandbox refreshes are recommended to maintain relevance with current data.
You can optimize Salesforce testing and development processes with sandbox templates, fostering efficiency and reliability in sandbox environments.
Creating a Salesforce sandbox
Now that you are familiar with the types and templates of Salesforce sandboxes, let's see how to create one:
Log into Salesforce as an administrator.
Go to "Setup" and search for "Sandboxes." Select it.
Click on the "NewSandbox" button.
Choose the type of sandbox you want (Developer, Developer Pro, Partial Copy, or Full Copy Sandbox).
Enter a name and description for your sandbox.
Optionally, select data to include (for Partial Copy and Full Copy Sandboxes). Click "Create."
The creation process may take some time, depending on the sandbox type and current system load. You'll receive an email notification when the sandbox is ready. If you're creating a Developer Sandbox, you get it within a few minutes. A full sandbox can take up to 24 hours. This usually depends on the data and metadata that is being included.
💡
Author's note: Once your sandbox is ready, all the users will have '.sandbox name' added to their username and a '.invalid' extension to their email.
Creating a sandbox with Hutte
If you use Hutte, you know you can create a sandbox with just one click. Here's how:
Refreshing a Salesforce sandbox
Log into your Salesforce account with administrative privileges.
Go to "Setup" from the Salesforce homepage.
In the search bar, type "Sandboxes."
On the "Sandboxes" page, locate the sandbox you want to refresh.
Check if the sandbox is available for a refresh. It should have a "Refresh" option next to its name.
Click the "Refresh" option next to the sandbox you wish to update.
Confirm your action to proceed with the refresh.
Follow the prompts in the refresh wizard to choose your refresh options. You may be able to choose the data source for the refresh (from production or another sandbox). After selecting your options, submit the refresh request.
The refresh process may take some time, depending on system load and sandbox size. Like sandbox creation, you will receive a confirmation email when the refresh is complete and the sandbox is ready.
Refreshing (or creating) a sandbox from another sandbox
Did it come as a shocker?Yes, you can create or refresh a sandbox from another sandbox if both have the same license. This is particularly helpful in copying metadata to your sandbox.
✅
Users at Hutte often use this feature with Sandbox Pooling. You can select a source sandbox when refreshing or creating a new sandbox in Hutte.
Here's how it looks 👀
Deploying from sandbox to production made easy
You now know how to create and refresh a sandbox. But remember the primary reason for having one. A sandbox is used to develop, create, and test features without impacting the live org.
Typically, teams share development orgs or allocate permanent dev orgs to individual team members. Unfortunately, this practice often leads to outdated development environments and complications when integrating multiple team members' contributions.
This can make your development cycle a bit of a rollercoaster. Enter Hutte's "Sandbox Pooling" to the rescue.
Sandbox Pooling seamlessly combines the strengths of scratch orgs – known for their short lifespan – with sandboxes, which provide the most efficient way to replicate the production environment you're targeting your development for.
🏊♂️
This concept mirrors and extends to Hutte's popular Scratch Org Pooling feature, where we make fresh Orgs instantly accessible to Developers at any time. You can simply select an Org and start developing your features without delay.
Hutte has now introduced a similar concept for sandboxes.
See it in action by watching our demo 🎬
I prefer project setups where no sandboxes are involved. I prefer to use scratch orgs over sandboxes in both simple and complex projects. As a Developer, I have a strong opinion to use a version control system as the source of truth. This model only works reliably with scratch orgs.
Matthias Rolke
Freelance DevOps Consultant
Ready to dive into the pool of Salesforce sandboxes?
In this article, I've thoroughly explored Salesforce sandboxes, covering the various types and templates available, understanding their role in development and testing, and the essential steps for their creation, refreshment, and deployment.
Throughout the article, the focus has been on enhancing productivity and reducing complexities, which brings me to Hutte.
⏰
Hutte introduces a straightforward approach to Salesforce sandbox management, reshaping how to create, refresh, and deploy sandboxes. With Hutte's Sandbox Pooling, you can eliminate prolonged refresh times and use one-click sandbox creation and logins, saving two-four hours weekly.
Sushrut is a skilled Salesforce Developer, Technical Writer, and Entrepreneur. His expertise includes front-end dev, Web3, and DevRel. He leverages technology to craft exceptional digital experiences.