【20日目】PythonとAIでSlackにレポートを自動送信するBotを作ろう!

PythonとAIでSlackにレポートを自動送信するBotを作ろう 未分類

前回(Day19)で作成した「AIレポート自動生成ツール」を、今回はSlack Botとして組み込み、
自動でレポートをSlackチャンネルに投稿する仕組みを構築します。
業務でSlackを利用している方には必須の自動化テクニックです!

📦 必要なもの

  • Slackワークスペース
  • Slack APIトークン(Bot Token)
  • SlackチャンネルID
  • Python(slack_sdk, openai など)
  • 前回の要約コード

🔧 必要ライブラリ

pip install slack_sdk openai

🔐 Slack Botの準備

  1. https://api.slack.com/apps にアクセスし「Create New App」
  2. Bot Token Scopes に chat:write を追加
  3. Bot User OAuth Token をコピー(例:xoxb-…)
  4. 投稿先チャンネルにBotを追加し、チャンネルIDを取得

🧠 Pythonコード(レポート生成+Slack送信)


import openai
from slack_sdk import WebClient
from slack_sdk.errors import SlackApiError

# 各種キーと設定
openai.api_key = "sk-あなたのAPIキー"
slack_token = "xoxb-あなたのSlack Botトークン"
channel_id = "C0123456789"

# 送信するレポート(Day19のAI生成文を想定)
ai_report = """
【AIレポート】
・4月の売上が前月比+30%増加
・カテゴリCの単価上昇が要因
・顧客Dの購買頻度が低下傾向
"""

# Slackクライアント初期化
client = WebClient(token=slack_token)

# メッセージ送信
try:
    response = client.chat_postMessage(
        channel=channel_id,
        text=ai_report
    )
    print("✅ Slackに送信しました")
except SlackApiError as e:
    print(f"❌ エラー: {e.response['error']}")

📌 応用アイデア

  • 毎朝決まった時間に自動送信(cronやスケジューラと連携)
  • 複数チャンネルへの同時投稿
  • ファイル添付やグラフ画像も送信

⚠️ 注意点

  • Botをチャンネルに招待していないと送信できません
  • トークンの管理には十分注意(GitHubなどに公開しない)
  • AI生成レポートが長すぎるとSlackの文字数制限に引っかかることも

✅ まとめ

  • Python+Slack Botで自動レポート送信が可能に
  • AIによる文章生成をそのまま業務フローに組み込める
  • Slack通知で情報共有の即時性がUP!

▶️ 次回予告

Day21では「レポート内容をPDF化して自動保存&送付」まで拡張します。資料提出や報告書の自動作成に最適です!

コメント

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