Copilot を強化して会話の言葉でデータを操作する
温かくお迎えする
Coral Cloud Resorts には、毎日世界中からお客様がいらっしゃいます。到着時のお客様は早くリラックスしたいと思っています。ただし、その前にフロントデスクでチェックインしなければなりません。Becca は、この最後の小さなハードルをスタッフができるだけ容易にクリアし、お客様にできるだけ早くバケーションを開始していただけるようするつもりです。
チェックインが発生するたびに、Coral Cloud のスタッフは Guest Event (ゲストイベント) という名前のカスタムオブジェクトにレコードを作成して、イベントを記録します。これを使用して、お客様がハウスキーピングを要請したり、ソーシャルアクティビティに参加したりするなど、さまざまなことを追跡します。現在、スタッフは手動でチェックインレコードを作成する必要がありますが、Becca はプロセスをレベルアップする方法を 2 つ考えています。まず、フローを使用して、最新の予約データに基づいて Data Cloud で Guest Event レコードを作成します。次に、Einstein Copilot に会話の言葉でフローを起動する方法をトレーニングします。Sofia Rodriguez が滞在を開始するために到着したとき、フロントデスクで誰が対応しても、Einstein に「Sofia Rodriguez をチェックインする」と要求するだけで、Einstein が残りの処理を行ってくれます。
ゲストイベントを記録するフローを完成させる
Data Cloud には、Becca が Sofia Rodriguez のような取引先責任者から開始し、予約データに基づいてレコードを作成するフローを作成するために必要なすべての情報が揃っています。ただし、この 2 つの間のつながりは少し曲がりくねっています。前のステップで学習したように、ID 解決では、関連するデータモデルオブジェクトを接続するブリッジオブジェクトが自動的に作成されます。チェックインフローを作成するには、Becca はこれらのブリッジの 1 つを 2 回通過する必要があります。
問題のブリッジは Unified Link Individual ccid という名前で、Salesforce 内の Sofia と Reserv-o-matic 内の Sofia を接続しています。そのブリッジのデータを簡略化したバージョンを次に示します。
氏名 |
データソース |
ソース ID |
統合 ID |
---|---|---|---|
Sofia Rodriguez |
Salesforce |
003bn000002FILwAAO [1] |
ca6369777b7dbca79215f46016e74dd6 |
Sofi Rodriguez |
Reserv-o-matic |
10008155 [2] |
ca6369777b7dbca79215f46016e74dd6 |
統合 ID は、どちらの Sofia でも同じです。したがって、Sofia の Salesforce ID [1] がわかっていれば、統合 ID を使用して Reserv-o-matic ID [2] を検索できます。これは重要なことです。なぜなら、予約は Reserv-o-matic ID のみでお客様に結び付けられているからです。その簡略化したバージョンを次に示します。
取引先責任者 ID |
チェックイン日 |
チェックアウト日 |
部屋タイプ |
予約状況 |
---|---|---|---|---|
10008155 [2] |
5/31/2021 |
6/1/2021 |
スイート |
完了 |
10008155 [2] |
10/19/2023 |
10/21/2023 |
スイート |
完了 |
10008155 [2] |
4/27/2024 |
5/7/2024 |
スイート |
完了 |
この情報を踏まえたうえで、フローの動作を詳しく見てみましょう。
- Salesforce のソース ID [1] を使用して、ブリッジをクエリして統合 ID を調べる。
- 統合 ID を使用して、ブリッジを再度クエリして Reserv-o-matic ID [2] を調べる。
- Reserv-o-matic ID [2] を使用して、予約データをクエリして最新の予約詳細を調べる。
- 最新の予約詳細を取得し、その詳細でフロー変数を更新する。
- 変数を使用してチェックインの Guest Event レコードを作成する。
多くの作業があるように見えますが、幸いなことにチーム Trailhead がフローの大部分をすでに作成しています。残りの部分は、先ほどデータストリームを作成し、ID 解決を設定したことによって存在するようになったオブジェクトが必要です。では、フローを完成させましょう。
-
[Setup (設定)] アイコンをクリックし、[Setup (設定)] をクリックします。
- 検索に
flows
(フロー) と入力し、[Flows (フロー)] ([Process Automation (プロセスの自動化)] の下) をクリックします。
-
[Create Check-in Guest Event (チェックインゲストイベントの作成)] をクリックします。
-
[Unified Link 1 (統合リンク 1)] 要素をクリックし、[Edit Element (要素を編集)] をクリックします。
- [Data Source (データソース)] で [Data Cloud Object (Data Cloud オブジェクト)] を選択します。
- [Data Space (データスペース)] で [default (デフォルト)] を選択します。
- [Object (オブジェクト)] で [Unified Link Individual ccid (統合リンク個人 ccid)] を選択します。
類似した名前がいくつかありますので、必ず正しいオブジェクトを選択してください。
- [Filter Records (レコードを絞り込む)] セクションの [Field (項目)] で [SourceRecordId__c] を選択します。
これは、1 つ目のテーブルのソース ID 列の実際の名前です。
- [Value (値)] で変数 [ContactRecordId] を選択します。
ContactRecordId は、チーム Trailhead が事前に作成した変数です。取引先責任者レコードの Salesforce ID を表します。
-
[Save (保存)] をクリックします。
フローが統合リンクテーブルで最初のレコードを特定しました。そのレコードの統合 ID を使用して Reserv-o-matic ID を調べます。
-
[Unified Link 2 (統合リンク 2)] 要素をクリックし、[Edit Element (要素を編集)] をクリックします。
- [Data Source (データソース)] で [Data Cloud Object (Data Cloud オブジェクト)] を選択します。
- [Data Space (データスペース)] で [default (デフォルト)] を選択します。
- [Object (オブジェクト)] で [Unified Link Individual ccid (統合リンク個人 ccid)] を選択します。
これは、1 つ目の要素と同じオブジェクトです。
- [Filter Records (レコードを絞り込む)] セクションの [Field (項目)] で [UnifiedRecordId__c] を選択します。
これは、1 つ目のテーブルの統合 ID 列の実際の名前です。
- [Value (値)] に
{!Unified_Link_1.UnifiedRecordId__c}
をコピーして貼り付けます。
これは、1 つ目のクエリの統合 ID を示すポインターです。[Value (値)] の外側をクリックすると、テキストはプレースホルダーで置き換えられます。
-
[Add Condition (条件を追加)] をクリックします。
- [Field (項目)] で [ssot__DataSourceObjectId__c] を選択します。
- [Operator (演算子)] で [Starts With (次の文字列で始まる)] を選択します。
- [Value (値)] に、
External
(外部) と入力します。
データレイクオブジェクトは実際には、簡略化したテーブルで示した Reserv-o-matic ではなく、ExternalReservation と呼ばれます。この条件を追加することで、フローは Sofia の Salesforce ID を無視し、1 つ目のテーブルから 10008155 を見つけます。
-
[Save (保存)] をクリックします。
Sofia の Reserv-o-matic ID がわかったため、最新の予約を検索できます。
-
[Reservation 1 (予約 1)] 要素をクリックし、[Edit Element (要素を編集)] をクリックします。
- [Data Source (データソース)] で [Data Cloud Object (Data Cloud オブジェクト)] を選択します。
- [Data Space (データスペース)] で [default (デフォルト)] を選択します。
- [Object (オブジェクト)] で [ExternalReservation] を選択します。
- [Filter Records (レコードを絞り込む)] セクションの [Field (項目)] で [Contact_ID_c__c] を選択します。
- [Value (値)] に
{!Unified_Link_2.SourceRecordId__c}
をコピーして貼り付けます。
これは、前のクエリを示すポインターです。
- [Sort Order (並び替え順)] で [Descending (降順)] を選択します。
- [Sort By (並び替え)] で [Check_in_Date_c__c] を選択します。
-
[Save (保存)] をクリックします。
この方法で並び替えると、最新の予約が結果の先頭に配置されるため、フローの残りの部分で使用されます。パズルの最後のピースは、予約の詳細を使用して変数 (EventSummary) の値を設定することです。これは、最終的に新しい Guest Event レコードに挿入されます。
-
[Event Summary (イベントの概要)] 要素をクリックし、[Edit Element (要素を編集)] をクリックします。
- [Value (値)] に次の情報をコピーして貼り付けます。
Check-in date of {!Reservation_1.Check_in_Date_c__c}, check-out date of {!Reservation_1.Check_out_Date_c__c}, for room type {!Reservation_1.Room_type_c__c}
- [Save (保存)] ボタンを使用可能にするために [Value (値)] ボックスの外側をクリックし、[Save (保存)] をクリックします。
-
[Activate (有効化)] をクリックします。
- フロータブを閉じて [Setup (設定)] タブに戻ります。
うまくフローを作成できました。少し手間がかかりましたが、Einstein Copilot がその使い方を学習すれば、すぐに効果が得られます。
チェックイン Copilot アクションを作成する
さらに朗報です。フローを使用するように Einstein Copilot を設定するのは非常に簡単です。
-
[Setup (設定)] アイコン をクリックし、[Setup (設定)] をクリックします。
- [Quick Find (クイック検索)] ボックスに
Einstein Setup
(Einstein 設定) と入力し、[Einstein Setup (Einstein 設定)] をクリックします。
- [Turn on Einstein (Einstein を有効化)] を [On (オン)] に切り替えます。
- [Quick Find (クイック検索)] ボックスに
Einstein Sales
と入力し、[Einstein for Sales] をクリックします。
- 組織でセールスメールがすでに有効になっている場合があります。有効になっていない場合は、[Turn on Sales Emails (セールスメールを有効化)] を [有効 (オン)] に切り替えます設定されるまでに時間がかかることがありますが、その間に続きの手順を実行できます。数分後、設定アラートをクリアするためにブラウザーの更新が必要になる場合があります。
- [Quick Find (クイック検索)] ボックスに
agent
(エージェント) と入力し、[Agents (エージェント)] をクリックします。
- [Einstein Copilot for Salesforce (Salesforce 用 Einstein Copilot)] を [On (オン)] に切り替えます。
- ブラウザーを更新します。
- [Quick Find (クイック検索)] ボックスに
agent
(エージェント) と入力し、[Agent Actions (エージェントアクション)] をクリックします。
-
[+ New Agent Action (新規エージェントアクションの追加)] をクリックします。
- [Reference Action Type (参照アクション種別)] で [Flow (フロー)] を選択します。
- [Reference Action (参照アクション)] で [Create Check-in Guest Event (チェックインゲストイベントを作成)] を選択します。
-
[Next (次へ)] をクリックします。
ここで、Copilot がフローから何を取得するかを見てみましょう。最も重要なのは、フローには明確に定義された説明があり、それが [Copilot Action Instructions (Copilot アクション手順)] に挿入されていることです。変数にも適切な説明があり、入力と出力の手順に挿入されています。これらは、Einstein がフローの目的と使い方を理解するために重要です。ベストプラクティスに従い、業務を適切にドキュメント化した Becca に称賛を贈りたいと思います。
- [Input (入力)] で [Require Input (入力が必要)] をオンにします。
- [Output (出力)] で [Show in conversation (会話に表示)] をオンにします。
-
[Finish (完了)] をクリックします。
新しいアクションを完成させましたが、これを Copilot に追加する必要があります。
- [Quick Find (クイック検索)] ボックスに
agent
(エージェント) が入力された状態で、[Agents (エージェント)] をクリックします。
-
[Einstein Copilot] をクリックします。
-
[Open in Builder (ビルダーで開く)] をクリックします。
Copilot が有効でないことを確認します。[Activate (有効化)] ボタンが表示されているはずです。[Deactivate (無効化)] ボタンが表示されている場合には、そのボタンをクリックします。
- [Topics (トピック)] から MigrationDefaultTopic をクリックします。
-
[This Topic’s Actions (このトピックのアクション)] をクリックします。
-
[New (新規)] をクリックして、[Add from Asset Library (アセットライブラリから追加)] を選択します。
-
[Create Check-in Guest Event (チェックインゲストイベントを作成)] のチェックボックスをオンにして、[Finish (完了)] をクリックします
-
[Activate (有効化)] をクリックします。
- [Agent Builder (エージェントビルダー)] タブを閉じて、セールスアプリケーションに戻ります。
これで完了です。Copilot でお客様をチェックインする準備が整いました。あとは試してみるだけです。Sofia Rodriguez の取引先責任者レコードがすでに開いている場合があるため、チェックインを最初から開始するように [Home (ホーム)] タブに移動します。
-
[Home (ホーム)] タブをクリックします。
- ブラウザーウィンドウを更新します。
-
[Einstein] アイコンをクリックして [Einstein] パネルを開きます。
- [Einstein] パネルで、
Tell me about the Sofia Rodriguez contact
(Sofia Rodriguez 取引先責任者について教えてください) と入力し、Enter キーを押します。
このステップは厳密には必要ありませんが、レコードを検索して要約する Einstein の機能を確認できます。
-
[Sofia Rodriguez] のリンクをクリックします。
Sofia の取引先責任者レコードが表示されます。Einstein の応答にレコードへのリンクが含まれていない場合は、該当する取引先責任者レコードに移動してください (トレーニング環境でときどき発生することがあります)。
- [Einstein] パネルで、
Check in Sofia Rodriguez
(Sofia Rodriguez をチェックインする) と入力し、Enter キーを押します。
しばらくすると、Einstein はチェックインの詳細と共に、チェックインが完了したと応答します。Guest Event レコードも作成されました。
- スクロールダウンして [Guest Events (ゲストイベント)] 関連リストを見つけ、新しい GE レコードをクリックします。
チェックインイベントが正常に取得されています。
- [Einstein] パネルを閉じます。
Becca の計画のフェーズ 2 がうまくいきました。リゾートのスタッフは、お客様を簡単にチェックインできることを非常に喜んでいます。ソーシャルコーディネーターは、アクティビティのゲストイベントを作成するように Copilot をトレーニングしてほしいと Becca にすでに依頼しています。
最後のフェーズでは、プロンプトビルダーを使用して、数回クリックするだけでパーソナライズされたご案内メールを作成します。