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
- ☐ Decide what you need: a form, a booking link or both
- ☐ Keep tap-to-call and tap-to-email as the main buttons
- ☐ Pick a form service that works with your host
- ☐ Ask only for what you need to reply
- ☐ Add spam protection
- ☐ Add a booking link if you take appointments
- ☐ Send a test message and a test booking
- ☐ Write down where messages go and check them daily
The steps below walk through each one.
Step 1: Decide what you need
- A contact form suits jobs that need a quote first: "What's the job, where is it, how do we reach you?"
- A booking link suits fixed appointments: a haircut, a 30-minute consult, a lawn estimate visit.
- Both is fine, as long as each button says clearly what it does.
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:
- Netlify Forms works when your site is hosted on Netlify. You add
data-netlify="true"to the form tag and Netlify collects the messages and can email them to you. - Formspree works on any host. You create a form on their site and point your form's
actionat the address they give you.
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:
- the message arrives, and not in your spam folder
- the thank-you page or message makes sense
- the booking shows up on your calendar with the right time zone
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
- Form on a host that doesn't support it. Netlify Forms only works on Netlify; use a host-independent service elsewhere.
- Messages landing in spam. Add the service's sending address to your contacts.
- Booking times in the wrong time zone. Check the setting on the booking tool and your calendar.
- Too many fields. Cut it back to name, contact and message.
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
Try the free small business website cost calculator →
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.
Cedar & Ledger · Guides