Microsoft Teams 連携
Microsoft Teams と Pigeon Workflow を連携すると、ワークフローの結果を Teams のチャンネルに自動投稿できます。逆に、Teams の投稿をきっかけにワークフローを起動することもできます。
組織共有の連携です
この連携は組織単位で登録します。一度登録すれば、同じ組織のメンバーがワークフローから利用できます。 権限管理が有効な組織では、シークレットに「利用」権限を持つメンバーが利用できます。詳しくは権限管理の完全ガイドを参照してください。
Microsoft 365 の管理者承認は不要です
この連携は Teams の Incoming Webhook(受信 Webhook)を使います。 Teams のデータに直接アクセスするわけではないので、Microsoft 365 テナント全体への管理者承認は必要ありません。
連携でできること
- ワークフローの結果を Teams のチャンネルに投稿する(見やすいカード形式にもできます)
- Teams の投稿を Power Automate 経由で受け取り、ワークフローを自動起動する
用意するもの
- Microsoft 365 の職場または学校のアカウント。個人向け(無料)の Teams アカウントでは Webhook を作成できません。
- 投稿先チャンネルの Webhook を作成できる権限。
送信の設定(Teams に投稿する)
まず Teams 側で Webhook を作り、その URL を Pigeon Workflow に登録します。Teams のバージョンによって作り方が 2 通りあります。
方法 1: Workflows を使う(推奨)
チャンネルから Workflows を開く
Teams の左サイドバーで「Teams」を開き、投稿先のチャンネルを右クリックして「Workflows」を選びます。
Webhook を受け取るフローを追加する
「Post to a channel when a webhook request is received」を選び、フロー名を入力して「Add workflow」をクリックします。 表示された URL をコピーします。
「Workflows」が出てこないとき
テナントで Power Automate が無効になっている可能性があります。Microsoft 365 の管理者に有効化を依頼してください。
方法 2: Connectors を使う(従来の Teams)
チャンネルの Connectors を開く
チャンネル名の横の「…」から「Connectors」を選びます。
Incoming Webhook を作成する
「Incoming Webhook」を検索して「Configure」をクリックし、名前を入力して「Create」を押します。表示された URL をコピーします。
「Connectors」が出てこないとき
Microsoft がこの方式の提供を終了しつつあります。管理者に Workflows の有効化を依頼し、方法 1 をご利用ください。
Pigeon Workflow に登録する
Webhook を追加する
「設定」→「サービス連携」→「Microsoft Teams」を開き、「Webhook追加」をクリックします。Webhook URL(必須)と、必要に応じて表示名・チャンネル名を入力して「追加」をクリックします。 チャンネル名は管理用のラベルで、投稿先には影響しません。
テスト送信で確認する
一覧の「テスト送信」を押すと、Teams のチャンネルにテストメッセージが届きます。 届かない場合は Webhook URL をコピーし直してください。
受信の設定(Teams から起動する)
Teams の投稿をきっかけにワークフローを動かすには、Power Automate から Pigeon Workflow を呼び出します。 連携一覧の「トリガー設定情報」を開くと、必要な 2 つの値が表示されます。
| 値 | Power Automate での使い方 |
|---|---|
| インバウンド Webhook URL | HTTP アクションの送信先 URL に設定します(メソッドは POST)。 |
| 共有シークレット | ヘッダー X-Teams-Webhook-Secret の値に設定します。 |
共有シークレットの設定は必須です
ヘッダー X-Teams-Webhook-Secret が付いていない、または値が一致しないリクエストは受け付けません。 なりすまし防止のための仕組みです。 シークレットは作成直後と再生成直後にしか表示されません。紛失した場合は「再生成」ボタンで作り直し、Power Automate 側の値も新しいものに更新してください。
あわせて、ヘッダーに Content-Type: application/json を指定してください。 最後にワークフローへ Teams トリガーノードを置き、連携と受け取りたいイベントを選びます。
ワークフローで使えるノード
| ノード | できること |
|---|---|
| Teams 送信 | チャンネルにメッセージを投稿します。カードレイアウトで見やすく装飾することもできます。 |
| Teams トリガー | Power Automate からの通知でワークフローを起動します。イベント種別を未指定にすると、すべてのイベントを受け取ります。 |
| Teams メッセージ取得 | 受け取ったメッセージをワークフローの入力として使います。 |
詳しい設定項目はTeams トリガーノードとTeams メッセージ取得ノードを参照してください。
注意点と制限
- 1 つの Webhook URL は 1 つのチャンネルに紐づきます。複数のチャンネルへ投稿する場合は、チャンネルごとに Webhook を追加してください。
- 受信の窓口には 1 分あたりの受付上限があります。大量の投稿をまとめて流すと一部が受け付けられないことがあります。
- Webhook URL と共有シークレットは暗号化して保存され、画面で全体を見ることはできません。
- 連携を「無効」にすると、受信は停止します。