Amazon Lexで構築する:営業アポイント取得ボット完全ガイド

AWS
この記事は約8分で読めます。

本記事では、電話営業の基本的なトークの流れをもとに、Amazon Lex V2を使ってアポイント取得を自動化するボットの作り方を紹介します。
実際の営業現場でよくある会話――受付対応から担当者への取次ぎ、サービスのご案内、アポイントの取得、そして断り対応まで――を想定し、それぞれの場面に対応できるボットを設計していきます。

ボットの構築手順だけでなく、テスト方法や本番環境への移行についてもやさしく解説しているので、初めての方でも安心して取り組めます。

想定シナリオ(人間の営業トークをベースに設計)

営業トークにはいくつかの典型パターンがあります。本ボットでは以下の4パターンに対応するよう設計します。

担当者につながる → トーク成功 → アポ獲得 → 終話

受付:「お電話のご用件は?」
→ ボット:「電話回線についてご担当の方をお願いできますか?」
→ 担当者につながる
→ ボットが営業トークを実施
→ 担当者が興味を示す
→ ボット:「それではご都合の良い日時を教えてください」
→ アポイント確定 → 終了

担当者につながる → トーク失敗 → 興味なし → 終話

同上 → 営業トークの後、断られる
→ ボット:「承知いたしました。それではまた機会がありましたら、よろしくお願いいたします。」→ 終了

受付で担当者の取次ぎ拒否 → 忙しい/無理 → 終話

受付:「今忙しいので結構です」
→ ボット:「かしこまりました。ご対応ありがとうございました。」→ 終了

受付で即断られる → 終話

受付:「今結構です、失礼します」
→ ボット:「失礼いたしました。お時間いただきありがとうございました。」→ 終了

🧱 Lex ボット設計のポイント

ボット構成要素(インテント設計・修正版)

  • RequestTransfer
     回線や電話サービスに関する担当者に取り次ぎを依頼する。
  • ProvideInformation
     Amazon Connectの内容やメリットを説明する。
  • BookAppointment
     アポイントの希望日・時間を取得し、確定する。
  • EndCallRequested
     ユーザーが会話の継続を希望せず、終了を求めた場合に対応する。

「受付で断られる」か「担当者が興味ない」かは、フロー分岐スロットの入力状態などで処理するべきであり、インテントで分けるべきではありません。

スロット(情報取得項目)

スロット名種別用途
AppointmentDateAMAZON.Dateアポイント日付
AppointmentTimeAMAZON.Timeアポイント時間
ContactPersonNameAMAZON.Person(任意)担当者の氏名(記録用)

営業トーク(PitchProductインテント)サンプル応答

「ご担当者様、ありがとうございます。
弊社は「Amazon Lex」という、音声・テキストでの自動対話を実現できるAIボットサービスを提供しております。

初期費用は不要で、必要な分だけの従量課金制
チャットや電話などのカスタマー対応を自動化し、業務負担の軽減対応品質の均一化を実現できます。

ご興味がございましたら、ご都合のよい日程をお伺いできますでしょうか?」

拒否・断りパターンへの対応

会話中、相手がアポイントに興味を示さなかったり、会話の継続を希望しない場合は、以下のような定型文で丁寧に終了します。

「承知いたしました。ご対応ありがとうございました。」

この応答は、会話の終了を希望する意図が確認されたときにトリガーされるよう設計してください。
インテント名としては、「EndCallRequested」など、ユーザーの意図(終了要求)に基づく名称が適切です。

Lex ボットを構築する

ボットを作成する

  1. 「ボットを作成」 を選択
  2. ボット名と説明を入力(例:ConnectBot)
  3. ランタイムロール:「基本的な Amazon Lex 権限を持つロールを作成します」を選択
  4. エラーログ:必要に応じて「有効」に設定
  5. COPPA(児童プライバシー保護):「いいえ」を選択(企業利用の場合)
  6. セッションタイムアウト:必要に応じて設定(例:5分)
  7. 「次へ」をクリックして進行

ボットに言語を追加

  1. 言語を選択:「Japanese (JP)」を選ぶ
  2. 説明(任意):ボットの用途を簡単に記述
  3. 音声による対話
    • 音声対応アプリなら → Kazuha などの音声を選択
    • テキストのみのアプリなら → 「なし」 を選択(「これはテキストベースのアプリケーションです」)
  4. 音声サンプル(音声選択時のみ):起動時に話す挨拶を入力(例:「Kazuhaと申します」)
  5. 信頼スコア(意図判定のしきい値):そのまま 0.40 でOK
  6. 完了」をクリック

【補足】音声ボットとテキストボットの違い

