PythonでTeamsにリマインダーを送信!業務タスク忘れ防止の自動化術

はじめに

日々の業務で「提出期限をうっかり忘れてしまった…」「定例会議の準備を直前に思い出した…」といった経験はありませんか?
Microsoft Teamsを利用している職場であれば、Pythonスクリプトから自動的にリマインダーを送信することで、タスク漏れを防ぐことができます。

本記事では、PythonとTeamsのIncoming Webhookを利用してリマインダー通知を送信する方法を解説します。


必要な準備

1. Python環境

  • Python 3.8以上推奨
  • ライブラリ:requests, schedule
pip install requests schedule

2. TeamsのWebhook URLを取得

  1. Teamsで任意のチャンネルを開く
  2. 「…(その他のオプション)」→「コネクタ」→「Incoming Webhook」を追加
  3. 名前とアイコンを設定し、Webhook URLをコピー

このURLがPythonから通知を送るためのエンドポイントとなります。


PythonでTeamsに通知を送信する

まずはシンプルに1回だけ通知を送信するサンプルコードです。

import requests

# TeamsのWebhook URL
WEBHOOK_URL = "https://outlook.office.com/webhook/xxxx/IncomingWebhook/xxxx"

def send_teams_message(message: str):
    payload = {
        "text": message
    }
    response = requests.post(WEBHOOK_URL, json=payload)
    if response.status_code == 200:
        print("通知を送信しました!")
    else:
        print(f"送信失敗: {response.status_code}")

if __name__ == "__main__":
    send_teams_message("📌 本日のタスクを確認しましょう!")

実行すると、Teamsのチャンネルにメッセージが投稿されます。


定期的にリマインダーを送信する

次に、毎日決まった時間にリマインダーを送る例です。

import schedule
import time
import requests

WEBHOOK_URL = "https://outlook.office.com/webhook/xxxx/IncomingWebhook/xxxx"

def send_reminder():
    payload = {"text": "⏰ 定例会議の準備をしてください(10:00開始)"}
    requests.post(WEBHOOK_URL, json=payload)

# 毎日9:50に通知
schedule.every().day.at("09:50").do(send_reminder)

while True:
    schedule.run_pending()
    time.sleep(1)

このスクリプトを常駐させておけば、毎日決まった時間にリマインダーが送信されます。


応用例

  • 週次リマインダー(毎週月曜9:00に週報作成を通知)
  • 期限前アラート(期限2日前にリマインド)
  • 複数タスク通知(ToDoリストをまとめて送信)
schedule.every().monday.at("09:00").do(
    lambda: send_reminder("📊 週報を作成してください!")
)

図解イメージ案(記事用)

  • 図1:「Python → Teams Webhook → チャンネル通知」のフロー図
  • 図2:実際のTeams画面に「⏰ 会議リマインダー」が表示されているイメージ

まとめ

  • TeamsのIncoming Webhookを利用するとPythonから簡単に通知を送れる
  • scheduleライブラリを使えば定期的なリマインダーも可能
  • 業務タスクの「うっかり忘れ」を防止し、チーム全体の生産性アップに直結

業務改善やタスク管理に悩んでいる方は、ぜひPython × Teamsで自動リマインダーを導入してみてください。

タイトルとURLをコピーしました