Teams にお知らせを自動で流す仕事は、Power Automate(パワーオートメイト)でいちばん作りやすいものの一つです。問い合わせが来たら営業のチャネルに出す、毎朝その日の現場をまとめて工事のチャネルに出す、外のシステムで発注が入ったら知らせる。どれもメールで送るより早く目に入り、誰がもう対応したかもスレッドの返信で分かります。この記事では、社員15名の「サンプル工務店」を例に、SharePoint リスト「問い合わせ台帳」に新しい問い合わせが入ったら営業チャネルに担当者のメンション付きで投稿するフローと、毎朝8時に今日の現場一覧を工事チームに投稿するフローを作ります。投稿者を Flow ボットにするかユーザーにするかの決め方、アダプティブ カードで見やすくする方法、返事を待つカード、Teams の中の「ワークフロー」アプリとの関係、そして2026年5月に使えなくなった Office 365 コネクタ(受信 Webhook)の代わりの作り方も書きます。使う Microsoft Teams コネクタは標準のコネクタで、Microsoft 365 Business Standard のライセンスで使えます。
この記事の内容
先に決めること
作り始める前に、次の3つを決めておくと手が止まりません。
1. どこに出すか
チャネルに出すか、チャットに出すかを決めます。チームの全員が見る知らせ(新しい問い合わせ、今日の現場)はチャネル、特定の人だけに届けたい知らせ(自分の担当案件の期限)はチャットが向いています。チャネルに出すと、返信で「対応します」と書けば他の人にも対応済みだと伝わります。
2. 誰の名前で出すか
投稿者は「Flow ボット」か「ユーザー」のどちらかです。違いは次の章でまとめますが、通知は Flow ボット、チームのタグでメンションしたいときはユーザー、と覚えておけば迷いません。
3. 文字だけか、カードか
件名と数行の本文で足りるならメッセージ、項目を並べて見せたい・ボタンを付けたいならアダプティブ カードにします。最初はメッセージで作り、読みにくければカードに替える順番で十分です。
Teams に投稿するアクションの一覧
Microsoft Teams コネクタで投稿に使うアクションは、主に次のとおりです。名前は2026年10月時点のコネクタのリファレンスに合わせています。
| アクション | 何をするか | 使う場面 |
|---|---|---|
| チャットまたはチャネルでメッセージを投稿する | 文字のメッセージを投稿する | 通知のほとんど |
| チャットまたはチャネルでカードを投稿する | アダプティブ カードを投稿する | 項目を並べて見せたい通知 |
| アダプティブ カードをポストして応答を待つ | カードを投稿し、誰かが答えるまでフローを止めて待つ | 確認・選択をしてもらう |
| チャネルでメッセージを返信する | 既存の投稿のスレッドに返信する | 続報を同じスレッドにまとめる |
| チャネルでアダプティブ カードで返信する | 既存の投稿のスレッドにカードで返信する | 続報をカードで出す |
| チャットまたはチャネルでアダプティブ カードを更新する | 投稿済みのカードを書き換える | 状態が変わったら表示を変える |
| ユーザーの@mention トークンを取得する | 人をメンションするための文字列を作る | 担当者に気づかせたい |
| チーム タグの@mention トークンを取得する | チームのタグをメンションするための文字列を作る | 「営業」タグの全員に知らせたい |
| 自分にメッセージを投稿する | フローの作成者本人に送る | テスト・自分用の通知 |
投稿のアクションには共通して「次のように投稿する」と「投稿」の2つの欄があります。「次のように投稿する」で投稿者を、「投稿」で出す場所を選びます。チャネルに出すときは「投稿」の選択肢からチャネルに出すものを選び、続けて出てくるチームとチャネルを選びます。チャットに出すときは「投稿」でチャットの種類を選び、送り先を指定します。

