LAMPAgentforce連携Agentforceでメッセージ履歴を取得する

Agentforceでメッセージ履歴を取得する

LAMPのAgentforce拡張パッケージには、友だちとのメッセージ履歴を扱うサブエージェント「LINE履歴の確認」が含まれます。Agentforceのエージェントに追加すると、履歴の要約や、過去のやり取りについての質問に答えられるようになります。

この記事では、Salesforceを利用する担当者向けのエージェントに、このサブエージェントを追加する例を紹介します。

アセットライブラリで検索する名称は「LINE履歴の確認」です。

サブエージェントには、履歴を取得するアクション「会話タイムラインを取得」と、回答のしかたを決める推論指示が設定済みです。アクションを個別に作成する必要はありません。

事前に準備するもの

  • Igness LAMP 1.159.0.3以降がインストールされ、初期設定・LINE公式アカウントの接続が完了しているSalesforce組織。
  • Igness LAMP - Agentforce Extension Package 1.1.0.2以降。Einstein生成AIが有効な組織でのみインストールできます。
  • Agentforceが有効で、編集・テストできる担当者向けのエージェント。Agentforceに必要なライセンス・権限はSalesforce側でご準備ください。
  • LAMPのチャットでメッセージ履歴を確認できる、テスト用の友だちレコード。

バージョンはSalesforceの「設定」→「インストール済みパッケージ」で確認できます。

1. 拡張パッケージをインストールする

Agentforce拡張パッケージ(バージョン1.1.0.2以降)をインストールします。インストール方法と必要な環境は、「Agentforce拡張パッケージ」とは?をご覧ください。

2. エージェントにサブエージェントを追加する

  1. Agentforce Builderで対象の担当者向けエージェントを開きます。
  2. エクスプローラーの「リソースを追加」(+)→「アセットライブラリから追加」を開きます。
  3. 「LINE」で検索し、「LINE履歴の確認」の「選択」をクリックしてから、「エージェントに追加」をクリックします。

アセットライブラリで「LINE履歴の確認」を検索した画面

追加すると、サブエージェントに推論指示と「会話タイムラインを取得」アクションが設定された状態で表示されます。

推論指示とアクションが設定された「LINE履歴の確認」サブエージェント

  1. 日本語で利用する場合は、「言語設定」のデフォルト言語を「Japanese」にします。
  2. 「保存」をクリックします。
⚠️

言語を変更した後、プレビューで「コンパイルエラーが発生しました」と表示される場合があります。

エラーの内容が「Missing value for ‘additional_locales’」などLanguageに関するものであれば、Builderの右上の表示切り替えで「スクリプト」を開き、language: の部分を次のように1行ずつに直して保存してください。

language:
    default_locale: "ja"
    additional_locales: ""
    all_additional_locales: False

推論指示は、エージェント内で自由に書き換えられます。回答の形式や、未回答の質問の扱いなどを業務に合わせて調整してください。

3. 友だちレコードIDを指定して試す

  1. LAMPの「友だち」から、メッセージ履歴があるテスト用レコードを開きます。
  2. URLの /igns__SocialFriend__c/ と /view の間にある、15桁または18桁のレコードIDをコピーします。
  3. Agentforce Builderの会話プレビューで、次のように依頼します。<友だちレコードID> はコピーしたIDに置き換えてください。

新しいBuilderでは「Preview」タブの「ライブテスト」を使います。

友だちレコードID「<友だちレコードID>」のメッセージ履歴を最大20件取得してください。

続けて「この履歴の中で、まだ回答していない質問はありますか?」などと質問できます。

プレビューの実行内容で、履歴取得アクションが呼ばれたこと、入力の友だちレコードIDが正しいこと、errorMessage が空で transcript に内容が返っていることを確認してください。回答が元のチャットの内容と一致することも確認します。

以下は、検証用の架空の会話5件を取得して要約した例です。在庫・価格・ギフト包装には回答済みで、金曜日までの配送についての質問は未回答であることを、取得した履歴から確認できています。

取得したメッセージ履歴を要約し、回答済みと未回答の質問を区別したライブテストの画面

実運用でIDを毎回入力したくない場合は、表示中のレコードや関連レコードから対象の友だちIDを渡す設定を別途行います。LAMPのチャットコンポーネントを配置するだけでは、Agentforceに対象の友だちIDは渡りません。

取得できる履歴の範囲

このアクションは、指定した友だちの直近のメッセージ履歴を取得します。全期間の検索や、複数の友だちをまたぐ検索には対応していません。

  • 初回に取得できるタイムラインの範囲から、指定した最大件数までを返します。最大件数を増やしても、古いページを順に読み進める処理は行いません。
  • 画像・動画・添付ファイルの中身を読み取る機能ではありません。返された本文を回答の根拠にします。
  • 日時付きの構造化データではなく、話者ラベル付きのテキストを返します。メッセージの日付は、この出力だけでは確認できません。

見つからない・取得できない場合

状況確認すること
アセットライブラリに「LINE履歴の確認」が出てこない「インストール済みパッケージ」で、Agentforce Extension Packageが1.1.0.2以降か確認します。インストール・アップグレード後はBuilderを開き直してください。
「友だちレコードIDの形式が正しくありません」LINEのユーザーID、ケースID、取引先責任者IDではなく、igns__SocialFriend__c のレコードIDを渡します。
「対象の友だちレコードが見つからないか、アクセス権がありません」実行ユーザーのオブジェクト・項目・レコード共有権限と、友だちの公式アカウントとの紐づけを確認します。
「会話履歴を取得できませんでした」対象のチャットに履歴があるか、LAMPの接続・認証設定と実行ユーザーの外部ログイン情報へのアクセス権を確認します。このメッセージだけで、履歴が存在しないと断定しないでください。
履歴取得が呼ばれない「LINE履歴の確認」がエージェントに追加・保存されているか、質問に友だちレコードIDが含まれているかを確認します。プレビューの実行内容で、どのサブエージェントに振り分けられたかを確認できます。

管理者向け:実行ユーザーの権限

権限は、エージェントを設定する管理者だけでなく、実際にアクションを実行するユーザーに必要です。エージェントの種類や実行場所に応じて、ログイン中の担当者またはエージェント実行ユーザーを確認してください。

  • Apexクラス igns__LampGetTimelineHistoryAction へのアクセス。
  • 友だち(igns__SocialFriend__c)・公式アカウント(igns__SocialAccount__c)の参照権限と、対象レコードの共有。
  • 友だちのユーザーID(igns__UserId__c)など、履歴取得に使う項目の参照権限。
  • 外部ログイン情報 igns__APIAccess のプリンシパル Principal へのアクセス。

Einstein Agent Userライセンスの実行ユーザーでは、LAMPの一般ユーザー向け権限セットをそのまま割り当てられない場合があります。その場合は、上記の参照・実行権限を含む専用の権限セットを作成してください。