10
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Agentforce入門】テキストファイルから日報を自動作成!実用ユースケースのハンズオン全手順(前編)

Last updated at Posted at 2025-12-23

「Agentforce、話題だけど何から始めればいいの?」
「Trailheadはやったけど、自社業務でどう使えるのかイメージが湧かない…」

そんな悩みをお持ちのSalesforce管理者・開発者の皆様向けに、
今回は 「とりあえず動くものを作ってみたい!」 という方向けに、明日から実務で提案できるレベルの実用的かつ効果的なユースケースを題材にしたハンズオンガイドを作成しました。
全6章構成で、(前編)(中編)(後編)となる予定です。

🛠 何を作るのか?

今回構築するのは、営業担当者の事務作業を劇的に減らす 「テキストファイル読み込み&日報自動作成エージェント」 です。

実現するフロー:

  1. 行動(Event)レコードに、メモ書きの「議事録テキストファイル」を添付する。
  2. Agentforceに「このファイルから日報を作って」とチャットで依頼する。
  3. AIがファイルの中身を読み込み、要約・決定事項・ToDoを抽出して、行動レコードの項目に自動で書き込む。

🎯 なぜこのユースケースなのか?

Agentforceのデモでよくある「レコードの要約」だけでは、実際の業務削減効果が見えにくいことがあります。しかし、「添付ファイル(非構造化データ)を読み込んで、Salesforceのデータ(構造化データ)として保存する」という処理は 、あらゆる業務に応用できる 「自動化の王道パターン」 です。

このハンズオンを通じて、以下のAgentforce開発のコア要素を一度に体験します。

  • Agent Builder: エージェントへの指示出し(トピック設定)
  • Prompt Builder: 生成AIへの命令(プロンプト)作成
  • Flow: 処理の自動化とデータ操作
  • Apex: 標準機能では届かない「ファイルの中身を読む」処理(※コピペでOK!)

👤 対象読者と必要な知識

  • 対象: Agentforceを初めて触る方、Salesforce管理者、初級開発者
  • 前提知識:
    • Salesforceの基本的な設定(オブジェクト、項目作成など)ができること。
    • Flowの基本操作(レコードの取得・更新)がなんとなく分かること。

💡 プログラミング知識は不要です!
今回は「添付ファイルをテキスト化する」という処理で少しだけApexコードを使用しますが、記事内のコードをそのままコピー&ペーストすれば動くように解説します。「開発はちょっと…」という管理者の方も安心してトライしてください。

あなたの組織に「専属のAIアシスタント」を配属させてみましょう!

第1章:環境準備(Sandboxリフレッシュと権限設定)

Agentforceの実装を始めるにあたり、まずは安全かつ機能が有効化された環境を準備します。
生成AI機能はライセンスや権限周りが複雑になりがちですので、ここで確実に土台を固めます。

1-1. Sandboxの準備と注意点

まず、開発用のSandboxを用意します。

本番環境からのリフレッシュ

AgentforceやData Cloudのライセンスは、本番環境に紐付いています。そのため、本番環境からリフレッシュしたSandboxを使用するのが最も確実です。

  1. [設定] > [Sandbox] から新規作成、またはリフレッシュを行います。
    Point: 作成時に「Salesforce Data Cloud」や「Einstein」関連のライセンスがSandboxにコピーされる設定になっているか確認してください(通常は自動でコピーされます)。

⚠️ 注意:ライセンスについて
Agentforceは比較的新しい機能です。契約状況によっては、Sandboxで有効化するためにSalesforceサポートへの申請が必要な場合があります。
設定画面にメニューが出てこない場合は、ライセンスの有効期限や購入の有無を確認してください。

1-2. 生成AI機能の有効化

Sandboxにログインしたら、まずはAIのスイッチを入れます。

  1. [設定] > [Einstein 設定] を開きます。

  2. 「Einstein を有効化」 をオンにします。
    これをオンにしないと、そもそもAgentforceやPrompt Builderが動きません。
    1-1_einstein設定.png

  3. [設定] > [Agentforce スタジオ] > [Agentforce エージェント] を開きます。

  4. 「Agentforce」 をオンにします。
    1-2_agentforce_on.png