Flow ボットとユーザー、投稿者は誰になるか
「次のように投稿する」で選ぶ投稿者によって、Teams での見え方とできることが変わります。
| Flow ボット | ユーザー | |
|---|---|---|
| 投稿者 | Flow ボット | フローの Teams 接続に使った人 |
| 人の発言と区別できるか | できる | できない(本人が書いたように見える) |
| ユーザーのメンション | できる | できる |
| チーム タグのメンション | できない | できる |
| 回数の上限(接続ごと) | Get 以外の要求が300秒に25回 | Get 以外の要求が300秒に300回 |
| 使える環境 | 商用のテナントのみ | 制限なし |
サンプル工務店では、通知は Flow ボットで出しています。事務Bが作ったフローを「ユーザー」で出すと、Teams では事務B本人が書いたように見え、営業から事務Bに「この問い合わせの件ですが」と返信が来てしまうからです。Flow ボットなら、自動の知らせだとひと目で分かります。
ただし Flow ボットには回数の上限があります。リファレンスでは、Flow ボットとしての投稿は接続ごとに300秒で25回までです。「それぞれに適用する」の中で1件ずつ投稿するフローは、件数が多い日に上限を超えて遅くなります。何十件もある一覧は、1件ずつ投稿せず、表にまとめて1回で投稿します。
チャネルにメンション付きで投稿する
問い合わせを営業チャネルに出すとき、担当の営業Aにメンションを付けると、営業Aの通知に赤いマークが付き、見落としが減ります。
ユーザーをメンションする
- 投稿のアクションの前に「ユーザーの@mention トークンを取得する」を足す
- 「User」の欄に、メンションしたい人のメール アドレス(ユーザー プリンシパル名)を入れる。問い合わせ台帳の「担当者」列(ユーザーの列)のメールを動的コンテンツから選べば、担当者ごとに変わる
- 「チャットまたはチャネルでメッセージを投稿する」のメッセージの欄(リファレンスでの名前は「メッセージの投稿要求」)に、動的コンテンツの「@メンション」を置く
メッセージ欄の中で「@メンション」は好きな位置に置けます。「@メンション 新しい問い合わせが入りました」のように先頭に置くと、通知の一覧でも誰宛てかが分かります。

チームのタグをメンションする
営業の誰が見てもよい問い合わせは、Teams のチームに「営業」のタグを作り、タグをメンションします。
- Teams の営業チームで、タグ「営業」を作り、営業の全員を入れておく
- 「チーム タグの@mention トークンを取得する」を足し、「チーム」で営業、「タグ」で営業を選ぶ
- 投稿のアクションの「次のように投稿する」を「ユーザー」にして、メッセージ欄に「@mention タグ」を置く
タグのメンションは、リファレンスで「チャネルでユーザーとして送信するメッセージ」に入れるものとされています。Flow ボットのままではタグに通知が飛ばないので、タグを使うフローだけはユーザーで出します。1つのメッセージでメンションできるのは、ユーザー20人とタグ20個までです。
例1:新しい問い合わせを営業チャネルへ
ホームページの問い合わせは、別のフローで info@sample-koumuten.example のメールから問い合わせ台帳に書き写しています。このリストに項目が増えたら、営業チャネルに知らせます。
| 順番 | アクション | 設定 |
|---|---|---|
| 1 | アイテムが作成されたとき(SharePoint) | サイト「工事案件」、リスト「問い合わせ台帳」 |
| 2 | ユーザーの@mention トークンを取得する | User に「担当者 Email」 |
| 3 | チャットまたはチャネルでメッセージを投稿する | 次のように投稿するは Flow ボット、投稿先はチャネル、チーム「営業」、チャネル「一般」 |
メッセージ欄は次のように組みます。かっこの中は動的コンテンツです。
(@メンション) 新しい問い合わせが入りました
件名:(タイトル)
お客様:(顧客名)
受付:(登録日時)
台帳を開く:(アイテムへのリンク)
登録日時はUTC(協定世界時)で入るので、そのまま出すと9時間ずれます。日本時間で出すには、動的コンテンツの代わりに式 formatDateTime(convertFromUtc(triggerOutputs()?['body/Created'], 'Tokyo Standard Time'), 'yyyy/MM/dd HH:mm') を入れます。
担当者が決まっていない問い合わせでは、2のアクションが失敗します。台帳の「担当者」列を必須にするか、2の前に「条件」を置き、担当者が空なら営業タグのメンションに切り替えます。

