Skip to main content

How to Create a Patient Appointment Request Form in WordPress

Build a WordPress patient appointment request form that asks for the visit type, a preferred date and the best time to call, without collecting medical details, plus the privacy limits to know first.

A patient appointment request form on a clinic’s website has a narrow job: let someone ask for an appointment and tell you when to call them back, without collecting anything about their health. So, if you are looking to add an appointment request form to a clinic, dental practice or physiotherapy site in WordPress, this guide can surely help, and it starts with what the form should not ask.

I build Core Forms, and every screen here comes from its Clinic appointment request template running on a test site.

Every practice has its own intake process and its own privacy rules, so one guide cannot replace advice on the law where you are. But almost every appointment request needs the same things, the type of visit, a preferred date and a good time to call, and in this one I will try my best to cover those properly, along with the line between a request form and a patient intake form, which this template does not cross.

The template ships with the plugin, so you can follow along click for click. Or, if you get stuck halfway, support is a message away. Without further ado, let’s get started.

What This Form Is Not

Before the fields, one thing needs saying plainly. This is an appointment request form, not a patient intake form.

A patient intake form collects health information: symptoms, medications, history, insurance details. That information is protected in most countries, under HIPAA in the United States, the GDPR’s rules on health data in Europe and similar laws elsewhere, and it needs hosting, storage, access controls and agreements that a general-purpose website form does not provide on its own. A form plugin, this one included, does not make a WordPress site compliant by itself.

The Clinic appointment request template stays on the safe side of that line on purpose. It asks for a visit category, a date and a time to call. It has no upload field, no symptoms box and no insurance field, and the consent pattern guide covers how a contact consent checkbox should be worded and stored.

What a Patient Appointment Request Form Asks

The template collects 8 things across 3 steps:

  • Your name and Email address are required, and Phone is optional.
  • Appointment category is a required select: New patient appointment, Follow-up appointment or General inquiry.
  • Preferred date is a required date field.
  • Best time to contact you is a required select: Morning, Afternoon or Evening.
  • Anything else we should know? is an optional text area with a 2,000 character limit.
  • You may contact me about this request is a required consent checkbox on the last step.

The contact time select is the field that makes this a callback form rather than a booking form. The clinic calls, confirms the slot and takes any medical detail by phone or in person, where it belongs.

Create the Patient Appointment Request Form

The industry templates ship in the multi-step layout only, so the search shows one card:

  1. Go to Core Forms > Add New.
  2. Type clinic in the template search.
  3. Click Use this template on the Clinic appointment request card.

Core Forms template gallery searched for clinic, showing the Clinic appointment request template with its Multi-step badge The card says it in 1 line: a callback request with no medical-record upload.

The builder opens with 3 steps: “Your details,” “Your request” and “Confirm.”

Core Forms builder for the Clinic appointment request form with the Your request step selected, showing appointment category, preferred date, contact time and message fields Category, date and contact time sit together on the second step.

If you add anything, add a Practitioner select for patients who want to see a particular doctor. Do not add a symptoms field, a file upload or a date of birth. Each of those moves the form across the line described above.

The 3-Step Layout

On the front end the patient fills one step at a time, with a progress bar and the step names above the fields.

Step 2 of the clinic appointment request form with the appointment category, preferred date and best time to contact fields Three short fields, which is the whole request for a patient on a phone.

The Confirm step of the clinic appointment request form with the contact consent checkbox and the Request an appointment button The consent checkbox covers contact about this request, and nothing else.

Collapse It to One Page

For a form on a Contact page that people open at a desk, a single page can be quicker. In the builder, change Form layout to Single page and click Save fields. The step assignments stay saved.

Core Forms builder for the clinic form with the layout set to Single page, showing all 8 fields in one column Same fields, same order, no steps.

The clinic appointment request form on a single page with all fields visible Both layouts are short. The steps suit a phone, the single page suits a desktop contact page.

Two Emails Out of the Box

The template ships with 2 actions already configured:

  • Send Email notifies the admin address with the subject “Clinic appointment request: [NAME]” and a Reply-To header set to the patient.
  • Auto-Responder sends the patient “Clinic appointment request - Request received,” with the same text they saw on screen: the request was received and the clinic will contact them to confirm availability.

The Auto-Responder action for the clinic form, sending the acknowledgement to the EMAIL field Change the From name to the practice name, and check who receives the notification before publishing.

