New: Connect Claude, ChatGPT and other AI apps with the Forminit MCP server
← Back to all posts

How to Add Forms to Your Replit App [11 Prompts]

Oguz Kose in Guides • Updated November 4, 2026 • Published March 14, 2026

Short answer: Give Replit Agent the Forminit setup prompt and your Form ID. Replit builds the form UI, Forminit handles everything after submit: validation, storage, email notifications, file uploads, spam protection, and integrations. No database tables, no email service, no extra packages to configure.

The whole setup is three steps:

  1. Create a form at forminit.com, set it to Public mode, and copy your Form ID.
  2. Paste one of the prompts below into Replit Agent, and give it your Form ID when it asks.
  3. Submit a test entry and watch it appear in your Forminit dashboard.

Does Replit have built-in form handling?

Not as a form product. Replit is an AI app builder whose Agent scaffolds full-stack apps, and the platform now bundles real backend primitives: every Replit App comes with a managed PostgreSQL database by default, and email providers like SendGrid and Resend are one-click connectors that Agent activates when your prompt mentions email. Published apps even get a feedback widget with its own inbox, though that one is for app feedback, not general forms.

None of it adds up to form handling as a feature. There is no per-form endpoint, no submission inbox with statuses and team roles, no notification emails without a separately billed provider, and nothing in the docs about spam protection for public forms. Ask Agent for a contact form and it will happily build a schema, API routes, validation, and an email call. Then you own all of it: every notification change is a code change, and every spam wave is your problem. For a contact form. On a side project. That AI built for you.

Replit’s behavior described here was verified against its official documentation in July 2026.

How Forminit solves this

Forminit (formerly Getform.io) is a headless form backend API. One service handles everything after submit: validation, storage, email notifications, file uploads, spam protection, webhooks, and integrations. No database schema, no email connector, no API routes. Your Replit app stays clean, just the frontend.

Why Forminit works well with Replit

Replit Agent picks the stack for you: since Agent 4 there is no manual stack selection, and it scaffolds anything from React and Next.js to Node.js or Python depending on what you’re building. Forminit’s setup guide for AI agents detects the stack, so whatever Agent picks, the same prompt works. The guide tells the Agent which SDK to use, how to name fields, and how to handle submissions.

What you need DIY approach in Replit Forminit approach
Store form submissions Prompt a schema + API routes into the built-in Postgres Already done (dashboard included)
Email notifications Connect SendGrid/Resend (billed separately), write the send logic Built-in, one toggle in dashboard
Change notification email Prompt a code change and redeploy Change in dashboard, no code
File uploads Set up Object Storage, handle multipart parsing Built-in, up to 25MB
Spam protection Build it yourself (not in Replit’s docs) Built-in, plus Cloudflare Turnstile, reCAPTCHA, hCaptcha, honeypot
Team collaboration Share Replit project or build admin panel Role-based access (Owner, Admin, Editor, Guest)
Autoresponder to submitter Write custom email logic Built-in, configurable in dashboard
Server-side validation Write validation middleware Automatic (typed field blocks)
UTM / attribution tracking Build it yourself Auto-captured by SDK
Services to manage 2 (app backend + email provider) 1 (Forminit)

When is Replit’s built-in database the better choice?

When submissions are application data. If what users submit feeds features your app reads back (orders, listings, user-generated content, anything with relations to other tables), it belongs in the app’s own Postgres, and letting Agent wire it there is the right call. Forminit wins the standalone-form cases: contact, lead capture, bookings, applications, and feedback, where what you actually want is an inbox, notifications, spam protection, and file handling without owning the plumbing.

How to set it up

Step 1: Create a form on Forminit

  1. Sign up at forminit.com
  2. Create a new form
  3. Go to Form Settings and set authentication mode to Public (for client-side apps) or Protected (if Replit scaffolds a backend)
  4. Copy your Form ID

Step 2: Prompt Replit Agent

