# Make your v0 form send to your inbox

> Your v0 site's contact, waitlist or signup form may send nowhere. Paste one prompt into v0 and messages from real people reach your inbox, with spam filtered out.

Canonical: https://ikiform.com/for/v0

## Your v0 site's messages, in your inbox. One prompt.

v0 built your form, but it may not send anywhere. Paste one prompt and messages from real people reach your inbox, with spam filtered out.

[Get your form link](https://ikiform.com/sign-in). Test it free with no card. Pick a plan when your form goes live.

## How it works

1. **Create a form**: Sign up with no card, add a form and copy the link under Copy your endpoint.
2. **Paste the prompt**: Copy the prompt, swap YOUR_FORM_ENDPOINT for your link and send it in v0's chat.
3. **Read your messages**: Use Send test submission to watch one reach your inbox. Pick a plan and your live site's messages arrive too.

```text
Connect every form on my site to Ikiform so that each submission reaches me. Do not add a Server Action, route handler, API route, database or any other backend code for this.

Endpoint: YOUR_FORM_ENDPOINT

For each form (contact, waitlist, signup, newsletter or any other):

1. Send from a client component ("use client"). On submit, stop the page from reloading and send a POST request with fetch to the endpoint, straight from the browser. If the form uses react-hook-form and zod, keep that validation and send from its onSubmit handler once it passes.
2. Send the form's fields as a JSON object with the headers "Content-Type: application/json" and "Accept: application/json". Keep every field the form already has and give each one a clear name, such as name, email and message.
3. If the form has an email field, also send its value as _replyto, so I can reply straight from the notification email.
4. Add a hidden text input named _gotcha as a spam trap. Move it off-screen instead of using display: none, give it tabindex="-1", autocomplete="off" and aria-hidden="true", and send it with the other fields. Real visitors leave it empty.
5. While the request is sending, disable the submit button and show a loading state.
6. The response is JSON. Only when it has "ok": true, clear the form and replace it with a short thank-you message. Never show a success message before that.
7. If "ok" is false, show error.message near the submit button, and show each message in error.fields next to the field with that name (with react-hook-form, use setError). If the request fails or the response is not JSON, show "Something went wrong. Please try again."
8. Do not add a captcha, an API key, a secret or an environment variable. The endpoint is public and safe to call from the browser, so put it straight in the code.

Keep my design, text, layout and shadcn/ui components exactly as they are. Only change how the forms send.
```

## Reply to people, not bots.

Each message shows up in your dashboard as it arrives and in your inbox seconds later. If the form asks for an email, hit reply to answer the sender. Anything caught as spam is set aside and doesn't email you.

## Questions, answered.

### Why not use a Server Action?

You don't need one. Your Ikiform link is public and made to be called from the browser, so there's no secret to hide and no server code to run. A fetch in a client component is enough.

### Will it keep my form's components and validation?

Yes. The prompt tells v0 to keep your design, text and shadcn/ui components, and any react-hook-form and zod validation. Only the step that sends the form changes.

### Does it work after I deploy to Vercel?

Yes. The form calls your Ikiform link straight from the browser, so it sends the same way from v0's preview, your Vercel deployment, your own domain or any other host. There are no environment variables to set. If you download the code and run it on your computer, messages from localhost are delivered for free, up to 50 a month.

### Can I try it before I pay?

Yes. Setting up is free and needs no card. Use Send test submission on your form's page to watch a message reach your dashboard and inbox. Your v0 site counts as live, preview and deployments included, so until you pick a plan its messages are held, not delivered, and visitors are told the form isn't live yet. Held messages are kept for 30 days, up to 100 a month, and arrive as soon as you pick a plan.

### What will it cost?

Pro starts at $6/mo for 500 submissions and scales with your volume up to 1M. Every tier has every feature. Yearly gets 2 months free. Rather pay once? Packs start at $49 for 10,000 submissions that never expire.

### Why is there no free plan?

Free form endpoints fill up with bots. Paid-only keeps the service funded to store your submissions and keep retrying your webhooks when your server is down. Testing from localhost costs nothing.

## Your form looks done. Make it send.

Create a form, paste one prompt into v0 and start reading your messages in your inbox.

## Related

- [Ikiform](https://ikiform.com/)
- [Ikiform for sites built with AI tools](https://ikiform.com/for)
- [Pricing](https://ikiform.com/pricing)
- [Ikiform Docs](https://ikiform.com/docs)
