公開グループに自動でユーザを追加する方法

Salesforce
この記事は約8分で読めます。

ユーザ新規作成時に自動で公開グループにユーザを追加する方法です。

この記事はこんな人にオススメ
  • Salesforce管理者になってまだ慣れていない方
  • Salesforceを導入したての運用者の方
  • ユーザを作成したときに、あらかじめ決めた公開グループに自動的に追加したい方

初心者の方にも分かりやすくご説明していきます。

公開グループに自動でユーザを追加する方法
  • あらかじめ公開グループを作成しておく
  • レコードトリガーフローを作成する
  • グループというオブジェクトのレコードを取得する
  • グループメンバーというオブジェクトに取得したIDを設定する
  • フローを有効化する

それでは詳しく見ていきましょう。

スポンサーリンク

公開グループを作成する

まずは公開グループを作成します。

Salesforceの画面右上の歯車マークから「設定」をクリックします。

画面左側の検索窓に「公開」と入力し、「公開グループ」をクリックします。

「公開グループ」をクリックします。

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

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

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

入力したら忘れず「保存」する。

これで公開グループは完成です。次のステップに進みましょう。

レコードトリガーフローを作成する

次にフローを作成します。

画面左側の検索窓に「フロー」と入力し、「フロー」をクリックします。
画面右上に表示される「新規フロー」をクリックします。

フローを作成しましょう。

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

レコードトリガーフローを選択します。

どんなときにこのフローを動かすのかを設定します。

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

オブジェクトとトリガを設定します。

その他、条件がある場合はこの下で設定します。今回は割愛します。

グループのレコードを取得する

次にグループのレコードを取得します。

即時実行の下にある「+」をクリックし、「レコードを取得」をクリックします。

「レコードを取得」をクリックします。

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

表示ラベル、API参照名は分かりやすく、説明もきちんと書いておくとベスト!

取得するオブジェクトは「グループ」です。
その下に取得する公開グループの条件を設定していきます。

取得する方法は2つあるかなと思うので、それぞれについてメリットデメリットを交えつつ、両方ともご紹介します。

①Nameを使う方法

設定結果はこのようになります。

設定内容はこんな感じです。

Name方式のメリット・注意点

Nameにするメリットは以下があると思います。

公開グループを名前(Name)で取得するメリット
  • 表示名なので見た目で分かりやすい
  • リリース後にフローを修正する必要がない

まずは見た目でどのグループなのか分かりやすいということです。画面で見えているそのままのグループ名を指定すれば良いので分かりやすいですね。
また、リリース後にフローを修正する必要がありません。これについては後ほどIdの方のデメリットで詳しくお話ししますね。

Nameにしない方がいい理由で思いついたものは以下です。

公開グループを名前(Name)で取得する注意点
  • 公開グループの名前は変更される可能性があり、そのたびに修正作業が必要になる

公開グループの名前を変更したら、フローも変更しなければいけなくなります。「名前」で検索している以上、その名前が変わってしまったらレコードが正しく取得できないですからね。つまり、公開グループの名前を変えたときにフローも修正する必要がある!というのを忘れてしまうと、フローは正しく動かなくなるということです。

Name方式を採用する際のコツ|カスタム表示ラベル

Nameを使う場合、デメリットを考えて、公開グループの名前を変更したときにできるだけ修正が少なくて済むようにします。そのために「カスタム表示ラベル」を使用します。

カスタム表示ラベルを使用することで、公開グループの名前が変わったとしてもフローは修正しなくて済むようにします。(カスタム表示ラベルの値を変更する必要はあります。)

Salesforceのラベルを作りましょう。設定画面で画面左側の検索窓に「ラベル」と入力して、「カスタム表示ラベル」をクリックします。

カスタム表示ラベルをクリック

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

値に公開グループの名前を入力して保存します。

これでラベルの作成は完了です。もしグループ名が変更になった場合、直接入力を複数箇所で行っているとそのすべてを修正しなくてはなりませんが、カスタム表示ラベルを使うことでこのラベルの中身を書き換えるだけで良いですからね。修正は楽になると思います。ではフローに戻りましょう。

Name方式の設定方法

Nameに「公開グループの名前」、Typeは「Regular」を選択します。

Nameを条件に指定し、値は先ほど作成したカスタム表示ラベルにしましょう。

$Labelをクリック

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

先ほど作成したカスタム表示ラベルをクリック!

②Idを使う方法

設定結果はこのようになります。

Nameの代わりにIDを指定します。

Id方式のメリット・注意点

Idにするメリットは以下があると思います。

公開グループをID(Id)で取得するメリット
  • 公開グループの名前が変わったとしても何も修正しなくて済む

これが一番大きいですね。もし、フロー作成後や稼働後にグループの名前が変わったとしてもIdは変わりませんので、何も修正する必要がありません名前を変更したときにそれに応じて何か対応が必要というのはなかなか覚えておけるものではありません。忘れてしまう可能性の方が高いでしょう。Idなら覚えておく必要がありません。

Idにするデメリットは以下でしょうか。

公開グループをID(Id)で取得する注意点
  • リリース後にフローの修正が必要
  • 見た目でどの公開グループなのか分かりにくい

Idは組織ごとに異なるので、Sandboxで作成したフローをリリースしても、本番環境ではそのまま使えません。Idを本番環境での公開グループIDに変更してあげる必要があります。ただし、一度作業してしまえば済む話です。

Id方式の設定方法

Idに「公開グループのSalesforceID」、Typeは「Regular」を選択します。

Idを条件に指定し、値を設定します。

Nameの代わりにIDを指定します。

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

Fomula_SalesGroupIdの中身です。

関数の意味などは別の記事で解説していますので、そちらをご覧ください。

関数(CASESAFEID())の使い方はコチラ

これで条件の設定は完了です。下に進みましょう。

取得したいのはグループIDだけなのでIdのみを保存するような設定にしています。

Idのみを保存します。

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

getSalesGroupId変数の中身はコチラ

ここまで来たら「完了」ボタンをクリックします。

グループメンバーを作成

次にグループメンバーのレコードを作成します。

「+」ボタンをクリックして「レコードを作成」を選択します。

表示ラベルやAPI参照名、説明を入力しましょう。

誰が見ても分かる名前にしておくのがGood

作成するレコード数は1、レコード項目は「個別のリソースおよびリテラル値を使用」にします。

オブジェクトは「グループメンバー」です。

項目は「グループID」と「ユーザ/グループID」を設定します。

項目値の設定はこんな感じになりました。

GroupIdの右側に設定しているのは、グループレコードを取得したときにIdを保存した変数です。ここには1つ前に作成した「レコードを取得」の処理で取得したグループのIdが入っています。

続いてUserOrGroupIdの右側にはこのフローを動かすきっかけとなったユーザレコードのIdを設定しています。

フローを動かすきっかけとなったレコードは$Recordというところに情報が入っていますので、それをクリックしてIdを探しましょう。

$Recordがフローを動かすきっかけとなったレコードです。

ここまで設定できたら「完了」をクリックして終了です。

これでフローの設定は完了です。デバッグして動作が正しいか確認し、有効化しましょう。

まとめ

今回は公開グループに自動でユーザを追加する方法についてまとめました。

「グループ」や「グループメンバー」はあまり知らないオブジェクトだったので、私自身も調べて作成しました。

もし公開グループに自動でレコードを追加したい、という場合にお役に立てたのなら幸いです。

それでは、ごきげんよう。

コメント