結構前から追加されていたこのトリガーたち、本来の有用性に気付かぬまま今に至っていました。
From the compose box, For a selected message はいずれも、Adaptive cardを利用して Teams のチャットスペース上でフローを任意のタイミングで実行できるトリガーです。
Teamsに追加された "Workflows" というアプリでもテンプレートの中で "From the compose box"のトリガーが使われています。
今回は短い投稿ですが、これらのトリガーの便利ポイントを紹介していきます。
何が便利なの?
新しいトリガーのすごいところは トリガー実行後に任意のAdaptive cardを応答として返せるところです。
例えば、フローの実行完了をお知らするような場合、これまでは トリガー→フロー実行→完了をTeamsのメッセージなどでお知らせ としていました。
新しいトリガーを使うと トリガー → フロー実行 (ユーザーは待機) → 完了をダイアログで表示 とでき、ユーザーに対して実行結果を同じ場所で伝えることができます。
便利ですよね!
後で別の場所に通知すると、ユーザーが自分の取ったアクションと通知のメッセージを結びつける必要があって、後からメッセージみると何をした結果なのかわからなくなったりします。
新しいトリガーではこのあたりが解消されます。
どう設定するの?
トリガーの設定自体は以前までと同じです。 "From the compose box (V2)" の場合は、ユーザーの入力を受ける Adaptive card を定義します。
ユーザーに応答を返す部分ですが、これには "Respond in Teams task module" のアクションを使います。
ここでは、応答としてユーザーに表示するAdaptive Cardを指定しています。
上のGIFでみていただいたPlannerタスクの追加フローでは以下のようなフローになっています。
トリガーしてPlannerでタスクを作って、最後にそのURLなどを返しています。
このようにフロー実行の結果をユーザーに即座に返してあげることが、新しいトリガー + "Respond in ~" のアクションの組み合わせで可能になるわけです。
注意事項など
この "Respond in ~” のアクションは、フローのどの位置にも挿入できます。 『トリガー直後に応答を返してあとは裏で処理』でもいいですし、適当なタイミングで応答を返しても、あるいは完了後に結果を返しても良いです。
ただし、応答まではタイムアウトがあるので注意してください。実測で15秒以内に応答を返す必要があります。 タイムアウトになった場合、Teamsの画面上ではエラーが出ますが、フロー自体はそのまま走ります。
あまり長くなるフローの場合には先に応答を返しておくようにしましょう。
以上です!