ユーザ登録後に自動的に公開グループに登録する方法【salesforce】
もともとの始まりはパートナーコミュニティにおいて、ユーザ管理権限を持たないユーザがパートナーアカウントの登録を行った際に、自動的にグループに登録して欲しい、という要望を実現するために作ったものです。
ユーザ登録後に手動で公開グループへ登録するのは手間ですし、忘れてしまいがちな行動なので、できるなら自動化したいものです。
今回はあらかじめ作っておいたグループ名とユーザの部署が同一だった場合に、そのグループへユーザを自動的に追加する想定で作ってみました。
これもフローとプロセスビルダーで解決します。
まずレコードの検索を行います。今回は部署名でグループ名を検索しますので、Nameに対して、部署名が入る変数(DepartmentName)と一致させます。
更にここが重要ですが、TypeでRegularを選びまず。Regularが公開グループのことで、これを選ばないと同一のキューがあった場合にそっちに紐付いてしまう可能性があります。公開グループもキューもどちらもGroupなのです。
DepartmentNameの変数はテキスト型、入力のみです。
「レコードの項目に変数を割り当ててフローで参照します。」では、IdをGroupIdとして格納します。一応レコードが検出されない場合、Null値を変数に割り当てます。にチェックを入れてください。次の判定で使います。
GroupIdの変数はテキスト型、非公開です。
次にGroupがあったかどうかを判定させます。GroupIdが見つかった(Nullではない)場合、次のステップに進めるようにします。Nullの場合はここで終了です。
次にレコードの作成を作ります。対象のオブジェクトは「GroupMember」です。GroupIdは先程の変数GroupIdを、UserOrGroupIdはユーザIDを格納する変数UserIdを割り当てます。
UserIdはテキスト型、入力のみです。
あとはつないで、レコードの検索を開始要素として設定します。
次にプロセスビルダーです。
アクショングループの条件は部署がヌルでないこと(False)で設定します。安易ですが。
そしてルール適用時のアクションとして先ほど作ったフローを起動します。それぞれの変数にはユーザの部署やIDを付与してください。
最後にプロセスビルダーを有効化すると完成します。
非常にシンプルではあるのですが、これだけで自動的にグループに追加されるようになります。もちろんメンテナンス(削除や変更など)を追加すると手順はかなり変わるのですが、この方法でユーザにユーザ編集権がなかったとしてもグループへの追加が可能になります。