Teamsの返信を予約送信する方法|1分単位・1週間より先もPower Automateで
はじめに
「この Teams メッセージにはあとで返信したい」——そんなとき、返信を予約送信できたら便利ですよね。
実は Teams の返信は、標準機能だけでも予約送信できます。ただし標準機能には「時刻が30分刻みでしか選べない」「予約できるのは約1週間先まで」という制約があります。
この記事では、まず標準機能でのやり方と制約を確認したうえで、Power Automate のテンプレートを使って「1分単位の時刻」「1週間より先の日付」まで予約する方法を、実機の画面つきで手順どおりに解説します。
Teamsの返信は標準機能でも予約できる
Teams のスレッド返信欄で、送信ボタンの近くにある「+」(メッセージ拡張)を開くと、「メッセージのスケジュール」という標準機能があります。これを使えば、Power Automate なしで返信を予約できます。

ただし、この標準機能には知っておくべき2つの制約があります。
制約① 時刻は「30分刻み」でしか選べない
時刻を指定するプルダウンは、6:00 / 6:30 / 7:00 / 7:30… と30分刻みの選択肢しか用意されていません。「9時15分ちょうどに送りたい」といった1分単位の指定はできません。

制約② 予約できるのは「約1週間先」まで
日付を選ぶカレンダーでは、当日から約1週間先までしか選べません。それより先の日付はグレーアウトして選択できないため、「2週間後」「来月」といった予約は標準機能では不可能です。

- 時刻:30分刻みのみ(例:9:15 は不可)
- 予約期間:当日〜約1週間先まで
Power Automateなら、この制約を突破できる
ここからが本題です。Power Automate の Teams 向けテンプレート「スケジュールを設定して返信を最適なタイミングで送信する」を使うと、標準機能の2つの制約を次のように突破できます。
- 時刻:30分刻み → カスタマイズで1分単位の任意の時刻(9:15 など)
- 予約期間:約1週間先まで → 最長で約30日(1か月)先まで
STEP1:テンプレートを追加する
まずは土台となるフローを用意します。Power Automate(make.powerautomate.com)にサインインし、テンプレートギャラリーで次の名前を検索して追加するだけです。
- テンプレート名:スケジュールを設定して返信を最適なタイミングで送信する
- トリガー:選択したメッセージの場合(Teams メッセージ アクション)

追加すると、Teams のメッセージ操作メニューからこのフローを呼び出せるようになります。

STEP2:Teamsから返信を予約する(基本の使い方)
テンプレートを追加したら、実際に Teams から予約してみましょう。操作はとてもシンプルです。
返信したいメッセージにカーソルを合わせ、「…」(その他のオプション)をクリックします。
「その他の操作」→「スケジュールを設定して返信を最適なタイミングで送信する」を選択します。
表示されたアダプティブ カードに、返信する日付・時刻・本文を入力して「送信」を押します。
指定した時刻になると、自動でスレッドに返信が投稿されます。

「送信」を押すとカードが閉じ、あとはフローがバックグラウンドで指定時刻まで待機します。

STEP3:30分刻みを「1分単位」にカスタマイズする
デフォルトのテンプレートでは、時刻の入力欄が30分刻みのタイムピッカーになっています。これを自由にHH:MM形式で入力できるテキストボックスに変えれば、9:15 や 13:45 といった1分単位の時刻を予約できるようになります。
変更するのは、フロー内のアダプティブ カードの定義です。フローの編集画面でカードを開き、右下の「CARD PAYLOAD EDITOR」(カードのJSON)を編集します。


変更点はたった2つ
Time(時刻)フィールドの定義を、次のように書き換えます。
【変更前】時刻フィールドは Input.Time(30分刻みのタイムピッカー)になっています。
{
"type": "Input.Time",
"id": "scheduledTime",
"isRequired": true,
"errorMessage": "Please enter time",
"label": "Time:"
}【変更後】これを Input.Text に変え、さらに入力例を示す placeholder を1行追加します。
{
"type": "Input.Text",
"id": "scheduledTime",
"isRequired": true,
"errorMessage": "Please enter time (HH:MM, e.g. 09:30)",
"label": "Time:",
"placeholder": "HH:MM (e.g. 09:30)"
}実際の CARD PAYLOAD EDITOR では、次のように scheduledTime の定義が書き換わります。

保存すると、上部のカードプレビューでも Time フィールドが「HH:MM (e.g. 09:30)」のテキストボックスに変わります。これで任意の時刻を入力できるようになりました。

カスタマイズ後のカード全文(コピペ用)
迷ったときのために、書き換え後のアダプティブ カード全文を載せておきます。CARD PAYLOAD EDITOR にこのまま貼り付ければ、同じ状態を再現できます。
{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.3",
"body": [
{
"type": "TextBlock",
"text": "When do you want your reply to be sent?",
"weight": "Bolder",
"size": "Medium"
},
{
"type": "Input.Date",
"id": "scheduledDate",
"isRequired": true,
"errorMessage": "Please select scheduled date",
"label": "Date:"
},
{
"type": "Input.Text",
"id": "scheduledTime",
"isRequired": true,
"errorMessage": "Please enter time (HH:MM, e.g. 09:30)",
"label": "Time:",
"placeholder": "HH:MM (e.g. 09:30)"
},
{
"type": "Input.Toggle",
"id": "notifyMyself",
"title": "Notify myself when message is posted?"
},
{
"placeholder": "Message to send",
"type": "Input.Text",
"id": "messageToSend",
"isMultiline": true,
"isRequired": true,
"errorMessage": "Please enter message to send",
"label": "Reply:"
}
]
}フローの中身と「なぜ1週間より先まで予約できるのか」
このテンプレートの中身は、ざっくり次のような構成になっています。難しく考える必要はありません。

- 手動トリガー(Teamsメッセージから起動)
- 変数の初期化 ×3 + タイムゾーン変換(入力した日時を処理)
- Delay until(指定時刻まで待機) ←
- 条件分岐(スレッド返信 or 新規メッセージ)で送信
ポイントは「Delay until(指定時刻まで待つ)」です。
標準機能のようにカレンダーの選択肢に縛られず、入力された未来の日時まで純粋に待ってから送信する仕組みのため、1週間より先の日付でも予約できるというわけです。
動作確認:実際に予約して届くか試す
実機でテストしてみます。フローを起動すると、指定時刻まで Delay until が待機状態になります。

指定時刻になるとフローが再開し、返信が送信されます。今回のテストでは23:09に起動 → 23:30に自動返信され、実行結果は「成功」となりました。
Teams 側でも、元メッセージのスレッドに指定した23:30ちょうどで返信が届いていることを確認できました。

あわせて読みたい
Power Automate の全体像・基本・料金・実例一覧はこちらにまとめています。

同じ Teams テンプレートを改造する例として、フォローアップ通知の入門・応用記事もどうぞ。


まとめ
- Teamsの返信は標準機能「メッセージのスケジュール」でも予約できる
- ただし標準は時刻30分刻み・約1週間先までという制約がある
- Power Automateテンプレートなら、カードの
Input.TimeをInput.Textに変えるだけで1分単位の時刻を予約できる - Delay untilの仕組みで最長約30日先まで予約可能(25日以内が安全)
「30分刻みだと微妙に時間がずれる」「来週より先に予約したい」——標準機能で物足りなさを感じたら、Power Automate のテンプレートを2箇所書き換えるだけで解決できます。まずは近い日時でテストして、動きを確かめてみてください。





