Webhooks & integrations

Svix

オープンソースのWebhook配信サービス。再試行、署名、配信履歴つきで顧客にイベントを送る

svix/svix-webhooksRust3,376 as of 2026-08-30
By Jake Luo · Published 2026年8月30日

Svixは、自社の顧客へWebhookを送るためのオープンソースかつ自己ホスト可能なサービスです。APIを一度呼べば、配信も再試行もペイロードの署名もエンドポイントごとの履歴もSvixが引き受けます。MITライセンス、Rust製で、2026年8月時点のGitHubスター数は3,376でした。小さなチームにとっては「Webhookに対応すべきだ」という話が、二週間分のキュー配管から一日の作業に変わります。これは見た目以上に効きます。送信Webhookは提供できる連携面のなかで最も安く、連携は流通そのものだからです。

Svixとは何か

Svix(github.com/svix/svix-webhooks)は、ホスティング版Svixの背後にあるオープンソースのディスパッチャーです。自分のアプリケーションはAPIを一度呼んで、あるアプリケーションのエンドポイント群にメッセージを送るだけ。その先はすべてSvixの担当です。リポジトリ同梱のDocker Composeファイルで起動でき、必要な依存も同時に立ち上がります。保存にPostgreSQL、タスクキューとキャッシュにRedis(任意、6.2.0以上)です。公式クライアントライブラリはGo、Python、TypeScript、Java、Kotlin、Ruby、C#、Rust、PHPを網羅し、Terraformプロバイダーとnpmからそのまま実行できるCLIも用意されています。

リポジトリが実際に提供するもの
  • 署名付きペイロード。 既定は事前共有の対称鍵です。READMEによれば、対称署名は非対称のed25519方式に比べて署名で約50倍、検証で約160倍速いとされています。秘密を配る代わりに公開鍵を渡したい場合のために、非対称方式も利用できます。
  • 再試行とデッドレターキュー。 内部エラーが続いたタスクはDLQに入ります。READMEは専用メトリクスで深さを監視し、原因を直したあと管理用エンドポイントから再投入するよう指示しています。
  • SSRF対策。 内部IPアドレスへの配信は既定で遮断され、受信側が本当に内部にある場合のためにサブネットの許可リストが用意されています。
  • 運用Webhook。 サーバー自身についてのWebhookを受け取れるので、顧客がエンドポイントを無効化・変更したことをポーリングなしで知ることができます。

READMEは自らの限界について珍しく率直です。ホスティング版にはリポジトリにまだ入っていない機能・最適化・挙動があり、両者は「ほぼ互換だが完全ではない」と説明されています。オープンソース版が同等だと決めてかかる前に読む価値があります。

Webhookが配管ではなく成長面である理由

Webhookは技術課題として分類されます。だからいつまでも来期のままなのです。この分類が間違いです。送信Webhookは、一度作れば二度と作り直さずに済む唯一の連携です。存在した時点で、顧客のほうがZapierやn8nや社内スクリプト、すでに使っている何かへあなたをつなぎ込みます。そのひとつひとつが、交渉せずに手に入れた提携です。連携を作る価値があるかのページで全体の議論をしていますが、Webhookはその表のなかで最も安い行です。

  • 提携なしの流通 エンドポイント一つで、顧客がすでに課金している自動化ツールすべての内側に入れます。個別のコネクタを一つも出さずに、です。
  • 交渉せずに得られる継続率 自社の内部システムがあなたのイベントに反応している顧客には、機能比較表では作れない乗り換えコストが生まれます。
  • 安く済むサポート面 「なぜ発火しなかったのか」は、顧客自身が見られる配信履歴から答えられます。夜11時に自社のログを掘る必要はありません。
  • 読まれるドキュメントを書く動機 イベントのペイロード仕様は、ブックマークされる数少ないドキュメントです。だからこそ検索で狙う価値のあるページになります。

受け取る側に立って学んだこと

