前回(Day19)で作成した「AIレポート自動生成ツール」を、今回はSlack Botとして組み込み、
自動でレポートをSlackチャンネルに投稿する仕組みを構築します。
業務でSlackを利用している方には必須の自動化テクニックです!
📦 必要なもの
- Slackワークスペース
- Slack APIトークン(Bot Token)
- SlackチャンネルID
- Python(slack_sdk, openai など)
- 前回の要約コード
🔧 必要ライブラリ
pip install slack_sdk openai
🔐 Slack Botの準備
- https://api.slack.com/apps にアクセスし「Create New App」
- Bot Token Scopes に
chat:write
を追加 - Bot User OAuth Token をコピー(例:xoxb-…)
- 投稿先チャンネルに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化して自動保存&送付」まで拡張します。資料提出や報告書の自動作成に最適です!
コメント