Special fields
RizzForms stores all form fields exactly as submitted in
payload_json. However, certain field names receive extra
normalization and are stored separately in
special_normalized. This gives you clean, consistent data
for the fields that matter most.
Overview
If a field name matches one of the recognized special fields below,
RizzForms will normalize its value (trim whitespace, coerce types,
validate values) and include it in special_normalized.
Fields that are not recognized are still stored — they
just live in payload_json only.
Normalized fields
email
Whitespace is trimmed from both ends.
Before: " [email protected] "
After: "[email protected]"
firstName
Whitespace is trimmed from both ends.
Before: " John "
After: "John"
lastName
Whitespace is trimmed from both ends.
Before: " Doe "
After: "Doe"
name
Auto-computed from firstName + lastName when
both are present. You do not need to submit a name
field — it is generated automatically.
firstName: "John", lastName: "Doe"
name (computed): "John Doe"
tags
A comma-separated string is converted to an array. Each tag is trimmed. If an array is submitted directly, it is kept as-is.
Before: "urgent,feedback"
After: ["urgent", "feedback"]
Before: "bug , feature request , urgent"
After: ["bug", "feature request", "urgent"]
priority
Lowercased and validated against:
low, medium, high,
urgent. Invalid values default to
"medium".
Before: "HIGH"
After: "high"
Before: "critical"
After: "medium" (invalid value, defaults to medium)
urgent
Coerced to a boolean. Values like "true",
"1", "yes" become true;
everything else becomes false.
Before: "yes"
After: true
_optin
Coerced to a boolean. Use this field as a marketing opt-in signal (e.g., "Subscribe to our newsletter" checkbox).
Before: "1"
After: true
Honeypot fields (anti-spam)
These hidden fields help catch bots. They are not included in
special_normalized — instead, they trigger spam
detection.
_hp
A hidden honeypot field that must remain empty. If a bot fills it in, the submission is marked as spam. The value is truncated to 50 bytes.
_gotcha
An alias for _hp with identical behavior.
Add a honeypot to your form by hiding it with CSS:
<form action="https://forms.rizzness.com/f/your-token" method="POST">
<!-- Honeypot field - hidden from real users -->
<div style="position: absolute; left: -9999px;" aria-hidden="true">
<input type="text" name="_hp" tabindex="-1" autocomplete="off">
</div>
<label for="email">Email</label>
<input type="email" id="email" name="email" required>
<button type="submit">Send</button>
</form>
Real users never see or fill in the hidden field. Bots that auto-fill every input will trigger the spam flag.
Full example
Here is a complete before/after showing how normalization works:
Raw submission (payload_json)
{
"email": " [email protected] ",
"firstName": "John",
"lastName": "Doe",
"tags": "urgent,feedback",
"priority": "HIGH",
"message": "Hello"
}
Normalized output (special_normalized)
{
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe",
"name": "John Doe",
"tags": ["urgent", "feedback"],
"priority": "high"
}
Notice that message does not appear in
special_normalized because it is not a recognized special
field. It is still stored in payload_json and included in
webhook deliveries, email notifications, and API responses.