Outlook予定表のスケジュールを確認する(Office 365連携)

Outlookで管理されている予定表のスケジュールを確認するシナリオを作成します。
このシナリオでは、「検索開始日」と「検索終了日」をユーザーから聞き取り、指定された期間内で所要時間60分の会議ができる会議室を検索します。
※検索結果は最大15件まで取得します。

Office 365連携を初めて行う場合は、 こちら をご覧ください。

事前準備

予定表のスケジュールを確認するためには、以下のアクセス許可が必要となります。
STEP1の〔Application Registration Portal〕で登録したアクセス許可に、次の項目が含まれていることを確認してください。

[「予定表のスケジュールを確認」で使用する許可スコープ]

名称 説明
Calendars.Read ユーザーのカレンダーの読み取り
Calendars.Read.Shared ユーザーのカレンダーと共有のカレンダーの読み取り(他のユーザー情報は、カレンダーの共有設定がされている必要があります)
MailboxSettings.Read ユーザーのメールボックス設定の読み取り
offline_access ユーザーのデータへの常時アクセス

STEP3. (DialogPlay)Office 365のサービスをつかう

シナリオ内で呼び出したいMicrosoft Graph APIを実行させるため、対象となるAPI(実行したい機能)ごとに外部システム連携として設定します。
予定表のスケジュールを確認するシナリオでは3つの外部システム連携が必要となりますので、それぞれ外部システム連携を設定します。

  手順(自身のイベントを取得(複数))

  1. 左メニューの『チャットボット一覧』より設定を行うチャットボットを選択し、『外部システム連携』タブから”新規作成“ボタンをクリックしてください。

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

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

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

  5. 『対象API』から「イベントを取得(複数件)」を選択してください。

  6. 『検索条件』に以下の例を参考に、各項目を入力してください。

    [検索条件]
    『対象者』 対象者の種類を選択
    『検索開始日時』 検索対象にしたい開始日時をYYYY-mm-dd H:m:s形式または変数を入力
    『検索終了日時』 検索対象にしたい終了日時をYYYY-mm-dd H:m:s形式または変数を入力

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

  手順(自身のイベントを取得(1件))

  1. 左メニューの『チャットボット一覧』より設定を行うチャットボットを選択し、『外部システム連携』タブから”新規作成“ボタンをクリックします。

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

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

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

  5. 『対象API』から、「イベントを取得(1件)」を選択してください。

  6. 『検索条件』に以下の例を参考に、各項目を入力してください。

    [検索条件]
    『対象者』 対象者の種類を選択
    『イベントID』 イベント識別用ID

  7. 『ResponseMap』に「会議室」の項目を追加し、”保存“ボタンをクリックしてください。

    [入力例]
    『変換元』 locations[0].displayName
    『変換先』 会議室

  手順(他人のイベントを取得(複数))

  1. 左メニューの『チャットボット一覧』より設定を行うチャットボットを選択し、『外部システム連携』タブから”新規作成“ボタンをクリックしてください。

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

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

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

  5. 『対象API』から、「イベントを取得(複数件)」を選択してください。

  6. 『検索条件』に以下の例を参考に、各項目を入力してください。

    [検索条件]
    『対象者』 対象者の種類を選択
    『ユーザーID』 ユーザーID(Office 365内で一意に割り当てられたUUID)または、ユーザー識別名(ユーザーメールアドレス)
    『検索開始日時』 検索対象にしたい開始日時をYYYY-mm-dd H:m:s形式または変数を入力
    『検索終了日時』 検索対象にしたい終了日時をYYYY-mm-dd H:m:s形式または変数を入力

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

