このブログ投稿は、アクセンチュアのNickVargasとAnnaSchreiberと共同で作成されています。
顧客の予約をスケジュールすることは、多くの場合、手動で労働集約的なプロセスです。 セルフサービステクノロジーの進歩を利用して、予約のスケジューリングを自動化できます。
このブログ投稿では、で構築されたセルフサービスの予約スケジューリングソリューションを構築する方法を紹介します Amazon Lex & アマゾンコネクト。 このソリューションにより、ユーザーはMeta Messengerを介して予定を作成し、SMSモバイルメッセージを介して予定の確認を受け取ることができます。 また、Webベースのダッシュボードを提供するため、スケジュールされた時間にシングルクリックボタンでユーザーに通話を提供できます。
Amazon Lexはメタメッセンジャーと統合されており、チャットでの会話を可能にするために使用できます。 Lexは、アプリケーションで会話型インターフェイスを設計、構築、テスト、および展開するための自然言語理解(NLU)を備えたフルマネージドの人工知能(AI)サービスです。
ソリューションの概要
以下のアーキテクチャ図は、さまざまなAWSコンポーネントとサービス間の相互作用の概要を示しています。 このソリューションは、メタメッセンジャーを使用した顧客とのやり取り、Lexによって有効化されたSMSを介した予定のスケジューリング、およびConnectからの顧客のアウトバウンドダイヤラという主要なコンポーネントで構成されています。 このアウトバウンドダイヤラを使用すると、シンプルなUIインターフェイスから顧客へのアウトバウンドコールを簡単に作成できます。
この投稿では、次のサンプルボット会話を使用しています。
ユーザー:予約したいのですが。
エージェント:どのような約束をすることができますか? 請求、一般、またはオファーと言うことができます。
ユーザー: 請求する
エージェント:あなたの名は何ですか?
ユーザー:Sameer
エージェント:国番号付きの電話番号は何ですか?
ユーザー:+10001234567
エージェント:請求の予約はいつスケジュールする必要がありますか?
ユーザー:来週火曜日
エージェント:請求の予定は何時にスケジュールする必要がありますか?
ユーザー: 午前9:00
エージェント:Sameer、09:00が利用可能ですが、先に進んで予約する必要がありますか?
ユーザー: はい
エージェント:Sameerに感謝します、あなたの予定は09:00に確認され、私たちはあなたの電話番号に詳細をテキストメッセージで送信しました。
スケジューラおよび顧客通知コンポーネントの場合、 AWSラムダ ハンドラーは、スケジューリング要求を処理するために使用されます。 その後、予定情報はに保存されます Amazon DynamoDB データベース。 情報が正常に保存されると、SMSを使用して予約の詳細を確認する通知が顧客に送信されます。 アマゾンピンポイント.
React.jsアプリケーションは、データベースから保存された顧客の予定をカレンダービュー形式で表示するために作成されます。 これにより、従業員は電話をかける必要のある顧客を簡単に特定できます。 カレンダーエントリの呼び出しボタンをクリックして、呼び出しを開始します。 これにより、AmazonConnectを使用して顧客と従業員を接続するためのアウトバウンドコールリクエストがすぐに送信されます。
前提条件
このプロジェクトでは、次の前提条件が必要です。
- からコードファイルをダウンロードしました GitHubリポジトリ.
リポジトリには次のものが含まれます。- 下にあるReactアプリファイル UI
- AmazonConnectの連絡先フロー。 バックエンド/接続/contact_flows このデモには、ファイル名を持つXNUMXつの連絡先フローがあります
AgentWhisper
,CustomerWaiting
,InboundCall
&OutboundCall
. - にあるAmazonLexボットのzipファイル バックエンド/lex ファイル名がAppointmentSchedulerBot.zipのディレクトリ。
- npmがローカルマシンにインストールされています。 参照 node.jsとnpmをマシンにインストールする方法,
このソリューションの展開は、可能な場合はCloudFormationを使用して自動化されますが、展開の一部の構成と手順は手動です。
ソリューションを展開する
AWSアカウントでアポイントメントスケジューラデモアプリに必要なインフラストラクチャをセットアップするには、次の手順を実行します。
- にサインインする AWSマネジメントコンソール.
- 選択する 発射スタック:
- ソフトウェア設定ページで、下図のように スタックを作成 ページ、下 テンプレートを指定、選択する テンプレートファイルをアップロードする.
- 選択する
AppointmentsSchedulerCFTemplate
GitHubからダウンロードしたファイル。 - 選択する Next.
- スタック名、スタックの一意の名前を入力します。
AppointmentSchedulerDemo
.
- 選択する Next、次に選択する Next スタックオプションを構成する ページで見やすくするために変数を解析したりすることができます。
- ソフトウェア設定ページで、下図のように レビュー AWS CloudFormationがIAMリソースを作成する可能性があることを認めます 選択して 創造する.
スタックは次のリソースを生成します。
-
- DynamoDBテーブル
AppointmentSchedulerTable
- Amazonピンポイントアプリ
AppointmentSchedulerPinpointApp
- ツー AWS IDおよびアクセス管理 (IAM)ポリシー:
AppointmentSchedulerPinpointPolicy
AppointmentSchedulerDynamoApiPolicy
- XNUMXつのIAMの役割:
AppointmentsLambdaRole
OutboundContactLambdaRole
- XNUMXつのLambda関数:
AppointmentScheduler
AppointmentSchedulerOutboundContact
- アマゾンAPIゲートウェイ インスタンスの予定
- アマゾンCloudFrontの ディストリビューション
- Amazon シンプル ストレージ サービス (Amazon S3)バケット
appointment-scheduler-website
- DynamoDBテーブル
AmazonPinpointアプリを設定します
Amazon Pinpointアプリを設定するには、次の手順を実行します。
- に行きます ピンポイントコンソール.
- に移動します 予約スケジュールピンポイントアプリ 上記で展開。
- 下の左側のメニュー 設定 クリック SMSと音声.
- [番号の設定]で[ 電話番号をリクエストする.
- 出身国を選択し、 通話料無料、クリック Nextをタップし、その後、 リクエスト.
この投稿のAmazonLexボットにはXNUMXつの目的があります。 MakeAppointment
、これは、前の例の一連の質問をユーザーに尋ねて、顧客の予約タイプ、日付、時刻、名前、および電話番号を引き出します。
AppointmentTypeValue
このボットの唯一のカスタムスロットタイプであり、Billing、General、OffersのXNUMXつの値のいずれかを取ります。 Name、Phone、Date、およびTimeスロットはそれぞれ、AmazonLexが提供する組み込みのスロットタイプを使用します。
AmazonLexボットをデプロイする
ボットをデプロイするには、最初にAmazon Lexボットをインポートします(AppointmentSchedulerLex.zip
)アカウントに。
- にサインインする Amazon Lex V2 コンソール.
- Amazon Lexを初めて使用する場合は、ウェルカムページが表示されます。 ボットを作成.
- [ボットの作成]ページが表示されたら、ページの一番下までスクロールして、[ キャンセル。 Amazon Lexを初めて使用する場合は、この手順をスキップしてください。
- 選択する をタップし、その後、 インポート.
- 入力します 予約スケジュールボット ボットの名前として、インポートする.zipアーカイブを選択します。
- IAM権限の下で、 基本的なAmazonLex権限を持つロールを作成します。
- COPPAの下で、 いいえ.
- クリック インポート.
- ボットの名前をクリックしてボットを開きます。
- 展開 左側のメニューで、をクリックします エイリアス選択 TestBotエイリアス をクリックし 英語(US) 下 ESL, ビジネスESL <br>
中国語/フランス語、その他。 選択する
AppointmentScheduler
ラムダ関数をクリックします Save.
- 左側のメニューの[ボットバージョン]で、[ 意図 ページの右下にあるをクリックします 完成に向けてあなたの背中を押してくれる、執筆のための持続可能で本物のモーメンタムを作り出す。.
- [オプション]ビルドが完了したら、をクリックします ホイール試乗 右側に表示されるウィンドウを使用してボットをテストします(マイクアイコンをクリックしてボットに話しかけるか、テキストボックスに入力します)。
AmazonConnectインスタンスをセットアップする
Amazon Connectインスタンスと連絡先フローを設定するには、次の手順を実行します。
- AmazonConnectインスタンスをセットアップします。
- に行きます Amazon Connectコンソール.
- Amazon Connectコンソールに初めてアクセスする場合は、ウェルカムページが表示されます。 始める.
- Amazon Connectを初めて使用しない場合は、[ インスタンスを追加する.
- アイデンティティ管理選択 ユーザーをAmazonConnectに保存する.
- アクセスURL、インスタンスの一意の名前を入力します。たとえば、
AppointmentSchedulerDemo
、を選択します Next. - ソフトウェア設定ページで、下図のように 管理者を追加 ページで、AmazonConnectの新しい管理者アカウントを追加します。 このアカウントを使用して、後で一意のアクセスURLを使用してインスタンスにログインします。 クリック 次のステップ.
- 次のXNUMXページ– テレフォニーオプションとデータストレージ –デフォルト設定を受け入れて、 次のステップ.
- ソフトウェア設定ページで、下図のように レビューと作成 ページ、選択 インスタンスを作成する.
- 新しく作成したAmazonConnectインスタンスにAmazonLexボットを追加します。
- インスタンスにログインして電話番号を申請します
- 加えます
OutboundQueue
- 電話番号をに追加します
BasicQueue
- 左側のナビゲーションメニューから、 キュー ルーティングメニューから。
- ソフトウェアの制限をクリック
BasicQueue
. - [発信者ID番号]フィールドに、前に要求した電話番号を追加します。
- クリック Save 右上の。
- インポートする
InboundCall
接触流 - 次に、このフローを電話番号に関連付けます。
- インポートする
AgentWhisper
,CustomerWaiting
,OutboundCall
接触フロー- 左側のナビゲーションメニューから、 お問い合わせ 流れ 下 ルーティング.
- クリック エージェントウィスパーフローを作成する.
- ページの右側で、下矢印をクリックしてクリックします インポートフロー(ベータ版).
- AgentWhisperファイルを見つけて、 インポート.
- クリック パブリッシュ.
- に戻ります お問い合わせフロー リストし、横にある下矢印をクリックします 問い合わせフローを作成する.
- [作成]をクリックします 顧客キューフロー.
- ページの右側で、下矢印をクリックし、[フローのインポート(ベータ版)]をクリックします。
- 見つける
CustomerWaiting
ファイルを作成し、インポートを選択します。 - [公開]をクリックします。
- [連絡先フロー]リストに戻り、[連絡先フローの作成]の横にある下矢印をクリックします。
- [連絡先フローの作成]を選択します。
- ページの右側で、下矢印をクリックし、[フローのインポート(ベータ版)]をクリックします。
- 見つける
OutboundCall
以前にダウンロードしたGitHubリポジトリからファイルを作成し、[インポート]を選択します。 - [公開]をクリックします。
ラムダ関数の編集:
- に行きます ラムダコンソール.
- セットアップボタンをクリックすると、セットアップが開始されます
AppointmentScheduler
機能。 - ソフトウェアの制限をクリック & 環境変数 左側のメニューから。
- クリック 編集。 値をピンポイントに置き換えます プロジェクトID & フリーダイヤルに設定します。 OK をクリックします。 Save.
- に戻る ラムダコンソール とをクリックしてください
AppointmentSchedulerOutboundContact
機能。 - 手順3と4を繰り返し、次の値を置き換えます。
CONTACT_FLOW
,INSTANCE_ID
&QUEUE_ID
正しい値で。 クリック Save 一度終わった。- 連絡先フローIDを見つけるには、
OutboundCall
Amazon Connect Consoleのフローに連絡し、横にある矢印をクリックします 追加のフロー情報を表示します。 コンタクトフローIDは、後の最後の値です コンタクトフロー/.
- インスタンスIDを見つけるには、Amazon Connect Consoleに移動し、インスタンスのエイリアスをクリックします。 インスタンスIDは、インスタンスARNの最後の値です。 実例/.
- キューIDを見つけるには、
OutboundQueue
Amazon Connect Consoleで、横の矢印をクリックします 追加のキュー情報を表示します。 コンタクトフローIDは、後の最後の値です 列/。
- 連絡先フローIDを見つけるには、
これで、LexボットとAmazonConnectインスタンスの準備が整いました。 次に、UIをデプロイします。
APIゲートウェイルートの編集:
- に行きます APIゲートウェイコンソール
- 名前の付いたインスタンスをクリックします 予定
- リソースセクションで、/outcallリソースに属するPOSTメソッドをクリックします。
- クリック 統合リクエスト.
- 次に、[ラムダ関数]フィールドの右側にある編集アイコンをクリックします。 次に、テキストフィールドの右側に表示されているチェックマークアイコンをクリックします。
- [OK]をクリックして、Lambda関数にパーミッションを追加します。
UIをデプロイします。
- 展開前にUIを構成する
- お好みのコードエディタで、 ui ダウンロードしたコードファイルからフォルダ。
- 交換する と API IDを使用します(のID列からアクセスできます APIゲートウェイコンソール)および展開されたリソースの領域を次の行に示します:103、168、310、397、438、453。
- 交換する 172行目と402行目にAmazonConnectインスタンス名を付けます。
- [オプション]index.jsファイルの331行目にアプリのロゴを追加します。
index.htmlファイルの5行目:
- ターミナルで、に移動します ui ダウンロードしたプロジェクトのフォルダ。
- ラン npmインストール。 これが完了するまでに数分かかります。
- ラン npmrun-scriptビルド。 これにより、 ビルドフォルダ セクションに ui ディレクトリにあります。
- コードファイルをS3バケットに追加します。
- に行きます S3コンソール.
- CloudFormationスタックでデプロイされたバケットを検索します。 アポイントメント-スケジューラー-ウェブサイト-.
- の内容をドラッグアンドドロップします ビルド フォルダ バケットへの最後のステップで作成されたuiディレクトリにあります。
- クリック アップロード.
これで、CloudFrontディストリビューションからアプリケーションにアクセスできるようになります。
- 承認されたオリジンとしてCloudFrontディストリビューションを追加します。
-
- AmazonConnectコンソールに移動します。
- ボットを追加するインスタンスのインスタンスエイリアスを選択します。
- 承認されたオリジンを選択します。
- [+オリジンを追加]をクリックして、CloudFrontディストリビューションのURLを入力します。
- [追加]をクリックします。
-
- 次に、CloudFrontディストリビューションURLとindex.htmlに移動します。 (例えば、
https:// <DistributionDomainName>.cloudfront.net/index.html
)
クリーンアップ
このソリューションが完成したら、不要な料金が発生しないようにAWS環境をクリーンアップしてください。
- に行きます S3コンソール、CloudFormationテンプレート(appointment-scheduler-website)によって作成されたバケットを空にします。
- に行きます CloudFormationコンソール、スタックを削除します。 このスタックに関連付けられているすべてのリソースが正常に削除されたことを確認してください。
- に行きます Amazon Connectコンソール、インスタンスを削除します。
- に行きます AmazonLexコンソール、作成したボットを削除します。
まとめ
このブログでは、 アクセンチュア AWSは協力して、自動アポイントメントスケジューラを構築するためのAWSサービスの使用を強調する機械学習ソリューションを開発しました。 このソリューションは、AWSでアポイントメントスケジューリングソリューションを構築することがいかに簡単であるかを示しています。 メタメッセンジャーなどのサードパーティメッセージングサービスをサポートするAmazonLexの機能は、ソリューションの潜在的な範囲を複数のチャネルに拡張します。 SMSによる顧客通知は、AmazonPinpointを使用して最小限の労力で実装されます。 Amazon Connectを使用すると、アウトバウンドダイヤラがカレンダービューWebアプリケーションとシームレスに統合され、従業員はクリックして呼び出すだけのボタンで顧客にすぐに接続できます。
アクセンチュアAWSビジネスグループ(AABG)でイノベーションを加速できます。 XNUMX人の主要なイノベーターのリソース、技術的専門知識、業界知識から学ぶことができ、破壊的な製品やサービスを提供するためのイノベーションのペースを加速するのに役立ちます。 AABGは、ラピッドプロトタイプ開発を通じて、お客様がクラウドソリューションを考案し、革新するのに役立ちます。 私たちのチームとaccentureaws@amazon.comに連絡して、製品やサービスで機械学習を使用する方法を学び、加速させてください。
著者について
サミール・ゴエル はオランダのシニアソリューションアーキテクトであり、最先端のイニシアチブでプロトタイプを作成することで顧客の成功を推進しています。 AWSに参加する前、Sameerはボストンを修士号で卒業し、データサイエンスに専念していました。 彼は、RaspberryPiでAI/MLプロジェクトを構築して実験することを楽しんでいます。
ニック・バルガス アクセンチュアのマネージャー兼テクノロジーアーキテクトです。 彼は、アクセンチュアAWSビジネスグループ(AABG)内のラピッドプロトタイピングチームのプロジェクトデリバリーを主導しています。 彼は犬のビンゴと一緒に朝の散歩を楽しんだり、旅行したり、ビーチに行ったり、ハイキングを楽しんだりしています。
アンナシュライバー アクセンチュアのAWSビジネスグループ(AABG)内のプロトタイピングチームの一部です。 シニアAWS開発者として、彼女はクライアントのビジョンを実現するのに役立ついくつかの注目を集める概念実証に取り組んできました。 仕事をしていないときは、コーギーギムリと一緒に料理、クラフト、フェッチを楽しんでいます。
- "
- 100
- 9
- a
- 能力
- 加速する
- アクセンチュア
- アクセス
- アクセス可能な
- 越えて
- NEW
- 進歩
- 先んじて
- AI
- すべて
- ことができます
- Amazon
- API
- アプリ
- 申し込み
- 任命
- 建築
- Archive
- 人工の
- 人工知能
- 人工知能(AI)
- 仲間
- 関連する
- 自動化する
- 自動化
- 利用できます
- AWS
- 以下
- ベータ
- の間に
- 請求
- ブログ
- 国境
- ボストン
- ロボット
- ボット
- ボックス
- 持って来る
- ビルド
- 建物
- 内蔵
- ビジネス
- カレンダー
- コール
- 発信者
- チャンネル
- 課金
- 選択する
- クレーム
- クラウド
- コード
- コラム
- コンプリート
- コンポーネント
- コンポーネント
- 濃度
- お問合せ
- 領事
- 接触
- 含まれています
- 中身
- 会話
- 会話
- 国
- 作ります
- 作成した
- 創造
- Credentials
- カスタム
- 顧客
- お客様の成功
- Customers
- 最先端
- ダッシュボード
- データ
- データサイエンス
- データベース
- 配達
- 展開します
- 展開
- 展開
- 設計
- 細部
- 開発する
- Developer
- 開発
- 異なります
- 直接
- ディスプレイ
- 破壊的な
- ディストリビューション
- ダウン
- Drop
- 各
- エディタ
- 努力
- 社員
- enable
- 有効にする
- 入力します
- 入力されました
- 環境
- 例
- 専門知識
- 名
- 初回
- フロー
- フォロー中
- 形式でアーカイブしたプロジェクトを保存します.
- から
- function
- 機能
- ゲートウェイ
- 生成する
- GitHubの
- 行く
- グループ
- 助けます
- 助け
- ことができます
- ハイライト
- 認定条件
- How To
- しかしながら
- HTTPS
- ICON
- 識別する
- アイデンティティ
- 直ちに
- 実装
- index
- 産業を変えます
- 情報
- インフラ
- イニシアチブ
- 革新的手法
- イノベーター
- install
- 統合された
- インテリジェンス
- 意図
- 相互作用
- インタフェース
- IT
- 知識
- 言語
- 起動する
- 主要な
- リード
- LEARN
- 学習
- コメントを残す
- LINE
- ライン
- リスト
- ローカル
- ロゴ
- 機械
- 機械学習
- make
- 作る
- 管理
- マネージャー
- マニュアル
- マスターの
- メッセージング
- メッセンジャー
- Meta
- かもしれない
- モバイル
- の試合に
- 名
- ナチュラル
- ナビゲート
- ナビゲーション
- オランダ
- 次の
- 通知
- 数
- オファー
- 開いた
- 操作
- オプション
- 部
- 再生
- ポリシー
- 可能
- 潜在的な
- 主要な
- プロセス
- 製品
- プロフィール
- プロジェクト
- プロジェクト(実績作品)
- 証明
- プロトタイプ
- プロトタイピング
- 提供します
- 提供
- は、大阪で
- パブリッシュ
- リーチ
- 反応する
- 受け取ります
- 地域
- 倉庫
- 要求
- の提出が必要です
- リソースを追加する。
- リソース
- 職種
- ルート
- 科学
- シームレス
- シリーズ
- サービス
- サービス
- セッションに
- いくつかの
- 示す
- 簡単な拡張で
- SMS
- So
- 固体
- 溶液
- ソリューション
- 一部
- 話す
- スタック
- ストレージ利用料
- 成功
- 首尾よく
- サポート
- チーム
- 技術的
- テクノロジー
- ターミナル
- test
- オランダ
- サードパーティ
- 三
- 介して
- 時間
- top
- 旅行
- ui
- 下
- 理解する
- ユニーク
- us
- つかいます
- users
- 活用する
- 値
- 詳しく見る
- ビジョン
- ウェブ
- ウェブベースの
- 週間
- 歓迎
- この試験は
- 何ですか
- ウィスパー
- 誰
- 以内
- 働いていました
- ワーキング
- でしょう
- あなたの