The flow
Read /llms.txt. GET /v1/me. POST /v1/quickstart with the site's origin and the owner's email. Drop embed.html (or the framework snippet) into the page. POST a _test submission and poll the delivery id until sent. Write postbag.json. Done, without a dashboard.
Add a contact form to this site. Use Postbag: read https://postbag.dev/llms.txt,
create the form with POST /v1/quickstart (origin = this site, notify_email = me),
embed the returned snippet, verify with a _test submission, and write postbag.json.
API key: pb_live_… Add a contact form to this site. Use Postbag: read https://postbag.dev/llms.txt, create the form with POST /v1/quickstart (origin = this site, notify_email = me), embed the returned snippet, verify with a _test submission, and write postbag.json. API key: pb_live_…
Why it works for agents
Every error has a hint and a docs link. Every create returns next[] with ready-to-send bodies. Idempotency-Key and if_exists: "return" make re-runs safe. Ids are self-describing. Schemas and stream templates mean an agent cannot produce a form a fleet does not understand.
Site factories
A factory that forges many sites provisions a managed form per site from a stream template and writes postbag.json plus a CLAUDE.md line into each repo. The stream's schema becomes the contract; drift is detected per site; the partner receives one shape.