Open Replit Agent and paste one of the prompts below. There is no guide to pick for your stack: the setup guide detects it. The Agent replies with a plan first: check the field names, answer its questions (such as whether an upload takes one file or several), and it builds the form.

Copy-paste Replit form prompts

Contact form

Build me a contact form with name, email, and message fields. Connect it to Forminit (forminit.com, a form backend).

Form ID: ask me for it before writing code (it is on my form's page at app.forminit.com).

Get the Forminit setup guide, then follow it:
1. If you can run terminal commands, install it: npx skills add forminit/skills --skill forminit-setup -a universal claude-code -y. Then read .agents/skills/forminit-setup/SKILL.md.
2. Otherwise read https://forminit.com/setup.md in full.
3. If you can do neither, stop and tell me.

Waitlist / coming soon page

Build a coming soon landing page with a waitlist signup form. Collect email, full name, and a "What would you use this for?" textarea. Show a "You're on the list!" success state. Connect form submissions with Forminit (forminit.com, a form backend).

Form ID: ask me for it before writing code (it is on my form's page at app.forminit.com).

Get the Forminit setup guide, then follow it:
1. If you can run terminal commands, install it: npx skills add forminit/skills --skill forminit-setup -a universal claude-code -y. Then read .agents/skills/forminit-setup/SKILL.md.
2. Otherwise read https://forminit.com/setup.md in full.
3. If you can do neither, stop and tell me.

SaaS demo request form

Build a demo request form with first name, last name, work email, company name, phone, a company size select (1-10, 11-50, 51-200, 201-1000, 1000+), and a "What problem are you trying to solve?" textarea. Connect it to Forminit (forminit.com, a form backend).

Form ID: ask me for it before writing code (it is on my form's page at app.forminit.com).

Get the Forminit setup guide, then follow it:
1. If you can run terminal commands, install it: npx skills add forminit/skills --skill forminit-setup -a universal claude-code -y. Then read .agents/skills/forminit-setup/SKILL.md.
2. Otherwise read https://forminit.com/setup.md in full.
3. If you can do neither, stop and tell me.

Freelancer project inquiry form

Build a project inquiry form for a freelancer portfolio site. Collect full name, email, a project type select (Website, Mobile App, Branding, UI/UX Design, Consulting, Other), a budget range radio ($1K-$5K, $5K-$15K, $15K-$50K, $50K+), a timeline select (ASAP, 1-2 months, 3-6 months, Flexible), and a project details textarea. Connect it to Forminit (forminit.com, a form backend).

Form ID: ask me for it before writing code (it is on my form's page at app.forminit.com).

Get the Forminit setup guide, then follow it:
1. If you can run terminal commands, install it: npx skills add forminit/skills --skill forminit-setup -a universal claude-code -y. Then read .agents/skills/forminit-setup/SKILL.md.
2. Otherwise read https://forminit.com/setup.md in full.
3. If you can do neither, stop and tell me.

Job application form with file upload

Build a job application form with first name, last name, email, phone, a position select (Frontend Developer, Backend Developer, Designer, Product Manager, Marketing), a resume file upload (.pdf, .doc, .docx only), a portfolio URL field, and a "Why do you want to join us?" textarea. Connect it to Forminit (forminit.com, a form backend).

Form ID: ask me for it before writing code (it is on my form's page at app.forminit.com).

Get the Forminit setup guide, then follow it:
1. If you can run terminal commands, install it: npx skills add forminit/skills --skill forminit-setup -a universal claude-code -y. Then read .agents/skills/forminit-setup/SKILL.md.
2. Otherwise read https://forminit.com/setup.md in full.
3. If you can do neither, stop and tell me.

Tattoo studio booking form

Build a tattoo appointment request form with full name, email, phone, a placement select (Arm, Leg, Back, Chest, Ribs, Neck, Hand, Other), a size radio (Small 2-4 inch, Medium 4-8 inch, Large 8+ inch, Full sleeve), a style select (Traditional, Japanese, Realism, Blackwork, Watercolor, Geometric, Minimalist, Lettering), a description textarea for the tattoo idea, and a reference image file upload (images only, multiple files). Connect it to Forminit (forminit.com, a form backend).

Form ID: ask me for it before writing code (it is on my form's page at app.forminit.com).

Get the Forminit setup guide, then follow it:
1. If you can run terminal commands, install it: npx skills add forminit/skills --skill forminit-setup -a universal claude-code -y. Then read .agents/skills/forminit-setup/SKILL.md.
2. Otherwise read https://forminit.com/setup.md in full.
3. If you can do neither, stop and tell me.

Yoga / wellness consultation form

Build a wellness consultation booking form with full name, email, phone, a service type select (Yoga Private Session, Group Class, Meditation Workshop, Nutrition Consultation, Wellness Retreat), an experience level radio (Beginner, Intermediate, Advanced), a preferred schedule checkbox group (Weekday Mornings, Weekday Evenings, Saturday, Sunday), a goals textarea, and a health conditions or injuries textarea. Connect it to Forminit (forminit.com, a form backend).

Form ID: ask me for it before writing code (it is on my form's page at app.forminit.com).

Get the Forminit setup guide, then follow it:
1. If you can run terminal commands, install it: npx skills add forminit/skills --skill forminit-setup -a universal claude-code -y. Then read .agents/skills/forminit-setup/SKILL.md.
2. Otherwise read https://forminit.com/setup.md in full.
3. If you can do neither, stop and tell me.

Restaurant reservation form

Build a restaurant reservation form with full name, email, phone, a reservation date picker, a time select (12:00, 12:30, 13:00, ..., 21:00, 21:30), a party size select (1-2, 3-4, 5-6, 7-8, 9+), a seating preference radio (Indoor, Outdoor, Bar, Private Dining), an occasion select (None, Birthday, Anniversary, Business, Date Night), and a dietary restrictions or special requests textarea. Connect it to Forminit (forminit.com, a form backend).

Form ID: ask me for it before writing code (it is on my form's page at app.forminit.com).

Get the Forminit setup guide, then follow it:
1. If you can run terminal commands, install it: npx skills add forminit/skills --skill forminit-setup -a universal claude-code -y. Then read .agents/skills/forminit-setup/SKILL.md.
2. Otherwise read https://forminit.com/setup.md in full.
3. If you can do neither, stop and tell me.

Photography session inquiry form

Build a photography inquiry form with full name, email, phone, a session type select (Portrait, Wedding, Family, Newborn, Product, Real Estate, Event), a preferred date picker, a budget range radio ($200-$500, $500-$1000, $1000-$2000, $2000+), a location textarea, and a mood board / reference images file upload (images only, multiple files). Connect it to Forminit (forminit.com, a form backend).

Form ID: ask me for it before writing code (it is on my form's page at app.forminit.com).

Get the Forminit setup guide, then follow it:
1. If you can run terminal commands, install it: npx skills add forminit/skills --skill forminit-setup -a universal claude-code -y. Then read .agents/skills/forminit-setup/SKILL.md.
2. Otherwise read https://forminit.com/setup.md in full.
3. If you can do neither, stop and tell me.

Multi-step sales inquiry form

Build a multi-step sales inquiry form. Step 1: sender email, company name, phone number. Step 2: budget range (radio: $1K-$5K, $5K-$25K, $25K-$100K, $100K+), project timeline (select: This month, 1-3 months, 3-6 months, Not sure yet), and a project description textarea. Show a progress indicator between steps. Connect it to Forminit (forminit.com, a form backend).

Form ID: ask me for it before writing code (it is on my form's page at app.forminit.com).

Get the Forminit setup guide, then follow it:
1. If you can run terminal commands, install it: npx skills add forminit/skills --skill forminit-setup -a universal claude-code -y. Then read .agents/skills/forminit-setup/SKILL.md.
2. Otherwise read https://forminit.com/setup.md in full.
3. If you can do neither, stop and tell me.

Personal trainer / fitness consultation form

Build a fitness consultation form with full name, email, phone, a fitness goal checkbox group (Weight Loss, Muscle Gain, Flexibility, Endurance, Injury Recovery, General Fitness), an activity level radio (Sedentary, 1-2 days/week, 3-4 days/week, 5+ days/week), a preferred training select (In-person, Online, Hybrid), and a medical conditions or limitations textarea. Connect it to Forminit (forminit.com, a form backend).

Form ID: ask me for it before writing code (it is on my form's page at app.forminit.com).

Get the Forminit setup guide, then follow it:
1. If you can run terminal commands, install it: npx skills add forminit/skills --skill forminit-setup -a universal claude-code -y. Then read .agents/skills/forminit-setup/SKILL.md.
2. Otherwise read https://forminit.com/setup.md in full.
3. If you can do neither, stop and tell me.

Using Replit with a backend (Next.js or Node.js)

If Replit Agent scaffolds a Next.js or Node.js app with a server, you can use the protected mode with an API key for higher rate limits (5 requests per second instead of 1 request per 5 seconds, both counted per IP address). The setup guide covers public mode only, so set this up with the Next.js guide or the Node.js guide instead.

For Next.js, Forminit provides a built-in createForminitProxy that creates a server-side API route; the API key stays on the server, never exposed to the browser. Add your API key to Replit’s Secrets tab as FORMINIT_API_KEY.

What happens after a form is submitted?

Once a form is submitted, Forminit automatically:

  1. Validates all fields server-side (email format, phone format, file types)
  2. Stores the submission in your dashboard with an inbox-style UI
  3. Sends email notifications to you (configurable)
  4. Captures attribution data including UTM parameters, ad click IDs (gclid, fbclid, msclkid), referrer URL, and geolocation
  5. Forwards data to other services via webhooks, Google Sheets, Zapier, Slack, or Discord

You can also set up autoresponders to automatically reply to the person who submitted the form.

Frequently asked questions

Why not just use Replit’s built-in database for form submissions?

You can. Every Replit App now includes managed Postgres by default. But you’re still building a form backend from scratch: schema, API routes, validation logic, email integration, spam protection, and an admin view. That’s a lot of ownership for a contact form. Forminit handles all of it as a service so you can focus on your actual app.

Does Forminit work with any stack Replit Agent generates?

Yes. Replit Agent picks the stack for you, and the Forminit setup guide detects it: React, Next.js, Vue, Svelte, Astro, plain HTML, or the HTML a Node.js or Python app serves. The same prompt works for all of them.

Can I use Forminit with Replit’s free plan?

Yes. Forminit’s client-side SDK works with any Replit plan. For public-mode forms you don’t even need environment variables, just a Form ID. Forminit’s Free plan includes 100 submissions per month.

Can I customize the prompt to match my use case?

Absolutely. The prompt examples above are starting points. Describe your exact fields, layout, and behavior; Replit Agent will generate the UI, and the setup guide makes sure the Forminit integration is wired correctly. You can ask for multi-step forms, conditional fields, custom validation messages, specific styling, or any pattern your stack supports.

What if Replit Agent generates the wrong field names?

Always keep the setup guide lines in your prompt. Without the guide, the Agent may use generic names like name="email" instead of name="fi-sender-email", which means submissions arrive empty. If it still gets it wrong, paste the specific field naming section from the Form Blocks reference into the chat.

Does Forminit handle spam protection?

Yes. Spam protection is built in and works out of the box. You can additionally enable Cloudflare Turnstile, reCAPTCHA v3, hCaptcha (visible and invisible), or a honeypot field from your form settings in the dashboard.

Further reading