Support Log in

Recipe: Setting Up an Appointment Booking Form

User Guide
Prefer video? Watch the Fillin Forge tutorials 9 short guides covering every feature Watch

This recipe creates an appointment booking form that checks real Google Calendar availability, lets visitors pick a location on a map, and sends confirmations via email and Telegram.

Prerequisites

  • Fillin Forge PRO active
  • Google connected in Fillin Forge > Settings (the Google (Sheets + Calendar) card) (for Calendar and optionally Sheets)
  • Google Maps API key entered in Fillin Forge > Settings (the Maps (Address Picker) card)
  • Telegram Chat ID saved in Fillin Forge > Settings (the Telegram Notifications card)
  • HubSpot connected in Fillin Forge > Settings (the HubSpot CRM card) (optional, for CRM)

Step 1: Create the Form

  1. Go to Fillin Forge > New Form
  2. Title: “Book an Appointment”

Step 2: Add Personal Information

Field TypeLabelRequired
Name (First + Last)Your NameYes
EmailEmail AddressYes
PhonePhone NumberYes

Step 3: Add the Date (Calendar) Field

  1. Drag the Date (Calendar) field into the form
  2. Label: “Select a Date and Time”
  3. In the field panel, open the Availability section and set the hours (Work start hour and Work end hour; the panel starts with 9 and 17), Slot duration (min) (30 to start with), Advance days (how many days ahead a visitor can pick a date; 30 to start with) and the Available days (Mon to Fri are ticked to start with). Adjust them to your schedule
  4. Find the Google Calendar card in the builder, toggle on Create calendar event on submission, click Load my calendars and choose your booking calendar under Calendar (for example “Client Appointments”). With a calendar chosen and Google connected, the slots that are busy in that calendar are filtered out of the picker; if the calendar cannot be read, the picker shows “Could not load free times. Please try again later.” and offers no times

There is no setting for buffer time between appointments.

Step 4: Add Service Selection

Field TypeLabelRequiredOptions
DropdownService TypeYesInitial Consultation (Free), Follow-Up (30 min), Extended Session (60 min)

Step 5: Add the Address (Map) Field

  1. Drag the Address (Map) field into the form
  2. Label: “Meeting Location”
  3. Add a Description: “Search for an address or click on the map to set the meeting location”

Step 6: Add Additional Fields

Field TypeLabelRequired
TextareaWhat would you like to discuss?No
RadioPreferred Contact MethodYes

Options for Preferred Contact Method: Email, Phone, Either.

Step 7: Configure Notifications

Email notification:
  1. Find the Email Notifications card in the builder
  2. Toggle on Notify admin on submission and enter your scheduling email in Notification email
  3. The admin email subject is fixed (“[Site name] New submission: Form title (#id)”), so there is nothing to set here
Auto-reply:
  1. In the same card, toggle on Send auto-reply to submitter and, under Email field (for auto-reply address), select the Email Address field
  2. Set the Subject to: “Appointment Request Received”
  3. In Message, note that you will confirm the booking within a few hours. The message is sent as you write it, so it cannot include the selected date, time or service type
Telegram notification:
  1. Find the Telegram card in the builder and toggle on Send submissions to Telegram. Leave Chat ID (overrides global) empty to use the Chat ID saved in Fillin Forge > Settings. Each submission then sends a message to Telegram with the submitted field values for mobile alerts.

Step 8: Connect HubSpot (Optional)

  1. Find the HubSpot CRM card in the builder
  2. Toggle on Send lead to HubSpot on submission
  3. There is nothing to map: Fillin Forge sends the form’s first Email field to HubSpot as the contact’s email address. The name and phone are not sent
  4. Optionally toggle on Also create a Deal and enter the Pipeline ID and the Stage ID of your “Sales Pipeline” and its “Appointment Scheduled” stage. A deal is created only when both IDs are filled in
  5. This ensures every booking automatically creates or updates a CRM contact

Step 9: Embed, Test, and Go Live

  1. Save the form and embed it on your Booking page
  2. Test by selecting a date and time slot, confirming slots reflect your real calendar availability
  3. Verify the map works and captures the address
  4. Confirm email, Telegram, and HubSpot notifications all fire correctly
  5. With a calendar chosen in the Google Calendar card (Step 3), each real submission in which the visitor picked a slot creates an event in that calendar. The title comes from Event title template (it starts as “Booking: {name}”), the description lists the form title, the submission number and the submitted fields, and the email address from the form’s Email field is added to the event as a guest. If the slot the visitor picked is already busy in the calendar when the form is submitted, or the calendar cannot be read at that moment, no event is created. If the slot is free but the event cannot be created, the event may be missing from your calendar. In each case the submission is still saved and marked “Time not confirmed” on the Submissions screen, and the form’s notification address gets a short email “Time not confirmed in the calendar” (a form with its admin notification switched off gets only the mark). Test submissions sent from the builder create no event, so check this with a real submission

—

Forge AI Assistant Online

Hi! I'm the Fillin Forge AI assistant. Ask me anything about the plugin — setup, features, troubleshooting, or development.

Just now
Powered by Forge AI · Browse docs