Power Automate : Microsoft Teams のチャネルの特定スレッドに返信(罠とアドバイス)

※本記事は Power Automate の特定のアクションにフォーカスをしていますが、罠とアドバイスはある程度汎用的かと思います。

Power Automate は非常に便利で僕も色々なところで愛用しています。自分や自分の周囲をちょっと幸せにしたい場合はイイですね。特に初心者にとってはこの「ちょっと」が大切だと思っています。うまく動かなくても「ま、いっか」程度、動いていたものが急に動かなくなっても「ま、いっか」程度。でも動けばちょっと幸せになれる。それが毎日の作業であれば、1日のうちのちょっとでも、それが積み重なれば大きいわけです。小さく成功すればモチベーションも上がり、少しずつ幸せが増えていきます。僕は色々なところで言ってます。「 Power Platform の中でも Power Automate が、スモールスタートで小さな成功体験を得やすい。」と(自論)。逆に初心者の方がいきなり難易度の高い要件で大人数が利用する仕組みにチャレンジすると挫折したり嫌な想い出になりかねないです。

なんでこういう事を言うのかというと、割と動いていたフローが急に動かなくなる事もあるし、こないだまで使っていたアクションが急になくなったりもよくあるので、高いスキルと知識と最新情報に敏感にアンテナ張っている人であれば即対応できるけど、そうじゃないと修正に手間取ったり時間を取られてしまう事もあるからです。

さて、 Power Automate には Microsoft Teams のコネクタがありアクションもたくさんあります。これが久しぶりにチェックするとゴソっと新しいアクションが追加されていたり、以前あったアクションが消えていたり、バージョンアップされていたりします。バージョンアップに関してはそのアクションがバージョンアップされるわけじゃなく、「〇〇(v1)」と「〇〇(v2)」という風に古いバージョンが残りつつ、新しいバージョンが追加されるイメージです。そして古いバージョンは非推奨となり、いつの間に消えます。で、頻繁に Power Autoamte を触っていないとそれになかなか気が付かない。ただ、すでに古くてアクションの一覧にないアクションも、既存フロー内にすでに利用されているアクションがダメになるというわけでもなく、だからフロー自体は問題なく動いている場合も多く、だから気が付かないんですよね。おそらくメンテナンスの理想は、アクションがバージョンアップされたら対象となるアクションを非推奨の古いバージョンから推奨されたバージョンに置き換えるのが良いとは思いますが、そんなにマメにメンテできませんよね。そこが悩ましいところではあります。

その Microsoft Teams の数あるアクションの中で、チームのチャネルの特定スレッドに返信できるアクションが存在します。数ヶ月前だか1年前くらいに作ったとあるフローで利用していたのですが、

▼「メッセージへの返信の投稿 (V2)」アクション

これを利用していました。メッセージIDを指定すると、そのスレッドに返信されるという仕組みです。

■以前あったアクションがない?

で、今日、似たようなフローを作る事になって、このアクションを探したんだけど…見つからない!!あれ?と思って、 Microsoft Docs の該当ページを見ます。

Microsoft Teams – コネクタのリファレンス – Microsoft Docs
https://docs.microsoft.com/ja-jp/connectors/teams/

ココも今後頻繁に更新されると思うので、スクショを撮ると、

▼ゴソっと「非推奨」が…

この中に「メッセージへの返信の投稿 (V2)」アクションもありましたね。つまりバージョンアップされるわけでもなくV2止まりで、すでに非推奨になっているというわけです。え~!って思うわけですよ。こういう些細そうな点も特に初心者が挫折しやすいポイントですが、すでに過去に2度挫折した僕からワンポイントアドバイス。

「消えたアクションも余程の事がない限りは同じ結果が期待できる後継のアクションが追加されているハズなので探してみよう!」

あれ?長いアドバイスになっちゃったけど、つまり探してみようって事です。探してみると、

▼それっぽいアクションがありました!

「チャネル内のメッセージで応答します」というアクション。日本語が怪しいですが、チャネル内のメッセージというのはつまりスレッドで、応答するって事は返信かと思います。このように消えたアクションも後継のアクションはある可能性があるので、めげずに探してみましょう。

