OneDriveと連携したシナリオを作成したい

OneDrive上に保存されているExcelで作成されたデータを、チャットボット内で取得して利用することができます。
今回は、OneDrive上にある会議室情報が記載されたExcelファイルにアクセスし、データの検索、登録、更新、削除を行うシナリオを作成します。

※本作業を行う場合は、〔 Office 365 〕のアカウントが必要となります。

他にも、Office 365と連携し、Outlookの会議室予約を行うシナリオと組み合わせることで、会議室の絞り込みなど柔軟なシナリオ作成が可能となります。
Office 365連携方法は こちら をご覧ください。

なお、この機能はベータ機能を有効化することでお試しいただけます。
ベータ機能は、将来的に互換性のない変更や機能の廃止が行われる可能性があります。予めご了承ください。
ベータ機能を有効にする方法は、 こちら をご覧ください。

「チャットボットテンプレート」を利用する場合は、下記のExcelファイルをダウンロードしてご利用ください。


OneDrive連携の流れ

OneDriveとDialogPlayの連携方法について、全体の流れを説明します。


STEP1: 共通(Microsoft)Application Registration Portal アプリケーション作成

Office 365と連携するため、認証設定を行います。
まずは『Application Registration Portal』にログインし、対象となるアプリケーションを作成します。

  手順(Microsoft) Application Registration Portal アプリケーション作成

  1. Application Registration Portal 〕の公式サイトを開き、『Application Registration Portal』にログインしてください。

  2. マイアプリケーション画面右上の “アプリの追加” ボタンをクリックしてください。

  3. 『Application Name』に作成するアプリケーション名を入力し “Create” ボタンをクリックしてください。

  4. 『アプリケーションID』が表示されますので、コピーして保管してください。

  5. 『アプリケーション シークレット』の “新しいパスワードを生成” ボタンをクリックしてください。

  6. 「新しいパスワードが生成されました」というメッセージと共に、パスワードが表示されますのでコピーして保管してください。
    保管後、 “OK” ボタンをクリックし、ポップアップ画面を閉じてください。

  7. 『プラットフォーム』から、 “プラットフォームの追加” ボタンをクリックしてください。

  8. 『プラットフォームの追加』が表示されますので “Web” ボタンをクリックしてください。

  9. 『リダイレクトURL』が表示されますので、
    https://management-api.dialogplay.jp/oauth/callback」と入力してください。
    ※ログアウトURLを入力する必要はありません。

  10. 『Microsoft Graph のアクセス許可』 の 『アプリケーションのアクセス許可』から、 “追加” ボタンをクリックしてください。

  11. 『アクセス許可を選択』が表示されますので、必要なアクセス許可を選択し、 “OK” ボタンをクリックしてください。
    今回は、OneDriveに保存したExcelデータを利用するため 「Sites.Read.All(管理者のみ)」「Sites.ReadWrite.All(管理者のみ)」 を選択してください。

    [「アクセス許可」追加後の画面]

  12. 保存” ボタンをクリックしてください。

  13. 下記URLを作成し、ブラウザでアクセスしてください。Microsoftのサインイン画面が表示されますので、全体管理者のアカウントでサインインしてください。

    https://login.microsoftonline.com/ [ テナント ] /adminconsent?client_id= [ クライアントID ] &redirect_uri= [ リダイレクトURI ]
    項目名 説明
    テナント ●●●.onmicrosoft.com(Application Registration Portalで使用したアカウントの@以下のドメイン名を入力してください。)
    クライアントID Application Registration Portalで作成したアプリケーションID
    リダイレクトURI https://management-api.dialogplay.jp/oauth/callback
    ※テナントについて
    Application Registration Portalで使用したアカウントが「dialogplay@●●●.onmicrosoft.com」の場合、入力する箇所は ●●●.onmicrosoft.com となります。
    (独自ドメインを設定されている場合は、独自ドメインを指定してください。)

  14. アクセス許可の承認画面が表示されますので、”承諾” ボタンをクリックしてください。

STEP2: 共通(Microsoft)Excelデータ作成・アップロード

