自動化
PR

Teamsの返信を予約送信する方法|1分単位・1週間より先もPower Automateで

sanane
記事内に商品プロモーションを含む場合があります

はじめに

「この Teams メッセージにはあとで返信したい」——そんなとき、返信を予約送信できたら便利ですよね。

実は Teams の返信は、標準機能だけでも予約送信できます。ただし標準機能には「時刻が30分刻みでしか選べない」「予約できるのは約1週間先まで」という制約があります。

この記事では、まず標準機能でのやり方と制約を確認したうえで、Power Automate のテンプレートを使って「1分単位の時刻」「1週間より先の日付」まで予約する方法を、実機の画面つきで手順どおりに解説します。

Power Automate の基本・料金・他の実例一覧は、こちらのまとめ記事で解説しています。

あわせて読みたい
Power Automateとは?できること・使い方・始め方を実例28本で解説
Power Automateとは?できること・使い方・始め方を実例28本で解説

Teamsの返信は標準機能でも予約できる

Teams のスレッド返信欄で、送信ボタンの近くにある「+」(メッセージ拡張)を開くと、「メッセージのスケジュール」という標準機能があります。これを使えば、Power Automate なしで返信を予約できます。

Teamsのスレッド返信欄の「+」メニュー。標準機能「メッセージのスケジュール」が表示されている

ただし、この標準機能には知っておくべき2つの制約があります。

制約① 時刻は「30分刻み」でしか選べない

時刻を指定するプルダウンは、6:00 / 6:30 / 7:00 / 7:30…30分刻みの選択肢しか用意されていません。「9時15分ちょうどに送りたい」といった1分単位の指定はできません

Teams標準機能の時刻ピッカー。6:00・6:30・7:00・7:30・8:00と30分刻みの選択肢しか選べない

制約② 予約できるのは「約1週間先」まで

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

Teams標準機能の日付カレンダー。当日から約1週間先までしか選べず、それ以降の日付はグレーアウトしている
Teams標準機能(メッセージのスケジュール)の制約
  • 時刻:30分刻みのみ(例:9:15 は不可)
  • 予約期間:当日〜約1週間先まで

Power Automateなら、この制約を突破できる

ここからが本題です。Power Automate の Teams 向けテンプレート「スケジュールを設定して返信を最適なタイミングで送信する」を使うと、標準機能の2つの制約を次のように突破できます。

標準機能 → Power Automate でどう変わる?
  • 時刻:30分刻み → カスタマイズで1分単位の任意の時刻(9:15 など)
  • 予約期間:約1週間先まで → 最長で約30日(1か月)先まで

しかもコーディングは不要です。テンプレートを追加し、アダプティブ カードのたった2箇所を書き換えるだけで、1分単位の予約が可能になります。

STEP1:テンプレートを追加する

まずは土台となるフローを用意します。Power Automate(make.powerautomate.com)にサインインし、テンプレートギャラリーで次の名前を検索して追加するだけです。

追加するテンプレート
  • テンプレート名:スケジュールを設定して返信を最適なタイミングで送信する
  • トリガー:選択したメッセージの場合(Teams メッセージ アクション)

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

Teamsのメッセージ操作メニューに「スケジュールを設定して返信を最適なタイミングで送信する」フローが表示されている

STEP2:Teamsから返信を予約する(基本の使い方)

テンプレートを追加したら、実際に 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 の定義が書き換わります。

CARD PAYLOAD EDITORのJSON。scheduledTimeのtypeがInput.Textに変更され、placeholderが追加されている

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

カスタマイズ後のアダプティブカードのプレビュー。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:"
        }
    ]
}

時刻はテキスト入力になるため、必ず半角で「HH:MM」形式(例:09:30、13:45)で入力してください。

全角数字やコロンの入力ミス、9:5 のような桁抜けがあると、フローが時刻を正しく解釈できず、予約が意図した時刻にならないことがあります。

フローの中身と「なぜ1週間より先まで予約できるのか」

このテンプレートの中身は、ざっくり次のような構成になっています。難しく考える必要はありません。

Power Automateのフロー全体図。manual→変数の初期化×3→タイムゾーン変換→Delay until→条件分岐の構成
  • 手動トリガー(Teamsメッセージから起動)
  • 変数の初期化 ×3タイムゾーン変換(入力した日時を処理)
  • Delay until(指定時刻まで待機)
  • 条件分岐(スレッド返信 or 新規メッセージ)で送信

ポイントは「Delay until(指定時刻まで待つ)」です。

標準機能のようにカレンダーの選択肢に縛られず、入力された未来の日時まで純粋に待ってから送信する仕組みのため、1週間より先の日付でも予約できるというわけです。

予約できる期間は無制限ではありません。Power Automate のクラウドフローは1回の実行が最長30日でタイムアウトするため、Delay until で待てるのも実質約30日(1か月)先までです。

動作確認:実際に予約して届くか試す

実機でテストしてみます。フローを起動すると、指定時刻まで Delay until が待機状態になります。

フロー実行中の詳細画面。手動トリガー・変数の初期化・タイムゾーン変換は完了し、Delay untilが指定時刻まで待機中

指定時刻になるとフローが再開し、返信が送信されます。今回のテストでは23:09に起動 → 23:30に自動返信され、実行結果は「成功」となりました。

Teams 側でも、元メッセージのスレッドに指定した23:30ちょうどで返信が届いていることを確認できました。

テスト完了後のTeamsチャンネル。元メッセージのスレッドに23:30ちょうどで自動返信が届いている

あわせて読みたい

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

あわせて読みたい
Power Automateとは?できること・使い方・始め方を実例28本で解説
Power Automateとは?できること・使い方・始め方を実例28本で解説

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

あわせて読みたい
【Power Automate】Teamsテンプレ「メッセージについてフォローアップする」の中身を初心者向けに解説
【Power Automate】Teamsテンプレ「メッセージについてフォローアップする」の中身を初心者向けに解説
あわせて読みたい
【Power Automate】Teamsのフォローアップに「スヌーズ(あとで再通知)」を追加する方法
【Power Automate】Teamsのフォローアップに「スヌーズ(あとで再通知)」を追加する方法

まとめ

  • Teamsの返信は標準機能「メッセージのスケジュール」でも予約できる
  • ただし標準は時刻30分刻み・約1週間先までという制約がある
  • Power Automateテンプレートなら、カードのInput.TimeInput.Textに変えるだけで1分単位の時刻を予約できる
  • Delay untilの仕組みで最長約30日先まで予約可能(25日以内が安全)

「30分刻みだと微妙に時間がずれる」「来週より先に予約したい」——標準機能で物足りなさを感じたら、Power Automate のテンプレートを2箇所書き換えるだけで解決できます。まずは近い日時でテストして、動きを確かめてみてください。

記事URLをコピーしました