はじめに
日々の業務で「提出期限をうっかり忘れてしまった…」「定例会議の準備を直前に思い出した…」といった経験はありませんか?
Microsoft Teamsを利用している職場であれば、Pythonスクリプトから自動的にリマインダーを送信することで、タスク漏れを防ぐことができます。
本記事では、PythonとTeamsのIncoming Webhookを利用してリマインダー通知を送信する方法を解説します。
必要な準備
1. Python環境
- Python 3.8以上推奨
- ライブラリ:
requests
,schedule
pip install requests schedule
2. TeamsのWebhook URLを取得
- Teamsで任意のチャンネルを開く
- 「…(その他のオプション)」→「コネクタ」→「Incoming Webhook」を追加
- 名前とアイコンを設定し、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で自動リマインダーを導入してみてください。