Happy Web Engineer
Last updated on

【2026年版】Claude APIでSlack社内Botを作る完全ガイド|Python+FastAPIで30分デプロイ


はじめに:社内Slackに「賢いAI同僚」を加える時代

2026年現在、多くのチームが 社内Slackに AI Botを導入しています。「@ai-assistant 〇〇について教えて」とメンションするだけで、ChatGPT/Claude 相当の回答がもらえる環境は、生産性を大きく向上させます。

この記事では、Anthropic Claude API と Slack Bot API を組み合わせて、30分で動くSlack Botを作る手順を実例ベースで解説します。

  • Slack App 作成〜トークン取得
  • Python + FastAPI + Slack Bolt で Bot実装
  • Claude API 連携(ストリーミング応答)
  • Cloud Run にデプロイ(無料枠)
  • RAG連携でレベルアップ
  • 本番運用のベストプラクティス

前提条件

  • Python 3.10以上
  • Slack ワークスペースの管理者権限(App追加可能)
  • Anthropic API キー(Anthropic Consoleから取得・$5の初回クレジット無料)
  • デプロイ先: Google Cloud(Cloud Run無料枠)または Fly.io・Render

ステップ1:Slack Appを作成

Slackで新しいAppを作成し、必要な権限とトークンを取得します。

  1. Slack APIにアクセス → 「Create New App」→「From scratch」
  2. App Name: 「AI Assistant」等、Workspace: 対象のSlackワークスペースを選択
  3. 左メニュー「OAuth & Permissions」で以下のScopeを追加:
    • app_mentions:read(メンション読み取り)
    • chat:write(メッセージ送信)
    • channels:history(チャンネル履歴)
    • im:history(DM履歴)
    • im:write(DM送信)
  4. 「Install to Workspace」でワークスペースにインストール
  5. Bot User OAuth Token(xoxb-...)を取得・コピー
  6. 「Basic Information」で Signing Secretを取得
  7. 「Event Subscriptions」で app_mentionイベントを有効化(URLは後述で設定)

ステップ2:Python プロジェクト準備

mkdir slack-ai-bot && cd slack-ai-bot
python3 -m venv venv
source venv/bin/activate

pip install slack-bolt anthropic fastapi uvicorn python-dotenv

.envファイルに API キーを設定:

SLACK_BOT_TOKEN=xoxb-your-token
SLACK_SIGNING_SECRET=your-signing-secret
ANTHROPIC_API_KEY=sk-ant-...

ステップ3:Bot実装

main.pyに最小実装を書きます。

import os
from dotenv import load_dotenv
from slack_bolt import App
from slack_bolt.adapter.fastapi import SlackRequestHandler
from fastapi import FastAPI, Request
from anthropic import Anthropic

load_dotenv()

# Slack App 初期化
slack_app = App(
    token=os.environ["SLACK_BOT_TOKEN"],
    signing_secret=os.environ["SLACK_SIGNING_SECRET"],
)

# Claude クライアント初期化
claude = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])


@slack_app.event("app_mention")
def handle_mention(event, say):
    """@BotName へのメンションに応答"""
    user_question = event["text"]
    # メンション部分を除去 (<@U12345>)
    import re
    question = re.sub(r"<@[A-Z0-9]+>", "", user_question).strip()

    # Claude に問い合わせ
    response = claude.messages.create(
        model="claude-sonnet-4-5",
        max_tokens=1024,
        system="あなたは親切な社内アシスタントです。日本語で簡潔に回答してください。",
        messages=[{"role": "user", "content": question}],
    )

    answer = response.content[0].text
    say(text=answer, thread_ts=event["ts"])  # スレッドで返信


# FastAPI アプリ
app = FastAPI()
handler = SlackRequestHandler(slack_app)


@app.post("/slack/events")
async def slack_events(request: Request):
    return await handler.handle(request)


@app.get("/health")
def health():
    return {"status": "ok"}

ローカルで起動して動作確認:

uvicorn main:app --port 8000

ステップ4:ngrok で一時公開 → Slackに接続

ローカルで動かしたBotをSlackから叩けるようにします。

# 別ターミナルで ngrok を起動
ngrok http 8000
# 例: https://abc123.ngrok-free.app が発行される

SlackのApp設定 → 「Event Subscriptions」→「Request URL」に https://abc123.ngrok-free.app/slack/eventsを設定。

Slackで Bot をチャンネルに招待(/invite @ai-assistant)し、@ai-assistant こんにちはとメンションすると、Claude が返信します。


ステップ5:本番デプロイ(Cloud Run)

Cloud Runなら月100万リクエストまで無料で、常時起動Botに最適です。

Dockerfile を作成

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY main.py .
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080"]

requirements.txt

slack-bolt
anthropic
fastapi
uvicorn[standard]
python-dotenv

Cloud Run にデプロイ

