チャットボット作成(Ⅳ.Office 365連携編)

Office 365のAPI(Microsoft Graph API)を利用して、スケジュールの確認や会議室の予約などといったユーザー操作をチャットボットが代わりに行うことができます。
※本作業を行う場合は、『Office 365ビジネスプランへの登録』が必要となります。

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

それでは、Office 365連携チャットボットをつくっていきましょう。

Office 365外部システム連携の流れ

Office 365とDialogPlayをつなぐ方法について、まずは全体の流れをご説明します。


STEP1. (Microsoft)Application Registration Portalにアプリケーションを登録する
STEP2. (DialogPlay)Office 365とDialogPlayをつなぐ
STEP3. (DialogPlay)チャットボットをつくる
STEP4. (DialogPlay)Office 365のサービスをつかう
STEP5. (DialogPlay)シナリオをつくる
STEP6. (DialogPlay)チャットボットとしゃべる

【テンプレートを利用してOffice 365連携を行う場合】
DialogPlayのテンプレート「【サンプル】Office 365会議室予約ボット」を利用してOffice 365連携を行う場合、 STEP1・STEP2の手順は必要 となります。
ただし、 STEP3~STEP5の手順はテンプレートを利用するため不要です。
テンプレートを利用して作成する場合は こちら をご覧ください。
※本テンプレートは、「Advanceプラン以上」かつ「ベータ機能」でダウンロード可能となります。

STEP1:(Microsoft)Application Registration Portalにアプリケーションを登録する

Office 365と連携するため、認証設定を行います。まずは、『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“ボタンをクリックしてください。
    今回は自身のユーザー情報を取得するため、「offline_access」「User.Read」の2つの許可を選択してください。
    ※Microsoft Graph アクセス許可一覧については、 こちら をご覧ください。

  12. 保存“ボタンをクリックしてください。
    ※選択したスコープは、『委任されたアクセス許可』で確認できます。

STEP2:(DialogPlay)Office 365とDialogPlayをつなぐ

Application Registration Portalで作成したアプリケーションを、DialogPlay上でOffice 365連携先として登録し、チャットボット単位で呼び出せるよう設定します。

  手順

  1. 左メニューの『アカウント設定』から『外部サービス認証』を選択してください。

  2. 新規作成“ボタンをクリックしてください。

  3. 『タイプ』に「Office 365」を選択してください。

  4. 『認証先名』に任意の名称を入力してください。

  5. 『テナントID』に、Application Registration Portalで使用したアカウントの、@以下のドメイン名を入力してください。
    ※独自ドメインを設定されている場合は、独自ドメインを指定してください。

    [入力例]
    Application Registration Portalで使用したアカウントが『dialogplay@×××.onmicrosoft.com』の場合、入力する箇所は ×××.onmicrosoft.com となります。

  6. 『アプリケーションID』に、Application Registration Portalで作成したアプリケーションIDを入力してください。

  7. 『パスワード』に、Application Registration Portalで作成したアプリケーションのパスワードを入力してください。
    「Microsoft Graphのアクセス許可」で管理者の承認が必要なアクセス許可を使用する場合は、『チャット利用者に管理者権限が必要なOffice 365上のデータへアクセスすることを許可する』にチェックを入れてください。
    ※Microsoft Graph アクセス許可一覧については、 こちら をご覧ください。

    ・『チャット利用者に管理者権限が必要なOffice 365上のデータへアクセスすることを許可する』について
    テナント管理者から事前にアクセス権の承認を得ることで、本来管理者のみに制限されたAPIを、一般ユーザーでも利用することが可能になります。
    チェックを有効にした状態で保存後、承認手続きを行うボタンが表示されます。

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

  9. 「保存が完了しました。」というメッセージが表示され、『リダイレクトURL』が表示されます。
    リダイレクトURLは、「STEP1:(Microsoft)Application Registration Portalにアプリケーションを登録する」手順9で設定済みの為、取得する必要はありません。

  10. 『チャット利用者に管理者権限が必要なOffice 365上のデータへアクセスすることを許可する』を有効にした場合、 “アクセス権の事前承認を行う“ボタンが表示されます。テナント管理者によるアクセス権の事前承認を行います。

    10-1. “アクセス権の事前承認を行う“ボタンをクリックしてください。
    10-2. テナント管理者でサインインしてください。
    10-3. アクセス許可承認画面が表示されますので、内容を確認し、”承諾“ボタンをクリックしてください。
    10-4. 「認証に成功しました。」というメッセージが別タブで表示されますので、確認後タブを閉じてください。
    10-5. テナント管理者承認後、”アクセス権の事前承認を行う【認証済み】“ボタンに変わります。

