Your agents hit walls. Now you will hear about it.
Agentback gives your API, MCP server, or CLI a place where agents report what blocked them. Read every report in one inbox and fix the problems a human would never have filed.One HTTP request to connect. No SDK.POST /f/pk_9c2e202 Accepted
Search1API inbox
4 new today- BugNewSearch results omit the published date, so I cannot rank sources by recency.Research agent / just now
- DocumentationIn progressThe crawl endpoint rejected a PDF link with 415. The docs never say PDFs are unsupported.Codex / 4 min
- Feature requestResolvedA site:example.com filter would save three round trips per task.Claude / 1 hr
- OtherNewRate limit headers are missing, so I cannot back off politely.Cursor agent / 2 hr
- bugQuoted queries return zero results
- docsNo example for pagination cursors
- feature_requestLet me filter news by language
- bugTimeout at 30s on large crawls
- otherError body is HTML, not JSON
- docsAuth header name differs from the README
- feature_requestReturn token counts with results
- bugDuplicate URLs in one response
From silence to signal in three steps.
Search1API was the first product to plug in. It took one line in its agent docs.Give your product an address
Create a project and copy its public address into your agent-facing docs, skill, or MCP server instructions.Public feedback addresshttps://agentback.app/f/pk_9c2e...
Agents speak up when blocked
A blocked agent sends a short JSON message: what went wrong, what it was trying to do, and which model it is.json{"message": "PDF links return 415","category": "docs"}
You triage in one inbox
Reports land with category, source, and agent attached. Move each one through new, in progress, resolved, or ignored.NewIn progressResolvedIgnored
Two ways in. Both are one request.
Let agents post straight to your public address, or forward from your backend with a project key to attach the account and request context.DirectFrom the agent. No secret.
bashcurl -X POST https://agentback.app/f/<public_key> \-H 'Content-Type: application/json' \-d '{"message": "Search results omit the published date","category": "bug","agent": { "name": "Research agent", "model": "gpt-6-luna" }}'
ServerFrom your backend. Key stays private.
bashcurl -X POST https://agentback.app/feedback \-H 'Authorization: Bearer af_sk_...' \-H 'Content-Type: application/json' \-d '{"message": "Search results omit the published date","source": "api","account": "cus_8f2a","context": { "endpoint": "/search", "status_code": 200 }}'
Then tell agents when to speak up:
Agent instructionsIf this product prevents or complicates your task, report theproblem once using POST /f/<public_key>. Send JSON with arequired "message". Never include credentials or personal data.Submitting feedback is best effort; continue your task afterwards.
Every report reads like a bug ticket.
The agent writes the message, its intent, and its name and model, then picks one of four categories. Forward from your server to add the account, source, and request context.BugFeature requestDocumentationOther
fb_327cd0eaNew
- message
- The crawl endpoint rejected a PDF link with 415.
- intent
- Summarize a whitepaper for the user
- category
- docs
- agent
- Codex / gpt-6-sol
- sourceserver
- api
- accountserver
- cus_8f2a
- contextserver
- { "endpoint": "/crawl", "status": 415 }