STEP4. (DialogPlay)シナリオを追加する

  手順

  1. 左メニューの『チャットボット一覧』よりシナリオを追加したいチャットボットを選択してください。

  2. 『連携先設定』にて『Office 365連携を行う』にチェックが入り、『連携先』が設定されていることを確認してください。

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

  3. 『シナリオ一覧』から、”新規作成“ボタンをクリックしてください。

  4. 『シナリオ名』と『ユーザーの発言例』を入力してください。

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

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

    [入力例]
    スケジュールを確認します。

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

  8. 『ヒアリング項目』に以下の例を参考に、各項目を入力してください。

    [入力例]
    No ヒアリング項目名 タイプ   項目ごとの質問文
    日時 時間表現 @datetime_period いつのスケジュールを確認しますか?(例:今日、明日の13時から17時)
  9. 『シナリオの流れ』エリアの中にあるリストから「Yes/No確認」アクションを追加し、以下の例を参考に各項目を入力してください。

    [入力例]
    『タイトル』 自分のスケジュールを確認
    『質問内容』 自分のスケジュールを確認しますか?

  10. 『シナリオの流れ』エリアの中にあるリストから「選択肢確認」アクションを追加し、以下の例を参考に各項目を入力してください。

    [入力例]
    『タイトル』 社員選択
    『質問内容』 スケジュールを確認したい社員を選択してください。

    [選択肢設定入力例]
    『表示名』  社員名
    『値』    社員のOffice 365登録アドレス

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

    [条件入力例]
    「自分のスケジュールを確認」 「いいえ」

    ※外部連携の対象APIにある「ユーザー情報を取得」を利用することで、参加者や会議室の情報を検索することが可能です。詳しい手順については、 こちら をご覧ください。

  11. 『シナリオの流れ』エリアの中にあるリストから「外部システム連携」アクションを追加し、『連携先』に「自身のイベントを取得(複数)」を選択してください。
    アクションの下側に表示される”Office365_event_link2_exec_cond“をクリックし、『実行条件』に以下の例を参考に各項目を入力してください。

    [条件入力例]
    「自分のスケジュールを確認」 「はい」

  12. 『シナリオの流れ』エリアの中にあるリストから「外部システム連携」アクションを追加し、『連携先』に「他人のイベントを取得(複数)」を選択してください。
    アクションの下側に表示される”Office365_event_link2_exec_cond“をクリックし、『実行条件』に以下の例を参考に各項目を入力してください。

    [条件入力例]
    「自分のスケジュールを確認」 「いいえ」

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

    [入力例]
    {{日時}}に登録されているスケジュールを表示します。

  14. 『シナリオの流れ』エリアの中にあるリストから「外部連携結果をリスト表示」アクションを追加し、”アクションを追加“ボタンをクリックしてください。
    ※「外部連携結果をリスト表示」の詳細につきましては、 こちら をご覧ください。

  15. 『外部連携結果をリスト表示』に以下の例を参考に、各項目を入力してください。

    [入力例]
    『リスト変数名』   イベントリスト
    『項目毎の表示内容』 {{start.dateTime}} {{subject}}

  16. 『シナリオの流れ』エリアの中にあるリストから「Yes/No確認」アクションを追加し、以下の例を参考に各項目を入力してください。

    [入力例]
    『タイトル』 詳細確認
    『質問内容』 スケジュールの詳細を確認しますか?

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

    [条件入力例]
    「自分のスケジュールを確認」 「はい」

    ※他のユーザーのイベント情報も同様に「イベントを取得(1件)」を利用することで取得可能です。(API実行時の検索条件は異なります)

  17. 『シナリオの流れ』エリアの中にあるリストから「外部連携結果を選択肢表示」アクションを追加し、以下の例を参考に各項目を入力してください。
    ※「外部連携結果を選択肢表示」の詳細につきましては、 こちら をご覧ください。

    [入力例]
    『タイトル』 スケジュールの選択
    『質問内容』 詳細を確認するスケジュールを選択してください。

    [選択肢設定入力例]
    『リスト変数名』   イベントリスト
    『項目毎の表示内容』 {{start.dateTime}} {{subject}}
    『項目毎の値』    {{id}}

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

    [条件入力例]
    「詳細確認」 「はい」

  18. 『シナリオの流れ』エリアの中にあるリストから「外部システム連携」アクションを追加し、『連携先』に「自身のイベントを取得(1件)」を選択してください。
    アクションの下側に表示される”Office365_event_link2_exec_cond“をクリックし、『実行条件』に以下の例を参考に各項目を入力してください。

    [条件入力例]
    「詳細確認」 「はい」

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

    [入力例]
    詳細を表示します。
    会議名:{{タイトル}}
    会議時間:{{開始時間}} - {{終了時間}}
    会議室:{{会議室}}
    
    アクションの下側に表示される”Office365_event_link2_exec_cond“をクリックし、『実行条件』に以下の例を参考に各項目を入力してください。

    [条件入力例]
    「詳細確認」 「はい」

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

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

※今回の手順はあくまで一例であり、他にも利用できる項目が用意されています。詳細は〔 Office 365 Graph API 〕のリファレンスをご覧ください。

STEP5. (DialogPlay)チャットボットとしゃべる

『シミュレーター』機能で動作を確認してください。
Office 365へのサインインを促すメッセージが表示されますので、URLをクリックし、Office 365にサインインしてください。
※詳しい手順は こちら をごらんください。

[シミュレーター画面]

Last updated on 2019/01/30.