この記事では
Power Automate を使って Teams へ定期的に画像とリンク付きのメッセージを投稿する Bot の作り方を紹介します。
イメージはこんな感じです。


様々な使い方がありますが、
今回は画像やリンクを入れて自動投稿するフローを作ってみましょう。
Teams メッセージ Bot の概要
あらかじめ Excel にまとめた情報を定期的に Teams へ配信
今回紹介する Teams メッセージ Bot は以下のような流れで動きます。
- Excel に 投稿用の「タイトル」、「本文」、「リンク」、「画像(のリンク)」を投稿日別に保存。
- Power Automate で設定したタイミング(毎週〇曜日の〇時など)で Excel に保存した投稿日の内容を
ピックアップし、 Teams へ投稿。
あらかじめ投稿したい内容を Excel に入れておけば、それらを Teams に自動で投稿してくれます。
左:Excel イメージ 右:自動配信のサンプル(スマホ画面)







左のようなエクセルを作成しておくと、
設定したタイミングで右のように Teams へ自動で配信してくれます。
テキストと画像、リンクが使えれば、Teams メッセージ Bot でやりたいことはほぼできると思います。
準備
①:Power Automate から参照するフォルダの作成
One Drive 上に新規フォルダを作成しましょう。フォルダの名前は自分でわかるものでOKです。
このフォルダの中に Power Automate から参照する各種データを保存していきます。
②:Power Automate から参照するExcelブックの作成
Excel に以下のようなテーブル(範囲を選択して「Ctrl+T」)を作成します。
※Bot メッセージリストなど、あとでわかるように名前を付けましょう。
※ Power Automate で参照しますので、Excel ブックは One Drive 内に保存しましょう。


見出しは自由ですが、わかりやすさのために
「Date」,「Title」,「Detail」,「Link」,「Linkimage」にしておきましょう。
Date:yyyy-MM-dd の形式で投稿したい日の日付を入れましょう。
Title:投稿メッセージのタイトルを入れましょう。
Detail:投稿メッセージの本文を入れましょう。
Link: One Drive やネット URL を使いたいときはリンクのアドレスを入れましょう。
Linkimage : Teams の投稿に表示したい画像の URL を入力しましょう。



動作テストができるように、
今日の日付分の行も用意しましょう。
・単にセルに入力した「範囲」のままではなく、「テーブル」にしておく必要があります。
⇒でないと Power Automate で参照できません。
⇒各列の一番上の見出しは Power Automate で参照します。
どの見出しがどのデータに対応しているのかわかるようにしておきましょう。
・日時の形式は「yyyy-MM-dd」にしましょう(yは年4桁、Mは月2桁、dは日2桁)。
⇒Power Automate で参照できるように形式を合わせる必要があります。(2026-01-31など)
・投稿をしない日はその日の行自体を削除しておきましょう。
⇒行を残しておくと、空白で Teams に投稿されてしまいます。
・リンクを使いたい場合は、Link の列にリンク先のアドレスを入れておきましょう。
⇒例えば Youtube のリンク等。
・Linkimage には投稿したい画像の置き場の URL を貼り付けます。
⇒「③投稿したい画像の準備」で設定します。
※Linkimage に設定した画像は投稿メッセージに表示された(クリックが必要ない)状態で投稿されます。
※いらすとや等のネット上に存在する画像データはその画像上で右クリックをし
「画像リンクのコピー」により取得したアドレスを Linkimage に貼り付けて利用できます。
③:投稿したい画像の準備
Microsoft 365 にある「Sway」を起動します。
次のような画面が開きますので、「新規作成」


白枠の中に「Power Automate 用画像置き場」と入力しておきます。


「+」マークを押して、「画像」を選択すると次のような新しい白枠が出てきます。
白い枠の中に画像をドラッグドロップすると、読み込んでくれます。


次の画像のように、画像が表示されたら、画面右上の「再生」をクリック


次の画面のように(デザインは異なるかもしれませんが)読み込んだ画像が表示されているはずです。
画面の右上の「共有」から「リンクを知っている人は誰でも」にチェック


次のように表示されている画像の上で右クリックして「画像のリンクをコピー」します。





※「画像をコピー」ではなく、「画像のリンクをコピー」なので注意
ここで取得したリンクを Linkimage のセルにコピペすればOKです。
※セル内をクリックして、ある状態で貼り付けましょう。
https~になっていればOKです。
フローの作成
Microsoft 365 から「Power Automate」を起動します。


