Workflow có trạng thái, không lo timeout.

LangGraph Platform gọi endpoint của bạn khi một node chạy tiếp. Node đó có thể bắn thêm hai lệnh gọi mô hình ngôn ngữ lớn (LLM) trước khi xong. AnyHook cho bạn khoảng dư thời gian đó.

Bài toán thời gian

Webhook callback của LangGraph Platform báo rằng một workflow đang tạm dừng đã sẵn sàng chạy tiếp. Node chạy tiếp thường kích hoạt thêm các lệnh gọi mô hình, và đó chính là ý nghĩa của workflow có trạng thái.

Nếu bạn nối LangGraph vào một sự kiện Stripe hay GitHub, bạn bị kẹt: bên gửi upstream cho bạn 10 tới 20 giây, còn LangGraph và các lệnh gọi downstream cần 60 tới 120 giây. AnyHook tách rời hai dòng thời gian đó.

60–120 giây
Độ trễ thường gặp khi LangGraph chạy tiếp
10 giây
Timeout webhook GitHub công bố
AES-256-GCM
Payload được mã hóa khi lưu trữ
Một cú bấm
Phát lại bất kỳ sự kiện nào trong thời hạn phát lại của gói

Chuyển tiếp callback LangGraph qua AnyHook

Cấu hình LangGraph gọi URL nhận (inbound URL) của AnyHook khi workflow cần chạy tiếp với handler (đoạn code xử lý webhook trên server của bạn). AnyHook xác nhận (ack) rồi chuyển tiếp, còn bạn xử lý theo nhịp của mình.

import { verifyWebhook } from "anyhook-verify";
import { Client } from "@langchain/langgraph-sdk";

const lg = new Client({ apiUrl: process.env.LANGGRAPH_API_URL });

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

  const { thread_id, node_id, payload } = await req.json();

  // Resume the LangGraph thread. Two more model calls + a vector
  // search are common here. Total ~90s.
  const result = await lg.runs.create(thread_id, "agent", {
    input: payload,
    config: { configurable: { resume_from: node_id } },
  });

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

Câu hỏi các team thường đặt ra

AnyHook có xử lý ngữ nghĩa trạng thái chạy tiếp của LangGraph không?
AnyHook là hạ tầng ở tầng HTTP, nó không mô hình hóa checkpoint của LangGraph. Handler của bạn vẫn nắm trạng thái workflow. AnyHook chỉ lưu tín hiệu chạy tiếp và thử lại (retry) tới handler của bạn theo lịch của gói, kèm phát lại (replay) cho mọi thứ vẫn thất bại.
Tôi có thể fan-out một callback LangGraph tới nhiều service downstream không?
Có. Cấu hình nhiều đích trên App (một URL nhận cho một nguồn webhook, ví dụ “Stripe production”) của AnyHook, và mỗi lượt gửi là độc lập: một đích có thể thành công trong khi đích khác đang thử lại.
Một lần gửi được chạy tối đa bao lâu?
60 giây trên gói Free, 120 giây trên gói Pro, 300 giây (5 phút) trên gói Scale. Phần lớn callback chạy tiếp của LangGraph nằm gọn trong giới hạn của gói Pro.

Đổi một URL. Giữ nguyên handler LangGraph của bạn.

Gói Free gồm 10.000 sự kiện / tháng. Không cần SDK: trỏ LangGraph về URL nhận webhook của bạn trên AnyHook.