Test your form
Test a FormsReach form before go-live - local HTML, staging hosts, domain allowlist, and dashboard verification.
What you will achieve
A short checklist to prove submit works before you put the form on a production page - and again after every domain or key change.
Prerequisites
- A form and API key (Create a form and API key)
- The Quickstart HTML (or equivalent) on a page you control
Why test
- Catch wrong keys and missing
nameattributes before real visitors submit - Confirm domain allowlist includes every host you actually use
- Avoid noisy WhatsApp traffic while you are still wiring the form
Steps
1. Start with dashboard-only success
- Disable or skip WhatsApp until the HTML path works (WhatsApp is available on Pro/Agency and costs credits per send).
- Email is optional for the first tests - a Submissions row is the source of truth.
- Submit once with unique text in
message(for exampletest-2026-07-28-a).
2. Use a simple host you control
Good early hosts:
- A static HTML file on a staging URL
- Your site’s preview deploy
- A CMS draft page that still posts from a real browser origin
Open the page over the same kind of URL you will use later (prefer HTTPS for staging and production).
3. Watch the network request
- Open browser DevTools → Network.
- Submit the form.
- Select the request to
https://api.formsreach.com/submit. - Confirm method
POSTand a non-network-error response.
If the request never leaves the browser, fix the form action or page JavaScript before debugging FormsReach.
4. Confirm the Submissions row
- Open the form in app.formsreach.com.
- Open Submissions.
- Find the unique test message.
No row means the submit was not accepted (or you are on the wrong form). Use Your first submission.
5. Align domain allowlist with real hosts
Your api_key is public. When the allowlist is enabled, FormsReach checks the request Origin/Referer host against hosts you configured for that form.
Before go-live:
- List every production host (include both apex and
wwwif both serve the form). - List every preview or staging host you intentionally test from.
- Submit again from each host you listed.
- Prefer HTTPS sites.
If a host is missing, you get a domain denied style error. Details: Domain allowlist.
6. Keep spam fields empty for humans
If you added honeypot / time trap fields:
- Leave the honeypot empty (real users never see it)
- Do not bot-fill spam fields in automated tests unless you intend to create a spam classification
7. Add channels only after store works
- Enable Email and send a test submission.
- On Pro/Agency, add WhatsApp and verify destination numbers before relying on it.
- Treat channel delivery as a second checklist after the Submissions row exists.
Verify matrix
| Result | Meaning | What to do |
|---|---|---|
| Row in Submissions | Submit path accepted | Safe to harden domains/spam and enable channels |
| HTTP error, no row | Rejected or failed request | Read error body; check key, domain, credits |
| Row exists, no email/WhatsApp | Channel not delivering | Fix channel config and credits - form HTML may be fine |
| Works on staging, fails on production | Host allowlist gap | Add production host (and www if needed) |
Common failures
| Symptom | What to check |
|---|---|
| Works in dashboard preview but not on site | Different host - add site host to allowlist |
| Intermittent domain errors | Some pages on www, some on apex - allow both |
| Duplicate test noise on WhatsApp | Test with dashboard + email first |
| Spam-looking rows | Honeypot filled or automated fill too fast - see Spam |
Next
- Next steps - production checklist after a green test
- Domain allowlist
- Spam and honeypot
- Email channel