# Google Cloud Project作成・gcloud設定済み前提

gcloud run deploy ai-slack-bot \
  --source . \
  --region asia-northeast1 \
  --allow-unauthenticated \
  --set-env-vars "SLACK_BOT_TOKEN=xoxb-...,SLACK_SIGNING_SECRET=...,ANTHROPIC_API_KEY=sk-ant-..."

デプロイ完了後、発行された URL(例: https://ai-slack-bot-xxx.run.app)を Slack App の「Event Subscriptions > Request URL」に設定し直せば本番稼働開始です。


発展:RAG連携で社内ドキュメントQ&A化

単純なChatBotから一歩進んで、社内ドキュメントを参照する「社内特化AI」に拡張できます。

  • 社内のNotion / Confluence / Google Drive ドキュメントをベクトルDBにインデックス
  • Slack質問時にベクトル検索で関連ドキュメントを取得
  • Claude に「このドキュメントを元に答えて」と指示

詳しくは エンジニアのためのRAG実装入門をご覧ください。


本番運用のベストプラクティス

1. レートリミット対応

Claude APIにはレートリミットがあります(ティア毎に分計)。5秒以内に大量リクエストすると429エラー。backoff ライブラリで自動リトライを実装:

from anthropic import RateLimitError
import time

def call_claude_with_retry(messages, max_retries=3):
    for attempt in range(max_retries):
        try:
            return claude.messages.create(
                model="claude-sonnet-4-5",
                max_tokens=1024,
                messages=messages,
            )
        except RateLimitError:
            time.sleep(2 ** attempt)  # 指数バックオフ
    raise Exception("Max retries exceeded")

2. ストリーミング応答で UX改善

長い回答は Claude のstreaming を使い、Slack にリアルタイム表示:

with claude.messages.stream(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": question}],
) as stream:
    buffer = ""
    for text in stream.text_stream:
        buffer += text
        # Slack に段階的に更新(say → chat.update)

3. スレッド文脈の保持

Slackスレッド内の過去メッセージを conversations.repliesで取得し、Claudeの messages配列に含めると、文脈を踏まえた会話が可能に。

4. コスト管理

  • Claude Sonnet: Input $3/1M, Output $15/1M tokens(2026年現在)
  • 社員100人・1人10質問/日 → 月額$30〜100程度
  • システムプロンプトは Prompt Caching(90%コストカット)を活用

5. セキュリティ

  • Signing Secret 必須検証(リクエストの正当性確認・Slack Bolt が自動実装)
  • 機密情報を Bot に投げる前に、社内ガイドラインを明示
  • Audit log(質問内容)を保存して定期レビュー

よくある質問(FAQ)

Q. どのくらいのコストで運用できる?

Cloud Run 無料枠内 + Claude API 月$30〜100で、月1,000〜10,000質問の社内Botが動かせます。社員1人あたり月$1以下の投資で生産性向上効果を得られます。

Q. ChatGPT Enterpriseでいいのでは?

ChatGPT Enterpriseも素晴らしいですが 最低30席(月$900〜)と初期ハードルが高い。小規模チーム・PoC・特定ユースケース特化なら、自前Bot構築のほうが柔軟かつ安価です。

Q. Claude以外のモデルも使える?

使えます。anthropic を openai または google-generativeai に差し替えればOK。LangChain経由で複数LLMを切り替え可能にする設計もおすすめ。

Q. 保守・運用の手間は?

Cloud Run は サーバーレスなので、通常運用の手間はほぼゼロ。月1回のデプロイ・ログ確認・コスト確認のみで十分です。

Q. より高度な機能を追加できる?

可能です。例:(1) GitHubと連携してPRレビュー、(2) JIRAと連携してチケット作成、(3) Notion検索機能追加、(4) 画像解析(Claude Visionに画像を投げる)、(5) 音声メッセージ対応等。MCP(Model Context Protocol)経由で統合すればより簡単に実装可能。


まとめ:社内Botは30分で動かせる

社内AI Botの構築は、昔は数週間かかる大規模プロジェクトでしたが、現在は Python 100行+Cloud Runで30分で動かせます。

  • Slack App作成 → Python Bot実装 → Cloud Runデプロイ
  • 基本機能(ChatBot)から始めてRAG統合に拡張
  • 月$30〜で社員100人の生産性向上を実現

社内に「AI同僚」を1人加えるのが、2026年の新常識です。今週末のプロジェクトとして試してみてください。


関連記事

👉 【2026年版】エンジニアのためのRAG実装入門
👉 【2026年版】Vercel AI SDK vs LangChain 徹底比較
👉 【2026年版】ChatGPT活用の実務7パターン
👉 個人開発・副業に最適なサーバー完全ガイド
👉 【2026年版】Web APIとAPIキー・OAuth・REST/GraphQL 完全ガイド