Appointment requests that arrive by email
Let visitors ask for a service, a date, and a time without phone tag — the request lands in your inbox and you confirm it with a reply.
When you want this form
If you run a salon, a coaching practice, a photography studio, or a small clinic, most bookings start the same way: someone picks a service and a time that suits them, and you say yes or suggest another slot. A form handles that first step better than a phone number or a bare email address on the page — the visitor writes it when it suits them, and every request arrives in the same shape.
One honest note up front: this is a booking request form, not a scheduler. Form2Email delivers the request to your inbox; checking your calendar and confirming the appointment is your job, done by hitting reply.
The form
Paste this into your page and replace your-token with the
token from your endpoint (setup below):
<form action="https://form2email.terragohan.com/f/your-token" method="post">
<label for="name">Name</label>
<input id="name" name="name" required>
<label for="email">Email</label>
<input id="email" name="email" type="email" required>
<label for="service">Service</label>
<select id="service" name="service" required>
<option value="" disabled selected>Choose a service</option>
<option>Cut and blow-dry</option>
<option>Colour</option>
<option>Consultation (15 min)</option>
</select>
<label for="date">Preferred date</label>
<input id="date" name="date" type="date" required>
<label for="time">Preferred time</label>
<input id="time" name="time" type="time" required>
<label for="notes">Notes — alternative times, anything I should know</label>
<textarea id="notes" name="notes" rows="4"></textarea>
<!-- optional: your own thank-you page after submit -->
<input type="hidden" name="_redirect" value="https://yoursite.com/thanks">
<button type="submit">Request appointment</button>
</form>
Swap the options for your actual services and style the fields however you
like — only the action, method="post", and the
input name attributes matter to Form2Email. The form works with
or without JavaScript, on any host that can serve an HTML page.
Set it up
-
Create the endpoint
Use the tool on the homepage — or
POST https://form2email.terragohan.com/api/endpoints— with the email that receives submissions and the exact domain this form lives on. -
Verify the email
We send a verification link to the destination address — single-use, valid 24 hours. Nothing is accepted until a human clicks it. Add
form2email@terragohan.comto your trusted senders. -
Point the form at it
Put your public URL in the form's
action. Submissions are only accepted from the domain you registered — exact hostname match, subdomains need their own endpoint. -
Keep it alive
Endpoints stay active for 7 days after verification. Extend for free (+7 days, as often as you like) from your manage page — extending also revives an expired endpoint.
What lands in your inbox
Each request becomes one email to your destination address:
- Reply-To is the visitor's
email, so confirming — or suggesting another slot — is one reply away. nameappears in the body.service,date,time, andnotesare listed as additional fields. The date and time inputs arrive as plain text like2026-10-24and14:30, exactly as the browser sent them.
With _redirect set, the visitor's browser is sent to your
thank-you page after a successful submit — a good place to say "I'll confirm
by email within a day". Without it they get a small JSON response, which is
fine for JavaScript-driven forms but less friendly for plain HTML.
Tips
- Use a
<select>for the service. A dropdown of your real services keeps replies short and consistent, and spares visitors a free-text "what do you want?" field. - Ask for one preferred date and time, plus an alternative in the notes. Most requests then resolve in a single reply either way.
- Confirm fast. The visitor's address is already the Reply-To, and a same-day answer is usually what turns a request into a booking.
- State your opening hours or typical availability in plain text next to the form — it heads off most requests for slots you can't take.
- Add
form2email@terragohan.comto your contacts so the verification and request emails don't land in spam.
Limitations
- This is a booking request, not a scheduler: no calendar sync, no availability checking. The date and time arrive as plain text, and checking them against your actual calendar is up to you.
- The visitor gets no automatic confirmation email — Form2Email only ever emails you, the owner. The appointment is confirmed when you reply.
- The endpoint expires 7 days after verification. Extend it for free from your manage page — extending also revives an expired endpoint — or ask the operator for a permanent endpoint.
- Submissions are accepted only from the exact domain you registered.
If your site answers on both
yoursite.comandwww.yoursite.com, register the one your form is served from (or create one endpoint per hostname).
Keep reading
- Quote request form — when the first step is scope and budget rather than a time slot.
- RSVP form — collecting yes/no answers for an event instead of appointments.
- How it works — the endpoint lifecycle and security model in detail.