Replitのプライベートアプリに、webhookを含む外部サービスを安全に接続できるようになりました。2026年5月6日に公開された「External Access Tokens」がその仕組みです。

この記事でわかること

  • プライベートアプリにwebhookが届かなかった問題の背景
  • External Access Tokensの仕組みと使い方
  • トークンの発行・管理・取り消しの手順
  • 利用できるプランの変化

プライベートアプリとwebhookの相性問題

Replitには「Private Publishing」というアクセス制限機能があります。URLをネットワークレベルでブロックし、特定ユーザーだけにアプリを公開する仕組みです。社内ツールや開発中のプロトタイプに向いています。

ただし、長らく制約がありました。GitHubのActionsやSlack Botのような外部サービスから、プライベートアプリにリクエストを送れないのです。webhook受信が必要な場面では、アプリを一時的に公開状態にするしかなく、プライベート設定とのトレードオフを迫られていました。

External Access Tokensとは

External Access Tokensは、このトレードオフをなくすためのトークン認証機能です。

特定のアプリ向けにトークンを発行し、そのトークンを外部サービスに渡します。外部サービスからのリクエストにトークンが含まれていれば、Replitがそれを検証してアプリに転送します。アプリ本体は非公開のまま、信頼できるサービスだけと通信できるようになります。

対応するユースケースは、webhookの受信、GitHub ActionsからのAPIコール、Slackとの連携、Stripe決済通知の受け取り、CI/CDパイプラインや内部スクリプトからのリクエストなど幅広く想定されています。

トークンの発行と管理

トークンはPublishingペインのSecurityセクションから作成します。作成時に用途を識別するラベルを付けられ、有効期限の設定も可能です。一時的なアクセスだけ許可したいケースで役立ちます。

トークンは作成直後に一度だけ表示されます。その場でコピーして外部サービスに設定する必要があります。

スコープは作成時に「development(開発環境)」か「production(本番環境)」から選びます。環境ごとにアクセスを分けることで、本番環境への意図しない接続を防ぎやすくなります。

不要になったトークンは、ゴミ箱アイコンをクリックするだけで即座に無効化できます。サービスごとに個別のトークンを発行しておくと、特定サービスのアクセスだけを切れるため管理が楽になります。

外部サービスへの設定方法

外部サービス側の認証方法は2種類あります。HTTPヘッダーを使う方法とURLクエリパラメーターを使う方法です。

webhook受信やバックエンドからの呼び出し、CI/CDパイプラインなど大半のケースではHTTPヘッダー方式が推奨されています。具体的な設定手順は、接続先サービス(GitHubやSlackなど)のドキュメントを参照してください。

利用できるプランの変化

今回のアップデートと同時に、Private Publishing自体の提供範囲も拡張されました。

これまでPrivate Publishingを使えるのはProプラン(月額100ドル)とEnterpriseプランのユーザーだけでした。今回からStarter(無料)とCore(月額25ドル)でも利用できます。External Access Tokensは、Private Publishingを有効にしているすべてのプランで使えます。

プライベートなまま外部と繋がる

「プライベートに保ちながら外部と連携する」という要件は、内部ツールの開発では頻繁に登場します。Slackへの通知送信、GitHubとの連携、決済プロバイダーからの通知受け取りなど、多くの機能がwebhookやAPIコールを前提としているからです。

External Access Tokensは、こうしたケースでアプリを公開せずに外部サービスと繋ぐ選択肢を提供します。Starter(無料)から使えるようになったため、コストを抑えながら安全な構成を取りたい開発者にも選びやすい状況になっています。