取引先からの連絡を、自分の受信トレイだけでなく Teams のチャンネルでも見られるようにしたい。Microsoft 365 を使う担当者に向けて、Outlook の受信を Teams へ投稿する手順を説明します。
結論
Samurai App のワークフローで Outlook の「New Outlook Message」を起動のきっかけにし、「外部サービス実行」ステップを 2 つ続けます。1 つめでメールを取得し、2 つめで Teams のチャンネルへ投稿します。
- できること: 差出人、宛先、件名の語、添付の有無、重要度で絞ったメールを、決めたチャンネルへ投稿する
- できないこと: 起動の時点で本文を受け取ること。本文は取得のステップで読みます
- できないこと: Microsoft の個人アカウントでの投稿。職場または学校のアカウントが要ります
- できないこと: 共有メールボックスや代理アクセスのフォルダーの監視
できること・できないこと
受信の通知に本文は入りません。 Outlook の起動で確実に届くのはメールの id です。件名などが入った outlook_message は入らないこともあり、公式は無いときに OUTLOOK_GET_MESSAGE で取得するよう案内しています。差し込む項目が届いていないとステップは失敗するので、この記事では最初から取得のステップを置きます。
Gmail と違い、定期的に見に行く遅れはありません。 Outlook の起動は webhook 型で、Gmail のような最大 15 分の遅れはかかりません。何秒以内に届くという数字は公式資料で確認できませんでした。
絞り込みは Outlook の項目ごとの欄です。 Gmail のような検索式ではなく、from_email、to_email(宛先の To のみで Cc と Bcc は対象外)、subject_contains、has_attachments、importance、folder_id に分かれています。folder_id の既定は受信トレイで、共有メールボックスと代理アクセスのフォルダーは指定できません。has_attachments では、本文に埋め込まれた画像も添付に数えられます。
Teams の Incoming Webhook は変わりました。 Office 365 コネクタを使う従来の Incoming Webhook は 2026 年 5 月に廃止され、今は Teams の Workflows アプリで作ります。Workflows の Webhook について、公式資料は対応形式を Adaptive Card と MessageCard としつつ、text だけの送信例も載せています。Samurai App の「通知先へ送る」が送るのは text が中心の形で、実物の Teams では確認していません。そのためこの記事では、Teams のコネクタで投稿する道を使います。
人が読むものだけを流します。 Microsoft は Teams をログの置き場として使うことを利用規約違反としています。全メールを流さず、必ず絞ってください。
用意するもの
- Outlook のアカウントと、Teams に入っている職場または学校の Microsoft アカウント
- Samurai App の「コネクタ」での Outlook と Microsoft Teams の接続
- 投稿先チームの
team_idと、チャンネルのchannel_id - ワークフローにサービス連携を付けられる権限(マネージャー以上)
手順
1. Outlook と Teams を接続する
「コネクタ」の画面で Outlook と Microsoft Teams を「追加」し、それぞれ自分のアカウントで連携します。コネクタの追加は管理者とマネージャーの操作です。組織の設定で連携が止まる場合は、Microsoft 365 の管理者に確認してください。
2. チームとチャンネルの ID を調べる
投稿にはチーム名ではなく ID を渡します。チャットで「Teams のチーム一覧と、〇〇チームのチャンネルの ID を出して」と頼むと調べられます。チャンネルの ID は 19:…@thread.tacv2 の形です。
3. ワークフローを作る
「新規作成」で下書きを作り、「ワークフローの入力」に名前 event、種類「項目の組」を足します。
「つなぐ」の「外部サービス実行」を足して OUTLOOK_GET_MESSAGE を選び、message_id に次を入れます。
{{input.event.id}}
もう 1 つ「外部サービス実行」を足して MICROSOFT_TEAMS_TEAMS_POST_CHANNEL_MESSAGE を選び、値を埋めます。
| 名前 | 値 |
|---|---|
team_id |
手順 2 のチーム ID |
channel_id |
手順 2 のチャンネル ID |
content |
取得したメールの件名と差出人 |
content の欄で「/」を押すと、前のステップの「出力の項目」から件名などを選べます。候補に無ければ、一度実行して「最近の実行」で取得のステップの出力を開き、返ってきた項目の名前を確認してください。
4. 公開する
「保存」し、「バージョン」タブの「バージョン N を公開」を押します。公開するまで、トリガーは実行を始めません。
5. 起動を付けて絞り込む
「トリガー」タブの「サービス連携を追加」を押します。
- 「どのサービスを監視するか」で Outlook の接続を選ぶ
- 「どうなったら動かすか」で「New Outlook Message」を選ぶ
- 「絞り込み」の
from_emailやsubject_containsを埋める
サービス連携は 1 件受けるごとに約 0.5 円かかります。
6. 試す
条件に合うメールを送り、Teams に投稿されることを確認します。実行の結果は、ワークフローの「実行」タブの「最近の実行」に残ります。
動かないとき
- 取得のステップが 404 で失敗する: 公式は、削除されたメール、別のメールボックス、古い形式の ID のときに 404 になりうるとしています。メールがすぐ移動や削除されるルールが無いか確認します
- 投稿のステップが権限の不足で失敗する: 投稿には職場または学校のアカウントが要ります。個人の Microsoft アカウントは対応していません。Teams の接続に使ったアカウントが投稿先のチームに入っているかも確認します
- 管理者の設定で断られる: 管理者がこの操作を「毎回確認」か「禁止」にしていると、無人の実行では断られます
- 起動しない、または期待より多く動く:
subject_containsは大文字と小文字を区別しませんが、前後の空白は区別します。to_emailは To だけを見るので、Cc で届くメールには当たりません
よくある質問
メール本文も Teams に出せますか
取得のステップの本文を content に差し込めます。ただしチャンネルの全員に見えるので、問い合わせの本文に個人情報が入る窓口では件名だけにする判断もあります。
誰の名前で投稿されますか
Teams の接続に使ったアカウントで投稿します。既定ではトリガーを作った人のアカウントで動き、ステップの「実行に使う認証情報」の「このワークフローに貸す」で固定できます。
チャットや個人宛てにも送れますか
チャットへは MICROSOFT_TEAMS_TEAMS_POST_CHAT_MESSAGE という別の操作があります。この記事ではチャンネルへの投稿だけを説明しています。