目次
- 1 トピックって何?アクションって何?
- 2 Agentforceの推論エンジンが入力テキストから適切なトピックとアクションを選択する
- 3 トピック作成の基本ステップ
- 4 「取引先責任者のメアド項目を探すアクション」のフロー作成
- 5 アクション作成の基本ステップ
- 5.1 1. 作成したトピック(本人確認)をクリックします。
- 5.2 2. [このトピックのアクション] サブタブをクリックします。
- 5.3 3. [新規] をクリックして [アクションを追加] を選択します。
- 5.4 4. [参照アクション種別] で [フロー] を選択して「次へ」をクリックします。
- 5.5 5. [参照アクション]で上記で作成した「取引先責任者のメアド確認」を選択して「次へ」をクリックします。
- 5.6 6. [エージェントアクション手順][入力の手順][出力の手順]に説明を入力します。(この説明が推論エンジンによって読み込まれますのでよく検討して入力する必要があります。私は下記のように入力しましたが、これで良いのかはまだわからないので参考までに!)
- 5.7 7. [入力が必要]と[会話に表示]にチェックを入れます。
- 5.8 8. 「完了」をクリックします。
- 6 実際にAgentforceでメールアドレスを入力してテストする
Agentforceでトピック・アクションを作成する方法について、解説していきたいと思います。
トピックって何?アクションって何?
まず、設定の前にAgentforceのトピックとアクションについて理解する必要があります。
アクションとは、「こういうことをしてほしい」という具体的な機能のことです。例えば:
- 入力されたメールアドレスが取引先責任者メール項目にあるか探す
などの機能のことです。このアクション機能は基本的にSalesforceのフローやApexを使って構築するもので、Salesforceを利用している方であればすぐにイメージすることが出来ると思います。
一方でトピックとは、上記の複数のアクションをひとまとまりにしたカテゴリのようなものだと理解してください。例えば、メールアドレスを取引先責任者から探すアクションのトピックは、「本人確認」というトピックにカテゴライズすることが出来ます。もしかしたら「本人確認」というトピックには、「入力された電話番号が取引先責任者の電話番号項目に存在するか探す」というアクションが他にあっても良いかもしれません。
つまり、「本人確認」というトピックの中にメールアドレスや電話番号を取引先責任者から探す複数のアクションがあるというイメージです。
Agentforceの推論エンジンが入力テキストから適切なトピックとアクションを選択する
上述したトピックとアクションを用意しておき、入力されたテキストからどのトピックとアクションを実行するのかをAgentforceの推論エンジンが決め、アクションで実行した結果を元に会話形式で返事を返すという仕組みになっています。
例えば、メールアドレスが取引先責任者にあるかどうかを調べるAgentforceの場合、メールアドレスが入力されたら「本人確認」トピックの「取引先責任者のメールアドレス項目を探す」アクションを実行して、メールアドレスが存在した場合は「登録があります」といった返事を返し、ない場合は「登録がありません」といった返事を返すようになっているのです。
なので、Agentforceは特定の目的のために作成するものでありChatGPTのように何でも質問を受け付けます!といったものではないと理解する必要があります。(ちなみに、トピックやアクションと全く関係のない入力をすると関連する入力を促す返事がされるようになっています。)
Agentforceを作り込むときは、どんな人がどんな目的でどんな入力されるのかを幅広く検討し、各々に適切に対応できるように複数のトピックとアクションを事前に用意しておく必要があるという点でなかなか大変だと思います。
トピック作成の基本ステップ
まずはトピックの作成手順を説明します!エージェントの有効化などは下記のTrailheadを参考にしてください!
1. エージェントビルダーで [新規] をクリックし、[新規トピック] を選択します。

