入力規則やフローを本番に足す前に、本番と切り離した試し場の sandbox を作り、そこで確かめてから本番へ移す流れを組みます。題材は社員30名ほどの法人向けサービス会社で実際に回っている形で、商談の「失注理由」を必須にする入力規則と、受注した商談から「導入プロジェクト」を作るフローを sandbox で作り、変更セットで本番へ出すところまで通します。読み終わると、sandbox を作ってログインし、作ったものを本番に移し、古くなった sandbox を更新するまでを自分で回せます。sandbox の作成・更新には「Sandbox の管理」権限(Developer 系だけなら「Dev Sandbox の管理」でも可)が、本番での変更セットのリリースには「変更セットのリリース」と「メタデータ API 関数を使用したメタデータの変更」の権限が要ります。sandbox を使えるのは Professional・Enterprise・Performance・Unlimited Edition で、公式ヘルプの使用可能なエディションに Starter と Pro Suite はありません。画面は Lightning Experience で説明し、Classic の画面の説明は読み飛ばしてかまいません。
sandbox とは何か
本番の設定を別の組織に写したもの
sandbox は、本番組織の設定をそっくり写した別の組織です。本番からは完全に隔離されていて、sandbox で項目を消しても、フローが想定外の動きをしても、本番には影響しません。
写されるものは2つに分けて考えます。オブジェクト・項目・ページレイアウト・入力規則・フロー・権限セットのような「設定」をメタデータと呼び、取引先や商談の1件1件をデータと呼びます。メタデータはどの sandbox にも写り、データをどこまで写すかは種類で決まります。
写した後の sandbox と本番は別々の組織として動きます。本番で足した項目は sandbox に入らず、sandbox で作ったものも自動では本番に入りません。sandbox から本番へ移す道具が変更セットです。
本番で直接触ってはいけない変更
営業チームの組織で、本番で直接触って事故になるのは次のような変更です。
- レコードトリガーのフローを作る、条件を変える。条件を1つ間違えると営業全員の保存が止まる、関係ないレコードがまとめて書き換わる
- 入力規則を足す。既存のレコードが条件に当たり、別の項目を直そうとしても保存できなくなる
- 項目のデータ型を変える、項目を消す。レポートや数式、フローが壊れる
- 共有設定を変える。昨日まで見えていた商談が見えなくなる
- データローダで一括更新・一括削除をする
どれも保存した瞬間に全員に効き、戻すのに手間がかかります。
本番で直接やってよい変更
レポート・ダッシュボード・リストビューの作成、選択リストへの値の追加、ページレイアウトでの並べ替え、ユーザーの追加、メールテンプレートの文面の手直しは、sandbox を通すと手間ばかり増えます。判断の目安は「他の人の保存や画面を止める可能性があるか」と「間違えたときに戻すのが面倒か」で、どちらかに当たれば sandbox を通します。
先に決めること
どの種類を使うか
sandbox は4種類あります。
| 種類 | 更新間隔 | データストレージ | ファイルストレージ | 写される内容 | Sandbox テンプレート |
|---|---|---|---|---|---|
| Developer | 1日 | 200 MB(アップグレードで 400 MB) | 200 MB | メタデータのみ | 利用不可 |
| Developer Pro | 1日 | 1 GB(アップグレードで 2 GB) | 1 GB | メタデータのみ | 利用不可 |
| Partial Copy | 5日 | 5 GB | 本番組織と同じ | メタデータとサンプルデータ | 必須 |
| Full | 29日 | 本番組織と同じ | 本番組織と同じ | メタデータとすべてのデータ | 利用可 |
更新間隔は、作成か更新を要求してから次に更新できるまでの日数です。Developer は毎日作り直せますが、Full は一度更新すると29日間は更新も削除もできません。
Developer は設定を作って試す場所で、データは入っていません。Developer Pro はより大きなデータを入れられ、インテグレーションテストやユーザートレーニング向きです。Partial Copy は Sandbox テンプレートで指定したオブジェクトのデータを一部だけ写すもので、営業マネージャーの確認やデータ移行の練習に向きます。Full は本番のデータと添付ファイルまで含めた複製で、負荷テストやリリース直前の最終確認に使い、更新間隔が長いので作業場所には向きません。
sandbox はディスクの上限に達してもメールで知らせてくれず、新しいデータを保存できなくなります。残りは sandbox の「設定」で「組織のディスク使用量」を開いて確かめます。
エディションごとに使える数
最初から付いてくる数です。「記載なし」は公式の表に数が載っていない箇所です。
| 種類 | Professional | Enterprise | Unlimited | Performance |
|---|---|---|---|---|
| Developer | 10 | 25 | 100 | 100 |
| Developer Pro | 記載なし | 記載なし | 5 | 5 |
| Partial Copy | 使用不可 | 1 | 1 | 1 |
| Full | 使用不可 | 記載なし | 1 | 1 |
Developer Pro はどのエディションでも追加で買え、Partial Copy と Full は Enterprise・Unlimited・Performance で買えます。Developer は単体では買えず、Developer Pro のアドオンに5個、Partial Copy に10個、Full に15個が付いてきます。
Professional Edition はデータの入った sandbox を作れないので、確認用のデータは自分で入れます。Starter と Pro Suite で sandbox を前提に運用したいなら、契約の段階で Professional 以上を選びます。選び方は「Salesforceの料金とライセンス。エディションと人数の決め方」にまとめています。
ライセンスの数を超えて sandbox を持つと、最も長く使われていないものから順にロックされ、ロックから60日を過ぎると削除されて戻せません。
名前と、入れる人
名前は10文字以下で、sandbox 側のユーザー名の末尾に付きます。ログインのたびに打つので「dev」「uat」のような短い英字にします。
入れる人は作成時に公開グループで指定します。Developer と Developer Pro では指定が必須で、Partial Copy と Full では「すべての有効ユーザー」も選べますが作成が遅くなります。作成者と公開グループのメンバーは入れてメールアドレスも本番のまま写り、それ以外のユーザーは凍結されてメールアドレスの末尾に .invalid が付きます。グループが空なら入れるのは作成者だけで、メンバーは150人未満が勧められています。
メールが外に飛ばないか
新しい sandbox と更新した sandbox は、メールの送信設定が「システムメールのみ」で、パスワードのリセットのようなシステムが自動で送るメールしか送りません。気をつけるのは取引先責任者のメールアドレスで、sandbox はユーザーのアドレスは変えても、取引先責任者のアドレスは変えません。Partial Copy や Full には顧客の本物のアドレスが入っているので、送信設定を「すべてのメール」に変える前に、取引先責任者のアドレスを社内の試験用に書き換えます。
設計表
例の会社で持つ sandbox です。Enterprise Edition の場合で書いています。
| 名前 | 種類 | 用途 | 入れる人 | 更新するタイミング | Professional の場合 |
|---|---|---|---|---|---|
| dev | Developer | 入力規則・フロー・項目を作って試す | 公開グループ「Sandbox利用者」 | 新しい作業を始める前 | 同じ |
| uat | Partial Copy | 営業マネージャーの確認、データ移行の練習 | 公開グループ「Sandbox利用者」 | 本番へのリリースが済んだ後 | Developer で作り、データはデータローダで入れる |
uat の Sandbox テンプレートには、取引先・取引先責任者・商談・導入プロジェクトを入れます。
今回の変更セットに入れるものです。種類は送信変更セットで選ぶコンポーネントの種類の名前です。
| 入れるもの | コンポーネントの種類 | 注意 |
|---|---|---|
| 商談の入力規則「失注理由必須」 | 入力規則 | 標準オブジェクトの入力規則も個別に入れられる |
| フロー「受注時に導入プロジェクトを作成」 | フロー定義 | 本番には無効の状態で入る |
| 導入プロジェクトに足した項目「キックオフ日」 | カスタム項目 | 項目だけを入れる |
| 導入プロジェクトのページレイアウト | ページレイアウト | キックオフ日を画面に出す |
| 権限セット「導入プロジェクト 利用」 | 権限セット | キックオフ日の項目権限を運ぶ |
入力規則の数式は、フェーズが不成立(値の API 参照名は「Closed Lost」)で失注理由が空なら保存を止めるものです。
AND(
ISPICKVAL(StageName, "Closed Lost"),
ISBLANK(TEXT(Lost_Reason__c))
)
入力規則とフローの作り方そのものは、それぞれの記事で説明しています。ここでは sandbox で作って本番に移す部分を扱います。
作る手順
1. 本番で公開グループを作る
- 本番で、画面右上の歯車アイコンから「設定」を開きます。
- 「クイック検索」に「公開グループ」と入力し、「公開グループ」を選びます。
- 「新規」をクリックします。
- 「表示ラベル」に「Sandbox利用者」、グループ名に「Sandbox_Users」と入力します。
- 「検索」で「ユーザー」を選び、システム管理者と営業マネージャーを「追加」します。
- 保存します。
作成には「ユーザーの管理」権限が要ります。
2. Developer sandbox を作る
- 本番の「設定」の「クイック検索」に「Sandbox」と入力し、「Sandbox」を選びます。
- 「新規 Sandbox」をクリックします。
- 名前に「dev」、説明に「入力規則・フローの作成用」と入力します。
- 種類で「Developer」を選びます。
- 「Sandbox アクセス」で公開グループ「Sandbox利用者」を選びます。
- 「作成」をクリックします。
途中のストレージのアップグレードと Apex クラスの欄は、使わなければそのままにします。「新規 Sandbox」が押せないときは、権限が無いか、ライセンスが残っていません。
作成後、一覧の状況は「未承認」(コピーの順番待ち)から「処理中」に進み、「完了」になると作成者にメールが届きます。かかる時間は数分から数日まで幅があり、サポートに頼んでも早められません。使う日の前日までに作り、コピーの間は本番の設定変更を控えます。「サスペンド」が1時間以上続いたらサポートに問い合わせます。
3. Partial Copy sandbox を作る(Enterprise 以上)
- 「Sandbox」の画面で「Sandbox テンプレート」タブを開きます。
- 「新規 Sandbox テンプレート」をクリックします。
- 名前に「営業確認用」と入力します。
- 「利用可能なオブジェクト」で、取引先責任者・商談・導入プロジェクトにチェックを入れます。
- 「オブジェクトの詳細」に、主の取引先が自動で加わっていることを確かめます。
- 「保存」をクリックします。
- 「Sandbox」タブで「新規 Sandbox」をクリックし、名前に「uat」と入力します。
- 種類で「Partial Copy」を選び、「次へ」をクリックします。
- テンプレート「営業確認用」を選びます。
- 「Sandbox アクセス」で公開グループを選び、「作成」をクリックします。
本番のリレーションを変えるとテンプレートの中身も自動で変わることがあるので、更新の前に一度開いて確かめます。Full の場合は、「含まれるオブジェクトデータ」で「すべて」か「テンプレートベース」を選び、項目追跡履歴と Chatter のデータを写すかも選びます。Chatter は大きくなりやすくコピー時間が延びるので、要るときだけ含めます。
4. sandbox にログインする
システム管理者は、本番の「Sandbox」の一覧で dev の横の「ログイン」から入れます。営業マネージャーには直接ログインする方法を案内します。
- ブラウザで
https://test.salesforce.comを開きます。 - 最初はメールアドレスで入る画面が出るので、「ユーザー名でログイン」をクリックします。
- ユーザー名に、本番のユーザー名の末尾に「.dev」を付けて入力します。本番が
tanaka@example.co.jpならtanaka@example.co.jp.devです。 - パスワードは、sandbox を作った時点の本番のパスワードを入力します。
- 「Sandbox にログイン」をクリックします。

