① Cloudflare アカウント作成


② Wrangler CLI をインストール

ターミナルで:

npm install -g wrangler
wrangler login

→ ブラウザが開き、Cloudflare アカウントと紐づけます。


③ 新しい Worker を作成

wrangler init slack-command
cd slack-command

質問が出たらすべて Enter で構いません。


src/index.ts を編集

例えば固定テキストを返却したい場合は、Slack コマンドに返す固定テキストを指定します👇

export default {
  async fetch(request: Request) {
    // Slack からの POST を受け取る
    if (request.method === "POST") {
      const text = `★固定テキスト★`;

      return new Response(text, {
        headers: { "Content-Type": "text/plain; charset=utf-8" },
      });
    }

    return new Response("OK", { status: 200 });
  },
};


wrangler.jsonc を編集

この部分👇

"assets": {
  "directory": "./public"
}

が設定されているため、
Cloudflare が「これは静的ファイルを配信するプロジェクトだ」と認識してしまいます。

この assets の部分を 削除 するか、コメントアウト してください。

つまり、ファイルをこのようにします👇

{
  "$schema": "node_modules/wrangler/config-schema.json",
  "name": "slack-command",
  "main": "src/index.ts",
  "compatibility_date": "2025-11-09",
  "compatibility_flags": [
    "global_fetch_strictly_public"
  ],
  "observability": {
    "enabled": true
  }
}

"assets": { "directory": "./public" } は完全に削除してOK。
(今回は HTML を配信しない「API Worker」だから不要です)


⑤ デプロイ

wrangler deploy

Workers を公開するには、まず一度この サブドメイン登録 を行う必要があります。
Y を押下して、好きなサブドメインを登録してください。

実行後に次のような URL が表示されます:

✨  Successfully published your script!
 https://slack-command.<your-account>.workers.dev

⑥ Slack 側設定

  1. Slack App 管理画面 で新規作成
  2. 「Slash Commands」 → 「Create New Command」
  3. Request URL に先ほどの Workers URL を設定
  4. 保存 → ワークスペースにインストール

Slack で

/mycommand

を実行すると、即座に固定テキストが返るはずです 🎉


💡補足

  • Cloudflare Workers は世界中のエッジで動作し、ほぼ 0.1 秒で応答します。
  • 無料枠:10 万リクエスト/日まで 無料。
  • Node.js 依存なし、すべて JavaScript で記述可。

ログインでエラーが出る場合

方法①:一時的に実行を許可(推奨)

PowerShell を管理者権限で起動して、次を入力:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

そのあと、同じウィンドウで:

wrangler login

これで一時的にスクリプト実行が許可され、Wrangler のログインが進みます。
(この設定は PowerShell を閉じると元に戻ります)

SlackやGASなどを用いた業務効率化のご相談をいただけます

カテゴリー: DX