さて、それではこの「チャネル内のメッセージで応答します」アクションを使っていきたいと思います。

■なんか正しく動かなくない?

▼「チャネル内のメッセージで応答します」

このアクションを配置して、「投稿先」を展開させると「チャネル」が選べるので選びます。すると、

▼え?エラー?

これどういう事?選択肢は1つしかないのに。上の投稿者ってところも2択なのでアレコレ設定を変えて試すもエラーが外れません。環境の問題かと思い、3つのテナントで試すも全て同じエラー。これはアクションが壊れているのかな?明日試せば復活するのかな?なんて思いながら困ってとりあえず Twitter に投稿してみたところ、数分で複数の方からアドバイスいただけました!本当に助かります。すでに同じ状況に陥っている人も多々いるらしく、 Twitter で検索すれば答えがありました。ここでワンポイントアドバイス。

「困った時はWeb上で検索してもイイけど、 Twitter 上で検索した方が答えがある可能性も!」

Twitter で困りごとをツイートしても普段アウトプットをしていない人が回答をもらえるケースは低くなります。 Twitter で毎日ツイートしている人なんてなかなか限られていて、おそらく読者の多くの方が Twitter は閲覧のみ、ほとんど見ない、登録すらしていない、が大半かと推測します。なので困りごとをツイートして回答を期待するのは難しい場合もあります。しかし検索はできます。Web上で検索しても古い情報しか落ちていない場合もあるので、意外と Twitter で検索した方が鮮度が高かったりもします。もちろん玉石混交な情報なので要注意の自己責任ですが。

さて、 Twitter で教えてもらった方法はというと、

▼なんと「+カスタム項目の追加」をクリックして、

もしくはこのUIじゃない場合は、

▼「カスタム値の入力」をクリックして、

▼投稿先に手入力で「 channel 」と入力すると、

▼エラーが出ずに他の項目を入力できるようになった

え~~~!!!ですよね。「チャネル」という日本語の選択肢を選ぶとエラーが出て、カスタム値に「 channel 」と英語を入力すると正しく動作するって…。これは完全に罠ですよ。

さて、以下は(検証が面倒なので)僕の憶測ですが、おそらく言語設定が日本語なのが原因かと思います。うまくローカライズができていなくて機能に支障が出ているパターン。これ僕の知る限り Microsoft 365 でもこのパターンで言語設定が日本語だと変な挙動をする事ありますからね。だから言語設定が英語であれば選択肢に[ Channel ]があって、選択するとエラーにならないのではと思います(くどいけど面倒なので確認しません(笑))。言語設定が日本語であっても、正常であれば選択肢の「チャネル」を選べば内部的には「 channel 」で設定されるところを、ローカライズがおかしくて設定値にも「チャネル」で登録され、だからそんな値は無効だよってエラーになるのではと思います。なので手入力で channel を入力すればOKと。

と、これは明らかにおかしいので Microsoft に直してもらうべきところだし、そのうち修正されて「チャネル」を選択してもエラーが出なくなるとは思います。なのでこの記事もそれまでの一過性の記事なのかとは思いますが、このようなエラーが出た時に、ダメ元で試してみたらイイかも!という知見は貯まったかと思います。つまり最後のワンポイントアドバイス。

「選択肢から選んでエラーになった時は、言語設定を英語に切り替えて試すか、その選択肢の日本語の英単語を調べて、カスタム値で入力してみる事を試みてみよう。」

ですかね。たぶん日本語の英単語を調べても正しい値に合致するかわからないので、言語設定を英語に切り替えた方が良いかもです。

と、僕も今回まさかそんな罠があってそんな対処法があるなんて一人じゃ絶対解決できませんでした。しかし、一度経験したら応用できそうなので、別のところでエラーが出てももしかしたらそういう考え方から対処法を見出す事ができるかもしれません。

そして困った時にすぐに手を差し伸べてくれる界隈の仲間達には日々感謝です。