Let Cursor wire up your forms. Messages land in your inbox.

Cursor can build a form, but something has to receive it. Paste one prompt into Agent and every form in your project sends to Ikiform. No server code, and spam is filtered out.

Get your endpoint

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

    Send it to Agent

    Open your project in Cursor, paste the prompt into Agent, swap YOUR_FORM_ENDPOINT for your link and send it.

  3. 03

    Submit from localhost

    Run your dev server and send the form. Local posts reach your dashboard and inbox for free. Pick a plan when you go live.

Prompt
Connect every form in this project to Ikiform so that each submission reaches me. The forms send straight from the browser. Do not add a server route, API 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.

Test it locally. Read it in your inbox.

Submit from localhost and the message shows up in your dashboard as it arrives, then in your inbox seconds later. Hit reply to answer the sender. Anything caught as spam is set aside and doesn't email you.

Questions, answered.

Something else? hello@ikiform.com

Your form looks done.Let Cursor make it send.

Create a form, paste one prompt into Cursor and read your messages in your inbox.

Get your endpoint