項目音声ボット(Amazon Connectなど)テキストボット(LINE・Web・Slack等)
使用用途電話での自動応答チャットでの自動応答
設定内容音声合成(TTS)・音声認識(ASR)が必要テキスト入力と自然言語理解のみ
接続先例Amazon ConnectLINE, Slack, Webチャットなど
利用ユーザー電話ユーザーPC・スマホユーザー

インテントを設定

Lexコンソールにて作成したボットを選択し、「インテント」セクションに進みます。

RequestTransfer(担当者へ取次ぎ)

  • サンプル発話例
     回線のご担当者をお願いします
     担当者の方はいらっしゃいますか?
  • 応答例
     「少々お待ちください。お繋ぎいたします。」

ProvideInformation(サービス案内)

  • サンプル発話例
     どんなサービスですか?
     説明をお願いします
  • 応答例
     「はい、AmazonLex V2は~(営業トークを設定)」

BookAppointment(アポイント取得)

  • サンプル発話例:
    「来週の水曜日の午後はどうですか?」
    「〇日にお願いしたいです」
  • スロット項目:
    Date(タイプ:AMAZON.DATE)AppointmentDate
    Time(タイプ:AMAZON.TIME)AppointmentTime
  • スロットプロンプト:
    Date:「ご希望の日付はいつですか?」
    Time:「ご希望の時間帯は何時頃ですか?」
  • 確認メッセージ(確認応答):
    「{AppointmentDate}、{AppointmentTime}で承ります。よろしいですか?」
  • 確認後の最終応答(応答メッセージ):
    「アポイントを承りました。ご協力ありがとうございました。」

Lex は基本的に ISO 8601形式に準拠した時間表現(例:10:00、15:30)を期待しています。
AMAZON.TIME スロットでは以下のような入力が適切です。

  • 10時
  • 午後3時
  • 16:00
  • 13時30分

EndCallRequested(会話終了)

  • サンプル発話例
    今回はお断りします
    必要ありません
    忙しいので失礼します
    結構です
    興味ないです
    電話切ってください
  • 応答例
     「承知いたしました。ご対応ありがとうございました。」

各インテントごとに「保存」→「構築」

全インテント設定後、「保存」してから「構築」をクリックしてボットを構築してすとをします。

テスト会話例(全体)

RequestTransfer(担当者へ取次ぎ)

ユーザー
「電話回線の担当者をお願いします」

ボット
「少々お待ちください。お繋ぎいたします。」

ProvideInformation(サービス案内)

ユーザー
「どんなサービスですか?」

ボット
「はい、Amazon Connectというサービスで~(営業トーク)」

BookAppointment(アポイント取得)

ユーザー
「〇日にお願いしたいです」
(※スロット入力が必要:日付と時間)

ボット
「ご希望の時間帯は何時頃ですか?」

ユーザー
「16時です」

ボット
「〇月〇日、16時で承ります。よろしいですか?」

ユーザー
「はい」

ボット
「アポイントを承りました。ご協力ありがとうございました。」

EndCallRequested(会話終了)

ユーザー
「今は結構です」

ボット
「承知いたしました。ご対応ありがとうございました。」

ドラフトバージョンとは?

Lexでは、編集中の状態は「ドラフトバージョン」として自動的に保存されます。
「ドラフト」状態のままでは 他のユーザーやアプリケーションから利用できません。動作確認したい場合は、都度「構築」してからテストを行う必要があります。

ボットバージョンとAliasの関係

  • Draft はあくまで下書き版で、変更可能
  • 同じ構成で安定した本番運用をするには「Version」を作成して Alias を割り当てる必要がある
  • Alias を通じてバージョンを参照する形で、実際のアプリケーションなどで利用されます

✅ 本番構築の操作手順(Amazon Lex V2)

本番環境の構築

  1. バージョンの発行(ドラフトの確定)
    • 左メニュー「ボットのバージョン」をクリック
    • 右上の「バージョンを作成」ボタンをクリック
    • 任意の説明を入力し、作成」を確定
      ※ドラフト状態では本番運用に使えないため、まず「バージョン1」などを作成する必要があります。
  1. エイリアスの作成(デプロイ名の設定)
    • 左メニュー「デプロイ」→「エイリアス」をクリック
    • エイリアスを作成「」ボタンを押す
    • 任意のエイリアス名(例:Production、LiveAlias など)を入力
    • 先ほど発行した「バージョン1」などを選択して割り当てる
  1. 作成して完了
    • 「作成」ボタンで保存
    • このエイリアスを Amazon Connect などの運用環境で使用可能になります

本番用バージョン(v1)およびエイリアス(Production)の作成が正常に完了しました。
これにより、Amazon Connectなどの運用環境で利用可能な状態となっています。

なお、動作確認用として「TestBotAlias」というエイリアスも併せて作成しており、こちらでは本番反映前のテスト用会話シナリオの検証が可能です。

必要に応じて、今後のバージョン更新時にも本番用とテスト用でエイリアスを切り分けて運用することができます。