OneDriveにアップロードする参照元のデータを作成します。

  手順(Microsoft) Excelデータ作成・アップロード

  1. Microsoft Excelデータの作成

    1-1.【テンプレートを使用する場合】

    1-1-1. 左メニューの『チャットボット一覧』から任意のチャットボットを選択し、『外部システム連携』タブから “新規作成” ボタンをクリックします。
    1-1-2. 『タイプ』から「Excel(OneDrive)」を選択すると、『Excel連携のサンプルテンプレート』のリンクが表示されますので、リンク先をクリックしてファイルをダウンロードしてください。
    ※Excel連携のサンプルテンプレートはこちらからもダウンロード出来ます。

    1-1-3. ダウンロードしたファイルをExcelで開き、必要に応じて、ファイルに設定されているヘッダ行の名称変更やヘッダ列の追加・削除を行ってください。
    1-1-4. ヘッダに対応するデータを入力してください。
    1-1-5. 作成したデータがExcelの「テーブルとして書式設定」されていることを確認し、任意のファイル名・シート名で保存してください。

    1-2.【ファイルを新規作成する場合】

    1-2-1. Excelファイルを新規作成します。

    1-2-2. ヘッダ行を設定し、ヘッダに対応するデータを入力してください。

    1-2-3. 作成した表全体を選択し、「ホーム」タブのスタイルにある「テーブルとして書式設定」から任意のデザインを選択してください。

    1-2-3. 任意のファイル名、シート名で保存してください。

  2. Excelデータのアップロード

    2-1. 〔 Office 365 〕の公式サイトにアクセスし、Office 365アカウントでサインインしてください。
    2-2. アプリのOneDriveアイコンをクリックし、OneDriveへ遷移してください。
    2-3. 上部メニューの『アップロード』をクリックし、「ファイル」を選択してください。
    ファイル選択画面が表示されますので、先ほど作成したExcelファイルを選択しアップロードしてください。
    また、『アップロードするファイルをここにドラッグ』エリアにファイルをドラッグすることで、アップロードすることも可能です。

STEP3: 共通(DialogPlay)チャットボット作成

チャットボットの新規作成をします。
既存のチャットボットにシナリオを作成する場合はSTEP4に進んでください。

  手順(DialogPlay) チャットボット作成

  1. 左メニューの『チャットボット一覧』を選択し、『チャットボット一覧』から “新規作成” ボタンをクリックしてください。

  2. 『チャットボット名』と『初期発言』を入力し、 “保存” ボタンをクリックしてください。

STEP4: (DialogPlay)外部システム連携作成 / シナリオ作成

OneDrive上にアップした「テンプレート(sample_template_onedrive.xlsx)」を利用して会議室を検索するシナリオを作成します。

