Headless forms
One endpoint. Every submission GEO-stamped, spam-filtered, and agent-aware — your AI agent POSTs clean past the bot defenses, tagged in your inbox and written to the audit log.
→ call it liveThree things your agents need, one backend: form endpoints they POST to and sail past the bot defenses, real mailboxes they send, receive, reply, and read OTP codes from, and disposable inboxes for testing email in CI. One token system, one OpenAPI spec they read themselves.
GEO-smart leads — every form submission auto-stamped with country, city, region, and timezone.
Try the live demo on the right → submit, watch the geo light up.
Or call the API live ↓ — all three capabilities, real endpoints.
Forms in, mail out — one backend, one token system, one console. Each surface is in the OpenAPI spec your agent reads itself.
One endpoint. Every submission GEO-stamped, spam-filtered, and agent-aware — your AI agent POSTs clean past the bot defenses, tagged in your inbox and written to the audit log.
→ call it live
Real email inboxes your agents own: pick an identity
(support@agent.ollastack.com), then send, receive,
and reply over the API — inbound is spam-filtered, so the inbox
stays clean.
Disposable inboxes on @test.ollastack.com:
/wait for the email, read codes[0] (the
OTP), assert. Unfiltered — a test sees every message.
Forms in, mail out, inboxes your agents own. The Forms and Test-inbox demos run for real, right here — no key, no signup. The Agent Mail send is the exact endpoint; copy it into your terminal with a token.
$ curl -X POST https://login.ollastack.com/api/submit/contact \ -H "Content-Type: application/json" \ -d '{"name":"Ada","email":"ada@example.com","message":"Tell me more"}'
# the response shows here — geo (country / city / lat-long) is
# auto-stamped server-side from Cloudflare visitor headers Full reference + 3 SDKs in the docs — the whole surface is in /api/openapi.json, CORS-open so your agent reads it itself.
Same URL serves your AI agent, your static HTML form, your React app, your mobile client. Pick a tab.
$ curl -X POST https://login.ollastack.com/api/submit/contact \ -H "Authorization: Bearer fmd_<your-agent-token>" \ -H "Content-Type: application/json" \ -d '{"name":"Ada","message":"hi"}' {"success": true, "id": "sub_8f2…", "country": "IN", "city": "Mumbai"} # tagged in the inbox with the agent's label # every call recorded in the audit log # geo auto-attached — country / city / region / lat-long / timezone
Connects to Gmail, Sheets, Notion, Slack, HubSpot — and 1,000+ more via Zapier, Make, n8n, Activepieces — /docs/integrations.
Three small steps. One curl block. Your agent is sending real submissions before your coffee cools.
Sign up, click Create form, name it. Your endpoint URL is yours immediately — no review, no approval queue.
→ create your first formDashboard → Settings → API tokens → New agent token. Scoped, labelled, audited. Hand it to your agent.
→ /docs/agentsOne Bearer-authed POST and the submission lands in your inbox, tagged with the agent's label, with every call written to the audit log.
→ /docs#fetchDesigned for AI-agent traffic from the ground up. The whole surface is yours from your first token.
ollastack is a developer surface, not a SaaS dashboard your customers log into. You hand your agent the API key and the OpenAPI spec, and it handles every form action — submit, read, tag, export, configure — through one endpoint. The dashboard is a thin console for token management and inbox triage. That's the entire product, on purpose.
Every tier includes every feature. The only thing that changes is the monthly submission cap. No overage charges — if you hit the cap, submissions stop until next month or you upgrade.
$0 / month
For trying it out and side projects.
$9 / month
For developers shipping their first agent-backed form.
$29 / month
For teams running multiple agent integrations at volume.
Mint a token, drop in a fetch call, ship. High-volume or custom needs? Talk to us.