webhooks.xyz

AI Assistant · BYOK

BYOK = bring your own key. You add the API key of your AI provider; we never bill for AI. Open a request, press Explain, and get the fields that matter and what a handler must do. Press Handler in and get working code for that exact event, with signature verification. Ask a question in plain words. Summarise the last 24 hours of a bin in one click. The assistant uses your own key: you pay your provider, the assistant itself is free on every plan.

Providers

ProviderDefault modelKey
Anthropicclaude-sonnet-5-5get a key sk-ant-…
OpenAIgpt-4.1-miniget a key sk-…
Google Geminigemini-2.5-flashget a key AIza…
Mistralmistral-small-latestget a key …
Groqllama-3.3-70b-versatileget a key gsk_…
OpenRouteranthropic/claude-sonnet-4.5get a key sk-or-…

Type any model name your provider offers; the default is only a start. OpenRouter gives one key for many models. Up to 6 keys per account; pick one per question when you have more than one.

Set up

  1. Sign up or sign in. Keys belong to an account, so anonymous bins show the assistant only after you sign in.
  2. Open Account → AI assistant. Pick the provider, paste the key, press Add and test. The test sends one short prompt and shows the provider's answer or error.
  3. Open a bin you own and select a request. The assistant bar is under the signature result.

What you can ask

ButtonWhat you get
ExplainWho sent it, what happened, the fields a handler needs and where they are, what the handler must do and must not do.
Handler in …A minimal handler for exactly this event in Python (FastAPI), Node.js (Express), Go (net/http), Ruby (Sinatra), PHP, Java (Spring), C# (ASP.NET), Rust (axum): raw-body signature check, parsing, duplicate handling by event id, the right response code.
Suggest a filterA rule in the actions filter syntax (field op value, one per line). Write what you want to keep in the Ask box first.
AskAny question about the selected request.
✨ SummaryThe last 24 hours of the bin: volume and timing, senders and events, signature failures, non-2xx answers, bursts and duplicates, what to look at first.

Every answer is kept with the request. Select the request again and the last answer is shown; GET …/ai below lists them all.

What is sent to the provider

API

curl -H "Authorization: Bearer whx_…" -H "Content-Type: application/json" \
  -d '{"task": "explain"}' https://webhooks.xyz/api/v1/bins/k7f3abc/requests/42/ai

# task: explain | handler (+ "lang": "go") | filter (+ "question") | ask (+ "question")
# optional "key_id" from GET /api/v1/ai/keys
curl -H "Authorization: Bearer whx_…" -d '{"hours": 24}' https://webhooks.xyz/api/v1/bins/k7f3abc/ai/summary
curl -H "Authorization: Bearer whx_…" https://webhooks.xyz/api/v1/bins/k7f3abc/requests/42/ai   # answers so far

Answers are Markdown in answer, with provider, model, tokens_in, tokens_out and ms. A provider failure returns HTTP 502 with error. The MCP server gives Claude, Cursor and other clients the raw requests instead, for their own models.