OneDrive上に保存されているExcelで作成されたデータを、チャットボット内で取得して利用することができます。
今回は、OneDrive上にある会議室情報が記載されたExcelファイルにアクセスし、データの検索、登録、更新、削除を行うシナリオを作成します。
※本作業を行う場合は、〔 Office 365 〕のアカウントが必要となります。
他にも、Office 365と連携し、Outlookの会議室予約を行うシナリオと組み合わせることで、会議室の絞り込みなど柔軟なシナリオ作成が可能となります。
Office 365連携方法は【チャットボット作成(Ⅳ.Office 365連携編)】をご覧ください。
なお、この機能はベータ機能を有効化することでお試しいただけます。
ベータ機能は、将来的に互換性のない変更や機能の廃止が行われる可能性があります。予めご了承ください。
ベータ機能を有効にする方法は、【ベータ機能を有効化したい】をご覧ください。
「チャットボットテンプレート」を利用する場合は、【テンプレートを利用してチャットボットを作成する】を参照し、以下のテンプレートをご利用ください。
【サンプル】Office365名刺発注受付ボット(Ver1.0)
【サンプル】Office 365営業活動履歴登録ボット(Ver1.0)
OneDrive連携の流れ
OneDriveとDialogPlayの連携方法について、全体の流れを説明します。
STEP1: (Microsoft)Microsoft Azure Portal アプリケーション作成
Office 365と連携するため、認証設定を行います。
まずは『Microsoft Azure Portal』にログインし、対象となるアプリケーションを作成します。
手順
- 〔 Microsoft Azure Portal 〕の公式サイトを開き、サインインしてください。
- 『すべてのサービス』から検索ボックスに「アプリの登録」と入力し、Enterキーを押下後、結果に表示された"アプリの登録”をクリックしてください。
- ”+新規登録”ボタンをクリックしてください。
- 各項目を入力後、”登録”ボタンをクリックしてください。
①『名前』にアプリケーションのユーザー向けに表示する名前を入力してください。
②『サポートされているアカウントの種類』からアカウントの種類を選択してください。
③『リダイレクトURI』に以下を入力してください。
https://management-api.dialogplay.jp/oauth/callback - 『アプリケーション(クライアント)ID』をコピーし、保管してください。
- 『APIアクセス許可』をクリックし、”+アクセス許可の追加”ボタンをクリックしてください。
- 『よく使用されるMicrosoft API』から、”Microsoft Graph“をクリックしてください。
- ”アプリケーションの許可“をクリックしてください。
※ Office365連携設定時とクリック箇所が異なるため、注意してください。 - 『アクセス許可を選択する』から必要なアクセス許可にチェックを入れ、”アクセス許可の追加“ボタンをクリックしてください。
今回は、OneDriveに保存したExcelデータを利用するため、 以下を選択してください。
[選択アクセス許可]
Sites.Read.All(管理者のみ)
Sites.ReadWrite.All(管理者のみ) - 『証明書とシークレット』から、”+新しいクライアントシークレット“ボタンをクリックしてください。
- 『クライアント シークレットの追加』の『説明』を入力し、『有効期限』に「なし」を選択後、"追加"ボタンをクリックしてください。
- 『クライアント シークレット』に表示された『値』をコピーし、保管してください。
- 『所有者』から”+所有者の追加”ボタンをクリックし、メンバーを選択後、”選択”ボタンをクリックしてください。
選択したメンバーに、作成したアプリの表示・編集権限が付与されます。 - 『認証』から『暗黙の付与』の『アクセストークン』、『IDトークン』にチェックを入れ、”保存”ボタンをクリックしてください。
- 作成したアプリケーションで、テナントのユーザーが何度もサインインを求められることがないよう、全員に対してアクセス許可を与えるため、管理者の同意エンドポイントを使用してアクセス許可を要求します。
以下URLを作成し、ブラウザでアクセスしてください。
Microsoftのサインイン画面が表示されますので、全体管理者のアカウントでサインインしてください。
[作成URL]
https://login.microsoftonline.com/ 【テナント】 /adminconsent?client_id= 【クライアントID】 &redirect_uri= 【リダイレクトURI 】項目名 説明 テナント Microsoft Azure Portalで使用したアカウントの@以下のドメイン名を入力
(アカウントが「dialogplay@●●●.onmicrosoft.com」の場合、入力する箇所は ●●●.onmicrosoft.com)
※ 独自ドメインを設定している場合は、独自ドメインを指定してくださいクライアントID 手順5で取得したアプリケーション(クライアント)ID リダイレクトURI https://management-api.dialogplay.jp/oauth/callback - アクセス許可の承認画面が表示されますので、”承諾” ボタンをクリックしてください。
STEP2: (Microsoft)Excelデータ作成・アップロード
OneDriveにアップロードする参照元のデータを作成します。
手順
- Microsoft Excelデータの作成
- 【テンプレートを使用する場合】
- 『チャットボット一覧』から任意のチャットボットを選択し、『外部システム連携』タブから “新規作成” ボタンをクリックします。
- 『タイプ』から「Excel(OneDrive)」を選択後、『Excel連携のサンプルテンプレート』のリンクが表示されますので、リンク先をクリックしてファイルをダウンロードしてください。
- ダウンロードしたファイルをExcelで開き、必要に応じて、ファイルに設定されているヘッダ行の名称変更やヘッダ列の追加・削除を行ってください。
- ヘッダに対応するデータを入力してください。
- 作成したデータがExcelの「テーブルとして書式設定」されていることを確認し、任意のファイル名・シート名で保存してください。
- 『チャットボット一覧』から任意のチャットボットを選択し、『外部システム連携』タブから “新規作成” ボタンをクリックします。
- 【ファイルを新規作成する場合】
- Excelファイルを新規作成します。
- ヘッダ行を設定し、ヘッダに対応するデータを入力してください。
- 作成した表全体を選択し、「ホーム」タブのスタイルにある「テーブルとして書式設定」から任意のデザインを選択してください。
- 任意のファイル名、シート名で保存してください。
- 【テンプレートを使用する場合】
- Excelファイルのアップロード
- 〔 Office 365 〕の公式サイトにアクセスし、Office 365アカウントでサインインしてください。
- ”OneDrive”をクリックしてください。
- ”アップロード”をクリックし、『ファイル』を選択後、手順1で作成したExcelファイルをアップロードしてください。
また、『ファイルをここにドラッグします。』エリアにファイルをドラッグすることで、アップロードすることも可能です。
- 〔 Office 365 〕の公式サイトにアクセスし、Office 365アカウントでサインインしてください。
STEP3: (DialogPlay)チャットボット作成
チャットボットを新規作成します。
既存のチャットボットにシナリオを追加する場合は、本手順を飛ばし【STEP4: (DialogPlay)外部システム連携作成 / シナリオ作成】を実施してください。
手順
- 『チャットボット一覧』を選択し、『チャットボット一覧』から “新規作成” ボタンをクリックしてください。
- 『チャットボット名』と『初期発言』を入力し、 “保存” ボタンをクリックしてください。
STEP4: (DialogPlay)外部システム連携作成 / シナリオ作成
OneDriveにアップロードしたExcelファイル(サンプルテンプレート sample_template_onedrive.xlsx)を利用して、会議室を検索するシナリオを作成します。
手順(外部システム連携作成)
- チャットボット画面に戻り、『外部システム連携』タブから “新規作成” ボタンをクリックしてください。
- 『外部システム連携先』に連携先名を入力し、『説明』に連携先の説明文を入力してください。
- 『タイプ』から「Excel(OneDrive)」を選択してください。
- 『対象API』から「データの取得」を選択してください。 『認証情報』、『ファイル情報』にSTEP1で使用・取得した情報を元に入力してください。
[認証情報]
項目名 説明 テナントID Microsoft Azure Portalで使用したアカウントの@以下のドメイン名を入力
(アカウントが「dialogplay@●●●.onmicrosoft.com」の場合、入力する箇所は ●●●.onmicrosoft.com)
※ 独自ドメインを設定している場合は、独自ドメインを指定してくださいアプリケーションID STEP1の手順5で取得したアプリケーション(クライアント)ID パスワード STEP1の手順12で取得したクライアント シークレットの値
[ファイル情報]
項目名 説明 ドライブID STEP2でファイルをアップロードしたOffice365アカウント(メールアドレス)を入力 ファイル名 データ連携に使用するOneDrive上のExcelファイル名を拡張子を含め入力 シート名 データが格納されているシート名を入力(未入力の場合はSheet1を参照します) - 『取得データ格納変数名』に取得したデータを格納する変数名を入力し、”保存” ボタンをクリックしてください。
- 保存完了後、『取得対象列』、『検索条件』が表示されます。
今回は、OneDrive上にアップロードしたExcelファイルの全ての列を取得対象列としますので、『取得対象外列』を設定する必要はありません。
[取得対象列説明]
項目名 説明 取得対象列外 欄に追加された項目は、データ取得対象から除外されます 取得対象列 欄に追加された項目は、データ取得対象となります デフォルトでは、OneDrive上にアップロードしたExcelファイルの列名が全て表示されます
- 『取得対象列外』に追加する場合
『取得対象列』に表示されている項目を選択し、”< 削除“ボタンをクリックしてください。
『取得対象列』に表示されている項目を全て追加する場合は、”<<全て削除“ボタンをクリックしてください。
※ 全ての項目を取得対象外とすることはできません。取得対象列は、1件以上選択する必要があります。 - 『取得対象列』に追加する場合
『取得対象外列』に表示されている項目を選択し、”追加 >“ボタンをクリックしてください。
『取得対象外列』に表示されている項目を全て『取得対象列』に追加する場合は、”全て追加>>“ボタンをクリックしてください。 - 『重複するレコードを取得データから除外する』チェックについて
チェックを有効にすると、外部システム連携先のExcel(OneDrive)を検索した結果、重複データがある場合、重複分を取り除き取得します。
- 『取得対象列外』に追加する場合
- 検索条件の「全てを満たす」にチェックを入れ、以下の例を参考に各項目を設定後、“保存” ボタンをクリックしてください。
※ 値に設定する変数は、後の手順(シナリオ作成) で使用します
[検索条件入力例]
列名 条件式 値 場所 include(変数内に値を含む) {{場所検索}} フロア include(変数内に値を含む) {{フロア検索}}
[検索条件説明]
項目名 説明 全てを満たす 列名、条件式、値に設定した、全ての条件を満たすデータを取得します いずれかを満たす 列名、条件式、値に設定した、いずれかの条件に該当するデータを取得します
[検索項目説明]
項目名 説明 列名 フィルターをかける列名を選択します
ファイル情報で指定したExcelファイルの列名がリスト表示されます条件式 比較に使用する条件式を選択します 値 比較する値を入力します(チャットボット内で使用する変数の入力も可) - 作成した外部連携が問題なく動作しているかどうか、テストを行うことができます。
動作テストを行う場合は、”テスト” ボタンをクリックしてください。
[外部連携の実行画面]
手順(シナリオ作成)
- チャットボット画面に戻り、『シナリオ一覧』タブから “+ シナリオを追加” ボタンをクリックしてください。
- 『シナリオ名』と『ユーザー発言例(発言例タブ)』を入力してください。
- 『シナリオの流れ』エリアから『テキスト発言』アクションを追加し、『発言内容』に以下の画面を参考に入力してください。
- 『ヒアリング』アクションを追加し、『ヒアリング項目』に以下の例を参考に、各項目を入力してください。
[入力例]
No ヒアリング項目名 タイプ 項目ごとの質問文 1 場所検索 固有名詞 @location 会議室の場所を教えてください(例:東京) 2 フロア検索 テキスト全体 @text 会議室のフロアを教えてください(例:5階) - 『外部システム連携』アクションを追加し、外部システム連携で作成した「会議室の属性(検索)」を選択してください。
- 『外部連携結果をリスト表示』アクションを追加し、以下の例を参考に入力してください。
[入力例]
『リスト変数名』 会議室検索結果
『項目毎の表示内容』 {{名前}}
アクションの下側に表示される”“をクリックし、『実行条件』に以下の例を参考に各項目を入力してください。
[条件入力例]
「会議室検索結果.size」 > 「0」 - 『テキスト発言』アクションを追加し、『発言内容』を以下の例を参考に入力してください。
[入力例]
『発言内容』 検索条件に一致する会議室が見つかりませんでした。
アクションの下側に表示される”“をクリックし、『実行条件』に以下の例を参考に各項目を入力後、”保存”ボタンをクリックしてください。
[条件入力例]
「会議室検索結果.size」 = 「0」 - シミュレーターで動作を確認してください。
OneDrive連携による利用例
OneDriveへのデータ登録、更新、削除のシナリオ作成については、以下の手順をご覧ください。