Outlookで管理されている予定表のスケジュールを確認するシナリオを作成します。
このシナリオでは、「検索開始日」と「検索終了日」をユーザーから聞き取り、指定された期間内で所要時間60分の会議ができる会議室を検索します。
※ 検索結果は最大15件まで取得します。
Office 365連携を初めて行う場合は、以下をご覧ください。
【STEP1:(Microsoft)Microsoft Azure Portalにアプリケーションを登録する】
【STEP2:(DialogPlay)Office 365とDialogPlayをつなぐ】
事前準備
予定表のスケジュールを確認するためには、以下のアクセス許可が必要となります。
STEP1の〔 Microsoft Azure Portal 〕で登録したアクセス許可に、次の項目が含まれていることを確認してください。
[「予定表のスケジュールを確認」で使用する許可スコープ]
名称 | 説明 |
---|---|
Calendars.Read | ユーザーのカレンダーの読み取り |
Calendars.Read.Shared | ユーザーのカレンダーと共有のカレンダーの読み取り (他ユーザー情報は、カレンダーの共有設定がされている必要があります) |
MailboxSettings.Read | ユーザーのメールボックス設定の読み取り |
offline_access | ユーザーのデータへの常時アクセス |
STEP3. (DialogPlay)Office 365のサービスをつかう
シナリオ内で呼び出すMicrosoft Graph APIを実行させるため、対象となるAPI(実行したい機能)ごとに外部システム連携を設定します。
予定表のスケジュールを確認するシナリオでは、3つの外部システム連携が必要となります。
手順(自身のイベントを取得(複数))
- 左メニューの『チャットボット一覧』より設定を行うチャットボットを選択し、『外部システム連携』タブから”新規作成“ボタンをクリックしてください。
- 『外部システム連携先』に連携先名を入力してください。
- 『説明』に連携先の説明文を入力してください。
- 『タイプ』から「Office 365」を選択してください。
- 『対象API』から「イベントを取得(複数件)」を選択してください。
- 『検索条件』に以下の例を参考に、各項目を入力してください。
[入力例]
項目名 説明 入力値 検索条件 対象者 対象者の種類を選択 サインイン中のユーザー 開始日時 検索対象にしたいイベント開始日時をYYYY-mm-dd H:m:s形式で入力 変数の利用可能 {{日時.from}} 終了日時 検索対象にしたいイベント終了日時をYYYY-mm-dd H:m:s形式で入力 変数の利用可能 {{日時.to}} 絞り込み条件 『対象者』に「サインイン中のユーザー」を選択した時のみ設定可能 指定なし 指定なし 『対象者』『開始日時』『終了日時』に一致する、すべてのイベントを取得します 自身が主催のイベントを取得 『対象者』『開始日時』『終了日時』に一致する、かつ対象者が主催のイベントを取得します 自身が主催のイベントを取得(会議室設定済のみ) 『対象者』『開始日時』『終了日時』に一致する、かつ対象者が主催のイベントで会議室が設定されているものを取得します
- “保存“ボタンをクリックしてください。
手順(自身のイベントを取得(1件))
- 左メニューの『チャットボット一覧』より設定を行うチャットボットを選択し、『外部システム連携』タブから”新規作成“ボタンをクリックしてください。
- 『外部システム連携先』に連携先名を入力してください。
- 『説明』に連携先の説明文を入力してください。
- 『タイプ』から、「Office 365」を選択してください。
- 『対象API』から、「イベントを取得(1件)」を選択してください。
- 『検索条件』に以下の例を参考に、各項目を入力してください。
[入力例]
項目名 説明 入力値 検索条件 対象者 対象者の種類を選択 サインイン中のユーザー イベントID イベント識別用ID {{スケジュールの選択}} - 『Response Map』に「会議室」の項目を追加し、”保存“ボタンをクリックしてください。
[入力例]
変換元 変換先 locations[0].displayName 会議室
手順(他ユーザーのイベントを取得(複数))
- 左メニューの『チャットボット一覧』より設定を行うチャットボットを選択し、『外部システム連携』タブから”新規作成“ボタンをクリックしてください。
- 『外部システム連携先』に連携先名を入力してください。
- 『説明』に連携先の説明文を入力してください。
- 『タイプ』から、「Office 365」を選択してください。
- 『対象API』から、「イベントを取得(複数件)」を選択してください。
- 『検索条件』に以下の例を参考に、各項目を入力してください。
[入力例]
項目名 説明 入力値 検索条件 対象者 対象者の種類を選択 ユーザーIDを指定 ユーザーID 『対象者』に「ユーザーIDを指定」を選択した時のみ設定可能
検索対象にしたいユーザーID(Office 365内で一意に割り当てられたUUID)またはユーザー識別子(ユーザーメールアドレス)を入力
変数の利用可能{{社員選択}} 開始日時 検索対象にしたいイベント開始日時をYYYY-mm-dd H:m:s形式で入力
変数の利用可能{{日時.from}} 終了日時 検索対象にしたいイベント終了日時をYYYY-mm-dd H:m:s形式で入力
変数の利用可能{{日時.to}} - “保存“ボタンをクリックしてください。
STEP4. (DialogPlay)シナリオを追加する
手順
- 左メニューの『チャットボット一覧』よりシナリオを追加したいチャットボットを選択してください。
- 『外部サービス認証先設定』にて『Office 365連携を行う』にチェックが入り、『認証先』が設定されていることを確認してください。
※ 外部サービス認証先設定が未設定の状態で、Office 365連携を利用したシナリオを実行した場合、チャットウィンドウに「Office 365連携先が設定されていない為、この機能はご使用いただくことができません。」と表示され、外部連携アクションは正常に動作しません。
- 『シナリオ一覧』から、”新規作成“ボタンをクリックしてください。
- 『シナリオ名』と『ユーザー発言例』を入力してください。
- 『シナリオの流れ』から「テキスト発言」を選択し、”アクションを追加“ボタンをクリックしてください。
- 『発言内容』に、チャットボットに発言させたい任意のメッセージを入力してください。
- 『ヒアリング』アクションを追加し、以下の例を参考に各項目を入力してください。
[入力例]No ヒアリング項目名 タイプ 項目ごとの質問文 1 日時 時間表現 @datetime_period いつのスケジュールを確認しますか?(例:今日、明日の13時から17時) - 『Yes/No確認』アクションを追加し、以下の例を参考に各項目を入力してください。
[入力例]
項目名 入力値 タイトル 自分のスケジュールを確認 質問内容 自分のスケジュールを確認しますか? - 『選択肢確認』アクションを追加し、以下の例を参考に各項目を入力してください。
『実行条件』は、アクションの下側の”“をクリックすることで、項目が表示されます。
[入力例]
項目名 入力値 タイトル 社員選択 質問内容 スケジュールを確認したい社員を選択してください。 選択肢設定 表示名 社員名 値 社員のOffice 365登録アドレス 実行条件 「自分のスケジュールを確認」 = 「いいえ」
- 『外部システム連携』アクションを追加し、以下の例を参考に各項目を入力してください。
[入力例]
項目名 入力値 連携先 自身のイベントを取得(複数) 実行条件 「自分のスケジュールを確認」 = 「はい」 - 『外部システム連携』アクションを追加し、以下の例を参考に各項目を入力してください。
[入力例]
項目名 入力値 連携先 他ユーザーのイベントを取得(複数) 実行条件 「自分のスケジュールを確認」 = 「いいえ」 - 『テキスト発言』アクションを追加し、以下の例を参考に入力してください。
[入力例]
項目名 入力値 発言内容 {{日時}}に登録されているスケジュールを表示します。 - 『外部連携結果をリスト表示』アクションを追加し、以下の例を参考に各項目を入力してください。
※「外部連携結果をリスト表示」の詳細については、【外部システムから取得した結果をリスト表示したい】をご覧ください。
[入力例]
項目名 入力値 リスト変数名 イベントリスト 項目毎の表示内容 {{start.dateTime}} : {{subject}} - 『Yes/No確認』アクションを追加し、以下の例を参考に各項目を入力してください。
[入力例]
項目名 入力値 タイトル 詳細確認 質問内容 スケジュールの詳細を確認しますか? 実行条件 「自分のスケジュールを確認」 = 「はい」
- 『外部連携結果を選択肢表示』アクションを追加し、以下の例を参考に各項目を入力してください。
※「外部連携結果を選択肢表示」の詳細については、【外部システムから取得した結果を選択肢で表示したい】をご覧ください。
[入力例]
項目名 入力値 タイトル スケジュールの選択 質問内容 詳細を確認するスケジュールを選択してください。 選択肢設定 リスト変数名 イベントリスト 項目毎の表示内容 {{start.dateTime}} : {{subject}} 項目毎の値 {{id}} 選択肢に [どれでもない] を追加する チェックなし 実行条件 「詳細確認」 = 「はい」 - 『外部システム連携』アクションを追加し、以下の例を参考に各項目を入力してください。
[入力例]
項目名 入力値 連携先 自身のイベントを取得(1件) 実行条件 「詳細確認」 = 「はい」 - 『テキスト発言』アクションを追加し、以下の例を参考に各項目を入力してください。
[入力例]
項目名 入力値 発言内容 詳細を表示します。
--------------------------
会議名:{{タイトル}}
会議時間:{{開始時間}} - {{終了時間}}
会議室:{{会議室}}実行条件 「詳細確認」 = 「はい」 - “保存“ボタンをクリックしてください。
- 「学習データが更新されています。反映するには学習ボタンを押してください。」というメッセージが表示されますので、”保存してチャットボットを学習“ボタンをクリックしてください。
※ 今回の手順はあくまで一例であり、他にも利用できる項目が用意されています。詳細は〔 Microsoft Graph API 〕のリファレンスをご覧ください。
STEP5. (DialogPlay)チャットボットとしゃべる
手順
『シミュレーター』機能で動作を確認してください。
Office 365へのサインインを促すメッセージが表示されますので、URLをクリックし、Office 365にサインインしてください。
※ 詳細については【チャットボット作成(Ⅳ.Office 365連携編) - STEP6】をご覧ください。
[シミュレーター画面]