カテゴリ「Power Automate」の37件の投稿 Feed

2021年2月16日 (火)

Power Virtual Agents for Teams を使って手軽にチャットボットが作れることは下記で説明しました。

Microsoft Teams 用 Power Virtual Agents を使ったチャットボット作成を試そう - SharePoint Technical Notes (weblogs.jp)

このチャットボット開発ですが、基本的には質問に対する回答をフローロジック内に用意していかなくてはいけません。しかし、すでに FAQ などの情報を持っているとすると、これをロジック内に書き写していき、条件分岐をしていく作業は途方もないものです。

そんな時に組み合わせて利用したいのが QnA Maker です。Azure Cognitive Services が提供するサービスの一つであり、ボット作成を支援するものです。

QnA Maker

QnA Maker についてはネット上に多くの情報が見つかるので、ご存じなければ検索してみましょう。この QnA Maker ではあらかじめ質問と回答のペアを複数用意しておきます。これは手動で作成してもいいし、Excel や PDF, Word, Tsv 形式のファイルなどから読み込ませることができます。

下記の図は SharePoint に関する質問を書き溜めている QnA Maker 上に構築しているナレッジベースです。左側が質問、右が回答です。

QAMaker - KB

ボットはこの内容を一問一答で返すわけではなく、話し言葉で問いかけられると、AIによりその内容を推測し適切な回答を見つけ出してくれます。Power Virtual Agents はこのナレッジベースと組み合わせて、ユーザーからの質問に回答することもできるようになっています。

実際に実験した結果が次のビデオです。音声はありません。右が QnA Maker の KB (ナレッジベース) であり、左がチャットボットです。一問一答ではなく、自然に会話しながら内容を推測し、回答を提示していくれていることがわかると思います。

Power Virtual Agents から QnA Maker を呼び出して利用する手順は次の資料が参考になります。

チュートリアル:Power Virtual Agents との統合 - QnA Maker - Azure Cognitive Services | Microsoft Docs

だだし、この内容が Power Virtual Agents 用であり for Teams にはなっていないので少し読み替える部分があります。たとえば、QnA Maker の呼び出しはシステム フォールバックで設定するのですが、これは次のように設定します。

2021-02-16_1-17-42

また作成する Power Automate のフローは「Power Virtual Agents Flow Template」で作成すればよいです。このあたりの説明も少し違っています。

2021-02-16_1-27-25

以上のポイントに注意して、手順に従って QnA Maker と連携させてみてください!

 

 

2020年秋に Dataverse for Teams が登場したおかげでユーザーが手軽にチャットボットを作成できる Power Virtual Agents for Teams が利用できるようになりました。Teams 内で利用する分には追加のコストがかからないのが魅力です。

さて、この Power Virtual Agents  for Teams を手始めに利用してみようと思う方は、下記リンク先にあるクイックスタートガイドがお勧めです。

クイックスタート: Microsoft Teams でボットを作成して展開する - Power Virtual Agents | Microsoft Docs

この手順に従ってチャットボットを作成すると「休暇を取得したい」「休日を知りたい」といった質問にボットが答えてくれます。

実際に構築してみた内容をビデオにしています。音声はありませんが、ボットの会話部分を見ていただくと何ができるのかをイメージできると思います。

単に質問に答えるように構成するだけではなく、Power Automate と組み合わせることで、Teams 経由で担当者に連絡をつなぐように構成することもできます。

挙動がある程度わかったら、ぜひボット開発にチャレンジしてみてください! 

2020年12月17日 (木)

SharePoint のドキュメント ライブラリでは任意のプロパティを持たせることができます。これにより、ファイル名からだけだと内容が推測できない場合も、プロパティを見ればおよそ内容が把握できるようになります。このプロパティの値は、ファイルをアップロードするたびにユーザーがつど設定する必要があり、なかなか面倒です。

2020-12-17_23-52-15

たとえば、 Excel のファイルを例に、SharePoint のライブラリに Excel ファイルがアップロードされたら、自動的にファイルの内容を読み取って必要な情報をプロパティに設定してもらえるようにしたい。

そこで登場するのが Office ScriptsPower Automate です。

なお、この記事は Office 365 Advent Calendar 2020 に参加しています。

Office 365 Advent Calendar 2020

Office Scripts は Web用の Excel (Excel Online) 上で利用できるスクリプトであり、TypeScript で記述します。これと Power Automate を組み合わせると実に様々な処理が可能です。とはいえ、Office Scripts を利用するには Office 365 E3 または E5 のライセンスが必要であり、テナントレベルで機能がオンになっている必要があります。既定でオンになっていますが、テナント管理者のさじ加減で設定がオフにされていることもあるので、組織内で確認してください。また Office Scripts は 2020 年12月、現在まだプレビューの状況です。

実際の動作を確認するためにデモンストレーションと構築方法をビデオで公開しました。詳しくは次のビデオ (YouTube) をご参照ください。

ビデオの補足情報

SharePoint サイト側では任意のドキュメント ライブラリを用意します。このデモでは次の列を4つ追加しています。

  • 見積金額…通貨
  • 組織名…1行テキスト
  • 部署名…1行テキスト
  • 担当者名…1行テキスト

Excel は次のサンプルファイルを用意しています。類似したファイルを用意して試すとよいでしょう。

2020-12-18_0-00-13