私たちは大規模にWebhookを送る側ではありません。受け取る側としては大量に扱っています。決済にも、チャットにも、エージェントが触るあらゆる連携にも出てきます。そこから習慣が二つ生まれました。どちらも送る側でも下すことになる判断です。一つ目。受信側は、それを処理する機能が無効になっていても200を返してイベントを記録すべきです。そうしないと送信側が再試行し、再試行の嵐は無視するイベントより厄介だからです。二つ目。すべてのハンドラは二回動いても安全でなければなりません。同じイベントは必ず二回届くからです。これは送信側の不具合ではなく、少なくとも一回配信という仕様そのものです。

送信側での鏡像は、私たちが別の場所で間違えて二度と繰り返したくないことです。通信の成功は操作の成功ではありません。HTTP呼び出しが200を返したという理由で投稿を公開済みと記録した一方、その下の本文には拒否されたと書かれていたことがあります。Webhookを送る側に立つなら、配信記録はステータス行ではなく受信側の本文が言ったことを反映させ、顧客が自分で確かめられるように履歴を渡してください。Webhookを出しただけでは誰も来ません。求めていた顧客に告知し、ペイロードを文書化し、自動化ユーザーが見る場所に載ることが人を連れてきます。その半分はほかのすべてと同じ成長の仕事であり、AgentCeres — the AI Growth Officer(agentceres.com)はそのためにあります。告知文もドキュメントページもアウトリーチもエージェントが下書きし、外に出るものは人が承認します。

FAQ

Svixの自己ホストは無料ですか?
はい。リポジトリはMITライセンスで、サーバーは同梱のDocker ComposeとPostgreSQLで起動します。Redisベースのキューとキャッシュを使いたい場合はRedisも加えます。同じ会社がホスティング版も販売しており、READMEはオープンソースのディスパッチャーがホスティング版のすべての機能と最適化を備えているわけではないと明言しています。同じ製品だと仮定せず、自社の要件と突き合わせてください。
Redisは本当に必要ですか?
必須ではありません。READMEはPostgreSQLを必須、Redisを任意として挙げ、タスクキューとキャッシュに使うと説明しています。使う場合、READMEの設定メモが二つあり、見落としやすく学習コストが高い部分です。再起動をまたいでキューのタスクが残るよう永続化を有効にすること、そして明示的な有効期限のないキーが追い出されないよう退避ポリシーを設定することです。
対称署名と非対称署名のどちらを使うべきですか?
既定であり推奨でもあるのは対称署名です。両側で圧倒的に速く、顧客にとって検証がかなり簡単で、代わりにエンドポイントごとの共有シークレットが必要になります。非対称のed25519署名は、秘密を配るより公開鍵を公開したい場合のために存在します。これが効いてくるのは主に、受信側がサポート関係のない第三者であるときです。
Webhook送信は自分で作ればよいのでは?
作れますし、最初の版は小さく済みます。膨らむのは周辺です。指数バックオフ、失敗が続いたエンドポイントの自動停止、リプレイ対策、シークレットのローテーション、顧客が読める配信履歴、プロセスが再起動してもイベントを失わないキュー。これはAIマーケティングエージェントを自作すべきかで書いた内製か購入かと同じ形です。プロトタイプは週末で終わり、運用側の半分は終わりません。
Related projects
Novuオープンソースの通知インフラ —アプリ内、メール、SMS、プッシュ、チャットへのメッセージ送信を一つの API で。さらにエージェントをユーザーが暮らすチャネルへつなぎますn8nソースアベイラブルなワークフロー自動化——ツール同士をつなぐビジュアルキャンバスに、必要な場所でカスタムコードとAIステップを組み込めるBetter AuthTypeScript向けのフレームワーク非依存な認証・認可——自分のアプリの中で、自分のデータベースに対して動かすFlexprice顧客一人を支えるコストが実際に発生するプロダクトのための、オープンソースの使用量計測・クレジット・請求基盤。セルフホスト可能で、決済事業者を置き換えるのではなく隣に置いて使う設計

You built it. Now grow it.

AgentCeres is a managed AI marketing team — specialists draft the SEO, social, and outreach that fill your links, you approve what ships. 14-day free trial, from $39/month.

Start free trialMore projects