Cloudflare WorkersでAI搭載Slackボットを作る手順|サーバー不要ですぐ試せる

Cloudflare WorkersでAI搭載Slackボットを作る手順 AIツール活用術

「Slackボットを作りたいけど環境構築が面倒」と感じていませんか

社内の問い合わせ対応やちょっとした情報整理をSlack上で自動化したい。そう思ってボット開発を調べ始めたものの、サーバーの用意やインフラ管理の話が出てきて手が止まった、という方は多いのではないでしょうか。常時起動のサーバーを借りて、Node.jsのプロセスを管理して……と考えるだけで腰が重くなりますよね。

実はその工程、Cloudflare Workersを使うとかなり省略できます。JX通信社のエンジニアブログでも紹介されているとおり、サーバーレス環境でSlackボットを動かす構成は非常に相性が良く、AIを組み合わせた応答ボットも短時間で形にできます。

この記事でできるようになること

この記事を読めば、Cloudflare Workers上でSlackからのメッセージを受け取り、AI(ChatGPTなどの生成AI API)に問い合わせて返答するボットを、自分の手で組み立てられるようになります。専用サーバーを持たない個人開発や、小規模チームでの検証用途にちょうどいい規模感です。

サーバー管理から解放されて、コードとAPIキーの設定だけに集中できるのがCloudflare Workersの一番の魅力です。

手順1:準備するもの

始める前に、次の3つを用意しておきましょう。

  • Slackのワークスペース(管理者権限があると作業がスムーズです)
  • Cloudflareアカウント(無料プランでも試せます)
  • 生成AIのAPIキー(ChatGPTなど、利用するサービスのもの)

無料枠の範囲でも十分に検証できるので、まずは費用をかけずに試してみるのがおすすめです。

Cloudflareを活用したセキュアな設定方法はこちらをご覧ください → 無料で使えるCloudflare Accessで自宅のローカルAIに安全に外部からアクセスする設定手順

手順2:Slack Appを作成する

Slack API管理画面から新しいAppを作成し、以下を設定します。

  1. Event Subscriptionsを有効化し、後で発行するWorkersのURLをリクエストURLに登録
  2. Bot Token Scopeschat:writeapp_mentions:readを追加
  3. App Homeでメッセージタブを有効化

ここで発行されるBot User OAuth TokenSigning Secretは、あとの設定で必ず使うのでメモしておいてください。正直この画面はスコープの設定項目が多く、最初は迷いやすいポイントです。焦らず一つずつ確認していきましょう。

手順3:Cloudflare Workersのプロジェクトを作成する

ローカル環境でWranglerを使ってプロジェクトを立ち上げます。

npm create cloudflare@latest my-slack-bot
cd my-slack-bot

テンプレートは「Hello World」の最小構成で問題ありません。ここに必要なロジックを足していく形になります。

手順4:Slackイベントを受信する処理を書く

Workersのエントリーポイントで、SlackからのPOSTリクエストを受け取り、署名を検証したうえでイベント本文を取り出します。

  • SlackのURL検証チャレンジ(url_verification)への応答を最初に実装する
  • app_mentionイベントを受け取ったらメッセージ本文を取得する

この署名検証の部分は省略したくなりますが、セキュリティ上必須なので必ず組み込んでください。ここを飛ばすと後々の運用で痛い目を見ます。

手順5:AI APIと連携させる

受け取ったメッセージをAIのAPIに渡し、返答をSlackのchat.postMessageエンドポイントで投稿します。環境変数にはAPIキーとSlackトークンを設定し、コード中には直書きしないようにしましょう。

wrangler secret put OPENAI_API_KEY
wrangler secret put SLACK_BOT_TOKEN

個人的には、まず固定文言を返すだけの状態で一度Slack連携が成立するかを確認してから、AI呼び出しを追加する順番がやりやすいと感じています。一気に作ると、どこでつまずいたか分かりにくくなるためです。

AI APIの認証設定について、詳しくはこちらで解説しています → AWS MCP ServerがOAuth 2.1に対応、AIエージェント接続の認証はどう変わる?

手順6:デプロイして動作確認する

wrangler deploy

デプロイ後に発行されるURLをSlackのEvent Subscriptionsに登録し直し、Slack上でボットにメンションしてみましょう。数秒でAIからの返答が返ってくれば成功です。

この一連の流れをすべて無料枠の範囲で試せる点も、Cloudflare Workersを選ぶ理由になります。

つまずきやすいポイントと対処

実際に手を動かすと、いくつか引っかかりやすい箇所があります。

  • Slackの3秒タイムアウト:Slackはイベント受信後3秒以内の応答を求めます。AI応答に時間がかかる場合は、先に受信確認だけ返し、非同期で結果を投稿する設計にしましょう。
  • 署名検証のタイムスタンプずれ:サーバー側の時刻設定がずれていると検証に失敗します。エラーが出たらまずここを疑ってください。
  • 環境変数の反映漏れwrangler secret putはデプロイ環境に対して設定されるため、ローカルの.dev.varsにも別途記載が必要です。ここは筆者も最初戸惑ったところなので、公式ドキュメントを見ながら落ち着いて確認すると良いでしょう。

ポイント:まずは応答を返すだけの最小構成で動作確認し、そこからAI連携やエラーハンドリングを段階的に追加していくと、問題の切り分けがしやすくなります。

まとめ

Cloudflare Workersを使ったAI Slackボットは、サーバー管理の手間を大きく減らしながら、実務でも使える応答自動化を実現できる構成です。最初はSlack App側の設定項目の多さに戸惑うかもしれませんが、手順を一つずつ踏めば、今日中に最初の動作確認まで進められるはずです。まずは固定文言を返すところから、気軽に手を動かしてみてはいかがでしょうか。

PR

スキルを収入に変えるなら

AIツールで身につけたスキルは、クラウドソーシングで仕事にできます。販売手数料が業界最安級の「クラウディア」なら、初心者でも小さく始めやすいのが特徴です。

販売手数料★業界最安級★スキルシェアマーケット【クラウディア】

コメント

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