Office Scripts は次のようなスクリプトを用意しています。

2020-12-18_0-03-06

これを次のような Power Automate のフローで呼び出します。

2020-12-18_0-11-29

 

2020年9月16日 (水)

先日の勉強会の資料と録画が公開されているのでここに共有しておきます。

まずは私が登壇した内容は下記の通りです。

タイトル : Excel と SharePoint を組み合わせローン返済アプリケーションを作成する (Power Apps + Power Automate)

概要 : Microsoft Graph API を使って、SharePoint に格納している Excel ファイルを高度な計算を行うためのリソースとして利用し、Power Apps と Power Automate を使ってローン返済アプリを作ってみます。もともとオンプレミスのSharePoint のころに Excel Web Services や InfoPath を使ってデモをしていた内容を、Power Platform を使って置き換えてみるとどうなるだろうという実験でもあります。
マニアックですが、実務的に応用できる内容にしています。ご興味のある方は是非どうぞ!!

YouTube

スライド

 
その他の当日の勉強会の録画ビデオ
今回の勉強会も、他のセッションも含め魅力的なものばかりでした。
一連の内容がYouTube に公開されていますので、そちらもどうぞ。
 

【宣伝】

オフィスアイ株式会社では Power Automate を利用する方に対して、一歩ステップアップするためのオリジナルの研修コースをご用意しています。

⇒ 業務効率を向上させる Power Automate 実践演習

 

2020年9月15日 (火)

Power Automate に「Teams 会議の作成(プレビュー)」アクションが追加されました。

Teams会議の作成

従来でも Power Automate を使った Teams 会議の作成は Microsoft Graph API を使えばできたのですが、プレミアムコネクターが必要なのと、Graph APIの管理自体のハードルがあり手軽とは呼べませんでした。しかし、この機能の追加によって、いろいろな場面で利用できそうです。

SharePoint の予定表リスト(イベント リスト)

SharePoint には組織内の出来事を登録しておくための予定表リスト(徐々にイベント リストという呼び名に変わってきていますが)があります。このリストはモダンサイトでは「イベント」Webパーツを追加し、そこからアクセスすることでモダンUIとして利用できるようになっています。

このリストアイテムには次のようにオンライン会議のURLを追加する場所があるのですが、これは予め何かしらのシステムで作成した会議のリンクを追加するところであり、自動的に Teams 会議を作成してくれるわけではありません。

Teams会議の作成-Setup-01

また下記のようにユーザーを追加する場所がありますが、追加したユーザーの連絡先はホバーカード上に出てくるものの、会議が自動作成されない以上、わざわざここに出席者を入れることはしないことの方が多いでしょう。

Teams会議の作成-Setup-08

そこで、Power Automate を使って会議を自動生成してみることにしました。前から案はあったのですが前述の通りGraphを使うところの手軽でないところが難点でした。

さて、作り方です。作成したフロー全体図は次の通り。

Teams会議の作成-Setup-02

まずSharePointの「項目が作成されたとき」トリガーから始めます。このとき、予定表リストはリスト名の候補に出てこないため手動で登録する必要があります。私の使っているリスト名は「イベント」です。

Teams会議の作成-Setup-03

次に開始時間と終了時間を格納する文字列変数を用意します。

Teams会議の作成-Setup-04

値は次のような式を書き、UTC時間を日本時間に変換しておきます。

convertFromUtc(triggerOutputs()?['body/EventDate'],'Tokyo Standard Time',
'yyyy-MM-ddTHH:mm:00')

終了時間の場合は次の式です。

convertFromUtc(triggerOutputs()?['body/EndDate'],'Tokyo Standard Time',
'yyyy-MM-ddTHH:mm:00')

次に参加者のメールアドレスを格納するための配列変数を用意します。

Teams会議の作成-Setup-05

これを Apply to each でトリガーから取得した出席者を取り出し、一つずつ格納していきます。

Teams会議の作成-Setup-06

次に「データ操作 - 参加」アクションを使って、配列内のデータをセミコロンで文字列連結します。

Teams会議の作成-Setup-10

次にいよいよ「Teams 会議の作成」アクションの登場です。件名やメッセージは SharePoint のトリガーから取得したものを設定します。

timeZone は Tokyo Standard Time。とはいえ、このタイムゾーンに従って、UTC時間から開始時刻や終了時刻を日付を変換してくれるわけではないので、あらかじめ日本時間を取得しておく必要があります。そのためフロー最初のところでタイムゾーンを変換した日時を編集に格納しました。ちなみに、SharePointから取得する日付データというのは、基本的にUTCです。

Teams会議の作成-Setup-07

最後はSharePointコネクターの「項目の更新」アクションを追加し、SharePoint 予定表リストのアイテムに Teams 会議への参加リンクを追加するだけで完了です。

会議のリンクを追加する項目は「ワークスペースのURL」であり、ここに「Teams会議の作成」アクションの「joinUrl」追加します。

Teams会議の作成-Setup-09

以上で完成!

動作イメージは次の通りです。

 

【宣伝】

弊社では Power Automate の中級向けのコースとして「業務効率を向上させる Power Automate 実践演習(OH-O365-205)」を定期開催しています。

またMicrosoft 365 のSharePoint を基礎からきっちり学びたい方は、各種コースを取り揃えています。詳しくは下記のリンク先までどうぞ。

Microsoft 365 関連コース一覧