モーダル画面で下記の項目に説明を入力します。
- トピックの表示ラベル
- 分類の説明
- 範囲
- 説明
この項目への入力は非常に重要です。よく検討して入力しましょう!
というのも、Agentforceの推論エンジンはこれらのトピック名や分類の説明・説明内容を元にどのトピック・アクションが適切なのかを判断するからです。ここの説明が不適切だと推論エンジンが適切なトピックを選択することが出来ず、結果的におかしな返信が返ってきてしまう原因になります。
今回は下記のように入力しましたが、どう入力するのが最適なのかは私もまだ分かりません。ここは試行錯誤が必要な部分だと思います。

2. 他の設定はそのままにして [次へ] をクリックします。
3. [完了] をクリックします。
「取引先責任者のメアド項目を探すアクション」のフロー作成
実際にアクションを設定する前に、アクションが実行するフローをあらかじめ作成しておく必要があります。今回は入力されたメールアドレスが取引先責任者に存在するかを確認して、存在するならtrue・存在しないならfalseをBoolean変数に格納するフローを作成します。(後述しますが、Boolean変数がtrueなら「登録があります」、falseなら「登録がありません」と返事をするようにアクションの説明に記述して推論エンジンが適切に理解できるようにします。)
下記のようなフローを作成しました。

アクションで利用するフローは「自動起動フロー」で作成します。入力されたメールアドレスをテキスト変数に格納し、レコードを取得要素で入力されたメールアドレスと一致する取引先責任者を取得します。
入力されたメールアドレスを格納するテキスト変数は「入力で使用可能」にチェックを入れて作成します。こうすることで推論エンジンがメールアドレスを抜き出してこの変数に格納してくれます!

レコードの取得要素は下記のように設定します。

決定要素は下記のように設定しました。

「メアドあり」「メアドなし」の割り当て要素はそれぞれ下記のように設定します。


「OutputEmail」はBoolean変数です。下記のように設定します。
「出力で使用可能」にチェックを入れてください。チェックを入れないと会話で使えません。

これで「有効化」します。有効化しないとアクションでこのフローを選択できません。
<注意>
TrailheadのAgentforce環境は、取引先責任者のみ対象としているようです。例えば、上記のフローでケースを取得する要素を作成することはできますが、Agentforceはケースのフローを読み取ることができないようで、エラーが出ます。なので、Trailhead環境で試す場合は、取引先責任者を操作するフローを作成して検証するようにしてください。
アクション作成の基本ステップ
では、実際のアクション作成手順を見ていきましょう。
1. 作成したトピック(本人確認)をクリックします。
2. [このトピックのアクション] サブタブをクリックします。

3. [新規] をクリックして [アクションを追加] を選択します。

4. [参照アクション種別] で [フロー] を選択して「次へ」をクリックします。

5. [参照アクション]で上記で作成した「取引先責任者のメアド確認」を選択して「次へ」をクリックします。

6. [エージェントアクション手順][入力の手順][出力の手順]に説明を入力します。(この説明が推論エンジンによって読み込まれますのでよく検討して入力する必要があります。私は下記のように入力しましたが、これで良いのかはまだわからないので参考までに!)

7. [入力が必要]と[会話に表示]にチェックを入れます。
8. 「完了」をクリックします。
実際にAgentforceでメールアドレスを入力してテストする
では実際にテストをしてみましょう!取引先責任者に存在するメールアドレスをコピーしてください。
画面右下のテキストボックスに存在するメールアドレスを入力してください。「登録があります」と返ってくるはずです。

はい。問題なさそうですね。
では、次に取引先責任者に存在しないメールアドレスを入力してみましょう。

はい。問題なさそうです。
なお、上記画像の左側の赤枠には入力と出力が何だったのかを見ることができます。今回は「test@salesforce.com」が入力されていることが確認できますね。で、出力の「true」の値によってメールアドレスが存在することが示されています。推論エンジンではこのアクションの説明とトピックの説明にtrueとfalseがどのような意味があるのかを理解しているので、「登録があります」と返信できているわけです。
以上がAgentforceのトピック・アクションの作成方法でした。私もまだ試行錯誤中なのでこれで本当に良いのか(特に説明はもっとプラッシュアップできると思っています。)わかりませんが、全体像を掴んでもらえれば良いと思います!