ユーザ新規作成時に自動で公開グループにユーザを追加する方法です。
- Salesforce管理者になってまだ慣れていない方
- Salesforceを導入したての運用者の方
- ユーザを作成したときに、あらかじめ決めた公開グループに自動的に追加したい方
初心者の方にも分かりやすくご説明していきます。
それでは詳しく見ていきましょう。
公開グループを作成する
まずは公開グループを作成します。
Salesforceの画面右上の歯車マークから「設定」をクリックします。
画面左側の検索窓に「公開」と入力し、「公開グループ」をクリックします。

「新規」ボタンをクリックします。

名前を登録して保存します。このときは特に必要ない場合はユーザを追加する必要はありません。
表示ラベルとグループ名のみで大丈夫です。「保存」しましょう。

これで公開グループは完成です。次のステップに進みましょう。
レコードトリガーフローを作成する
次にフローを作成します。
画面左側の検索窓に「フロー」と入力し、「フロー」をクリックします。
画面右上に表示される「新規フロー」をクリックします。

レコードトリガーフローを選択して、「作成」します。

どんなときにこのフローを動かすのかを設定します。
今回はユーザを新規作成した場合にのみ動かしたいので、オブジェクトはユーザ、新規作成時のみに設定します。

その他、条件がある場合はこの下で設定します。今回は割愛します。
グループのレコードを取得する
次にグループのレコードを取得します。
即時実行の下にある「+」をクリックし、「レコードを取得」をクリックします。

表示ラベルとAPI参照名を入力します。
名前からどんな処理をしているのか分かりやすいものにすると良いです。さらに「説明」欄も記入しておくと誰が見ても分かりやすいものになるので書いておくことをオススメします。

取得するオブジェクトは「グループ」です。
その下に取得する公開グループの条件を設定していきます。
取得する方法は2つあるかなと思うので、それぞれについてメリットデメリットを交えつつ、両方ともご紹介します。
①Nameを使う方法
設定結果はこのようになります。

Name方式のメリット・注意点
Nameにするメリットは以下があると思います。
まずは見た目でどのグループなのか分かりやすいということです。画面で見えているそのままのグループ名を指定すれば良いので分かりやすいですね。
また、リリース後にフローを修正する必要がありません。これについては後ほどIdの方のデメリットで詳しくお話ししますね。
Nameにしない方がいい理由で思いついたものは以下です。
公開グループの名前を変更したら、フローも変更しなければいけなくなります。「名前」で検索している以上、その名前が変わってしまったらレコードが正しく取得できないですからね。つまり、公開グループの名前を変えたときにフローも修正する必要がある!というのを忘れてしまうと、フローは正しく動かなくなるということです。
Name方式を採用する際のコツ|カスタム表示ラベル
Nameを使う場合、デメリットを考えて、公開グループの名前を変更したときにできるだけ修正が少なくて済むようにします。そのために「カスタム表示ラベル」を使用します。
カスタム表示ラベルを使用することで、公開グループの名前が変わったとしてもフローは修正しなくて済むようにします。(カスタム表示ラベルの値を変更する必要はあります。)
Salesforceのラベルを作りましょう。設定画面で画面左側の検索窓に「ラベル」と入力して、「カスタム表示ラベル」をクリックします。

「新規カスタム表示ラベル」ボタンをクリックし、公開グループの名前を入力して「保存」します。

これでラベルの作成は完了です。もしグループ名が変更になった場合、直接入力を複数箇所で行っているとそのすべてを修正しなくてはなりませんが、カスタム表示ラベルを使うことでこのラベルの中身を書き換えるだけで良いですからね。修正は楽になると思います。ではフローに戻りましょう。
Name方式の設定方法
Nameに「公開グループの名前」、Typeは「Regular」を選択します。
Nameを条件に指定し、値は先ほど作成したカスタム表示ラベルにしましょう。

先ほど作成したカスタム表示ラベルを選択して「完了」です。

②Idを使う方法
設定結果はこのようになります。

Id方式のメリット・注意点
Idにするメリットは以下があると思います。
これが一番大きいですね。もし、フロー作成後や稼働後にグループの名前が変わったとしてもIdは変わりませんので、何も修正する必要がありません。名前を変更したときにそれに応じて何か対応が必要というのはなかなか覚えておけるものではありません。忘れてしまう可能性の方が高いでしょう。Idなら覚えておく必要がありません。
Idにするデメリットは以下でしょうか。
Idは組織ごとに異なるので、Sandboxで作成したフローをリリースしても、本番環境ではそのまま使えません。Idを本番環境での公開グループIDに変更してあげる必要があります。ただし、一度作業してしまえば済む話です。
Id方式の設定方法
Idに「公開グループのSalesforceID」、Typeは「Regular」を選択します。
Idを条件に指定し、値を設定します。

ここで指定している変数(Fomula_SalesGroupId)の中身はこんな感じです。

関数の意味などは別の記事で解説していますので、そちらをご覧ください。
これで条件の設定は完了です。下に進みましょう。
取得したいのはグループIDだけなのでIdのみを保存するような設定にしています。

右側は変数にしました。変数の中身はこんな感じです。

ここまで来たら「完了」ボタンをクリックします。
グループメンバーを作成
次にグループメンバーのレコードを作成します。
「+」ボタンをクリックして「レコードを作成」を選択します。
表示ラベルやAPI参照名、説明を入力しましょう。

作成するレコード数は1、レコード項目は「個別のリソースおよびリテラル値を使用」にします。
オブジェクトは「グループメンバー」です。
項目は「グループID」と「ユーザ/グループID」を設定します。

GroupIdの右側に設定しているのは、グループレコードを取得したときにIdを保存した変数です。ここには1つ前に作成した「レコードを取得」の処理で取得したグループのIdが入っています。
続いてUserOrGroupIdの右側にはこのフローを動かすきっかけとなったユーザレコードのIdを設定しています。
フローを動かすきっかけとなったレコードは$Recordというところに情報が入っていますので、それをクリックしてIdを探しましょう。

ここまで設定できたら「完了」をクリックして終了です。
これでフローの設定は完了です。デバッグして動作が正しいか確認し、有効化しましょう。
まとめ
今回は公開グループに自動でユーザを追加する方法についてまとめました。
「グループ」や「グループメンバー」はあまり知らないオブジェクトだったので、私自身も調べて作成しました。
もし公開グループに自動でレコードを追加したい、という場合にお役に立てたのなら幸いです。
それでは、ごきげんよう。
コメント