Built your site in Windsurf? Make its forms send.

Windsurf made your form look right. One prompt makes it send. Paste it into the agent and messages from real people reach your inbox, with spam filtered out.

Get your form link

Test it free with no card. Pick a plan when your form goes live.

How it works

  1. 01

    Create a form

    Sign up with no card, add a form and copy the link under Copy your endpoint.

  2. 02

    Paste the prompt

    Swap YOUR_FORM_ENDPOINT for your link and send the prompt to the agent in Windsurf, now called Devin Desktop.

  3. 03

    Watch one arrive

    Use Send test submission, or submit from localhost, to watch a message reach your inbox. Pick a plan and your live site's messages arrive too.

Prompt
Connect every form on my site to Ikiform so that each submission reaches me. Send from the browser. Do not build a backend, server route, Server Action, database, email SDK or environment secret for this.

Endpoint: YOUR_FORM_ENDPOINT

Search the whole project for forms (contact, waitlist, signup, newsletter or any other). Check which framework and form library each one uses. Then, for each form:

1. Keep the form library, validation and components it already uses, such as react-hook-form or zod. Do not add a new dependency.
2. On submit, stop the page from reloading and send a POST request with fetch from the browser to the endpoint. If the framework renders on the server, put this in client-side code.
3. 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.
4. If the form has an email field, also send its value as _replyto, so I can reply straight from the notification email.
5. 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.
6. While the request is sending, disable the submit button and show a loading state.
7. 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.
8. 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. If the request fails or the response is not JSON, show "Something went wrong. Please try again."
9. Only put the endpoint in a public environment variable if the project already uses them in browser code. Otherwise keep it as a constant next to the form. Do not add a captcha, an API key or any secret. The endpoint is public and safe to use in the browser.

Keep my design, text and layout exactly as they are. Only change how the forms send. When you are done, list every form you changed.

Every message, in one place.

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. Spam is set aside and doesn't email you.

Questions, answered.

Something else? hello@ikiform.com

Your site looks done.Now make it send.

Create a form, paste one prompt into Windsurf's agent and start reading your messages in your inbox.

Get your form link