No database. No UI to build. Define a schema in JSON, publish from the CLI, and your agent has a live form — hosted, validated, with signed webhooks back to your runtime.
Your agent owns the form. Call the API to render fields, validate, and submit — full control over every pixel. Or use the hosted iframe for a zero-code embed. Same schema, same signed webhook at the other end.
Your agent renders form fields directly in the page it's building. API calls handle sessions, validation, and submission — your agent owns the HTML and CSS. The form looks native to the site because it is native to the site.
GET /v1/forms/onboarding/agent-schema returns the field definitions. Your agent reads the JSON and renders <input> and <select> elements directly into the page it's building. Native HTML, your CSS, your layout.
POST /v1/forms/onboarding/sessions creates the session. Your agent renders the fields, wires up validation, and the user fills them inline — on your site, in your design system.
POST /v1/sessions/:id/submit sends the answers. Validation runs server-side. Your agent gets the result directly or waits for the signed webhook. Submissions flow wherever you route them.
One <iframe> tag and the form is live. No API calls, no rendering logic. The hosted form handles everything — validation, submit, success state. Fastest path to a working form.
agentsforms init → agentsforms forms publish onboarding. You get a hosted URL and an embed snippet. No database, no server.
<iframe src="forms.agentsforms.com/f/onboarding"> into the site. The form renders inline with built-in validation. Users never leave the page.
When your agent is mid-conversation and needs a quick answer — approval, clarification, missing field — fire a hosted form URL. One click for the human, structured data back.
POST /v1/forms/approval/sessions and gets back a hosted URL.
One JSON file is the contract. Fields, types, validation rules, agent hints. Same schema drives CLI, API, SDK, and the hosted renderer. No drift, no duplication.
Every form gets a hosted URL and an embed snippet. But the real surface is the API — your agent creates sessions and reads submissions without ever touching HTML.
Every webhook is cryptographically signed, timestamped, and idempotent. Retried with exponential backoff. Your agent resumes on data it can actually verify.
You define the schema. The human fills the form. The agent gets structured data. One contract, three surfaces.
Prefer raw HTTP? API reference →