フローでDeveloperNameからロールIDを取得してロールメンバーのアドレスを取得する
組織の方針によりますが、IDの文字列よりはずっとわかりやすいです。
Admin
2024/12/25 16:52:20
「Winter'25 フローの「メールを送信」アクションでCC、BCCが可能&受信者上限が150に」で「今回は手っ取り早く設定するためにロールの指定はIDを直打ちしていますが、他の方法がSandboxからのリリースやメンテナンスがしやすいと思います。いつか記事書きます。」と書いていたことを思い出しまして、短い記事ではございますが本日やっと記事にしました。

①と②の間に要素を追加し、ロールIDを直打ちしないで特定のロールに割り当てられたユーザーのアドレスを取得します。

「ロールを取得」の要素の詳細です。
表示ラベル
ロールを取得
API参照名
GetRole
このオブジェクトのレコードを取得
ロール
ロールレコードを絞り込み>条件の要件
すべての条件に一致(AND)
DeveloperName|次の文字列と一致する|SVPSalesMarketing
ロールレコードを並び替え並び替えなし
保存するレコード数
最初のレコードのみ
レコードデータの保存方法
項目を選択してあとはSalesforceに任せる
こちら↓の設定が今回の要です。
ロールレコードを絞り込み>条件の要件
DeveloperName|次の文字列と一致する|SVPSalesMarketing
※前回の記事では「SVP」と略していましたが正式な表示ラベルは「SVP, Sales &Marketing」です。
DeveloperNameは API参照名のことです。レコードタイプや公開グループ名、ロールを参照する際にフローで使用できます。
ちなみに ロールの DeveloperNameはここで確認できます。

Salesforceさん公式ブログ(英語)でも、フロー内でIDを直接参照するハードコーティングを避け、DeveloperNameを使用することをおすすめされております。
公式ブログより、フローのベストプラクティス(長いです)
以前、リンゴさんが公開された記事でもレコードタイプの指定について例が紹介されていました。
レコードタイプを指定する際は、IDではなくDeveloperNameを使いましょう
現在は既存の設定であれば本番組織とSandboxでこれらの IDは同じなので(私の確認できる組織間では同じでした)、あまり神経質にならなくてもいいかもしれませんが、DeveloperNameのほうが設定内容を確認したときに一目でどのロールを参照しているのかわかりやすいので、誰がみてもわかりやすい設定を目指したい場合は、DeveloperNameの使用を検討してください。
このオブジェクトのレコードを取得>オブジェクト
ユーザー
ユーザーレコードを絞り込み>条件の要件
すべての条件に一致(AND)
UserRoleId(ロールID)|次の文字列と一致する|GetRole ロール > ロール ID
IsActive(有効)|次の文字列と一致する|True
ユーザーレコードを並び替え>並び替え順
並び替えなし
保存するレコード数
すべてのレコード
レコードデータの保存方法
すべての項目を自動的に保存
変更したのは↓の部分です。
ユーザーレコードを絞り込み>条件の要件
UserRoleId(ロールID)|次の文字列と一致する|GetRole ロール > ロール ID
「GetRole ロール > ロール ID」が、新たに追加した要素で取得したロールのIDにあたります。
公式ブログより、フローのベストプラクティス(長いです)
レコードタイプを指定する際は、IDではなくDeveloperNameを使いましょう
フローは前回の例と同じです
「Winter'25 フローの「メールを送信」アクションでCC、BCCが可能&受信者上限が150に」で作成しましたこちらのレコードトリガーフロー。①と②の間に要素を追加し、ロールIDを直打ちしないで特定のロールに割り当てられたユーザーのアドレスを取得します。
追加した「レコードを取得」要素の設定内容:
DeveloperNameでロールを取得
「ロールを取得」の要素の詳細です。
ロールを取得
API参照名
GetRole
このオブジェクトのレコードを取得
ロール
ロールレコードを絞り込み>条件の要件
すべての条件に一致(AND)
DeveloperName|次の文字列と一致する|SVPSalesMarketing
ロールレコードを並び替え
保存するレコード数
最初のレコードのみ
レコードデータの保存方法
項目を選択してあとはSalesforceに任せる
こちら↓の設定が今回の要です。
ロールレコードを絞り込み>条件の要件
DeveloperName|次の文字列と一致する|SVPSalesMarketing
※前回の記事では「SVP」と略していましたが正式な表示ラベルは「SVP, Sales &Marketing」です。
DeveloperNameは API参照名のことです。レコードタイプや公開グループ名、ロールを参照する際にフローで使用できます。
ちなみに ロールの DeveloperNameはここで確認できます。
Salesforceさん公式ブログ(英語)でも、フロー内でIDを直接参照するハードコーティングを避け、DeveloperNameを使用することをおすすめされております。
公式ブログより、フローのベストプラクティス(長いです)
以前、リンゴさんが公開された記事でもレコードタイプの指定について例が紹介されていました。
レコードタイプを指定する際は、IDではなくDeveloperNameを使いましょう
現在は既存の設定であれば本番組織とSandboxでこれらの IDは同じなので(私の確認できる組織間では同じでした)、あまり神経質にならなくてもいいかもしれませんが、DeveloperNameのほうが設定内容を確認したときに一目でどのロールを参照しているのかわかりやすいので、誰がみてもわかりやすい設定を目指したい場合は、DeveloperNameの使用を検討してください。
②の要素の変更
「ロールを取得」要素を追加したため、②の要素もそれにあわせて変更が必要です。ユーザー
ユーザーレコードを絞り込み>条件の要件
すべての条件に一致(AND)
UserRoleId(ロールID)|次の文字列と一致する|GetRole ロール > ロール ID
IsActive(有効)|次の文字列と一致する|True
ユーザーレコードを並び替え>並び替え順
並び替えなし
保存するレコード数
すべてのレコード
レコードデータの保存方法
すべての項目を自動的に保存
変更したのは↓の部分です。
ユーザーレコードを絞り込み>条件の要件
UserRoleId(ロールID)|次の文字列と一致する|GetRole ロール > ロール ID
「GetRole ロール > ロール ID」が、新たに追加した要素で取得したロールのIDにあたります。
ひとこと
いつもメインでお伝えしたいことではないため、特定のグループ等の指定を簡単に済ませてしまうので、初心者にはやさしくないかもしれないとじつは気になっていたところでもありまして、今回記事を公開できてホッとしております。DeveloperName、なぜそこだけ急にDeveloperNameになるのかミステリーですが、ぜひフローで活用してください。関連記事
Winter'25 フローの「メールを送信」アクションでCC、BCCが可能&受信者上限が150に公式ブログより、フローのベストプラクティス(長いです)
レコードタイプを指定する際は、IDではなくDeveloperNameを使いましょう
コメント