2026年4月15日、Unstructuredは、ジョブライフサイクルイベントに基づいて下流アクションを自動化するWebhook機能を発表しました。Unstructuredは通常、AIパイプラインの入り口に位置し、様々なソースからドキュメントを取り込み、処理ノードを経て構造化されたデータを宛先に送信します。新しいWebhookにより、ジョブがスケジュール、開始、完了、停止、または失敗したときに、ユーザーが制御するエンドポイントに自動的にシグナルが送信され、後続の処理や通知、他のツールとの連携が可能になります。
Webhookはジョブのライフサイクルにおける5つのイベントで発火します:job.scheduled(ジョブがキューイング)、job.in_progress(処理開始)、job.stopped(停止)、job.failed(失敗)、job.completed(完了)。イベント発生時、UnstructuredはエンドポイントにHTTPS POSTリクエストを送信し、ペイロードにはイベントタイプ、ジョブID、ワークフローID、処理時間などが含まれます。さらに、各リクエストには3つのヘッダー(webhook-id、webhook-timestamp、webhook-signature)が付与され、リクエストが本当にUnstructuredからのものであることを検証できます。
Webhookのスコープは2種類あります。ワークスペーススコープのWebhookはワークスペース内のすべてのジョブのイベントを監視し、全体的な可視性が必要な場合に適しています。ワークフロースコープのWebhookは特定のワークフローのジョブのみを対象とし、特定の応答が必要な場合に適しています。UnstructuredのAPIでは、どちらも通知チャネルと呼ばれ、作成場所が異なります。ワークスペーススコープのチャネルはUIまたはAPIで作成でき、ワークフロースコープのチャネルはAPIのみで作成できます。
Webhookを使用すると、さまざまな用途が可能です。最も直接的なのは通知です。ジョブ完了時にSlackにメッセージを送信したり、失敗時にオンコールエンジニアにページングしたりできます。もう一つの重要な用途は、下流パイプラインのトリガーです。Unstructuredの処理が完了したら、自動的に次の処理を開始したり、ステータスを更新したりできます。POSTリクエストを受け入れる任意のエンドポイントをレシーバーとして使用できます。Slack、Discord、メールサーバー、独自のサーバーなどが該当します。
開始するには、Unstructured UIまたはAPIを使用して通知チャネルを作成し、ターゲットエンドポイントとトリガーイベントを指定します。必要に応じて署名シークレットを追加できます。作成後、一致するジョブイベントがすぐにペイロードを送信し始めます。各リクエストには検証用の3つのヘッダーが含まれており、完全な検証実装はドキュメントに記載されています。最も簡単なテスト方法はwebhook.siteを使用することです。無料のレシーバーを設定し、通知チャネルを作成し、ワークフローを実行するとペイロードが届きます。わずか10分でライブWebhookを稼働させることができます。詳細はUnstructuredのドキュメントをご覧いただくか、無料でサインアップしてお試しください。