SandboxProcess

Represents the sandbox copy process for a SandboxInfo record.

When you create a SandboxInfo record, a corresponding SandboxProcess record is created. The latest SandboxProcess record for a SandboxInfo record represents the current state of the sandbox.

Version 

Introduced in API version 35.0.

Supported SOAP API Calls 

describeSObjects(), query(), retrieve(), update()

Supported REST API Methods 

GET, HEAD, PATCH, Query

Fields 

ActivatedById 

  • Type: reference

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Description: A reference to the ID of the user who requested sandbox activation.

  • Relationship name: ActivatedBy

  • Relationship type: relationship

  • Refers to: User

ActivatedDate 

  • Type: datetime

  • Required: No

  • Properties: Filter, Nillable, Sort

  • Description: Represents when the sandbox was activated during a refresh.

ActivationUserGroupId 

  • Type: reference

  • Required: No

  • Properties: Filter, Group, Nillable, Sort, Update

  • Introduced: API version 60.0

  • Description: A reference to the ID of the group consisting of users who can access the sandbox. The user who created the sandbox is added to the group by default.

This field is a relationship field.

  • Relationship name: ActivationUserGroup
  • Relationship type: relationship
  • Refers to: Group

ApexClassId 

  • Type: reference

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Introduced: API version 36.0

  • Description: A reference to the ID of an Apex class to run after each copy of the sandbox. Running this class allows you to perform DML operations on the sandbox to prepare it for use. The class must extend the System.SandboxPostCopy interface.

  • Relationship name: ApexClass

  • Relationship type: relationship

  • Refers to: ApexClass

AutoActivate 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Description: Represents whether the sandbox refresh is configured to activate immediately upon completion.

  • Default value: false

CopyChatter 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Description: Represents whether archived Chatter data is copied to the sandbox.

  • Default value: false

CopyProgress 

  • Type: int

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Description: Represents how much of a copy has been completed.

Available for Developer, Developer Pro, and Full sandboxes. Not available for Full or Partial sandboxes created from sandbox templates.

Description 

  • Type: string

  • Required: No

  • Properties: Filter, Nillable, Sort

  • Description: A description of the sandbox, which helps you distinguish it from other sandboxes.

EndDate 

  • Type: datetime

  • Required: No

  • Properties: Filter, Nillable, Sort

  • Description: Represents when the sandbox copy process finished.

Features 

  • Type: textarea

  • Required: No

  • Properties: Nillable, Update

  • Introduced: API version 59.0

  • Description: The list of add-on features to apply after the sandbox is created or refreshed.

Currently there’s one valid value:

  • ['SandboxStorage']: Increases the data storage available for Developer sandboxes from 200 MB to 400 MB and Developer Pro sandboxes from 1 GB to 2 GB. You can’t use this feature with Partial Copy or Full sandboxes.

HistoryDays 

  • Type: int

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Description: Represents the number of days of object history to be copied in the sandbox.

Valid values:

  • -1, which means all available days
  • 0
  • 10
  • 20
  • 30
  • 60
  • 90
  • 120
  • 150
  • 180

LicenseType 

  • Type: picklist

  • Required: No

  • Properties: Filter, Group, Restricted picklist, Sort

  • Description: The sandbox license type. Valid values:

  • Possible values:

    • FULL — Full

    • PARTIAL — Partial Copy

    • DEVELOPER_PRO — Developer Pro

    • DEVELOPER — Developer

    • COURTESY_FULL — Courtesy Full

    • ADVANCED_DEV — Lightning Developer Pro

    • ADVANCED_FULL — Lightning Full

    • FULL_PLUS — Scale

PostCopyConfig 

  • Type: textarea
  • Required: No
  • Properties: Nillable, Update
  • Introduced: API version 68.0

PredictedDynamicCopyHours 

  • Type: string
  • Required: No
  • Properties: Filter, Group, Nillable, Sort
  • Introduced: API version 68.0

PredictedStaticCopyHours 

  • Type: string
  • Required: No
  • Properties: Filter, Group, Nillable, Sort
  • Introduced: API version 68.0

RefreshAction 

  • Type: picklist

  • Required: No

  • Properties: Filter, Group, Nillable, Restricted picklist, Sort, Update

  • Description: Editing this field activates or discards a sandbox refresh. Valid values:

  • Possible values:

    • ACTIVATE — Activate

    • DISCARD — Discard

