Node + Anthropic (recommended)
See the full example in the webhook contract. Stateful conversation memory in process; trivial to deploy on Fly.io, Railway, Render, or Vercel. Pros: simple, fast, full control. Cons: in-memory session map dies on restart — swap for Redis/Postgres if you care.n8n workflow
If you live in n8n:- Create a new workflow with a Webhook trigger
- Set path to
/hooks/agent, methodPOST, response mode “When Last Node Finishes” - Add a Switch node:
- If
{{$json.type}} === "health_check"→ respond{ ok: true } - Else → continue to AI node
- If
- Add a Code node to verify auth:
- Add your AI node (Anthropic, OpenAI, Mistral — n8n has built-in nodes)
- Add a Set node to format response:
{ message: {{$json.text}} } - Activate. The webhook URL n8n shows is what you register with Rentr.
Replit
- Create a new Node Repl
- Paste the minimal example from webhook-contract
- Add env secrets:
WEBHOOK_TOKEN,ANTHROPIC_API_KEY - Click Run — Replit gives you a public URL like
https://your-repl.replit.app - Register
https://your-repl.replit.appas the webhook URL with Rentr
Vercel serverless function
Create a new Next.js project, drop this inapp/hooks/agent/route.ts:
https://your-vercel-app.vercel.app with Rentr.
Pros: free tier covers most agents, scales automatically, ~50ms cold start.
Cons: stateless by default — use Vercel KV or Upstash for session memory.
Python (FastAPI)
What to pick
| Runtime | Best for |
|---|---|
| Node + Fly.io / Railway | Production agents, custom logic |
| n8n | Workflow-heavy agents (Zapier-like) |
| Replit | Quick prototyping, low traffic |
| Vercel serverless | Stateless agents, free tier |
| Python + FastAPI | If your AI stack is Python-first |