こんな画面が出てきます。
画面左の「Create」をクリック。


こんな画面が出てきます。
画面上の「Scheduled cloud flow」をクリック。


こんな画面が出てきます。
Flow name:このパワーオートメートのデータ
(フローと言います)に名前を付けましょう。
Repeat every:1WeekでOKです。
「Create」をクリック。
次のような画面になります。





これが Power Automate の編集画面です。
トリガー(フローの起動開始)の編集
「Recurremce」と書いてある白い四角をクリックすると次のようなウインドウが出てきます。


Time zone:(UTC+9:00)Osaka,Sapporo,Tokyo
On these days:Excelのほうで配信日を決めているのでそのままでOKです。
At these hours:配信したい時を選択
At these minutes:配信したい分を選択
日付の取得(配信タイミングで動くようにする)
「+」マークを押して、「variable (変数)」の「initialize variable (変数の初期化)」を選択すると
次のような画面が出てきます。



このように「+」マークから様々な動きを設定していきます。
このようなものを「アクション」と言います。


Name:date
Type:String
Value:「f(x)マーク」をクリックし、「addHours(timestamp,hours,format?)」を選択。
addhours()の()内には以下のコードを入力。
utcnow(),9,’yyyy-MM-dd’
アクション:Teams への投稿内容を保存してある Excel の呼び出し
「+」マークを押して Excel のLists rows present in a table(表内に存在する行を一覧表示)を選択。


白い四角をクリックすると、次のような画面が出てきます。


Location:OneDrive for Business
Document Library:ドキュメント
File:エクセルの保存先を参照してください。
Table:テーブル1(エクセルのテーブル名を変えていなければ)
Filter Query:「Date eq “」と入力し、”の間を選択し、雷マークをクリックすると
画像のような「date」のアイコンがあるので、それを選択。
DateTime Format:ISO 8601を選択
アクション:メンションの準備
「+」マークを押して、TeamsのGet an @mention token for team tag(メンションタグの取得)を選択


白い四角をクリックすると次のような画面が出てきます。


Team :投稿先のチームを選択
Tag:メンションタグを選択



あらかじめメンションタグを Teams で設定しておく必要があります。
アクション:Post card in a chat or channel(チャットまたはチャネルへのカードを送る)


Post as:User
Post in:チャネル
チームとチャネルは配信先に設定しましょう。
アダプティブカードは次のようにします。


アダプティブカードには以下のコードを貼り付けましょう。
{
"type": "AdaptiveCard",
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.2",
"msTeams": { "width": "full" },
"body": [
{ "type": "TextBlock",
"text": "★",
"wrap": true,
"size": "ExtraLarge",
"color": "Attention",
"isSubtle": true},
{ "type": "TextBlock",
"text": "★"},
{ "type": "Image",
"url": "★",
"horizontalAlignment": "Center",
},
{ "type": "ActionSet",
"actions": [
{"type": "Action.OpenUrl",
"title": "リンクはこちら",
"url": "★"
}
]
},
{ "type": "TextBlock",
"text": "★"}
]
}★の部分には上の画像のようにそれぞれ参照を示すアイコンが入ります。
“と”の間をクリックすると、参照候補が現れますので、
画像と同じアイコンを選択しましょう。
画面右上の「Save」を押してフローを保存したらその隣の「Test」を押しましょう。
フローに問題が無ければ Excel 内の今日の日付のセルの内容が、Teams へ投稿されているはずです。
「あれ?うまくいかない!」「なんか画面が違う」そんな時は…。



同じようにやってみたのにフローが動かない…。
Power Automate のあるあるかもしれませんね。
なるべくシンプルなフローを作成したのですが、
ものすごくわかりにくい微妙な違いによって動かないことはあります。
(特にアダプティブカードのコードなど)



そんな時は相談フォームから相談してください。
実際のフローを見て解決しましょう。
画像・リンク付きBotを活用している具体例





このフローのおかげで朝のHRがだいぶ楽になりました。
この日に連絡したいことや伝えたいことをあらかじめ時間があるときに Excel に入れておけば、設定したタイミングで連絡もしてくれるので助かっています。
Power Automate で Bot を作ると、
定型的な投稿や情報共有の自動化がぐっと楽になります。
ただ、
実際の業務フローや条件分岐、
チームや担当者との連携は、
単純な手順以上に悩みどころになることもあります。
こうした業務設計や活用の相談は、
こちらからお気軽にご相談いただけます。
→ 業務効率化・ICT活用の相談はこちら

コメント