SandboxInfoId 

  • Type: reference

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Description: A reference to the ID of the SandboxInfo being processed (create or refresh).

  • Relationship name: SandboxInfo

  • Relationship type: relationship

  • Refers to: SandboxInfo

SandboxName 

  • Type: string

  • Required: No

  • Properties: Filter, Group, idLookup, Sort

  • Description: The name of the sandbox.

SandboxOrganization 

  • Type: string

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Introduced: API version 37.0

  • Description: The ID of the org created by the copy process.

SourceId 

  • Type: reference

  • Required: No

  • Properties: Filter, Group, Nillable, Sort, Update

  • Introduced: API version 37.0

  • Description: A reference to the ID of the SandboxInfo that this sandbox is a clone of. This field is used only when cloning a sandbox. When this field is used, LicenseType must be null. Your source sandbox must be an existing, completed sandbox, that belongs to the same production org as the sandbox you’re creating or refreshing. Your SourceId value can’t be the same SandboxInfo that you’re updating.

  • Relationship name: Source

  • Relationship type: relationship

  • Refers to: SandboxInfo

StartDate 

  • Type: datetime

  • Required: No

  • Properties: Filter, Nillable, Sort

  • Description: Represents when the sandbox copy process started.

Status 

  • Type: string

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Description: Current state of the sandbox copy process.

If running a SOQL query, use the values in parentheses. Possible values include:

  • Activating
  • Activation Confirmed (5)
  • Deactivation Confirmed (6)
  • Deactivation Finished (7)
  • Activation Processing (8)
  • Completed (1)
  • Deleted (D)
  • Deleting (E)
  • Discarding (F)
  • Locked (B)
  • Locking (L)
  • Pending (0)
  • Pending Activation (4)
  • Processing (2)
  • Sampling (X)
  • Stopped (G)
  • Suspended (S)

TemplateId 

  • Type: reference

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Description: A reference to the ID of the PartitionLevelScheme that represents the sandbox template associated with the sandbox for this process. A sandbox template selects which objects to copy in a sandbox.

To use the TemplateId field, you must have the ManageSandboxes user permission.

  • Relationship name: Template
  • Relationship type: relationship
  • Refers to: PartitionLevelScheme

Usage 

SandboxInfo represents a sandbox, and SandboxProcess represents the sandbox copy process, which occurs when you create a sandbox or refresh it. You can also delete a sandbox.

Creating a Sandbox 

To enqueue a new sandbox:

  • Create a SandboxInfo record.
  • To find the status of a sandbox after it is enqueued, query SandboxProcess for a given SandboxInfoId field to find the latest SandboxProcess record. The value of Completed in Status indicates that the creation process is finished.

Refreshing a Sandbox 

To refresh a sandbox:

  • To start a sandbox refresh, edit the SandboxInfo record.
  • To find the status of a sandbox after it is enqueued, find the latest SandboxProcess record by querying SandboxProcess for a given SandboxInfoId value. The value of Status indicates the current state of the process.
  • When the Status field value is Pending Activation, change the value of the RefreshAction field to either ACTIVATE or DISCARD.

Deleting a Sandbox 

To delete a sandbox, delete the SandboxInfo record that represents the sandbox. Deleting the SandboxInfo record deletes the sandbox and frees up a license.

Checking Sandbox Progress 

Each SandboxProcess record progresses through several stages represented by the StageType and StageNumber on the SandboxProcessStage record. The system updates progress details as the copy proceeds. For every stage, you can view specifics using the Status, StartTime, EndTime, and InfoLastUpdated fields.

If your sandbox status is suspended or stopped for more than 1 hour, contact Salesforce customer support.

While the system can’t provide a time-based estimate, you can track your place in the queue or how much work exists and has been completed.

  • During the In Queue stage, you can check your current place in the queue with the EstimatedTotalWork field.
  • During the Data Copy and Activation stages, you can check how much work exists and has been completed to estimate copy completion with the EstimatedTotalWork, ActualTotalWork, and CompletedWork fields.
  • If IsActualWorkFinal = true, then ActualTotalWork is a better representation of the total work required.
  • If IsActualWorkFinal = false, then EstimatedTotalWork is a better representation of the total work required.

Note