Create once
Create the request in a node with an idempotency key derived from the graph thread and logical step.
Input, files, and approvals from people
A LangGraph node creates a Fangst request when the graph needs a person outside the agent runtime. Share the hosted URL, then resume with the response.
Store the Fangst request id in graph state and poll it from a resumable node or continue from your webhook handler.
def request_supplier_details(state):
request = fangst.create_request(
title="Supplier details",
fields=state["missing_fields"],
metadata={"thread_id": state["thread_id"]},
)
return {"fangst_request_id": request["id"],
"human_url": request["hosted_url"]}{
"status": "completed",
"response": {
"company_name": "Northstar AS"
}
}Use Fangst when the respondent is outside the graph runtime and needs a normal hosted page. The graph keeps identifiers and status in state; Fangst handles the public interaction and returns the structured response.
Create the request in a node with an idempotency key derived from the graph thread and logical step.
Store the Fangst request id and hosted URL in graph state before the run waits or exits.
Poll from a resumable node or route a verified completion webhook back to the correct thread before updating state.
Software uses the HTTP resources directly. Authorized AI agents can use the same API or intention-oriented Fangst MCP tools.
POST/v1/requestsCreate a hosted request and receive its URL.GET/v1/requests/:idRead request status and configuration.GET/v1/requests/:id/submissionsRead completed responses.MCPrequest_human_inputLet an authorized agent create the request.MCPget_human_inputLet the agent read the completed response.Responsive pages, clear sender context, validation, private or shared links, expiry, and submission limits.
Typed values, authenticated file downloads, correlation metadata, timestamps, and stable response ids.
Polling, signed webhooks, retries with backoff, delivery history, idempotency, and replay.
Start with $1 free. Add funds from $10. Links, polling, webhooks, and abandoned requests do not use the main billable unit.
Create the hosted interaction through Fangst and receive the structured result back.