リアルタイム更新
概要
Platform Events はあなたの Avonni ダイナミックコンポーネント (チャット、カンバン、リスト、データテーブルなど)が 変更を監視することを 可能にし、Salesforce 組織で発生した変更に対してリアルタイムでデータを自動的に更新します。
デフォルトでは、別のユーザーや自動化プロセスがレコードを更新しても、手動でページを更新するまでその変更は表示されません。この機能はその問題を解決し、ユーザーが中断なく常に最新の情報を確認できるようにします。
このガイドは、この機能を有効にするために Salesforce で必要な一度限りの設定を案内します。
リアルタイム更新を機能させるには、次の三つが必要です:
Platform Event: 何かが変化したときに Salesforce が放送する「シグナル」。
トリガーフロー: レコードが作成または更新されたときにシグナルを発火させる自動化。
コンポーネント構成: そのシグナルを受信する Avonni ダイナミックコンポーネント。
構成手順
設定を説明するために、一般的なシナリオを使用します: 新しいコメントが投稿されたときにケースチャットを即時に更新する。
目的は、チャットがリフレッシュできるようにケースレコードページに変更が発生したことを通知することです。
Platform Event を作成する
通知の「シグナル」として機能するカスタムイベントオブジェクトが必要です。
に移動します セットアップ > 統合 > Platform Events(プラットフォームイベント).
クリックします 新規プラットフォームイベント.
ラベル: 入力してください
Chat Notification(チャット通知)(またはRecord Change Event(レコード変更イベント)).複数形ラベル:
Chat Notifications(チャット通知).公開動作: 選択: コミット後に公開(Publish After Commit).
クリックします 保存.
ペイロードフィールドを追加する
どのレコードが変更されたかをコンポーネントが認識できるように、そのレコードの ID を運ぶフィールドが必要です。 どの データを更新するかを
で、 新しいプラットフォームイベントの カスタムフィールドと関連(Custom Fields & Relationships)セクションで、 新規(New).
選択: テキスト(Text) をデータ型として選択します。
フィールドラベル:
RecordId(レコードID).長さ:
18.フィールド名:
RecordId(レコードID)(API 名はRecordId__c).クリックします 保存.
注意: 特定のデータを渡したい場合はさらにフィールドを追加できますが、コンポーネントの更新には通常レコード ID だけで十分です。
トリガーフローを作成する
次に、レコードが変更されたときに実際にこのイベントを発行するよう Salesforce に指示する必要があります。
に移動します セットアップ > プロセスオートメーション > フロー(Flows).
クリックします 新規フロー(New Flow) を選択し、 レコードトリガーフロー(Record-Triggered Flow).
開始の設定:
オブジェクト:
CaseComment(ケースコメント)(またはコンポーネントが表示しているオブジェクト)。トリガー: レコードが 作成されたとき(Created) (または更新されたとき)。
最適化: アクションと関連レコード用(Actions and Related Records)。
要素を追加:レコード作成(Create Records).
ラベル:
プラットフォームイベントを公開(Publish Platform Event).オブジェクト: ステップ1 で作成したプラットフォームイベントを選択します(例:
Chat Notification(チャット通知)).フィールド値を設定:
RecordId__c←{!$Record.ParentId}
なぜ ParentId か? チャットが表示されているのは ケース ページなので、ケースに何かが起きたことを通知する必要があります。コメントが 作成されたとき、私たちはその 親の ID を取得して、 それを放送します。 および
保存 フローを 有効化(Activate) します。
コンポーネントを接続する
バックエンドがシグナルを放送しているので、Avonni ダイナミックコンポーネントを「チューニング」するだけです。
コンポーネントを開きます(Open) Avonni コンポーネントビルダー(Avonni Component Builder).
次のことを確認してください、 データソース(Data Source) が設定されていること: クエリ(Query).
を開きます(Open) 詳細オプション(Advanced Options) > Query Refresh EMP.
設定を入力してください:
チャネル名: イベントの API 名(例:
Chat_Notification__e).キー フィールド名: ペイロードフィールドの API 名(例:
RecordId__c).キー フィールド値(任意): 空欄のままにします。
動作: ここを空のままにしておくと、コンポーネントは自動的にイベントの
RecordId(レコードID)を現在画面に表示されているレコード({!RecordId}) と比較します。一致すればリフレッシュします。
結果: これでステップ2 のフローが実行されるたびに、コンポーネントは自動的にデータを更新するようになります。
構成のテスト
リアルタイム更新が動作していることを確認するには:
Salesforce のレコードページを開きます 別々の 2 つのブラウザタブで (または 2 つ目にシークレットウィンドウを使います)。
タブ1 で新しいメッセージを投稿する(またはレコードを更新する)。
タブ2 を観察します。コンポーネントはリフレッシュをクリックしなくても即座に変更を表示するはずです。
トラブルシューティング
コンポーネントが更新されない場合:
権限を確認: ユーザーがプラットフォームイベントオブジェクトを読み取り/作成する権限を持っていることを確認してください。
API 名を確認: 確認してください、
チャネル名(Channel Name)に__eの接尾辞が含まれており、キー フィールド名(Key Field Name)に__c.が含まれていること。 フローデバッグを確認:
最終更新
役に立ちましたか?