OneDrive連携 シナリオ作成(データ検索)

  手順(データ検索) 外部システム連携作成

  1. チャットボット画面に戻り、『外部システム連携』タブから “新規作成” ボタンをクリックしてください。

  2. 『外部システム連携先』に連携先名を入力し、『説明』に連携先の説明文を入力してください。

  3. 『タイプ』から「Excel(OneDrive)」を選択してください。

  4. 『対象API』から「データの取得」を選択してください。
    『認証情報』、『ファイル情報』に【STEP1:共通手順(Microsoft) Application Registration Portal アプリケーション作成】で使用・取得した情報を元に入力してください。

    [認証情報]
    項目名 説明
    テナントID Application Registration Portalで使用したアカウントの@以下のドメイン名を入力(アカウントが「dialogplay@●●●.onmicrosoft.com」の場合、入力する箇所は ●●●.onmicrosoft.com)
    アプリケーションID Application Registration Portalで作成したアプリケーションID
    パスワード Application Registration Portalで作成したアプリケーションのパスワードを入力
    [ファイル情報]
    項目名 説明
    ドライブID ファイルをアップロードしたアカウントのメールアドレスを入力
    ファイル名 データ連携に使用するOneDrive上のExcelファイル名を拡張子を含め入力
    シート名 データが格納されているシート名を入力(未入力の場合はSheet1を参照します)

  5. 『取得データ格納変数名』に取得したデータを格納する変数名を入力し、”保存” ボタンをクリックしてください。

  6. 保存完了後、『取得対象列』、『検索条件』が表示されます。
    今回は、OneDrive上にアップロードしたExcelファイルの全ての列を取得対象列としますので、『取得対象外列』を設定する必要はありません。

    [取得対象列説明]
    項目名 説明
    取得対象列外
    欄に追加された項目は、データ取得対象から除外されます
    取得対象列
    欄に追加された項目は、データ取得対象となります
    デフォルトでは、OneDrive上にアップロードしたExcelファイルの列名が全て表示されます
    ・『取得対象列外』に追加する場合
    『取得対象列』に表示されている項目を選択し、”< 削除“ボタンをクリックします。
    『取得対象列』に表示されている項目を全て追加する場合は、”<<全て削除“ボタンをクリックします。
    ※ 全ての項目を取得対象外とすることはできません。取得対象列は、1件以上選択する必要があります。

    ・『取得対象列』に追加する場合
    『取得対象外列』に表示されている項目を選択し、”追加 >“ボタンをクリックします。
    『取得対象外列』に表示されている項目を全て『取得対象列』に追加する場合は、”全て追加>>“ボタンをクリックします。

    ・『重複するレコードを取得データから除外する』チェックについて
    チェックを有効にすると、外部システム連携先のExcel(OneDrive)を検索した結果、重複データがある場合、重複分を取り除き取得します。

  7. 検索条件の「全てを満たす」にチェックを入れ、以下の例を参考に各項目を設定してください。

    [検索条件説明]
    項目名 説明
    全てを満たす 列名、条件式、値に設定した、全ての条件を満たすデータを取得します
    いずれかを満たす 列名、条件式、値に設定した、いずれかの条件に該当するデータを取得します

    項目名 説明
    列名
    フィルターをかける列名を選択します
    ファイル情報で指定したExcelファイルの列名がリスト表示されます
    条件式 比較に使用する条件式を選択します
    比較する値を入力します(チャットボット内で使用する変数の入力も可)
    [検索条件入力例]
    列名 条件式
    場所 include(変数内に値を含む) {{場所検索}}
    フロア include(変数内に値を含む) {{フロア検索}}
    ※値に設定する変数は、後の手順(データ検索) シナリオ作成で使用します。

  8. 保存” ボタンをクリックしてください。

  9. 作成した外部連携が問題なく動作しているかどうか、テストを行うことができます。
    動作テストを行う場合は、”テスト” ボタンをクリックしてください。

    [外部連携の実行画面]

  手順(データ検索) シナリオ作成

  1. チャットボット画面に戻り、『シナリオ一覧』タブから “新規作成” ボタンをクリックしてください。

  2. 『シナリオ名』と『ユーザー発言例(発言例タブ)』を入力してください。

  3. 『シナリオの流れ』エリアから『テキスト発言』アクションを追加し、『発言内容』に以下の画面を参考に入力してください。

  4. 『シナリオの流れ』エリアから『ヒアリング』アクションを追加し、『ヒアリング項目』に以下の例を参考に、各項目を入力してください。

    [入力例]
    No ヒアリング項目名 タイプ   項目ごとの質問文
    場所検索 固有名詞 @location 会議室の場所を教えてください(例:東京)
    フロア検索 テキスト全体 @text 会議室のフロアを教えてください(例:5階)
  5. 『シナリオの流れ』エリアから『外部システム連携』アクションを追加し、外部システム連携で作成した「会議室の属性(検索)」を選択してください。

  6. 『シナリオの流れ』エリアから『外部連携結果をリスト表示』アクションを追加し、以下の例を参考に入力してください。

    [入力例]
    『リスト変数名』   会議室検索結果リスト
    『項目毎の表示内容』 {{名前}}

    アクションの下側に表示される”faq106_link1_exec_cond“をクリックし、『実行条件』に以下の例を参考に各項目を入力してください。

    [条件入力例]
    「会議室検索結果リスト.size」 「0」

  7. 『シナリオの流れ』エリアから『テキスト発言』アクションを追加し、『発言内容』を以下の例を参考に入力してください。

    [入力例]
    『発言内容』 検索条件に一致する会議室が見つかりませんでした。

    アクションの下側に表示される”faq106_link1_exec_cond“をクリックし、『実行条件』に以下の例を参考に各項目を入力してください。

    [条件入力例]
    「会議室検索結果リスト.size」 「0」

  8. 保存” ボタンをクリックしてください。

  9. 「学習データが更新されています。反映するには学習ボタンを押してください。」というメッセージが表示されますので、 “保存してチャットボットを学習” ボタンをクリックしてください。

  10. シミュレーターで動作を確認してください。

OneDrive連携による利用例

OneDriveへのデータ登録、更新、削除のシナリオ作成については、以下の手順をご覧ください。

OneDrive連携 シナリオ作成(データ登録)

OneDrive連携 シナリオ作成(データ更新)

OneDrive連携 シナリオ作成(データ削除)

Last updated on 2019/05/13.