Power AutomateでTeamsメッセージの内容をsplit関数で処理する方法と、エラー対策【Power Automate】【Teams】

Power Automateを利用すると、Teamsチャットメッセージの内容を取り出し、Excelや他のアプリケーションに書き込む自動化を実行できますが、文字列操作やフォーマット変換時にはさまざまなエラーが発生しがちです。以下に、実際のエラーやその対策を具体的にまとめます。


1. Teamsのメッセージから本文を取得する方法

手順:
Power Automateのフローで「チャンネルに新しいメッセージが追加されたとき」をトリガーとして選択し、Teamsの本文を取得します。本文のプロパティ(content)にアクセスして、split関数を使ってメッセージ内容を分割できます。

エラーの発生例と対策:

  • エラー: 'The template language expression 'split(triggerOutputs()?['body']['content'], '、')' cannot be evaluated because property 'content' doesn't exist'
    • 原因: triggerOutputs()?['body']['content']が空の場合、またはメッセージ本文が存在しない場合に発生。
    • 対策: 本文が存在するか確認してからsplit関数を使用するようにします。具体的には、条件分岐を使ってcontentが存在する場合のみ処理を行います。
split(triggerOutputs()?['body']['content'] ?? '', '、')

2. テキストの正規化とsplitの処理

手順:
本文のテキストに全角と半角が混在する場合、正規化してからsplitを行うと処理が安定します。特に、日付や名前、ステータスの情報をスムーズに取得するには、この工程が有効です。

エラーの発生例と対策:

  • エラー: 'Cannot read properties of undefined (reading 'split')'
    • 原因: 空の値や形式が一致しない内容がsplit関数で処理されると発生。
    • 対策: 事前にデータの存在確認を行い、split処理の対象が存在する場合にのみ処理を実行します。
let normalizedText = triggerOutputs()?['body']['content']?.normalize('NFKC') ?? '';
let date = split(normalizedText, '、')[0];

3. InvalidTemplateエラーの対処方法

Power AutomateでフォームやTeamsメッセージからデータを取得する際、テンプレートが正しく設定されていないとエラーが発生します。

  • エラー: The template validation failed: 'The action(s) 'XXXX' referenced by 'inputs' are not defined in the template.'
    • 原因: 指定したアクション名や変数名がフロー内で正しく設定されていない場合に発生します。
    • 対策: フロー内の変数名やアクション名が完全に一致しているか確認し、必要に応じて修正します。特に変数名を修正した場合は、他のアクションにも反映させる必要があります。

4. Teamsのメッセージ内容の条件分岐設定

チャットの内容に特定のキーワードが含まれているかどうかで分岐処理を行いたい場合、条件アクションを使います。

エラーの発生例と対策:

  • エラー: 特定のキーワードを条件にしてもフローが意図通りに動作しない
    • 原因: メッセージ本文がHTMLフォーマットの場合や、キーワードが含まれているかの確認方法が不十分な場合に起きます。
    • 対策: 本文のHTMLタグを削除する関数(replace)を使い、キーワードが含まれているか確認します。
contains(replace(triggerOutputs()?['body']['content'], '<p>', ''), 'エラー')

5. Status Code HTTPエラーの確認と処理

Power Automateでデータ連携を行う際、特定のエラーコードが返る場合があります。特に、ステータスコードの確認はトラブルシューティングに有効です。

エラーの発生例と対策:

  • エラー: Status Code 404Status Code 500 の発生
    • 原因: APIエンドポイントの不備やサーバーエラーなどにより発生。
    • 対策: フローにエラーハンドリングを追加し、失敗時に通知するなどの処理を行います。

4. まとめ

Power Automateを用いてTeamsのチャットやフォームからデータを取得し、処理を行う際は、事前にデータの存在や形式を確認することが重要です。各種のエラー対策を参考にして、自動化フローの安定性を向上させてください。

参考になれば、幸いです。

ここまで読んでいただきありがとうございました。

目次

スクールの紹介

最後に宣伝をさせてください。

技術で未来を切り拓く―あなたの夢を現実にするプログラミングスクール

Webデザインやプログラミングで成功を目指している方々にとって、このオンラインスクールは夢を叶えるための最適な場所です。皆さんのキャリアを次の段階へと引き上げるためにデザインされたこのスクールは、一人ひとりの成功を心から願い、それを実現するための全てを提供しています。ここでは、このスクールの魅力について詳しくご紹介します。

◆圧倒的な費用対効果
このオンラインプログラミングスクールは、Web系教育において最高の費用対効果を提供しています。多くの高額スクールが存在する中で、ここではリーズナブルな価格で、質の高い教材、無限のサポート、そして実際に市場で求められるスキルの習得機会を提供しています。

◆現役フリーランスの講師陣
講師たちは全員、現役のフリーランスプロフェッショナルです。市場で活躍している講師から直接、最新のトレンドや実践的なスキルを学べるのは、このスクールの大きな特徴です。

◆柔軟な学習コース
固定のコースがなく、学習者の興味やニーズに応じて自由に学習できます。進路変更も自由で、最低契約期間は1ヶ月という柔軟性を持っています。自分のペースで、自分に合った学習が可能です。

◆無制限の添削とサポート
理解できるまで、そして満足するまで、無制限に添削と質問への回答を提供しています。進路相談や技術面以外の相談にも対応しており、全面的にサポートします。

◆社長から学べる貴重な機会
デザイナー、プログラマー、ディレクター、マーケターとして豊富な経験を持つ社長から直接学べるのも、このスクールの特別な点です。他のスクールでは得られない、貴重な機会です。

◆実績作りへの徹底的なサポート
就職、転職、フリーランスとして成功するためには、高品質な実績が必要です。生徒の作品レベルを最大限に高め、市場で求められる実績を作り上げることに力を入れています。案件を取得できない生徒には、直接案件を提供することもあります。

◆メッセージからの約束
高額な授業料を支払わせて結果を出せないスクールとは違い、物理的なサポートは提供できないかもしれませんが、継続的な努力を通じて最高の結果を出せるようにサポートします。一緒に不正なスクールを撲滅し、あなたの夢を実現しましょう。

このプログラミングスクールは、Webデザインやプログラミングでの成功を目指す方々に必要な全てを備えています。今こそ、このコミュニティに参加し、あなたのキャリアを加速させる時です。

詳しくはこちら↓

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次