The Calendar Picker field lets visitors book an available time slot directly from your form, based on your real Google Calendar availability. Instead of the back-and-forth of scheduling emails (“Are you free Tuesday at 2?” “No, how about Wednesday?”), visitors see only the times when you are actually free and pick one with a single click.
This field reads your Google Calendar in real time. If you have a meeting from 2:00 to 3:00 PM, those slots automatically disappear from the booking form. The result is zero double-bookings and zero scheduling conflicts.
When to Use the Calendar Picker
| Use case | Why it works well |
|---|---|
| Consultation bookings | Clients pick from your real availability |
| Salon or spa appointments | Customers book without calling |
| Tutoring sessions | Students see and select open slots |
| Coaching calls | Clients book at times that work for both of you |
| Demo requests | Prospects book a product demo without email tag |
| Service scheduling | Plumbers, electricians, cleaners offer available service windows |
Setup Walkthrough
Step 1 — Connect Google- Go to Form Forge > Settings > Google.
- Click the Connect button.
- A new window opens asking you to sign in with your Google account.
- Grant Form Forge permission to read your calendar. This is read-only — Form Forge can see your busy times but cannot modify your calendar.
- After authorization, you will see a “Connected” status in the settings. Your credentials are stored securely on the Forge API server.
- Open your form in the builder.
- Drag the Calendar Picker field from the PRO fields section into your form.
- In the field settings, configure:
– Working Hours — Set the hours when you accept appointments (for example, 9:00 AM to 5:00 PM). Slots that start at or after the end hour are not shown.
– Slot Duration — How long each time slot is: 15 minutes, 30 minutes, or 60 minutes.
– Advance days — How far ahead the picker should offer slots.
– Buffer Time — An optional gap between appointments for preparation or travel (for example, 15 minutes between each booking).
- In the form-level Google Calendar integration card, select the Calendar ID if you want Form Forge to check or write events against a specific Google Calendar.
- Save the form.
What Visitors See
- A calendar view showing available dates. Days with no open slots are grayed out.
- When they click a date, the available time slots for that day appear as clickable buttons.
- Disabled weekdays show no slots, and times outside the field’s working hours are hidden even when the Google FreeBusy response still contains them. Working hours are interpreted in the WordPress site timezone, while each visitor sees the slot label in their own browser timezone.
- Busy times from your Google Calendar are automatically hidden when Google is connected.
- The visitor clicks a time slot to select it. The selected value is stored as a canonical UTC timestamp, and the Submissions screen formats it back into a readable date/time instead of showing raw ISO text.
- On submit, Form Forge revalidates that the selected slot is future, inside the configured advance window, on an enabled weekday, and inside working hours. In conversational or payment forms, an invalid slot takes the visitor back to the Calendar Picker step before any Stripe capture happens.
After a Booking Is Made
When someone books a time slot through your form:
- The submission is saved in Form Forge with the selected date and time.
- You receive your standard admin notification email.
- The booked time slot remains technically available in the form until you manually add the appointment to your Google Calendar. Form Forge reads your calendar but does not write to it.
| Important note | Explanation |
|---|---|
| Form Forge does not create calendar events | You need to manually add the appointment to Google Calendar after reviewing the booking |
| Double bookings are possible if you delay | If two people book the same slot before you update your calendar, both bookings will go through |
| Buffer time only applies to form slots | Google Calendar events do not automatically include buffer time |
> Tip: Create a dedicated Google Calendar for bookings (for example, “Client Appointments”) rather than using your personal calendar. This way, only genuine scheduling conflicts block availability, not your personal events like “dentist appointment” or “gym.”
> Good to know: Without PRO, the Calendar Picker field is not available. The standard Date and Time fields (free) let visitors pick any date and time, but they are not connected to your calendar and do not show real availability.
Common Mistakes to Avoid
- Using your personal calendar and forgetting that personal events block booking slots. Use a dedicated booking calendar.
- Not adding bookings to your calendar promptly. If a new booking comes in and you do not update your calendar, the next visitor might book the same slot.
- Setting working hours that do not match your actual availability. If you accept bookings from 9-5 but regularly have internal meetings until 10, you will get bookings at 9 AM that conflict with your meetings.
[Screenshot: A Calendar Picker field in a form showing a monthly calendar view with some dates grayed out and a row of available time slot buttons (9:00 AM, 9:30 AM, 10:00 AM, etc.) for the selected date]
—