Creating your first form
Formkove gives you a hosted submission endpoint in seconds: no form builder, no drag-and-drop. You bring your own frontend; Formkove handles what comes after the POST.
Step 1: Create a form
Section titled “Step 1: Create a form”From the Formkove dashboard, click New form. Give it a name. You now have a live endpoint.
Your endpoint URL follows this pattern:
https://app.formkove.com/api/forms/{YOUR_FORM_ID}/submissionsStep 2: Add it to your site
Section titled “Step 2: Add it to your site”Point your HTML form at your Formkove endpoint:
<form action="https://app.formkove.com/api/forms/form_abc123/submissions" method="POST"> <input name="email" type="email" required /> <textarea name="message"></textarea> <button type="submit">Send</button></form>Works with plain HTML, React, Vue, Next.js, or any framework that speaks HTTP.
See framework examples →
Special Form Fields
Section titled “Special Form Fields”You can include special fields to customize how visitor data is processed:
| Field | Description |
|---|---|
email / replyto / reply_to / reply-to / _replyto |
Visitor’s email address, set as the Reply-To header in notification emails. |
YOUR_HONEYPOT_NAME |
A custom honeypot field name configured in your form’s dashboard settings. Add a matching input hidden via CSS (e.g. <input type="text" name="_gotcha" style="display:none" tabindex="-1" autocomplete="off">) to trap bots. |
[!NOTE]
- Redirects: Custom redirects must be appended as a query parameter (e.g.
?redirect=https://yoursite.com/thank-you) to your form’sactionURL, and the target domain must be allowlisted in the form’s Allowed Origins & Redirects dashboard settings. Passingredirectinside the form body as an input field is not supported.- Email Subjects: Notification email subjects are automatically formatted as
New Submission for "[Form Name]"and cannot be overridden by form fields.
Styled Example (Tailwind CSS)
Section titled “Styled Example (Tailwind CSS)”<div class="flex items-center min-h-screen bg-gray-50"> <div class="container mx-auto"> <div class="max-w-md mx-auto bg-white p-6 rounded-md shadow-sm"> <h1 class="text-2xl font-semibold text-gray-700 mb-4">Contact Us</h1>
<!-- Note the custom redirect query parameter in the action URL --> <form action="https://app.formkove.com/api/forms/YOUR_FORM_ID/submissions?redirect=https://yoursite.com/thank-you" method="POST"> <!-- Custom honeypot field (assumes '_gotcha' is configured in dashboard Settings) --> <input type="text" name="_gotcha" style="display:none" tabindex="-1" autocomplete="off">
<div class="mb-4"> <label for="name" class="block text-sm text-gray-600 mb-1">Full Name</label> <input type="text" name="name" id="name" required class="w-full px-3 py-2 border border-gray-300 rounded-md"> </div>
<div class="mb-4"> <label for="email" class="block text-sm text-gray-600 mb-1">Email</label> <input type="email" name="email" id="email" required class="w-full px-3 py-2 border border-gray-300 rounded-md"> </div>
<div class="mb-4"> <label for="message" class="block text-sm text-gray-600 mb-1">Message</label> <textarea name="message" id="message" rows="4" required class="w-full px-3 py-2 border border-gray-300 rounded-md"></textarea> </div>
<button type="submit" class="w-full py-2 px-4 bg-indigo-600 text-white rounded-md">Send Message</button> </form> </div> </div></div>Step 3: Configure notifications
Section titled “Step 3: Configure notifications”From the form settings in your dashboard, add an email address to receive notifications on every submission. Pro users can also set up Slack, webhooks, and Zapier.
Learn about notifications →
Step 4: Set up spam protection
Section titled “Step 4: Set up spam protection”Formkove protects your forms with rate limits and proprietary anti-spam mechanisms out of the box. For added protection, you can turn on custom honeypot and add your own Cloudflare Turnstile keys.
Learn about spam protection →
Step 5: Publish and share
Section titled “Step 5: Publish and share”Your form is ready to receive submissions as soon as it’s created. Integrate the endpoint URL into your frontend code (e.g. via HTML <form action="..."> or custom fetch/AJAX script) as detailed in our framework guides.
Next steps
Section titled “Next steps”- Set up Slack notifications to get alerted on new submissions
- Learn about webhooks to send data to Zapier, Make, or custom endpoints
- Add AI classification to automatically tag and score submissions