STEP3:(DialogPlay)チャットボットをつくる

  手順

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

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

  3. 画面下部にある『外部サービス認証先設定』をクリックし、『Office 365連携を行う』にチェックをいれます。
    『認証先』にSTEP2で作成した「Sample_Office 365連携」を選択し、”保存“ボタンをクリックしてください。

    ※認証先設定が未設定の状態で、Office 365連携を利用したシナリオを実行した場合、チャットウィンドウに「外部システム連携先が設定されていない為、この機能はご使用いただくことができません。」と表示され、外部連携アクションは正常に動作しません。

STEP4:(DialogPlay)Office 365のサービスをつかう

シナリオ内で呼び出したいMicrosoft Graph APIを実行させるため、対象となるAPI(実行したい機能)ごとに外部システム連携として設定します。

  手順

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

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

  3. 『説明』に連携先の説明文を入力してください。

  4. 『タイプ』から、「Office 365」を選択してください。

  5. 『対象API』から、作成するシナリオに応じてAPIを選択してください。
    今回は、「ユーザー情報を取得(1件)」を選択します。
    ※対象APIを選択すると、選択したAPIで利用できるResponse Map情報が自動的に表示されるため、一から設定する必要ありません。必要な項目を自由に追加することも可能です。

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

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

  8. Office 365の連携先認証を行います。STEP2で作成したOffice 365連携先を選択し、”連携先認証“ボタンをクリックしてください。
    ※既に認証済の場合は”再認証”ボタンになります。

  9. 連携先認証画面の、”サインイン“ボタンをクリックしてください。

  10. Office 365のサインイン画面が開きますので、Office 365の『アカウント』と『パスワード』を入力し、”サインイン“ボタンをクリックしてください。

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

  12. 承諾後、6桁の検証コードが表示されますので、「検証コード」をコピーしてください。

  13. 連携先認証画面に戻り、『検証コード』欄に「検証コード」を貼り付け後、”検証“ボタンをクリックしてください。

  14. 外部連携の実行画面が表示されますので、”実行“ボタンをクリックしてください。

  15. 外部連携の実行後、連携先から取得した『値』が表示されますので、それぞれの内容を確認してください。
    項目名 説明
    レスポンス変数名 Response Map「変換先」で指定した変数名
    連携先から取得した値

STEP5:(DialogPlay)シナリオをつくる

  手順

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

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

  3. 『シナリオの流れ』エリアの中にあるリストから「テキスト発言」を選択し、”アクションを追加“ボタンをクリックしてください。

  4. 『発言内容』に、チャットボットに発言させたい任意のメッセージを入力してください。

    [入力例]
    ユーザー情報を表示します。

  5. 『シナリオの流れ』エリアの中にあるリストから「外部システム連携」を選択し、”アクションを追加“ボタンをクリックしてください。

  6. 『連携先』にSTEP4で作成した「ユーザー情報の取得」を選択してください。

  7. 『シナリオの流れ』エリアの中にあるリストから「テキスト発言」アクションを追加し、『発言内容』に以下例を参考に各項目を入力してください。
    ※変数の使用方法については こちら をご覧ください。

    [入力例]
    あなたのユーザー情報は、こちらです。
    ID: {{ID}}
    名前:{{姓}} {{名}}
    メールアドレス:{{メールアドレス}}
    役職:{{役職}}
    事務所:{{事業所}}
    電話番号(内線):{{事業所の電話}}
    携帯電話:{{携帯電話}}
    
  8. 保存“ボタンをクリックしてください。

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

STEP6:(DialogPlay)チャットボットとしゃべる

作成したチャットボットと実際に対話を行い、動作を確認しましょう。
Ⅰ~Ⅲ同様、アプリケーションへの公開は行わず、シミュレーター機能で対話を行います。

  手順

  1. 画面右端にある”シミュレーター“をクリックし、シミュレーター画面を表示してください。

  2. 『チャット』タブを選択してください。
    Office 365連携を行うシナリオが実行されると、シナリオの先頭でOffice 365へのサインインを促すメッセージが表示されます。
    表示されたURLをクリックすると、Office 365のサインイン画面へ遷移します。

  3. Office 365のサインイン画面で、Office 365の『アカウント』と『パスワード』を入力し、”サインイン“ボタンをクリックしてください。

  4. サインイン後、このアプリで必要なアクセス許可一覧が表示されます。内容を確認し、 “承諾” ボタンをクリックしてください。

  5. 「認証に成功しました。チャットボット画面に戻り、下記の検証コードを入力してください。」というメッセージと共に6桁の検証コードが表示されますので、コピーしてください。

  6. DialogPlayのチャット画面に戻り、先ほどコピーした6桁の検証コードを入力してください。
    検証コードが認証され、シナリオが継続します。
Last updated on 2019/06/20.