1-3. 権限セットの割り当て(管理者用)

次に、あなた自身(システム管理者・開発者)がAgentforceを構築・テストできるように権限を付与します。

[設定] > [ユーザ] > [自分のユーザ] を開き、以下の権限セットまたはユーザー設定を割り当ててください。

権限セット名 役割
Agentforce デフォルト管理者 エージェントの作成、設定、モニタリングを行うための管理者権限。
プロンプトテンプレートマネージャー Prompt Builderを使ってプロンプトを作成・編集する権限。
プロンプトテンプレートユーザー 作成したプロンプトを実行する権限。
フローユーザー フローを作成・実行する権限(通常は標準で付与されています)。

💡 Tech Hint
「権限セットが見つからない?」という場合は、[設定] > [組織情報] の「権限セットライセンス」を確認してください。ライセンス自体が割り当てられていないと、権限セットを選択できません。

1-4. エージェントの新規作成

機能が有効になったら、実際に動かすエージェントを作成します。

  1. [設定] > [Agentforce スタジオ] > [Agentforce エージェント]にある [新しいエージェント] ボタンをクリックします。
  2. [Agentforce Employee Agent] を選択して [次へ] をクリックします。
    💡Agentforce Employee Agent が表示されない場合、ライセンスが足りない可能性あり
  3. 「トピックを選択」画面が表示されます。
    ここではデフォルトで選択されているものをそのまま残して [次へ] をクリックします。※今回作成する「日報作成」機能は、後ほど独自のトピックとして追加するため、ここは標準のままでOKです。
  4. エージェントをカスタマイズ(超重要!)
    この画面で入力する内容は、単なる管理用のメモではなく、AI(LLM)への直接的な指示として機能します。ここで英語のまま進めてしまうと、AIが英語で返答したり、日本の商習慣に合わない振る舞いをしたりする原因になります。
    以下のポイントを押さえて、必ず日本語で設定してください。

各項目の設定ポイント

