Busabase

Webhook とイベント

承認・メンション・アップロードにリアルタイムで反応します。コード不要、必要なら少しだけコードも書けます。

Webhook とイベント

左上のスペースメニューを開き、Webhooks を選ぶと自動化ルールを設定できます。シンプルなケースならコードは不要で、必要なときだけ小さなサンドボックス関数を書けます。

Webhooks ダイアログ。3 つの異なるアクションを持つルールが並び、そのうち 1 つは実行に成功している。

Webhooks ダイアログ。3 つの異なるアクションを持つルールが並び、そのうち 1 つは実行に成功している。

ルールを起動するもの

ルールを作成するときにイベントを選びます。ルールを特定の Base に絞ることも、スペース全体に対して有効にすることもできます。

ルールが反応できる 4 種類のイベントタイプ。

イベント発火するタイミング
New Record(新規レコード)レコードが作成され、Base にマージされたとき
@AI mention(AI へのメンション)コメントで誰かがエージェントを @ メンションしたとき
Changes requested(修正依頼)レビュー担当者が変更リクエストを修正依頼として差し戻したとき
Asset uploaded(アセットのアップロード)Busabase がまだテキストを読み取れないファイル(画像やスキャン PDF など)がアップロードされたとき — 外部の OCR や文字起こしのステップと連携するのに便利

ルールにできること

ルールは次の 3 つのいずれかを行います。

アクション何が起こるか
Webhook指定した URL へ署名付きの HTTP POST を送信 — 定番の「別のシステムに通知する」webhook
Notify agent(エージェントへ通知)同じ署名付き POST を、あなたの AI エージェントのエンドポイントへ送り、処理を引き継がせる
Run function(関数を実行)Busabase の内部で直接、自分で書いた小さな JavaScript を実行 — 自前のサーバーは不要

WebhookNotify agent は URL さえあれば動きます(任意で、Busabase がリクエストの署名に使うシークレットを設定でき、受信側で本当に Busabase から送られたものかを検証できます)。

関数を書く

Run function は最も柔軟な選択肢です。短いスクリプトを書くと、イベントを input として受け取り、fetch(url, options) を直接呼び出して他のサービス — Slack、チケットシステム、自分の API、URL を持つものなら何でも — に到達できます。

関数エディタ:コード、利用できる機能を説明する補足メモ、タイムアウト設定。

関数エディタ:コード、利用できる機能を説明する補足メモ、タイムアウト設定。

関数でできること:

  • input を読む — イベントのデータ(レコードのフィールドや、発生した Base など)
  • console.log(...) を呼ぶ — ログに出力した内容は後で配信ログに表示され、ルールをデバッグする一番簡単な方法になる
  • fetch(url, options) を最大 10 回まで呼ぶ — 他のシステムへの通知、何かの照会、複数のリクエストの連結などに使える
  • 値を return する — 参考のために記録されるだけで、それ以上は何も起こらない

関数全体(内部で行う fetch 呼び出しも含めて)がどれだけ実行を許されるかは、タイムアウト(100ms〜5000ms)で設定します。

安全性を保つ

関数は隔離されたサンドボックス内で実行され、あなたのファイルや環境変数、サーバー上の他の何にもアクセスできません。触れられるのはネットワークだけで、それも fetch を通じてのみ、しかもガードがかかっています。自分自身の内部ネットワーク(localhost、プライベート IP レンジ、クラウドインフラのアドレスなど)に向けたリクエストは自動的にブロックされます。関数は外の世界と話すためのものであり、自分自身のインフラを探るためのものではありません。

うまくいったかどうかを確認する

すべてのルールは、直近の実行の簡単な履歴を保持しています — ルールを展開すると確認できます。Success(成功)のエントリにはログに出力した内容が表示され、Failed(失敗)のエントリにはエラー内容が表示されるので、何がうまくいかなかったかを正確に把握して修正できます。

あるルールの配信ログ。成功した実行とそのログ出力を示している。

あるルールの配信ログ。成功した実行とそのログ出力を示している。

Test now(今すぐテスト)ボタンを押せば、いつでもリアルなサンプルデータでルールを即座に発火できます。実際のイベントが起きるのを待つ必要はなく、ルールがまだ無効になっていてもテストできます。

関連: コアコンセプト · クイックスタート · REST API

On this page