目次
はじめに
Salesforceでは、ユーザー数やデータ量の増加に応じて、大量の設定変更が必要になる場面が少なくありません。
こうした設定を画面からひとつひとつ手作業で変更していくと、膨大な時間を要するだけでなく、作業ミスの発生リスクも高まります。
そこで本記事では、データローダを用いて、大量の設定作業を効率化する方法をご紹介します。
データローダは主にデータのインポート・エクスポートを行うツールとして知られていますが、実は権限や公開グループなど、システム管理に関する設定も一括で操作することが可能です。
本記事で紹介する手順を押さえておけば、ユーザー追加時の権限付与や、大規模な組織変更時の設定変更の際にも、効率的かつ正確に設定作業を進めることができます。
設定作業の負担軽減や業務効率の向上に、ぜひご活用ください。
こうした設定を画面からひとつひとつ手作業で変更していくと、膨大な時間を要するだけでなく、作業ミスの発生リスクも高まります。
そこで本記事では、データローダを用いて、大量の設定作業を効率化する方法をご紹介します。
データローダは主にデータのインポート・エクスポートを行うツールとして知られていますが、実は権限や公開グループなど、システム管理に関する設定も一括で操作することが可能です。
本記事で紹介する手順を押さえておけば、ユーザー追加時の権限付与や、大規模な組織変更時の設定変更の際にも、効率的かつ正確に設定作業を進めることができます。
設定作業の負担軽減や業務効率の向上に、ぜひご活用ください。
一括設定のメカニズム:「IDのペア」を用いたカラクリ
Salesforceの多くのシステム設定は、組織内に存在する専用の「設定管理用内部オブジェクト」にて管理されています。これらの内部オブジェクトには、各システム設定と設定対象がIDによって関連付けられ、レコードとして保存されています。
例えば、管理者権限セットをAさんとBさんへ付与する場合、権限セットを管理する内部オブジェクトには、
「Aさん×管理者権限セット」と「Bさん×管理者権限セット」とマッピングされた2件のレコードが作成されます。
例えば、管理者権限セットをAさんとBさんへ付与する場合、権限セットを管理する内部オブジェクトには、
「Aさん×管理者権限セット」と「Bさん×管理者権限セット」とマッピングされた2件のレコードが作成されます。
この仕組みを利用することで、データローダから設定管理用の内部オブジェクトに対して、「設定対象のID」と「割り当てる設定のID」を記載したCSVファイルを InsertまたはUpdateすることで、大量の設定を正確かつ効率的に一括で反映することが可能です。
手作業による設定を行う必要がないため、短時間かつ作業ミスの発生リスクを削減できる点が大きなメリットです。
手作業による設定を行う必要がないため、短時間かつ作業ミスの発生リスクを削減できる点が大きなメリットです。
【実践編】権限セットを一括付与してみよう
ここからは実践編として、「権限セットの一括割り当て」を例とし、設定変更オブジェクトへレコードを作成する方法をご紹介します。
ユーザーへの権限セットの割り当て情報は、内部オブジェクトの中の、 PermissionSetAssignmentオブジェクト で管理されています。そのため、このオブジェクトに対してデータローダで Insert や Delete を行うことで、権限セットの割り当て・削除を一括で行うことが可能になります。
実際の作業ステップは以下の通りです。
ユーザーへの権限セットの割り当て情報は、内部オブジェクトの中の、 PermissionSetAssignmentオブジェクト で管理されています。そのため、このオブジェクトに対してデータローダで Insert や Delete を行うことで、権限セットの割り当て・削除を一括で行うことが可能になります。
実際の作業ステップは以下の通りです。
➀必要なIDを取得する
最初に行うのは、マッピングに必要な「権限セットのID」と「ユーザーID」の取得です。
SalesforceからIDを取得する方法には、主に以下3つがあります。環境や件数など、状況に合わせて使いやすいものを選びましょう。
SalesforceからIDを取得する方法には、主に以下3つがあります。環境や件数など、状況に合わせて使いやすいものを選びましょう。
方法1:データローダで取得する(大量データ・全件取得向け)
データローダのExport機能を使って、IDを一括取得する方法です。
ユーザーと権限セットで、取得対象のオブジェクトが異なる点に注意しましょう。
■ユーザーIDの取得対象オブジェクト:ユーザー
■権限セットIDの取得対象オブジェクト:権限セット ※「Show all Salesforce objects」にチェック
データローダのExport機能を使って、IDを一括取得する方法です。
ユーザーと権限セットで、取得対象のオブジェクトが異なる点に注意しましょう。
■ユーザーIDの取得対象オブジェクト:ユーザー
■権限セットIDの取得対象オブジェクト:権限セット ※「Show all Salesforce objects」にチェック
抽出項目はIDを必須とし、必要に応じてNameやLabelなどを追加しましょう。
方法2:URLから確認する(少人数・単発向け)
設定>権限セットより対象の権限セットを表示し、ブラウザに表示されているURLから直接IDを取得する方法です。
以下画像の場合、URL「=%2」以降の赤枠部分15桁が権限セットのIDになります。
設定>権限セットより対象の権限セットを表示し、ブラウザに表示されているURLから直接IDを取得する方法です。
以下画像の場合、URL「=%2」以降の赤枠部分15桁が権限セットのIDになります。
方法3:レポートから確認する(標準機能で簡単に取得したい方向け)
データローダの操作に慣れていない方は、Salesforceの標準レポート機能を使ってIDを取得することも可能です。
⚠️ レポート機能では「ユーザーID」は取得できますが、「権限セットID」を取得することはできません。そのため、対象ユーザーのIDをレポートで一括ダウンロードしたうえで、付与したい権限セットのIDは「方法2:URLから確認する」方法で取得し、CSV上で結合する組み合わせ技がおすすめです。
データローダの操作に慣れていない方は、Salesforceの標準レポート機能を使ってIDを取得することも可能です。
⚠️ レポート機能では「ユーザーID」は取得できますが、「権限セットID」を取得することはできません。そのため、対象ユーザーのIDをレポートで一括ダウンロードしたうえで、付与したい権限セットのIDは「方法2:URLから確認する」方法で取得し、CSV上で結合する組み合わせ技がおすすめです。
➁CSVファイルを作成する
➀で取得したIDを使用し、以下2項目でInsert用のCSVファイルを作成します。
■PermissionSetId:➀で取得した、割り当てたい権限セットのID
■AssigneeId:➀で取得した、権限セットを割り当てたいユーザーのID
■PermissionSetId:➀で取得した、割り当てたい権限セットのID
■AssigneeId:➀で取得した、権限セットを割り当てたいユーザーのID
③作成したCSVをInsertする
データローダにて「Inport」>「Show all Salesforce objects」>「権限セットの割り当て」を選択し、➁で作成したCSVファイルを指定します。
💡権限セットIDの取得は「権限セット」オブジェクト、権限セットの付与は「権限セットの割り当て」オブジェクトで行うことに注意しましょう。
💡権限セットIDの取得は「権限セット」オブジェクト、権限セットの付与は「権限セットの割り当て」オブジェクトで行うことに注意しましょう。
その後、マッピングを確認し、Insertを実行すると、ユーザーへ権限セットが付与されます。
以上が、データローダを用いた権限セット一括付与の手順になります。
【応用編】管理用オブジェクト別の一括設定テクニック
実践編を通して、「2つのIDをマッピングし、設定管理用オブジェクトへ登録する」という基本的な方法をご理解いただけたかと思います。
この方法は、対象となるオブジェクトやIDの種類が異なるだけで、さまざまなシステム設定の一括登録・一括更新に応用することができます。
以下に、一括設定で利用できる主な設定管理用オブジェクトをまとめました。
ぜひお役立てください。
この方法は、対象となるオブジェクトやIDの種類が異なるだけで、さまざまなシステム設定の一括登録・一括更新に応用することができます。
以下に、一括設定で利用できる主な設定管理用オブジェクトをまとめました。
ぜひお役立てください。
データローダで一括設定できるオブジェクト一覧
| 設定できること | 対象オブジェクト名 | 操作 | 必要なID |
|---|---|---|---|
| 公開グループのメンバー変更 | GroupMember | Insert / Delete | UserOrGroupId(ユーザーID) GroupId(公開グループID)
|
| キューのメンバー変更 | GroupMember | Insert / Delete | UserOrGroupId(ユーザーID) GroupId(キューID)
|
| レコード所有者の変更 | 各オブジェクト | Update | Id(各オブジェクトのID) OwnerId(新所有者のユーザー/キューID)
|
| ケースチームメンバーへの追加 | CaseTeamMember | Insert / Delete | MemberId(ユーザーID) ParentId(ケースID)
|
| 商談チームメンバーへの追加 | OpportunityTeamMember | Insert / Delete | UserId(ユーザーID) OpportunityId(商談ID)
|
| 取引先チームメンバーへの追加 | AccountTeamMember | Insert / Delete | UserId(ユーザーID) AccountId(取引先ID)
|
| Chatter招待 | CollaborationGroupMember | Insert / Delete |
MemberId(ユーザーID) CollaborationGroupId(ChatterグループID) |
また、一部の設定ではIDではなく「指定のコード値」や「日付・テキストなどの値」を直接セットするパターンもあります。
| 設定できること | 対象オブジェクト名 | 操作 | 必要なID |
|---|---|---|---|
| ユーザー言語・タイムゾーン等の変更 | User | Update | Id(ユーザーID) LanguageLocaleKey(言語)
TimeZoneSidKey(タイムゾーン)
LocaleSidKey(地域)
|
| 組織の休日・休業日の設定 | Holiday | Insert | Name(休日名) ActivityDate(日付)
|
まとめ
今回は、データローダを使用した一括設定術についてご紹介しました。
一見難しそうに見える設定作業も、裏側にあるロジックは非常にシンプルです。
ぜひ次回の設定変更から、この「データローダによる一括設定」を試してみてくださいね。
一見難しそうに見える設定作業も、裏側にあるロジックは非常にシンプルです。
ぜひ次回の設定変更から、この「データローダによる一括設定」を試してみてくださいね。
35 件


ポスト

