Anthropic · Claude Managed Agents

讓 Claude webhook 撐得住一個 Claude follow-up。

Anthropic 把 agent 結果用 webhook 推給你。你想把它再丟回另一個 Claude 呼叫做格式化、評分、分流——再 30 秒。AnyHook 處理這個 gap。

時序問題

Anthropic 在 2026 年 5 月正式為 Claude Managed Agents 上 webhook。Delivery 模式很標準——10 秒內 ack 200,不然重試。

Agent 結果最自然的後續就是再餵一個 Claude 呼叫:總結 trace、分類輸出、決定要不要升級。這第二次呼叫又要 20–40 秒。實事還沒做完,SLA 已經超了。

10s
Anthropic webhook 回應視窗
30s+
第二次 Claude 呼叫做總結 / 分類
5
Anthropic 預設重試次數
0
Handler 程式碼變更

改一個 URL — Claude pipeline 保持不變

AnyHook 立即 ack Anthropic,然後把驗過簽的事件 forward 給你的 endpoint,同時帶上原始 Anthropic-Signature 與重新簽的 AnyHook-Signature。

// 在 Anthropic dashboard 把 webhook URL 設為:
//    https://in.anyhook.net/{user-slug}/{app-slug}
//
// Handler 現在可以自由地跑 follow-up Claude 呼叫。

import Anthropic from "@anthropic-ai/sdk";
import { verifyWebhook } from "@anyhook/verify";

const anthropic = new Anthropic();

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

  const { agent_result } = await req.json();

  // 跑 30+ 秒沒關係,Anthropic 已經看到 200。
  const summary = await anthropic.messages.create({
    model: "claude-opus-4-7",
    max_tokens: 800,
    messages: [{ role: "user", content: `Summarise: ${agent_result}` }],
  });

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

工程團隊常問的問題

AnyHook 怎麼驗 Anthropic 的簽章?
AnyHook 對你設定的 source_secret 做 HMAC-SHA256 驗證,通過才接受事件。原始的 anthropic-signature header 原封 forward,AnyHook 再加上自己的 AnyHook-Signature 給下游驗。
Claude Managed Agent webhook 會吃掉我的 Anthropic 額度嗎?
Anthropic 把每個事件 deliver 給 AnyHook 一次(加上他們自己的 retry,如果 AnyHook 沒 ack)。之後所有對你 endpoint 的重試都由 AnyHook 處理。你 handler 跑得慢不會壓力傳回 Anthropic。
我之後還能看到原始的 Claude payload 嗎?
可以。AnyHook 依照 plan 保存每個事件 3 / 30 / 90 天(加密儲存)。你可以檢視原始 payload、replay 到 endpoint、或 fork 到第二個 destination。

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

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