via pixabay.com
はじめに
「あれ? ○○会社のAさんの電話番号って何番だっけ……?」
急ぎで連絡を取りたいとき、わざわざブラウザでSalesforceを開き、企業名を検索して担当者のページを探す…。毎日のこととなると、この「ちょっとした手間」が時間を奪っていませんか?
もし、いつも使い慣れているSlackで「○○会社のAさんの電話番号を教えて!」とメッセージを送るだけで、AIがパッと答えを返してくれたら業務効率が上がります。
今回は、そんなシームレスな業務体験を叶えてくれるAgentforce in Slackを実際に構築してみました。設定の手順から、実際にSlack上で動かしてみた様子までを記事にしました。ぜひ最後までご覧ください。
急ぎで連絡を取りたいとき、わざわざブラウザでSalesforceを開き、企業名を検索して担当者のページを探す…。毎日のこととなると、この「ちょっとした手間」が時間を奪っていませんか?
もし、いつも使い慣れているSlackで「○○会社のAさんの電話番号を教えて!」とメッセージを送るだけで、AIがパッと答えを返してくれたら業務効率が上がります。
今回は、そんなシームレスな業務体験を叶えてくれるAgentforce in Slackを実際に構築してみました。設定の手順から、実際にSlack上で動かしてみた様子までを記事にしました。ぜひ最後までご覧ください。
実装:Agentforce in Slackの作り方
1.顧客情報を検索する「アクション」を作成する
初めに、Agentが「電話番号を探してくる」ための具体的なアクションを作成します。今回は取引先責任者の情報を引っ張ってくるための簡単なフローを作成し、Agentに割り当てます。
ここでしっかりSalesforceのデータと紐づけることで、AIが適当な嘘をつかず、正確なCRMデータを返してくれるようになります。
フロー全体図は以下の通りです。
ここでしっかりSalesforceのデータと紐づけることで、AIが適当な嘘をつかず、正確なCRMデータを返してくれるようになります。
フロー全体図は以下の通りです。
※in_ContactName:「入力で使用可能」にチェックを入れたテキスト変数。
※out_PhoneNumber:「出力で使用可能」にチェックを入れたテキスト変数。
Agentforceでは、作成したフローを直接Agentに渡すことはできません。フローをAIに理解させるための「エージェントアクション」を作成する必要があります。
1.Salesforceの「設定」を開き、クイック検索で「Agentforce アセット」を検索します。
2.「新規エージェントアクション」をクリックします。
3.参照アクション種別で「フロー」を選び、先ほど作成したフローを選択します。
4.次の画面で、AIに対するプロンプトを入力して「完了」を押します。
Agentforceでは、作成したフローを直接Agentに渡すことはできません。フローをAIに理解させるための「エージェントアクション」を作成する必要があります。
1.Salesforceの「設定」を開き、クイック検索で「Agentforce アセット」を検索します。
2.「新規エージェントアクション」をクリックします。
3.参照アクション種別で「フロー」を選び、先ほど作成したフローを選択します。
4.次の画面で、AIに対するプロンプトを入力して「完了」を押します。
2.Salesforce側でAgentを設定する
フローとエージェントアクションの準備が整ったら、いよいよ主役であるAIエージェントを作成し、先ほどのアクションを持たせていきます。
1.Agent新規作成:設定 > Agentforce エージェントを開き「新しいエージェント」をクリック。今回はテンプレートから「Agentforce Employee Agent」を選択します。
2.基本設定:画面の案内に沿って、以下の通りに設定します。
・トピックの設定:「General FAQ」を追加します。
・エージェントのカスタマイズ:「名前」や「会社」の欄にはAIの前提知識となる情報を入力します。
・データソースの選択:今回は使用しないため、何も設定せずにスキップして進みます。
3.カスタムアクションの追加:「General FAQ」に作成したアクションを追加します。「新規」>「アセットライブラリから追加」の順にクリックし、先ほど作成したフローアクションを選択します。また、AIが迷わずフローを実行できるよう、デフォルトで追加されている「Answer Questions with Knowledge」は削除しておきます。
4.プレビューで動作確認:画面右側の「会話プレビュー」チャット欄で、「○○さんの電話番号を教えて」と送ります。Salesforceのデータが正しく返ってくればエージェントの完成です。
1.Agent新規作成:設定 > Agentforce エージェントを開き「新しいエージェント」をクリック。今回はテンプレートから「Agentforce Employee Agent」を選択します。
2.基本設定:画面の案内に沿って、以下の通りに設定します。
・トピックの設定:「General FAQ」を追加します。
・エージェントのカスタマイズ:「名前」や「会社」の欄にはAIの前提知識となる情報を入力します。
・データソースの選択:今回は使用しないため、何も設定せずにスキップして進みます。
3.カスタムアクションの追加:「General FAQ」に作成したアクションを追加します。「新規」>「アセットライブラリから追加」の順にクリックし、先ほど作成したフローアクションを選択します。また、AIが迷わずフローを実行できるよう、デフォルトで追加されている「Answer Questions with Knowledge」は削除しておきます。
4.プレビューで動作確認:画面右側の「会話プレビュー」チャット欄で、「○○さんの電話番号を教えて」と送ります。Salesforceのデータが正しく返ってくればエージェントの完成です。
3.SlackとSalesforceを連携する
作成したエージェントをSlackから呼び出せるように、Salesforce組織とSlackのワークスペースを連携します。
具体的な連携手順については、Slack公式のガイドがありますので、こちらを参照しながら設定を進めてみてください。
https://slack.com/intl/ja-jp/help/articles/30754346665747
Slack開発環境はこちら (https://api.slack.com/developer-program) から取得可能です。
【連携の大まかな流れ】
1.Slack側: メニューの「ツールと設定」>「Salesforce組織を管理する」から、接続したいSalesforceのURLを入力してリクエストを送信。
2.Salesforce側: 設定の「Slack接続を管理」画面から、Slackからのリクエストを「承認」。
3.Slack側: 承認されたら接続ステータス画面で「有効にする」をクリック。
具体的な連携手順については、Slack公式のガイドがありますので、こちらを参照しながら設定を進めてみてください。
https://slack.com/intl/ja-jp/help/articles/30754346665747
Slack開発環境はこちら (https://api.slack.com/developer-program) から取得可能です。
【連携の大まかな流れ】
1.Slack側: メニューの「ツールと設定」>「Salesforce組織を管理する」から、接続したいSalesforceのURLを入力してリクエストを送信。
2.Salesforce側: 設定の「Slack接続を管理」画面から、Slackからのリクエストを「承認」。
3.Slack側: 承認されたら接続ステータス画面で「有効にする」をクリック。
4.エージェントをSlackに追加する
SlackとSalesforceが連携されたら、最後に今回作成したエージェントをSlackで使えるようにするための設定を行います。
1.Salesforceの「設定」からクイック検索で「エージェント」と入力し、作成したエージェント(電話番号取得エージェント)の詳細画面を開きます。
2.「接続」タブを開き、右下にある「追加」ボタンをクリックします。
3.「外部アプリケーションを追加」という画面が開くので、以下のように設定して保存します。
・接続種別: API
・インテグレーション名: 任意の名前(例:取引先責任者 電話番号取得 エージェント)
・接続アプリケーション: Slack
1.Salesforceの「設定」からクイック検索で「エージェント」と入力し、作成したエージェント(電話番号取得エージェント)の詳細画面を開きます。
2.「接続」タブを開き、右下にある「追加」ボタンをクリックします。
3.「外部アプリケーションを追加」という画面が開くので、以下のように設定して保存します。
・接続種別: API
・インテグレーション名: 任意の名前(例:取引先責任者 電話番号取得 エージェント)
・接続アプリケーション: Slack
以上でAgentforce in Slackの作成手順はすべて完了です。
Agentforce in Slackの確認
すべての設定が完了しましたので、実際にSlackからエージェントに話しかけてみましょう。
Slackの画面左側にある「エージェント」のメニューから、先ほど作成した「取引先責任者 電話番号取得エージェント」を開き、メッセージを送信してみます。
Slackの画面左側にある「エージェント」のメニューから、先ほど作成した「取引先責任者 電話番号取得エージェント」を開き、メッセージを送信してみます。
このように、Slack上で質問を送信するとすぐにAIから回答が返ってきました。わざわざブラウザでSalesforceを開いて検索する手間が省け、普段のチャット画面だけで必要な情報にアクセスできるのは非常にスムーズです。
念のため、AIが不正確な情報を返していないか、Salesforceの実際のデータと照らし合わせて確認してみましょう。
念のため、AIが不正確な情報を返していないか、Salesforceの実際のデータと照らし合わせて確認してみましょう。
Salesforceの画面を確認すると、無事に番号が一致していました。
取引先責任者レコードに登録されている「(512) 757-4561」というデータを、AIが正確に読み取ってSlackに返してくれていることが確認できました。
取引先責任者レコードに登録されている「(512) 757-4561」というデータを、AIが正確に読み取ってSlackに返してくれていることが確認できました。
おわりに
今回は「電話番号の確認」というシンプルなユースケースをご紹介しましたが、Agentforce in Slackの活用範囲はこれにとどまりません。
例えば、「〇〇株式会社の最新の商談状況を教えて」「今日の商談の議事録を要約して」といったように、Salesforce側に新しいフローやアクションを追加していくことで、自社の業務に合わせた専用のアシスタントとして拡張していくことが可能です。ノーコード・ローコードの標準機能でこうした連携を実現できる点は、導入の大きなメリットと言えます。
なお、今回の記事では設定手順のわかりやすさを優先したため、データアクセス権限などの細かな設定は割愛しています。実際に本番環境で運用を開始する際は、各ユーザーのプロファイルや情報の公開範囲など、自社のセキュリティ要件に基づいた適切な権限設定を忘れないようご注意ください。
本記事が、皆さまの「ちょっとした検索作業」の効率化や、Agentforce活用の参考になれば幸いです。
例えば、「〇〇株式会社の最新の商談状況を教えて」「今日の商談の議事録を要約して」といったように、Salesforce側に新しいフローやアクションを追加していくことで、自社の業務に合わせた専用のアシスタントとして拡張していくことが可能です。ノーコード・ローコードの標準機能でこうした連携を実現できる点は、導入の大きなメリットと言えます。
なお、今回の記事では設定手順のわかりやすさを優先したため、データアクセス権限などの細かな設定は割愛しています。実際に本番環境で運用を開始する際は、各ユーザーのプロファイルや情報の公開範囲など、自社のセキュリティ要件に基づいた適切な権限設定を忘れないようご注意ください。
本記事が、皆さまの「ちょっとした検索作業」の効率化や、Agentforce活用の参考になれば幸いです。