例2:今日の現場一覧を工事チャネルへ
毎朝8時に、その日に動いている現場を工事チームに流します。現場監督Cは朝礼の前にスマホで確かめられます。スケジュールの組み方そのものは「Power Automateのスケジュール実行:毎朝・毎週・月末に動くフローを作る」で詳しく扱っているので、ここでは投稿の部分を中心に書きます。
| 順番 | アクション | 設定 |
|---|---|---|
| 1 | 繰り返し | 頻度「週」、設定曜日 月〜土、設定時刻 8時0分、タイム ゾーン「(UTC+09:00) 大阪、札幌、東京」 |
| 2 | 作成(今日) | formatDateTime(convertFromUtc(utcNow(), 'Tokyo Standard Time'), 'yyyy-MM-dd') |
| 3 | アイテムを取得 | サイト「工事案件」、リスト「工事案件」、フィルター クエリ StartDate le '@{outputs('今日')}' and EndDate ge '@{outputs('今日')}' |
| 4 | 選択 | 現場名・住所・現場監督の名前だけを抜き出す |
| 5 | HTML テーブルの作成 | 「選択」の結果を表にする |
| 6 | チャットまたはチャネルでメッセージを投稿する | Flow ボット、チャネル、チーム「工事」、チャネル「一般」 |
6のメッセージ欄には「本日の現場」と日付を書き、その下に「HTML テーブルの作成」の出力を置きます。Teams のメッセージは HTML で表を表示できます。1件ずつ投稿せずに表1つにまとめるので、Flow ボットの回数の上限にもかかりません。
今日の現場が0件の日は、表が空になります。3の後に「条件」を置き、length(body('Get_items')) が0なら「本日の現場はありません」と投稿します。式の中の Get_items はアクションの名前なので、「アイテムを取得」の名前を変えたら、その名前(空白は _)に合わせて書き換えます。0件の日も投稿しておくと、フローが止まったのか現場がないのかを読み手が区別できます。

アダプティブ カードで見やすい通知を作る
メッセージでは項目が増えると読みにくくなります。アダプティブ カードは、見出し・項目と値の並び・ボタンを JSON で組み立てる形式です。問い合わせの通知をカードにすると、次のようになります。
「チャットまたはチャネルでカードを投稿する」を使い、投稿者と投稿先は例1と同じにして、カードの欄(リファレンスでの名前は「ポスト カード要求」)に次の JSON を貼ります。
{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.2",
"body": [
{ "type": "TextBlock", "text": "新しい問い合わせ", "weight": "Bolder", "size": "Medium" },
{ "type": "FactSet", "facts": [
{ "title": "件名", "value": "@{triggerOutputs()?['body/Title']}" },
{ "title": "受付", "value": "@{formatDateTime(convertFromUtc(triggerOutputs()?['body/Created'], 'Tokyo Standard Time'), 'yyyy/MM/dd HH:mm')}" }
] }
],
"actions": [
{ "type": "Action.OpenUrl", "title": "台帳を開く", "url": "@{triggerOutputs()?['body/{Link}']}" }
]
}
顧客名のような自分で作った列は、facts に1行足し、値の位置に動的コンテンツを差し込みます。JSON を一から書くのが大変なら、カード デザイナー(adaptivecards.io/designer)で見た目を作ってから、出てきた JSON を貼り付けます。デザイナーは JSON の形が正しいかどうかの確かめにも使えます。
カードでつまずくのは、たいてい JSON の形です。公式のトラブルシューティングでも、引用符が足りない、まっすぐな " ではなく丸い引用符になっている、が最初の原因に挙がっています。Word やメモ帳からコピーすると引用符が丸くなることがあるので、JSON はデザイナーかフローの画面で直接書きます。問い合わせの本文のように、改行や " を含む列をそのまま差し込むと形が崩れることもあります。長い本文はカードに入れず、台帳を開くボタンで読んでもらいます。
画像を入れるときは、インターネットから開ける画像の URL を指定します。カードに画像そのものは埋め込めません。

