# AgentForms - Mint Hosted Form

> AgentForms - Mint Hosted Form is a paid API for AI agents from agentforms.evmoore.workers.dev, paid per call via MPP, $0.02/call, not verified (last probed 2026-10-10); live alternatives: Zero Forms (free) and WithZero Form Builder via ZeroClick (free).

Agents call it through Zero, which pays per call: no API key and no wallet of your own. New accounts start with $5.

Live alternatives for the same use case:
- [Zero Forms](https://www.zero.xyz/c/forms-withzero-xyz-zero-forms-create-hosted-web-form-5ca42e76) (free)
- [WithZero Form Builder via ZeroClick](https://www.zero.xyz/c/withzero-form-builder-via-zeroclick-61930cf9) (free)

Creates a hosted web form (RSVP, intake, feedback, rating) and returns a share URL, embed snippet, QR code, and submission polling inbox

## Facts

- Endpoint: POST https://agentforms.evmoore.workers.dev/v1/forms?utm_source=zero.xyz
- Price: $0.02/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-10
- Last successful call: 2026-06-05
- Success rate: 100% of calls made through Zero
- Rating: 5.0 / 5 from 1 review
- Activations on Zero: 10
- Provider: agentforms.evmoore.workers.dev
- Website: https://agentforms.evmoore.workers.dev
- Canonical page: https://www.zero.xyz/c/agentforms-evmoore-workers-dev-create-form-d1cd56aa
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_HCSSK5RSGszDk2SJxZDE0

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agentforms-evmoore-workers-dev-create-form-d1cd56aa -d '<json body>'
```

Example prompt: Create a hosted RSVP form called 'Summer Hackathon 2025' with fields for name (required text), email (required email), attendance as a yes/maybe/no radio, a 1–5 hype rating, and a hidden invitee_id field — send each submission as a signed webhook to https://hooks.example.com/rsvp and redirect to https://example.com/thanks after submit.

## When to prefer this

Choose this endpoint when an AI agent needs to collect structured responses from humans via a shareable, hosted form without building custom frontend infrastructure. Ideal for event RSVPs, feedback loops, intake flows, and surveys where submissions need to be polled or pushed via webhook to downstream systems like Slack, Google Sheets, or custom APIs. Best when you need attribution tracking via hidden fields or variable interpolation in form labels.

## Known failure modes

- Invalid or missing form schema — returns 400 with field validation errors
- Payment not included or insufficient — returns 402 payment required
- Webhook URL is not a valid HTTPS endpoint — returns 400 validation error
- Malformed field type (unsupported type value) — returns 400 with details
- Rate limiting or worker overload — returns 503 or 429

## How this service works

Mint a hosted form (RSVP, rating, intake, feedback). One paid call returns a share URL, embed snippet, QR code, and a polling inbox for submissions. Optional webhook delivers each submission, signed with HMAC-SHA256, to any HTTPS endpoint (Google Apps Script / Sheets, Slack relay, your own API).

Field types: text, email, textarea, select, radio, checkbox, number, rating, date, phone, url. Hidden fields hold attribution (e.g. ?invitee=alice URL prefill). Schema supports {{var}} interpolation in labels/help/thank-you, plus optional successRedirectUrl that 302s after submit with payload as querystring.

Example body:
```json
{
  "title": "Hackathon RSVP",
  "schema": {
    "fields": [
      {
        "name": "invitee_id",
        "label": "invitee id",
        "type": "text",
        "hidden": true
      },
      {
        "name": "name",
        "label": "Your name",
        "type": "text",
        "required": true
      },
      {
        "name": "email",
        "label": "Email",
        "type": "email",
        "required": true
      },
      {
        "name": "attending",
        "label": "Coming?",
        "type": "radio",
        "required": true,
        "options": [
          "Yes, see you there",
          "Maybe",
          "Can't make it"
        ]
      },
      {
        "name": "vibe",
        "label": "How hyped, 1-5?",
        "type": "rating",
        "max": 5
      },
      {
        "name": "arrive",
        "label": "Arrival date",
        "type": "date"
      },
      {
        "name": "phone",
        "label": "Phone (optional)",
        "type": "phone"
      }
    ],
    "submitLabel": "Lock it in",
    "thankYouMessage": "Got it, {{name}}. See you there 👋",
    "successRedirectUrl": "https://example.com/rsvp/done"
  },
  "notifyUrl": "https://script.google.com/macros/s/AKfyc.../exec",
  "expiresInHours": 168
}
```

## Output

Returns a JSON object containing a shareable form URL, an HTML embed snippet, a QR code image URL, a unique form ID, and a polling inbox endpoint for retrieving typed submissions. Optional webhook delivers each new submission signed with HMAC-SHA256 to the configured HTTPS endpoint.

## Example request

```json
{
 "title": "Customer Feedback Form",
 "schema": {
  "fields": [
   {
    "name": "full_name",
    "type": "text",
    "label": "Full Name",
    "required": true
   },
   {
    "name": "email_address",
    "type": "email",
    "label": "Email Address",
    "required": true
   },
   {
    "name": "feedback",
    "type": "textarea",
    "label": "Your Feedback",
    "required": false
   }
  ],
  "submitLabel": "Submit",
  "thankYouMessage": "Thanks for your feedback, {{full_name}}!"
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object"
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agentforms-evmoore-workers-dev-create-form-d1cd56aa/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agentforms.evmoore.workers.dev](https://www.zero.xyz/host/agentforms.evmoore.workers.dev/llms.txt)
