空き会議日時を検索する(Office 365連携)

会議室空き日時の検索を行うシナリオを作成します。

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

参加者や会議室の情報を複数件まとめて検索することも可能です。詳細は、 こちら をご覧ください。

事前準備

空き会議日時の検索を行うためには、以下のアクセス許可が必要となります。
STEP1の〔 Application Registration Portal 〕で登録したアクセス許可に、次の項目が含まれていることを確認してください。

[「空き会議日時の検索」で使用する許可スコープ]

名称 説明
Calendars.Read.Shared
ユーザーのカレンダーと共有カレンダーの読み取り
※他ユーザー情報を取得する場合は、カレンダーの共有設定が必要
MailboxSettings.Read ユーザーのメールボックス設定の読み取り
offline_access ユーザーデータへの常時アクセス
User.ReadBasic.All 全てのユーザーの基本プロファイルの読み取り

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

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

  手順

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

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

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

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

  5. 『対象API』から、「空き会議日時の検索」を選択してください。

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

    [シナリオ例]
    「開始日時」と「終了日時」をユーザーから聞き取り、指定された所要時間の会議ができる会議室を検索します。
    ※最大15件まで検索結果として返します。


    [検索条件]
    名称 説明 入力例
    開始日時 検索対象にしたい開始日時をYYYY-mm-dd H:m:s形式または変数を入力 {{検索日時.from}}
    終了日時 検索対象にしたい終了日時をYYYY-mm-dd H:m:s形式または変数を入力 {{検索日時.to}}
    所要時間(分) 所要時間(分)を数字または変数を入力 {{会議時間}}
    検索時間指定
    検索に指定する条件を選択
    ・制限なし
    制限を設けずに空き時間を検索する
    ・予定表オプションの稼働時間内で検索(指定した曜日のみから検索)
    Outlookの予定表オプションで指定した稼働時間内且つ稼働日(指定曜日)から検索する
    ・予定表オプションの稼働時間内で検索(全ての曜日から検索)
    Outlookの予定表オプションで指定した稼働時間内且つ全稼働日(全ての曜日)から検索する
    予定表オプションの稼働時間内で検索(指定した曜日のみから検索)






    会議室
    Office 365で設定した会議室識別用メールアドレスまたは変数を入力
    (変数に辞書型や辞書型が格納された配列を指定可能)
    {{会議室選択}}

    参加者
    Office 365で設定したユーザー識別用メールアドレスまたは変数を入力
    (変数に辞書型や辞書型が格納された配列を指定可能)



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

  8. 動作テストを行う場合は、”テスト” ボタンをクリックしてください。
    Office365の連携先認証の手順は、チャットボット作成(Ⅳ.Office 365連携編) STEP4:(DialogPlay)Office 365のサービスをつかう の手順7をご覧ください。

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

  手順

  1. 左メニューの『チャットボット一覧』を選択し、一覧からシナリオを登録したいチャットボットをクリックしてください。

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

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

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

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

  6. 『発言内容』に以下の例を参考に入力してください。

    [入力例]
    『発言内容』 会議室の空き状況をお調べします。

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

    [入力例]
    No ヒアリング項目名 タイプ   項目ごとの質問文
    検索日時 時間表現 @datetime_period 検索期間を教えてください。(例:「明日の午後」「明後日の14時から17時」)
  8. 『シナリオの流れ』エリアの中にあるリストから『選択肢確認』アクションを追加し、『選択肢確認』に以下の例を参考に、各項目を入力してください。

    [入力例]
    『タイトル』 会議時間
    『質問内容』 会議室の所要時間を選択してください。

    『選択肢』
    表示名
    30分 30
    1時間 60
    1時間30分 90
    2時間 120
  9. 『シナリオの流れ』エリアの中にあるリストから『選択肢確認』アクションを追加し、『選択肢確認』に以下の例を参考に、各項目を入力してください。

    [入力例]
    『タイトル』 会議室選択
    『質問内容』 会議室を選択してください。

    『選択肢』
    表示名
    会議室名 Office 365に登録されている会議室のアドレス
  10. 『シナリオの流れ』エリアの中にあるリストから『外部システム連携』アクションを追加し、『連携先』にSTEP3で作成した「空き会議日時の検索」を選択してください。

  11. 『シナリオの流れ』エリアの中にあるリストから『シナリオの強制終了』アクションを追加し、『シナリオの強制終了』に以下の例を参考に入力してください。
    ここでは、外部システム連携「空き会議日時の検索」でデータを取得した際、空き会議室が無かった場合に、シナリオを終了する処理を追加します。

    [入力例]
    『発言内容』 会議室は空いておりませんでした。

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

    [条件入力例]
    「会議時間リスト.size」= 「0」

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

    [入力例]
    『発言内容』 会議室の空き情報を表示します。

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

    [入力例]
    『リスト変数名』 会議時間リスト

    『項目毎の表示内容』
    {{meetingTimeSlot.start.dateTime.month}}/{{meetingTimeSlot.start.dateTime.day}} {{meetingTimeSlot.start.dateTime.time}} - {{meetingTimeSlot.end.dateTime.time}}
    

    『項目毎の表示内容』は、外部連携取得データのパラメーターを記述しています。

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

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

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

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

  手順

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

[シミュレーター画面]
Last updated on 2019/07/01.