項目名 役割と入力のコツ
名前 Salesforceの画面上に表示される名前です。愛着が湧くような名前(例: 営業サポートAIさんなど)にすると、ユーザーが親しみやすくなります。
API参照名 システム内部で識別するための名前です。英数字とアンダースコアのみ使用可能です。(例:Agent_SalesSupport
説明 (Description) 【管理者用メモ】
管理者がエージェント一覧を見たときに「これは何をするボットか」を判別するためのメモです。AIの挙動には直接影響しません。
例: 営業担当者の日報作成を支援するエージェントです。
ロール (Role) 【★最重要:AIへの指示】
AIに「あなたは誰か」を定義する項目です。ここはプロンプトそのものです。 デフォルトの英文を消して、日本語で具体的な役割を与えてください。
例: あなたはプロフェッショナルな営業アシスタントです。常に丁寧な日本語で話し、ユーザーの事務作業を効率的にサポートすることが仕事です。
会社 (Company) 【★重要:ビジネス背景】
あなたの会社が「何をしている会社か」をAIに教えます。これを入力することで、AIが業界用語や文脈を理解しやすくなります。
例: 当社は不動産検索ポータルサイトHOME'Sを提供する企業です。主な顧客は国内の不動産会社です。

image.png

すべての設定を入力したら、[次へ] をクリックして進みます。

データソースを選択
省略できます。そのまま [作成] をクリックすると、Agentが作成され、Agetntforce Builderの画面に遷移します。

スクリーンショット 2025-12-18 134910.png

言語設定
「言語のデフォルト値」に「Japanese」を設定。
「語調」は「カジュアル」を設定(好みで良いです)。
image.png
※設定は自動保存されていますので、設定したら閉じてもOKです。

1-5. エージェントの利用者を指定する

「このエージェントを使っていい人」 を明示的に指定する必要があります。

  1. [設定] > [Agentforce エージェント] を開きます。
  2. 先ほど作成したエージェント(例:営業サポートAIさん)をクリックします。
  3. [エージェントアクセス] タブをクリックします。
  4. [エージェントアクセスが含まれるプロファイル] のセクションにある [追加] をクリックします。
  5. 利用させたいプロファイル(例:システム管理者)を追加して保存します。

image.png

これで環境と権限の準備は整いました。
次章では、この環境を使って、AIが日報を書き込むための「器(オブジェクト)」と、ファイルを読み込むための「Apex部品」を作成していきます。

第2章:下準備(保存先の確認とApex部品の作成)

環境の準備が整ったら、次はAIが仕事をするための「道具」を揃えていきます。
今回は、できるだけシンプルに実装するため、新しい項目は作らずに標準機能を活用します。

2-1. 入出力の場所を確認する(ページレイアウト)

AIが仕事をするためには、 「議事録ファイルを入れる場所(入力)」「日報を書き込む場所(出力)」 の2つが、行動レコードの画面上に揃っている必要があります。

今回は以下の標準機能を使用します。

  • 入力: 関連リストの「ファイル (Files)」
  • 出力: 標準項目の「説明 (Description)」

確認手順

お使いの環境で、「行動」のページレイアウトにこれらが正しく配置されているか確認します。

  1. [設定] > [オブジェクトマネージャ] > [行動 (Event)] を開きます。
  2. [ページレイアウト] をクリックし、使用しているレイアウト(例: 行動 レイアウト)を開きます。
  3. 「説明 (Description)」 項目が配置されていることを確認します。
    • ※ここにAIが日報を追記します。
  4. 「関連リスト」 セクションに 「ファイル」 が追加されていることを確認します。
    • ※ここに議事録テキストをアップロードします。もし無ければ、上部のパレットからドラッグ&ドロップで追加してください。

💡 運用イメージ
AIは、この「説明」欄に元々入力されていたメモ(もしあれば)の下に、区切り線を入れて日報を追記するように設定します。これなら元のメモも消えずに安心です。

2-2. ファイルを読み込む「部品」を作る (Apex)

実は、Salesforceの標準機能である「Flow」だけでは、添付ファイル(ContentVersion)の中身のテキストデータを直接読み取ることができません。
そこで、Flowから呼び出して「ファイルのIDを渡すと、中身のテキストを返してくれる」という小さなApexクラスを作成します。

手順:Apexクラスの作成

  1. 画面右上の [歯車アイコン] をクリックし、[開発者コンソール (Developer Console)] を開きます。
  2. メニューの [File] > [New] > [Apex Class] を選択します。
  3. 名前に FileToTextConverter と入力して [OK] をクリックします。
  4. エディタが表示されるので、元々書かれているコードをすべて削除し、以下のコードをコピー&ペーストしてから、[File] > [Save] してください。
FileToTextConverter.cls
public class FileToTextConverter {
    // Flowから呼び出せるように @InvocableMethod アノテーションを付ける
    @InvocableMethod(label='Convert File to Text' description='Reads a text file ContentVersion and returns string')
    public static List<String> convertToString(List<Id> contentVersionIds) {
        List<String> resultStrings = new List<String>();
        
        // Flowから渡されたファイルID(ContentVersionId)のリストを処理
        for (Id cvId : contentVersionIds) {
            try {
                // ファイルの中身(VersionData)を取得
                ContentVersion cv = [SELECT VersionData, FileExtension FROM ContentVersion WHERE Id = :cvId LIMIT 1];
                
                // 今回はテキストファイル(.txt)などを想定してStringに変換
                if (cv.VersionData != null) {
                    resultStrings.add(cv.VersionData.toString());
                } else {
                    resultStrings.add('');
                }
            } catch (Exception e) {
                // エラー時はエラーメッセージを返す
                resultStrings.add('Error reading file: ' + e.getMessage());
            }
        }
        return resultStrings;
    }
}

⚠️ 注意点 このコードは簡易的な実装のため、.txt や .csv などのプレーンテキスト形式に対応しています。WordやPDFの中身を読み取るにはより複雑な処理が必要ですが、まずは「テキストメモを読み込む」という基本動作を成功させたいと思います。

これで、AIが入出力するための場所と、データを読み込む道具が揃いました。 次章では、いよいよ生成AIの頭脳部分である「Prompt Builder」の設定に入ります。

👉 中編:Prompt BuilderとFlowの実装 へ続く

10
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?