One thing to check on the notification: the message is [all:label], which prints every field the patient filled in, including the optional message. If a patient types a symptom there despite the label, it travels in the email. Change the recipient to a practice mailbox that is handled like patient correspondence, not a general inbox.

The Settings the Template Turns On

The Settings tab arrives with the sensible defaults for a public request form:

  • Save submissions is on, so every request is stored even if the email fails.
  • Prevent duplicates is on.
  • Rate limit is set to 10 submissions per IP per hour.
  • Anti-spam shows the honeypot on.

The Settings tab for the clinic form showing save submissions on, prevent duplicates checked, a rate limit of 10 per hour and the honeypot on Save and resume is off, which is right here. A half-finished request should not sit in the browser.

Saved submissions live in your WordPress database. For a clinic, that means the WordPress admin, the hosting and the backups are all places where patient names and requested dates now exist, and each one needs the same care as the practice inbox. The submissions inbox feature explains how to limit who sees entries, and deleting old requests on a schedule is a habit worth keeping.

Publish the Patient Appointment Request Form

The shortcode is shown next to the form’s name in the editor:

[cf_form slug="clinic-appointment-request"]

Paste it into your Appointments page, or use the Core Forms block. Put a line above the form saying what to leave out, such as “Please do not include medical details, we will ask for those when we call,” because some patients will type them unless told.

Read the Requests

Every request lands in the form’s Submissions tab, with the category, preferred date and contact time in their own columns.

Core Forms Submissions tab for the clinic form showing a new patient request for a morning call and a follow-up request for an evening call Sort by the Preferred date column and this week’s requests come first.

Click View to read the whole request and answer from the Send Reply box on the same screen. For a clinic, the phone is usually the better reply, and the contact time field tells you when.

A single clinic appointment request showing the request fields, submission info and the Send Reply box The morning and evening callback windows are the reason this form exists.

The Limits

The form does not book the appointment. The clinic calls to confirm, which is what the acknowledgement says.

It does not make a website compliant with health privacy law. A request form with no medical fields is a smaller risk than an intake form, not a zero one, because names and requested dates are still personal data. Hosting, access, retention and the agreements with your host are yours to arrange.

It does not integrate with practice management software. A webhook can post each request as JSON to a system that accepts it, and most of those systems have their own rules about what may come in from a website.

The message field is free text, and patients will sometimes put health details in it. The label asks them not to, and the note above the form helps, but the field either stays optional with that risk or gets removed.

What Quietly Ruins a Patient Appointment Request Form

Adding a symptoms field “to save time on the call.” It turns a request form into an intake form, and the rest of your website was never set up to hold what arrives in it.

Adding a file upload for insurance cards or referrals. Same problem, and now the files sit in the uploads folder of a WordPress site.

Sending the notification to a shared front-desk inbox that everyone reads. The request carries a name and a date, and that is enough to need the same handling as any other patient correspondence.

Keeping every request forever. The inbox is useful for a week. After the appointment happens, the request has no job, and a monthly clear-out is cheap.

Final Remarks

You now have a patient appointment request form that asks for the visit type, a date and a good time to call, walks the patient through it in 3 short steps, acknowledges the request and keeps medical detail out of your website. If you keep one idea from this guide, keep this one: the form’s job is to get the phone call started, and everything a doctor needs to know belongs in that call.

The clinic appointment request template page has the fields and a live demo, and the appointment booking form guide covers the general version with a time picker for practices that are not clinical. If something here does not behave the way this guide describes, the support team can help. The other 15 industry forms are listed in the industry form templates guide.

I hope it makes the front desk’s mornings a little calmer.

FAQ

Is this form HIPAA compliant?

No form is on its own. The template avoids collecting health information, which keeps it out of the hardest rules, but names and requested dates are still personal data, and compliance depends on your hosting, access controls, retention and agreements, not on the plugin.

Can I add a date of birth field?

You can, but I would not. A name plus a date of birth identifies a person far more precisely than a name alone, and the clinic can ask for it on the confirmation call.

Can patients choose a doctor?

Yes. Add a select field on the “Your request” step with the practitioners’ names and a no-preference option. The choice arrives in the submission and the notification email.

Build the form. Stop reading.

Every note here came out of a real Core Forms setup. Use CFLAUNCH for 20% off either plan.

Public launch offer

20% off Core Forms

Forms, polls, surveys, payments, and licensing — every feature, unlimited sites, one plugin.

Copy your code

Those are the after-discount prices. Paste CFLAUNCH at checkout to apply it.