返事を待つカード
「アダプティブ カードをポストして応答を待つ」を使うと、カードに選択肢やボタンを付け、誰かが答えるまでフローを止めておけます。答えが返ると、その内容を使って次のアクションに進みます。
サンプル工務店では、毎朝の現場一覧とは別に、着工日の前日に現場監督Cへ「明日の着工は予定どおりか」を聞くカードを送っています。
{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.2",
"body": [
{ "type": "TextBlock", "text": "明日の着工の確認", "weight": "Bolder" },
{ "type": "TextBlock", "text": "@{items('Apply_to_each')?['Title']}", "wrap": true },
{ "type": "Input.ChoiceSet", "id": "status", "style": "expanded", "choices": [
{ "title": "予定どおり", "value": "予定どおり" },
{ "title": "遅れる", "value": "遅れる" }
] },
{ "type": "Input.Text", "id": "memo", "placeholder": "遅れる場合の理由", "isMultiline": true }
],
"actions": [ { "type": "Action.Submit", "title": "送信" } ]
}
items('Apply_to_each') は「それぞれに適用する」の中の今の1件を指す式です。ループのカードの名前を変えたら、その名前(空白は _)に合わせて書き換えます。
入力欄に付けた id(ここでは status と memo)が、応答を待つアクションの後で動的コンテンツの名前として出てきます。次の「項目を更新する」で、工事案件リストの「着工確認」列に status、「備考」列に memo を入れれば、返事がそのまま台帳に残ります。
カードには送信後の表示を決める欄があり(Power Automate のドキュメントでは「更新メッセージ」、コネクタのリファレンスでは「メッセージを更新する」)、ここに文を入れておくと、送信後にカードがその文に置き換わります。入れないと、送信してもフォームが元に戻るだけで、押した人には届いたかどうかが分かりません。「ありがとうございました。台帳に記録しました」のように入れておきます。
1枚のカードは一度だけ提出でき、その後の送信は無視されます。チャネルに出したカードも同じなので、誰に答えてほしいかが決まっているならチャットに送ります。

Teams の「ワークフロー」アプリとの関係
Teams の中には「ワークフロー」というアプリがあります。以前は Teams の「Power Automate」アプリと呼ばれていたもので、中身は Power Automate のクラウドフローです。チャネル名の横の「…」から「ワークフロー」を開くと、テンプレートを選んで、Power Automate の画面を開かずにフローを作れます。
| Teams のワークフロー アプリ | Power Automate の画面 | |
|---|---|---|
| 作れるもの | テンプレートから作るフロー | すべてのフロー |
| 保存される環境 | 既定の環境だけ | 環境を選べる |
| 見えるフロー | 既定の環境のフローだけ | 選んだ環境のフロー |
| 細かい直し | 限られる | すべてできる |
ワークフロー アプリで作ったフローは、すべて組織の既定の環境に入ります。Power Automate の画面で既定の環境を選べば同じフローが見えるので、テンプレートで作ってから、Power Automate の画面で条件やメンションを足す、という使い方ができます。
投稿のアクションを動かすには、このワークフロー アプリが Teams 管理センターで「許可」になっている必要があります。会社のポリシーでアプリを止めていると、フローの側で投稿のアクションが失敗します。
Office 365 コネクタ(受信 Webhook)が使えなくなった
外のシステムから Teams に知らせを出す方法として、以前はチャネルに「受信 Webhook」というコネクタを足し、発行された URL に送る方法がよく使われていました。この Office 365 コネクタは2026年5月に廃止され、2026年5月18日から22日にかけて順に止まりました。古い受信 Webhook の URL に送っても、もう投稿されません。
代わりになるのが、ワークフロー アプリで作る Webhook です。サンプル工務店では、発注のシステム(order.example)から「発注が確定した」知らせを工事チャネルに出すのに使っています。
- Teams の工事チームで、一般チャネル名の横の「…」から「ワークフロー」を選ぶ
- テンプレート「Webhook アラートをチャネルに送信」を選ぶ
- フローの名前を付け、投稿するチームとチャネルを確かめて保存する
- 表示された URL をコピーし、order.example の通知先の設定に貼る

