Cedar & Ledger logoCedar & Ledger · Guides

How to Add a Contact Form or Booking Link to Your Website

By Cedar & Ledger

A tap-to-call button is the fastest way for a local customer to reach you. But some people won't call: they're at work, it's late, or they'd rather type out what they need. A simple contact form or a booking link catches those people without you building anything complicated.

The business and numbers below are a made-up example to show the steps, not a real company. This is general information, not legal or financial advice. Free plans and limits change, so check each service's current terms before you rely on it.

Quick checklist

The steps below walk through each one.

Step 1: Decide what you need

Example (made up): Maple Street Cleaning quotes every house first, so it only needs a form. A barber with set 30-minute slots would use a booking link instead.

Step 2: Keep call and email as the main buttons

A form is an extra, not a replacement. Leave a tel: link ("Call now") and a mailto: link ("Email us") at the top of the page and in the footer. If the form service ever goes down or changes its plan, customers can still reach you. What to include on a one-page local business website covers the rest of the page.

Step 3: Pick a form service that works with your host

A plain HTML page can't send email on its own, so the form needs a service to receive the messages. Two common options with free tiers:

A minimal form looks like this (swap in your own form address):

<form action="https://formspree.io/f/your-form-id" method="POST">
  <label>Name <input name="name" required></label>
  <label>Phone or email <input name="contact" required></label>
  <label>What do you need? <textarea name="message"></textarea></label>
  <button type="submit">Send</button>
</form>

Free tiers usually cap how many messages you get per month. Example (made up): if you get about 3 form requests a week, that's roughly 12 to 15 a month, so look for a free limit well above that and check what happens when you go over (some services stop accepting messages until the next month).

Step 4: Ask only for what you need to reply

Name, a phone number or email, and a short "what do you need?" box are enough for most local jobs. Add one more field only if it saves a back-and-forth, like the address or zip code for a service-area business. Every extra field means fewer people finish the form, and more personal information you're responsible for. Don't ask for payment details or anything sensitive in a contact form.

Step 5: Add spam protection

Public forms get spam. Most services offer a hidden "honeypot" field that bots fill in and people don't (Netlify uses netlify-honeypot, Formspree uses a field named _gotcha), and many add a spam filter or a captcha option. Turn on the simplest one first and see if it's enough.

Step 6: Add a booking link if you take appointments

Booking tools give you a page where customers pick an open time. Many scheduling services have a free plan (for example Google Calendar appointment schedules, Calendly or Square Appointments; compare current plans yourself). Set your real hours, add a buffer between visits, then link to the booking page with a clear button: "Book a 30-minute estimate". A link is enough; you don't need to embed a calendar in the page.

Step 7: Test it like a customer

Fill in the form from your phone, on mobile data. Check that:

Then do the same from a computer. The website launch checklist has the other things to tap through before you share the site.

Step 8: Decide where messages go and check them daily

Send form messages to an email you actually read, and set a time each day to reply. A form nobody checks is worse than no form. Example (made up): Maple Street Cleaning replies to every form message by 5 PM the next business day and says so under the form: "We reply within one business day."

Common snags

A simple site to add it to

These steps work on any website. If you'd like a head start on the site itself, the One-Page Local Business Website Template ($12, HTML and CSS) has a sticky "Call now" button on phones, tap-to-call and tap-to-email links, services, reviews, hours and service area sections, and a README for free hosts (Netlify Drop, GitHub Pages, Cloudflare Pages) that points to free form options (details). It doesn't include a form backend or a booking tool, so you'd add those with the steps above, and it's a file you edit, not a drag-and-drop builder.

Honest note: I make this template and sell it under Cedar & Ledger, so I'd earn from a purchase. Not affiliated with any service named here. General information only, not legal or financial advice.

Related template: read about the html business template template

See all Cedar & Ledger templates

Frequently asked questions

What does this guide cover?

Keep call and email first, pick a form service that fits your host, ask for little, block spam, add a booking link and test it on your phone.

What are the steps?

1) Decide what you need; 2) Keep call and email as the main buttons; 3) Pick a form service that works with your host; 4) Ask only for what you need to reply; 5) Add spam protection; 6) Add a booking link if you take appointments; 7) Test it like a customer; 8) Decide where messages go and check them daily.

Do I need a template to do this?

No. You can build the page yourself or use any site builder. Cedar & Ledger also sells a one-page HTML/CSS website template (I'd earn from a purchase); see the template box at the top of this page.

Is this financial advice?

No. It's general information with example numbers only, not financial, tax, legal or medical advice. Use your own numbers and check anything important with a qualified professional or the official source.