Forms, mailboxes & email testing,
Built for your
AI agents.
Three 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.
One endpoint. Every submission GEO-stamped, spam-filtered, and agent-aware.
OLLASTACK
Real email inboxes your agents own. Send, receive, and reply over the API.
Disposable inboxes for CI. Read OTPs, assert, and test every email with ease.
READY
FRIENDLY
TOKEN AUTH
See Ollastack in action.
Submit a form and watch what happens.
Everything your agents can do.
Forms in, mail out โ one backend, one token system, one console. Each surface is in the OpenAPI spec your agent reads itself.
Headless forms
One endpoint. Every submission GEO-stamped, spam-filtered, and agent-aware.
Agent Mail
Real email inboxes your agents own.
Mail testing for CI
Disposable inboxes on @test.ollastack.com: read OTPs, assert, and test every email.
TRUSTED BY BUILDERS
Three capabilities. One API. Call them live.
The Forms and Test-inbox demos run for real, right here โ no key, no signup.
$ 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 is auto-stamped server-side # claim your agent's identity, then send as it $ curl -X POST https://login.ollastack.com/api/mailboxes \ -H "Authorization: Bearer fmd_<token>" \ -d '{"name":"Support","mode":"agent","handle":"support"}' $ curl -X POST https://login.ollastack.com/api/mailboxes/$ID/send \ -d '{"to":"user@example.com","subject":"Re: your demo","text":"โฆ"}'
{"success": true, "data": {
"address": "support@agent.ollastack.com",
"direction": "outbound", "deliveryStatus": "sent"}} # disposable inbox โ wait for the email โ read the OTP $ curl -X POST https://login.ollastack.com/api/mailboxes \ -H "Authorization: Bearer fmd_<token>" \ -d '{"name":"signup-ci","mode":"test"}' $ curl "https://login.ollastack.com/api/mailboxes/$ID/wait?timeout=55" \ -H "Authorization: Bearer fmd_<token>"
# click Run โ extracts the OTP, exactly like /wait + codes[0] in CI One endpoint. Five ways to call it.
Same URL serves your AI agent, your static HTML form, your React app, your mobile client.
$ 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": "Bengaluru"} # tagged in the inbox with the agent's label # every call recorded in the audit log
$ curl -X POST https://login.ollastack.com/api/submit/contact \ -H "Content-Type: application/json" \ -d '{"name":"Ada","message":"hi"}' {"success": true, "id": "sub_8f2โฆ"}
await fetch("https://login.ollastack.com/api/submit/contact", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ name, email, message }), });
<form action="https://login.ollastack.com/api/submit/contact" method="POST"> <input name="email" type="email" required/> <textarea name="message" required></textarea> <button>Send</button> </form>
import { useForm } from "@ollastack/react"; export function Contact() { const [state, handleSubmit] = useForm("contact"); if (state.succeeded) return <p>Thanks!</p>; return ( <form onSubmit={handleSubmit}>...</form> ); }
From API key to your first agent submission in two minutes.
Three small steps. One curl block. Your agent is sending real submissions before your coffee cools.
Create a form
Sign up, click Create form, name it. Your endpoint URL is yours immediately.
โ create your first formConnect your agent
One click mints a scoped, audited token and hands you a paste-ready agent prompt.
โ connect your agentYour agent POSTs
One Bearer-authed POST and the submission lands in your inbox, tagged with the agent's label.
โ docs#fetchCore features, on every plan.
Designed for AI-agent traffic from the ground up.
/api/openapi.json โ CORS-open, machine-readable. Agent frameworks consume it directly to discover endpoints and response shapes.Simple, transparent pricing.
Every tier includes the same core features โ the monthly submission cap is the main difference. No overage charges.
Free
For testing & personal sites
- โ 50 submissions / month
- โ Unlimited forms
- โ GEO-stamped leads
- โ 1 agent token
- โ Spam filtering
Solo
For indie hackers & builders
- โ 500 submissions / month
- โ Unlimited forms & webhooks
- โ Full Agent Mail & Test Inboxes
- โ 5 agent tokens + audit log
- โ Slack & Discord integrations
- โ AI Lead Enrichment built-in
Team
For fast-growing agent apps
- โ 5,000 submissions / month
- โ Unlimited team members
- โ Unlimited agent tokens
- โ Priority support & custom domains
- โ Dedicated IP for Agent Mail
Ready to give your AI agents a real backend?
Get started in two minutes. No credit card required.