ネタ帳を整理しておりまして、そのときはうまく設定できなかったりで記事にできなかったものをサルベージしております。
今日はとても活用できそうな機能なのに何故だか記事作成途中で終わっていた、フローでのレコードのロックを使って、昔からニーズとして多い「クローズした商談のロック」をやってみました。
やりたいこと
・受注または失注としてクローズした(完了フラグ(IsClosed)が「True」になった)商談を、編集できないようにロックする。
・レコードの所有者にはロック時にも編集を許可する。
作成したフロー
条件がシンプルなので、今回はあっさりしたフローです。

①開始
いつものごとく、とてもシンプルなのでこのような設定内容になっておりますが、状況によって条件は異なりますのでご注意ください。
オブジェクト商談
トリガーを設定レコードが作成または更新された
エントリ条件を設定>条件の要件すべての条件に一致
IsClosed(完了フラグ)|次の文字列と一致する|True
更新されたレコードをフローで実行するタイミング条件の要件に一致するようにレコードを更新したときのみ
フローを最適化アクションと関連レコード
②アクション:クローズした商談をロック
アクションの要素を追加し、「レコードのロック」アクションを選択します。

表示ラベル&API参照名はお好きなように付けてください。
アクションLock
※ロックをかけるときは「Lock」、ロックを解除するときは「Unlock」と入力します。
レコード IDトリガーOpportunity>商談 ID
※ロックを書けるレコードIDを指定します。
許可される ID(トグルを「含まれる」に変更)
トリガーOpportunity >所有者 ID
※ロック時にも編集可能にするユーザーを指定します。
許可されるID は、ユーザー、グループ、キュー、ロール単位で設定できます。今回は商談所有者をIDで指定しています。また、こちらの設定は省略可能です。
テストします
フローの有効化後に、残念ながら失注となりクローズしたこちらの商談。

商談の所有者でもなく、システム管理者でもない、けれども通常は商談を編集できるユーザーが商談を編集しようと試みますが……

「このレコードはロックされています。編集する必要がある場合は、システム管理者にお問い合わせください。」というエラーメッセージが表示され、保存できません。
エラーメッセージ拡大レコードの所有者は編集して保存ができました。
ポイント・システム管理者はロックされたレコードを編集できます。
・「許可されたID」でロールを指定した場合、そのロールおよび上位ロールが編集可能となります。
その他考慮事項はヘルプページをご確認ください。
◇ Salesforce ヘルプ >ドキュメント >ビジネスプロセスの自動化 >フローコアアクション: レコードをロックひとこと&ロック解除についてもあらためて書きます
承認プロセスのように複数のユーザーがレコードを確認したというステップを必要とせず、ステータスなどによって編集不可が決まってくるような場合は、フローのロックで事足りそうですね。
今日はわりとよくあるユースケースのためのシンプルな設定を書きましたが、ロックの解除パターンも書く予定です。
ロック関連の記事
レコードロック時、数式項目で引用している情報もロックできるか入力規則で商談クローズ後にレコードの編集を不可にするおさらい:オブジェクトの「すべて表示」「すべて変更」、および「すべてのデータの編集」権限について公開:2024年9月25日
更新①:2024年10月23日