Skip to content
Sign inJoin waitlist

Forms — Kalme AI Prompts

Kalme has one form, on the Contact page: first name, last name, email, phone number, a choice of service and a message. The prompts build it with its states — sending, “Thank you”, “Something went wrong” — and a hidden field that catches spam bots.

Field Name it sends Required
First Name firstName yes
Last Name lastName
Email email yes
Phone Number phone
Services (one choice, from your services) service
Message message

Until you connect a service, the form runs in demo mode: it waits a moment and shows success, but nothing is sent anywhere. Connect it before you publish.

The form sends its fields as JSON to the address in an environment variable:

Tool / framework Variable
Lovable, Bolt, Replit (Vite) VITE_FORM_ENDPOINT
v0 and other Next.js projects NEXT_PUBLIC_FORM_ENDPOINT
Astro PUBLIC_FORM_ENDPOINT
  1. Create a form at a service that accepts JSON posts — for example Formspree, Web3Forms, Basin — or a webhook in Zapier, Make or n8n.
  2. Copy the address it gives you (e.g. https://formspree.io/f/abcdwxyz).
  3. Set it as the variable above: in the tool’s settings for secrets or environment variables, or in a .env file.
  4. Send a test and check that it arrives.

Every submission also carries form (contact) and subject (“New contact form submission”), which form services use as the email subject.

  • Your tool’s database: Lovable and some others can save submissions in a database and email you. Ask: “Save the contact form submissions to the database and email me each one.”
  • Your own server: the endpoint can be any URL that accepts a JSON POST — your CRM, a serverless function.

The hidden fax field stays empty for people and gets filled by bots; when it is filled, the form shows success and sends nothing. Most form services also filter spam themselves.