Power Automate の画面で一から作るときは、トリガーに「Teams Webhook 要求を受信したとき」を選びます。誰が呼び出せるかは「すべてのユーザー」「テナント内の任意のユーザー」「テナント内の特定のユーザー」から選べます。外のシステムはサインインのトークンを送れないことが多いので、その場合は「すべてのユーザー」にして、URL を知っている人だけが送れる形になります。URL はパスワードと同じ扱いにして、チャットやメールに貼りません。
送る側は、URL に POST で次の形の JSON を送ります。attachments の中にアダプティブ カードを入れます。
{
"type": "message",
"attachments": [
{
"contentType": "application/vnd.microsoft.card.adaptive",
"contentUrl": null,
"content": {
"type": "AdaptiveCard",
"version": "1.2",
"body": [ { "type": "TextBlock", "text": "発注 No.1234 が確定しました" } ]
}
}
]
}
ワークフローの Webhook には、次の決まりがあります。
| 項目 | ワークフローの Webhook |
|---|---|
| カードの形式 | アダプティブ カードに切り替えるのが推奨。MessageCard の形でも内容は表示される |
| MessageCard のボタン(HttpPost) | 動かない。ボタンが要るならアダプティブ カードにする |
| プライベート チャネル | 使える |
| 持ち主 | フローを作った人(チームではない) |
古い受信 Webhook から送っていた JSON が MessageCard の形なら、表示はされてもボタンは動かないので、アダプティブ カードの形に書き直します。持ち主の行も大事です。ワークフローの Webhook は、作った人のフローとして動きます。作った人が退職してアカウントが止まると、Webhook も止まります。作ったらすぐ、Power Automate の画面でそのフローに共同所有者を足しておきます。サンプル工務店では、事務Bが作ったフローに現場監督Cを共同所有者として入れています。
1回に送れるメッセージは28KBまでで、1秒に4回を超えて送ると絞られます。
できないことと、その代わり
| できないこと | 代わりの手 |
|---|---|
| プライベート チャネルに投稿のアクションで出す | 標準チャネルに出すか、ワークフローの Webhook で出す |
| Flow ボットでチーム タグをメンションする | 投稿者を「ユーザー」にする |
| 28KBを超える長いメッセージ | 要点だけ投稿し、詳しい内容は SharePoint のリストやファイルへのリンクで渡す |
| Government Cloud のテナントで Flow ボットを使う | 投稿者を「ユーザー」にする |
| 1つのメッセージで21人以上をメンションする | タグを作ってタグをメンションする |
よく詰まるところ
| 起きること | 原因 | 直し方 |
|---|---|---|
| 投稿のアクションが失敗する | ワークフロー アプリが Teams 管理センターで許可されていない | 管理者に「許可」にしてもらう |
| プライベート チャネルが選べない・失敗する | 投稿のアクションがプライベート チャネルに対応していない | 標準チャネルに出す |
| タグのメンションが通知されない | 投稿者が Flow ボットになっている | 「ユーザー」に替える |
| 「要求エンティティが大きすぎます」で失敗する | メッセージが28KBを超えている | 表の行や本文を減らす |
| 件数が多い日だけ投稿が遅れる | Flow ボットの上限(300秒に25回)にかかっている | 1件ずつではなく表にまとめて1回で投稿する |
| カードを送信すると「もう一度やり直してください」と出る | 名前に「応答を待つ」が入っていないアクションで、送信ボタン付きのカードを出している | 返事が要るカードは「アダプティブ カードをポストして応答を待つ」を使う |
| カードを送信すると「問題が発生しました、もう一度やり直してください」と出る | カードを投稿するアクションと「誰かがアダプティブ カードに応答したとき」トリガーを別のフローで組み合わせている | 1本のフローの中で「アダプティブ カードをポストして応答を待つ」を使う |
| カードが表示されない | JSON の引用符が丸い・足りない | カード デザイナーに貼って形を確かめる |
| 受付時刻が9時間ずれている | SharePoint の日時がUTCのまま | convertFromUtc で日本時間にする |
| 受信 Webhook の通知が来なくなった | Office 365 コネクタが2026年5月に廃止された | ワークフローの Webhook を作り直して URL を差し替える |
| Webhook が急に止まった | 作った人のアカウントが止まった | 共同所有者を足し、フローを有効にし直す |
| ワークフロー アプリに作ったはずのフローが無い | ワークフロー アプリは既定の環境しか見せない | Power Automate の画面で環境を切り替えて探す |
次にやること
Teams への投稿ができたら、知らせの先の仕事まで自動にします。
- 投稿にとどまらず、申請を受けて承認・却下まで回すなら「Teamsの承認アプリとPower Automateの承認フロー:申請から承認までを作る」
- 毎朝の現場一覧のように決まった時刻に動かす組み方は「Power Automateのスケジュール実行:毎朝・毎週・月末に動くフローを作る」
- 届いたメールをきっかけに Teams に流すなら「Power AutomateでOutlookのメールを自動化:添付の保存・振り分け・定型メールの送信」
- フローが動かない、どのトリガーを使うか迷うときは「Power Automateのトリガー:よく使うトリガーの一覧と、動かないときの確かめ方」