ユーザー名が他と重なる場合は、先頭に7桁の英数字が付きます。本番で「私のドメイン」により login.salesforce.com からのログインを禁止している組織では、test.salesforce.com からも入れないので、https://MyDomainName--dev.sandbox.my.salesforce.com の形のログイン URL を使います。
期限が2つあります。Developer と Developer Pro では、sandbox 側にユーザーが作られてから60日以内に一度もログインしなかったユーザーが凍結されます。また、180日間誰もアクセスしなかった sandbox は削除の対象になります。
5. sandbox で作って確かめる
dev で入力規則・フロー・項目を作ります。Developer にはデータが無いので、取引先と商談を数件作ってから試します。入力規則は次の3つが通れば本番に出します。
- フェーズを「不成立」にして失注理由が空なら、エラーで止まる
- フェーズを「不成立」にして失注理由を選べば、保存できる
- フェーズが「不成立」以外なら、失注理由が空でも保存できる
フローは、商談を「Closed Won」にしたとき導入プロジェクトが1件だけでき、受注済みの商談を別の項目だけ直して保存しても2件目ができないことを確かめます。
データ移行の練習は uat でやります。Excel の導入管理表をデータローダで導入プロジェクトに入れ、件数が合うか、エラーの CSV に何が出るか、日付がずれないかを見ます。接続先を本番ではなく sandbox にしてログインする点だけが本番と違います。最後に営業マネージャーに uat で普段どおり商談を失注にしてもらうと、作った人が気づかない止まり方がここで見つかります。
6. 本番でリリース接続を許可する
本番と sandbox の間の接続は自動で一覧に並び、受け取る側が許可を付けます。
- 本番の「設定」の「クイック検索」に「リリース」と入力し、「リリース設定」を選びます。
- 「続行」をクリックします。
- dev の横の「編集」をクリックします。
- 「変更着信を許可」にチェックを入れます。
- 「保存」をクリックします。
矢印はアップロードが許可されている向きで、破線はどちら向きも未許可です。本番のメンテナンス中は、許可もアップロードもできません。
7. sandbox で送信変更セットを作り、アップロードする
ここからは dev で作業します。
- dev の「設定」の「クイック検索」に「送信変更セット」と入力し、「送信変更セット」を選びます。
- 「新規」をクリックします。
- 名前に「2026-11 失注理由必須と受注時フロー」と入力して保存します。
- 「追加」をクリックします。
- 「コンポーネントの種類」で「入力規則」を選びます。
- 「失注理由必須」にチェックを入れ、「変更セットに追加」をクリックします。
- 同じ手順で、設計表のフロー定義・カスタム項目・ページレイアウト・権限セットを追加します。
- 「連動関係を参照/追加」をクリックします。
- 本番にまだ無いものだけにチェックを入れ、「変更セットに追加」をクリックします。
- 「アップロード」をクリックします。
- 送信先で本番を選び、「アップロード」をクリックします。
連動関係には、直接・間接に要る部品が並びます。本番にすでにあるものは入れなくてよく、本番に無いものを入れ忘れるとリリースが失敗します。
アップロードした変更セットは編集も取り消しもできません。入れ忘れたら、詳細画面でコピーを作って足し、もう一度アップロードします。コピーには sandbox の最新の状態が入ります。送信変更セットはアップロードから6か月で完全に削除され、1つあたりファイル10,000件・合計400 MBまでです。
Professional Edition では、プロファイルの設定を変更セットに入れられません。権限は本番で手で付ける前提にします。
8. 本番で検証してリリースする
- 本番の「設定」の「クイック検索」に「受信変更セット」と入力し、「受信変更セット」を選びます。
- 届いた変更セットの名前をクリックし、中身を確かめます。
- 「検証」をクリックします。
- 終わったら「結果を表示」で、エラーが無いことを確かめます。
- 「リリース」をクリックします。
- 「クイック検索」で「リリース状況」を開き、完了を確かめます。
検証は、変えずに「リリースしたら成功するか」だけを見る操作です。検証の間は対象の設定がロックされ、関係する設定を触るとエラーになることがあるので、営業が使わない時間にやります。データの読み書きはできます。
変更セットは1つのトランザクションでリリースされ、失敗すれば全部が元に戻り、成功した後に取り消す機能はありません。間違いに気づいたら、本番で手で直すか、直したものを送り直します。Apex を含む場合は本番でテストが動き、コードの75%以上がテストを通っている必要があります。
9. リリースした後に本番で手でやること
| やること | 理由 |
|---|---|
| フローを有効化する | 有効なフローも本番には無効として入る |
| 権限セットをユーザーに割り当てる | 変更セットで運べるのは権限セットの定義で、ユーザーへの割り当ては本番で手で付ける |
| 新しい項目が営業から見えるか確かめる | 項目権限を運ぶものを入れ忘れると、本番で見えないことがある |
| リストビューの表示範囲を確かめる | リリースしたリストビューは既定で全ユーザーに表示される |
| カスタムタブの表示を確かめる | 既定で非表示(Professional Edition は常に表示) |
| 営業1人の画面で失注を試す | 本番にしかないデータで止まる場面を見る |
フローは変更セットに1つのバージョンしか入らず、送り直すたびに本番のバージョンが1つ増えます。
sandbox を更新する
更新の手順
- 本番の「設定」で「Sandbox」を開きます。
- 更新したい sandbox の横の「更新」をクリックします。リンクが無ければ、更新間隔がまだ過ぎていません。
- 「名前」「説明」「作成元」を確かめます。
- 種類と、Partial Copy ならテンプレートを選びます。
- すぐ使い始めたいなら「自動有効化」にチェックを入れます。
- 「Sandbox アクセス」で公開グループを選び、「作成」をクリックします。
更新の依頼は取り消せませんが、コピーが終わるまで古い sandbox を使えます。状況が「有効化待機中」になったら「有効化」をクリックし、その時点で古い版と中のデータは完全に消えます。新しい版が要らなければ「破棄」で古い版に戻せます。新しい版は30日以内に有効化しないと削除されます。
更新で消えるもの
| 消えるもの | 先にやっておくこと |
|---|---|
| 本番に送っていない設定 | 本番か別の sandbox に変更セットで送っておく |
| sandbox に入れたテストデータ | 残したいものはデータローダで書き出す |
| その sandbox から送った変更セット | 本番でリリースできるように見えても使えなくなるので、リリースを済ませてから更新する |
| 直したメールアドレス・凍結解除 | 公開グループを見直しておく |
| sandbox の組織 ID | Web-to-リードのように組織 ID を書き込んだ仕組みは書き直す |
URL も変わることがあるので、ブックマークは更新のたびに確かめます。「削除」も「更新」と同じく更新間隔を過ぎるまで押せず、削除するとその sandbox から送った変更セットも消えます。
応用
作る場所と確かめる場所を分ける
リリース接続は、同じ本番から作った sandbox 同士の間にもできます。dev で作ったものを uat に送って営業マネージャーが確かめ、uat から本番へ送る形にし、本番の「リリース設定」で uat からの受信だけを許可すれば、確かめていないものが本番に入りません。例の会社の人数なら、最初は dev から本番へ直接送る形で足り、確認する人が増えたら uat を挟みます。
本番で直接変えたものを sandbox に戻す
本番で直接直した分だけ sandbox は古くなり、古い sandbox から送ると本番の変更を上書きします。代表が選択リストで、送った項目に含まれない値は本番で無効になります。本番で「失注理由」に「予算凍結」を足したのに、sandbox の失注理由に無いまま項目を送ると、本番の「予算凍結」が無効になります。Developer なら更新間隔が1日なので作業の前に更新し、更新できないときは本番で送信変更セットを作って dev へ送ります。
Developer Edition や Trailhead Playground との違い
無料で作れる Developer Edition は、本番のコピーではない、まっさらな別の組織です。sandbox の使用可能なエディションに入っておらず、Developer Edition から sandbox は作れません。変更セットは同じ本番にひもづく組織の間でしか送れないため、Developer Edition で作ったものを自社の本番に変更セットで移すこともできません。Trailhead Playground も変更セットに対応していません。操作を覚えるのはこれらで十分ですが、自社の項目や既存のフローがそろった状態で試せるのは自社の sandbox だけです。
リリースの時期の sandbox
メジャーリリースのアップグレードの完了から次のアップグレードの開始までの間に作った sandbox は、既定で次のリリースを先取りした版になります。本番と画面や動きが違うことがあり、変更セットのアップロードで版の違いによる検証エラーが出ることもあります。
できないことと、その代わり
| できないこと | 理由・公式の記載 | 代わりの手 |
|---|---|---|
| 変更セットでレコードを送る | 入るのは「設定」でできる変更だけ | データローダで本番に入れる |
| 変更セットで削除・名前変更をする | 削除・名前変更には使えない | 本番で手で消す。名前を変えるなら消してから新しいものを送る |
| 標準オブジェクトそのものを送る | 標準オブジェクトは含められない | 足したカスタム項目・入力規則・ページレイアウトを個別に入れる |
| アップロード後に直す・取り消す | 編集も取り消しもできない | コピーして直し、もう一度アップロードする |
| 本番へのリリースを取り消す | ロールバックできない | 本番で手で直す。大きな変更は戻し方を先に書いておく |
| 変更セットに入らない設定を送る | 対応していないコンポーネントは送れない | 本番で sandbox と同じ手順を繰り返す |
| Professional でプロファイルの設定を送る | プロファイルを追加できない | 本番で権限セットの割り当てと項目権限を付ける |
| sandbox のコピーを早めてもらう | サポートでも早められない | 早めに依頼する。テンプレートで写すデータを絞る |
| 本番と自動で同期させる | 写した後は別々に動く | 作業の前に更新する。本番から変更セットを送る |
よく詰まるところ
| 症状 | 原因 | 直し方 |
|---|---|---|
| 「新規 Sandbox」が押せない | 権限が無い、またはライセンスが残っていない | 権限を付ける。使わない sandbox を消す |
| 状況が「未承認」のまま進まない | コピーの順番待ち | 待つ。使う日の前日までに作る |
| test.salesforce.com でログインできない | ユーザー名に「.dev」を付けていない、先頭に英数字が付いている | 管理者が sandbox の「設定」でユーザー名を確かめる |
| ユーザー名が正しいのに入れない | 本番で login.salesforce.com からのログインを禁止している | 「私のドメイン」のログイン URL から入る |
| ログインすると凍結されている | 公開グループ外だった、60日ログインしなかった | 凍結を解除し、公開グループに足す |
| テストのメールが届かない | 「システムメールのみ」、またはアドレスに .invalid が付いている | 「送信」の設定を変え、自分のアドレスを直す |
| 「リリース設定」で「アクセス権がありません」と出る | sandbox が1つも無い | sandbox を作ってから開く |
| アップロード先に本番が出ない | 本番で「変更着信を許可」していない | 本番の「リリース設定」で許可する |
| リリースが参照エラーで失敗する | 本番に無い連動コンポーネントを入れていない | コピーして「連動関係を参照/追加」で足す |
| リリースしたオブジェクトに項目が無い | オブジェクトだけを入れた | 項目を変更セットに入れて送り直す |
| リリースしたフローが動かない | 無効の状態で入る | 本番で有効化する |
| 本番で足した選択リスト値が使えない | 送った項目に無い値は無効になる | 本番で値を有効に戻し、次から更新後に作業する |
| 更新した sandbox に入れない | 「有効化待機中」のまま | 「有効化」をクリックする |
| sandbox が一覧から消えた | 180日アクセスが無い、30日以内に有効化しなかった、ロックから60日過ぎた | 作り直す。月に一度はログインする |
次にやること
sandbox と変更セットの流れができたら、まず入力規則から試します。作り方は「Salesforceの入力規則とアクセス権。入力漏れと見せたくないデータを防ぐ」にまとめています。受注時に導入プロジェクトを作る、遅れたら担当に通知する、といった自動化は「Salesforceフローの作り方。レコードトリガーで更新と通知を自動化する」で作り、ここの手順で本番に出します。uat でのデータ移行の練習は「データローダの使い方。インストールから一括更新・削除まで」を見ながら進めます。