Form guides
Everything you need to know about building forms with RizzForms — from basic HTML structure to spam prevention and delivery options.
Form structure
Use semantic HTML: <label> elements, accessible
copy, and a submit button. RizzForms stores every field you
send as JSON, so include any inputs you need — contact
info, hidden metadata, file references, whatever your use case demands.
<form action="https://forms.rizzness.com/f/your-token" method="POST">
<label for="email">Email</label>
<input type="email" id="email" name="email" required>
<label for="message">Message</label>
<textarea id="message" name="message"></textarea>
<input type="hidden" name="source" value="homepage">
<button type="submit">Send</button>
</form>
Every field in the form — visible or hidden — is captured
in payload_json. There is no schema to configure
up front.
Submission methods
HTML form POST
Set your form's action to your endpoint URL. The browser
sends a standard application/x-www-form-urlencoded or
multipart/form-data POST request.
<form action="https://forms.rizzness.com/f/your-token" method="POST">
<!-- your fields -->
</form>
JSON API
For JavaScript-driven forms or server-to-server integrations, POST
JSON to the /json/ endpoint:
POST https://forms.rizzness.com/json/your-token
Content-Type: application/json
{
"email": "[email protected]",
"message": "Hello from a fetch() call"
}
Both methods store the same data. Choose whichever fits your frontend stack.
Spam prevention
RizzForms provides three layers of spam protection:
-
Honeypot fields. Add a hidden
_hpor_gotchafield. If a bot fills it in, the submission is flagged as spam. - Turnstile CAPTCHA. Enable Cloudflare Turnstile in your dashboard for an invisible, privacy-friendly challenge.
-
Rate limiting. Each form endpoint allows 60
submissions per minute per IP. Exceeding the limit returns a
429 Too Many Requestsresponse.
For full details, see the Spam Prevention guide.
Special fields
RizzForms stores every field as-is in payload_json.
Certain field names — like email,
firstName, tags, and
priority — also receive extra normalization
(trimming, type coercion, validation) and are stored separately in
special_normalized.
See Special Fields for the complete reference with before/after examples.
Delivery
Once a submission is captured, RizzForms can deliver it in two ways:
- Notification emails — automatic email alerts sent to form owners. No plugin required.
- Plugins — forward submissions to external services like webhooks, Slack, Google Sheets, and 20+ more.
To understand the difference and choose the right approach, read Notifications vs Plugins. For webhook-specific setup, see the Webhooks guide.
Autoresponders
Enable autoresponders to send a confirmation email to the person who submitted the form. Customize the subject line, reply-to address, and Markdown body so submitters know what happens next.
Autoresponders require an email field in the submission.
Configure them in the dashboard under your form's settings.