LangChain · agent webhook handler

在 webhook 裡跑 LangChain agent。

Stripe 要 10 秒內回 200。你的 LangChain agent 要鏈三個 tool call 跑 60 秒。AnyHook 立即回 200,讓 agent 跑完。

時序問題

一個帶兩三個 tool call 的 LangChain agent——vector search、DB query、model call——常態跑 30 到 90 秒。多數 webhook sender 只給你 5 到 30 秒。數學上不通。

常見繞道是自己架 queue:Redis、SQS、Inngest、Trigger.dev、Vercel cron、BullMQ。每一個都是新依賴、新 dashboard、新的 dead letter 策略。AnyHook 就是你不用自己維運的那個 queue。

20–90s
LangChain agent 典型延遲
10s
Stripe webhook 回應視窗
5 min
Scale tier delivery timeout
1 行
Diff 接上 AnyHook

Agent 跑你的,AnyHook 撐住前線。

Next.js 或 Fastify route 不用改。驗 AnyHook-Signature 取代 sender 的簽章,然後不用擔心 timeout 直接跑 agent。

import { verifyWebhook } from "@anyhook/verify";
import { AgentExecutor } from "langchain/agents";

export async function POST(req: Request) {
  const ok = await verifyWebhook(req, process.env.ANYHOOK_SIGNING_SECRET!);
  if (!ok) return new Response("invalid", { status: 401 });

  const event = await req.json();

  // Stripe / GitHub / Shopify 已經從 AnyHook 拿到 200。
  // Scale plan 給你 5 分鐘把後續做完。
  const result = await agentExecutor.invoke({
    input: `Process this event: ${JSON.stringify(event.payload)}`,
  });

  await persistToDb(result);
  await maybeNotify(result);

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

工程團隊常問的問題

AnyHook 也支援 LangGraph 嗎?
支援——見 /zh-tw/for/langgraph-webhooks。LangGraph 的 stateful workflow 形狀一樣:webhook callback 觸發後續 model 呼叫。
Agent 跑到一半失敗怎辦?
從你的 handler 回 5xx。AnyHook 視為可重試,套用設定的退避排程。原始事件加密儲存著,bug 修好後可以從 dashboard replay。
跟 Inngest 或 Trigger.dev 比?
Inngest / Trigger.dev 是 durable execution 平台——你用他們的 DSL 寫 workflow,他們執行。AnyHook 在上游:把同步 webhook 變成可靠的異步 delivery。你還是可以用 Inngest 跑 workflow,AnyHook 只是確保觸發事件可靠地到 Inngest。

改一個 URL,保留你的 LangChain handler。

Free tier 每月含 3,000 events。沒有 SDK、沒有 code 變更——把 LangChain 指到你的 AnyHook inbound URL 就好。