netlify-forms

Implements Netlify Forms for HTML and JavaScript-rendered form submission handling.

1|Updated May 13, 2026
One-click install
npx skills add https://github.com/SyedArmanAli2003/AgroNaV --skill netlify-forms-syedarmanali2003
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: netlify-forms
Source: https://github.com/SyedArmanAli2003/AgroNaV/tree/main/.agents/skills/netlify-forms
Command: npx skills add https://github.com/SyedArmanAli2003/AgroNaV --skill netlify-forms-syedarmanali2003

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Collecting form submissions normally requires building and maintaining a backend endpoint, database storage, and spam protection. Netlify Forms removes that server-side work, but it has non-obvious setup rules — especially for React, Next.js, and other SSR frameworks where forms are not detected at build time and submissions silently fail. ## Core Features & Use Cases - Static HTML Forms: Add data-netlify="true" and a unique form name to any HTML form for automatic build-time detection and submission collection. - JavaScript-Rendered Forms: Create a static skeleton file (e.g. public/__forms.html) so Netlify's build parser can detect forms rendered by React, Vue, Next.js, SvelteKit, Remix, or Nuxt, and POST to the skeleton path instead of / in SSR apps. - Spam Filtering & Uploads: Configure honeypot fields, reCAPTCHA, and file uploads (8 MB limit, one file per input) with correct FormData handling. - Notifications & API Access: Set up email, Slack, and webhook notifications, and query submissions programmatically via the Netlify API. - Use Case: You add a contact form to a Next.js site deployed on Netlify, but submissions never appear in the dashboard. This Skill guides you to create the __forms.html skeleton and point your fetch call at it, fixing the silent failure. ## Quick Start Add a contact form to my Netlify site using Netlify Forms, including spam protection and a working AJAX submission handler.

Frequently Asked Questions about netlify-forms

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a contact form to a Netlify site?

Add `data-netlify="true"` and a unique `name` attribute to your HTML form, and enable form detection in the Netlify UI. Netlify's build system detects the form automatically and injects a hidden `form-name` input.

How do I use Netlify Forms with React or Next.js?

JavaScript-rendered forms are invisible to Netlify's build parser, so create a static skeleton file like `public/__forms.html` containing a hidden copy of the form with matching field names. Your component must also include a hidden `form-name` input.

Why do Netlify form submissions return 200 but never appear in the dashboard?

In SSR frameworks, posting to `/` is intercepted by the SSR catch-all function and never reaches Netlify's form handler. Point your fetch call at the static skeleton file path, such as `/__forms.html`, so the request routes through the CDN origin.

Does Netlify Forms support file uploads?

Yes, add `enctype="multipart/form-data"` to the form and a file input. Limits are 8 MB per request, a 30-second timeout, and one file per input field; for AJAX uploads, pass `FormData` directly without setting Content-Type.

How do I prevent spam in Netlify Forms?

Netlify applies Akismet filtering automatically. Add a honeypot field via `netlify-honeypot="bot-field"` for extra protection, or add `data-netlify-recaptcha="true"` with a matching div to render a reCAPTCHA widget.

Can I access Netlify form submissions programmatically?

Yes, use the Netlify API with a personal access token. Call `GET /api/v1/forms/{form_id}/submissions` to list submissions, filter spam with `?state=spam`, or delete entries via `DELETE /api/v1/submissions/{id}`.