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 |
yes | |
| Phone Number | phone |
|
| Services (one choice, from your services) | service |
|
| Message | message |
Demo mode
Section titled “Demo mode”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.
Connecting a form service
Section titled “Connecting a form service”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 |
- Create a form at a service that accepts JSON posts — for example Formspree, Web3Forms, Basin — or a webhook in Zapier, Make or n8n.
- Copy the address it gives you (e.g.
https://formspree.io/f/abcdwxyz). - Set it as the variable above: in the tool’s settings for secrets or environment variables, or in a
.envfile. - 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.
Other ways
Section titled “Other ways”- 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.