Office 365のAPI(Microsoft Graph API)を利用して、スケジュールの確認や会議室の予約などといったユーザー操作をチャットボットが代わりに行うことができます。
※本作業を行う場合は、『Office 365ビジネスプランへの登録』が必要となります。
なお、この機能はベータ機能を有効化することでお試しいただけます。
ベータ機能は、将来的に互換性のない変更や機能の廃止が行われる可能性があります。
予めご了承ください。 ベータ機能を有効にする方法は、 【ベータ機能を有効化したい】 をご覧ください。
それでは、Office 365連携チャットボットをつくっていきましょう。
Office 365外部システム連携の流れ
Office 365とDialogPlayをつなぐ方法について、まずは全体の流れをご説明します。
【STEP1:(Microsoft) Microsoft Azure 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の手順はテンプレートを利用するため実施不要です。
テンプレートを利用して作成する場合は 【テンプレートを利用してOffice 365連携を行う場合】 をご覧ください。
※本テンプレートは、 Advanceプラン以上 かつ ベータ機能が有効化されている 状態でダウンロード可能となります。
STEP1:(Microsoft)Microsoft Azure Portalアプリケーション作成
Office 365と連携するため、認証設定を行います。まずは、『Microsoft Azure Portal』で対象となるアプリケーションを作成します。
手順
- 〔 Microsoft Azure Portal 〕の公式サイトを開き、『Microsoft Azure Portal』にサインインしてください。
- 検索ボックスに「アプリの登録」と入力し、サービスに表示された"アプリの登録”をクリックしてください。
- ”+新規登録”ボタンをクリックしてください。
- 各項目を入力後、”登録”ボタンをクリックしてください。
No. 項目名 説明 1 名前 アプリケーションのユーザー向けの表示名 2 サポートされているアカウントの種類 アプリケーションを使用したりAPIにアクセスするアカウントの種類を選択 3 リダイレクトURI 以下のURIを入力
https://management-api.dialogplay.jp/oauth/callback
『アプリケーション(クライアント)ID』をコピーし、保管してください。 - 『APIアクセス許可』をクリックし、”+アクセス許可の追加”ボタンをクリックしてください。
- 『よく使用されるMicrosoft API』から、”Microsoft Graph“をクリックしてください。
- 使用する対象APIに応じて、アプリケーションに必要なアクセス許可の種類を選択します。
※対象APIに必要なアクセス許可については、【Microsoft Graph アクセス許可一覧が知りたい】をご覧ください。
- 管理者の同意が必要な『Directory.Read.All』、『User.Read.All』のアクセス許可は、"アプリケーションの許可"をクリックし設定を行ってください。
- それ以外のアクセス許可は、”委任されたアクセス許可”をクリックし設定を行ってください。
- 管理者の同意が必要な『Directory.Read.All』、『User.Read.All』のアクセス許可は、"アプリケーションの許可"をクリックし設定を行ってください。
- 『アクセス許可を選択する』から必要なアクセス許可にチェックを入れ、”アクセス許可の追加“ボタンをクリックしてください。
[例:委任されたアクセス許可画面] - 『証明書とシークレット』から、”+新しいクライアントシークレット“ボタンをクリックしてください。
- 『クライアント シークレットの追加』の『説明』を入力し、『有効期限』を選択後、"追加"ボタンをクリックしてください。
- 『クライアント シークレット』に表示された『値』をコピーし、保管してください。
- 『所有者』から”+所有者の追加”ボタンをクリックし、メンバーを選択後、”選択”ボタンをクリックしてください。
選択したメンバーに、作成したアプリの表示・編集権限が付与されます。 - 『認証』から『暗黙の付与』の『アクセストークン』、『IDトークン』にチェックを入れ、”保存”ボタンをクリックしてください。
STEP2:(DialogPlay)Office 365とDialogPlayをつなぐ
Microsoft Azure Portalで作成したアプリケーションを、DialogPlay上でOffice 365連携先として登録し、チャットボット単位で呼び出せるよう設定します。
手順
- 左メニューの『アカウント設定』から『外部サービス認証』を選択してください。
- “新規作成“ボタンをクリックしてください。
- 各項目を入力し、”保存”ボタンをクリックしてください。
No. 項目名 説明 1 タイプ 「Office 365」を選択 2 認証先名 任意の名称を入力 3 テナントID Microsoft Azure Portalで使用したアカウントの、@以下のドメイン名を入力※独自ドメインを設定されている場合は、独自ドメインを指定してください
[入力例]
Microsoft Azure Portalで使用したアカウントが『user@×××.dialogplay.jp』の場合、入力する箇所は ×××.dialogplay.jp となります
No. 項目名 説明 4 アプリケーションID STEP1の手順5で取得した『アプリケーション(クライアント)ID』を入力 5 パスワード STEP1の手順12で取得したクライアント シークレットの『値』を入力 6 チャット利用者に管理者権限が必要なOffice 365上のデータへアクセスすることを許可する STEP1の手順8で管理者の同意が必要な『Directory.Read.All』、『User.Read.All』のアクセス許可を使用する場合に、本機能を有効にします。
テナント管理者から事前にアクセス権の承認を得ることで、本来管理者のみに制限されたAPIを、一般ユーザーでも利用することが可能になります。
承認手順については、【アクセス権の事前承認手順】をご覧ください。 - 「保存が完了しました。」というメッセージが表示され、『リダイレクトURL』が表示されます。
リダイレクトURLは、STEP1の手順4で設定済みのため、取得不要です。
アクセス権の事前承認手順
『チャット利用者に管理者権限が必要なOffice 365上のデータへアクセスすることを許可する』を有効にした場合、 外部サービス認証画面に“アクセス権の事前承認を行う“ボタンが表示されますので、以下の手順でテナント管理者によるアクセス権の事前承認を行ってください。
- “アクセス権の事前承認を行う“ボタンをクリックしてください。
- テナント管理者でサインインしてください。
- アクセス許可承認画面が表示されますので、内容を確認し、”承諾“ボタンをクリックしてください。
- 「認証に成功しました。」というメッセージが別タブで表示されますので、確認後タブを閉じてください。
- テナント管理者承認後、”アクセス権の事前承認を行う【認証済み】“ボタンに変わります。
STEP3:(DialogPlay)チャットボットをつくる
手順
- 左メニューの『チャットボット作成』から『新規作成』を選択し、『新規作成』にチェック後、"次へ"をクリックしてください。
- 『チャットボット名』と『初期発言』を入力し、”保存“ボタンをクリックしてください。
- 画面下部にある『外部サービス認証先設定』をクリックし、『Office 365連携を行う』にチェックをいれます。
『認証先』にSTEP2で作成した「Office 365連携」を選択し、”保存“ボタンをクリックしてください。
※ 認証先設定が未設定の状態で、Office 365連携を利用したシナリオを実行した場合、チャットウィンドウに「外部システム連携先が設定されていない為、この機能はご使用いただくことができません。」と表示され、外部連携アクションは正常に動作しません。
STEP4:(DialogPlay)Office 365のサービスをつかう
シナリオ内で呼び出したいMicrosoft Graph APIを実行させるため、対象となるAPI(実行したい機能)ごとに外部システム連携として設定します。
手順
- チャットボット画面に戻り、『外部システム連携』タブから”新規作成“ボタンをクリックしてください。
- 『外部システム連携先』に連携先名を入力し、『説明』に連携先の説明文を入力してください。
- 『タイプ』から、「Office 365」を選択してください。
- 『対象API』から、作成するシナリオに応じてAPIを選択してください。
今回は、「ユーザー情報を取得(1件)」を選択します。
※ 対象APIを選択すると、選択したAPIで利用できるResponse Map情報が自動的に表示されるため、一から設定する必要ありません。必要な項目を自由に追加することも可能です。 - “保存“ボタンをクリックしてください。
- 作成した外部システム連携が問題なく動作しているかどうかテストを行うことができます。
動作テストを行う場合は、”テスト“ボタンをクリックしてください。 - Office 365の連携先認証を行います。STEP2で作成したOffice 365連携先を選択し、”連携先認証“ボタンをクリックしてください。
※ 既に認証済の場合は”再認証”ボタンになります。 - 連携先認証画面の、”サインイン“ボタンをクリックしてください。
- Office 365のサインイン画面が開きますので、Office 365の『アカウント』と『パスワード』を入力し、”サインイン“ボタンをクリックしてください。
- アクセス許可一覧が表示されますので、”承諾“ボタンをクリックしてください。
- 承諾後、6桁の検証コードが表示されますので、「検証コード」をコピーしてください。
- 連携先認証画面に戻り、『検証コード』欄に「検証コード」を貼り付け後、”検証“ボタンをクリックしてください。
- 外部連携の実行画面が表示されますので、”実行“ボタンをクリックしてください。
- 外部連携の実行後、連携先から取得した『値』が表示されますので、それぞれの内容を確認してください。
項目名 説明 レスポンス変数名 Response Map「変換先」で指定した変数名 値 連携先から取得した値
STEP5:(DialogPlay)シナリオをつくる
手順
- チャットボット画面に戻り、『シナリオ一覧』タブから”+シナリオを追加“ボタンをクリックしてください。
- 『シナリオ名』と『ユーザー発言例(発言例タブ)』を入力してください。
- 『シナリオの流れ』エリアの中にあるリストから「テキスト発言」を選択し、”アクションを追加“ボタンをクリックしてください。
- 『発言内容』に、チャットボットに発言させたい任意のメッセージを入力してください。
[入力例]
ユーザー情報を表示します。 - 『シナリオの流れ』エリアの中にあるリストから「外部システム連携」を選択し、”アクションを追加“ボタンをクリックしてください。
- 『連携先』にSTEP4で作成した「ユーザー情報の取得」を選択してください。
- 『シナリオの流れ』エリアの中にあるリストから「テキスト発言」アクションを追加し、『発言内容』に以下例を参考に各項目を入力してください。
※変数の使用方法については【変数の利用方法について】をご覧ください。
[入力例]あなたのユーザー情報は、こちらです。
ID: {{ID}}
名前:{{姓}} {{名}}
メールアドレス:{{メールアドレス}}
役職:{{役職}}
事務所:{{事業所}}
電話番号(内線):{{事業所の電話}}
携帯電話:{{携帯電話}} - “保存“ボタンをクリックしてください。
- 「学習データが更新されています。反映するには学習ボタンを押してください。」というメッセージが表示されますので、”保存してチャットボットを学習“ボタンをクリックしてください。
STEP6:(DialogPlay)チャットボットとしゃべる
作成したチャットボットと実際に対話を行い、動作を確認しましょう。
アプリケーションへの公開は行わず、シミュレーター機能で対話を行います。
手順
- 画面右端にある”シミュレーター“をクリックし、シミュレーター画面を表示してください。
- 『チャット』タブを選択し、対話を行ってください。
Office 365連携を行うシナリオが実行されると、シナリオの先頭でOffice 365へのサインインを促すメッセージが表示されます。
表示されたURLをクリックすると、Office 365のサインイン画面へ遷移します。 - Office 365のサインイン画面で、Office 365の『アカウント』と『パスワード』を入力し、”サインイン“ボタンをクリックしてください。
- サインイン後、要求されているアクセス許可一覧が表示されます。内容を確認し、 “承諾” ボタンをクリックしてください。
※STEP2の手順5で「チャット利用者に管理者権限が必要なOffice 365上のデータへアクセスすることを許可する」で「アクセス権の事前承認を行う【承認済み】」の場合は表示されません。 - 「認証に成功しました。チャットボット画面に戻り、下記の検証コードを入力してください。」というメッセージと共に6桁の検証コードが表示されますので、コピーしてください。
- DialogPlayのチャット画面に戻り、先ほどコピーした6桁の検証コードを入力してください。
検証コードが認証され、シナリオが継続します。
Office 365連携による活用例(応用編)
Office 365上で管理されているOutlookスケジュールの確認や会議室の予約などの操作をチャットボット経由で行う場合は、以下の手順をご覧ください。