The Book an appointment page is how Mokapen ends the ping-pong of three dates in email: the visitor chooses who to meet (or Mokapen assigns them), sees only the free slots, and confirms. The appointment is already on the calendar, with the contact in the address book, Meet or Teams if the host has them connected, calendar invite. You copy nothing.
It is not a catalog booking (paid consulting, rental, a seat in class): that is Book a service or product. Here the object is a person’s time on the team. It is not the contact form either: there you collect a message, here you take a real slot.
The convenience is all here: one URL (or a snippet on the site), the customer books themselves, you already find date, host, channel and contact card. Same privacy, same fields, same calendar as the rest of Mokapen. No separate Calendly, no “give me three windows” in the inbox.
The average salesperson spends more time booking the call than taking it. This page closes that gap:
In short: you use this page to have someone book a person’s time. You use the contact form to collect who writes to you. You use services/products to have someone book a catalog item. One form, one job: do not mix the three in the same form.
Same list as all forms: cards with internal title, Appointment booking badge, form code (slug: you will use it in automations), Online status (green, icon to open the public page) or Offline (red, eye for preview without accepting bookings).
Three-dot menu: Edit (Settings), Duplicate, Delete. Duplicate when you have a page that works and you want a twin for another team or another campaign (then you change host, duration, notification email). Delete removes the public page: appointments already created stay on the calendar.
If the filtered list is empty, Mokapen tells you so and offers the new button (if the plan still has slots).
Contact fields, privacy, reCAPTCHA, hidden fields, snippet and tracking: same logic as the contact form. Below is what is specific to the calendar.
In the Bookings block the type is Appointment booking. Add one or more people: they are org users with availability in Appointments. You can change the visible label (name on the page) from the internal name.
With one person the visitor does not pick the host: they meet that one. With at least two, Host assignment appears:
Round robin and collective do not combine with “the visitor picks who”: either they decide, or Mokapen decides, or everyone is needed. If a host has no slots (or the external calendar fills the whole window), that person offers no times: fix it before you publish, not after the first complaint.
In the same Bookings card you set when they can book. It is not the host’s personal calendar: it is this page’s mask, then Mokapen crosses the user’s slots with busy times from the connected calendar.
On the public page the visitor can add other participants’ emails (optional, comma-separated). They land on the appointment as guests; they do not replace the main contact (that stays the form’s email/name). They do not need to put their own email again: Mokapen uses the contact details below.
Align the personal calendar (Google/Outlook) if you want external busy times to count. Slots “free” in Mokapen + a full calendar = the visitor sees holes you cannot honor.
In the block, meeting channel section, tick what you want to offer:
One channel only: the visitor does not choose, it is implicit. Several channels: radio on the page. Zero video channels and zero locations: you are offering a slot without saying where — that is fine only if you explain it in the title or description (“we will call you”). Do not document Meet to the customer if the host does not have Google: the checkbox in the editor is disabled or missing.
In Settings, like the contact form:
Privacy, reCAPTCHA and the success page apply here too. The default thank-you text is the appointment one: confirm it (“you are on the calendar Tuesday at 10”, not “we’ll call you back”). The confirmation email to the visitor is the proof of the slot; the internal notification goes to the inboxes you put on the form.
With nothing else configured, in order:
form_ + page id.Then, if you configured them, the form automations (label, “prepare the demo” task, inbound deal). For delays and conditions use the Automations module with form received trigger and this page’s slug.
Each case is a real situation, not a list of ticks. The page is the same; what changes is hosts, assignment and channel.
Open Forms → New → Book an appointment. Internal name “Luca demo”, notify your address. In Content open Bookings: leave yourself as the only host, 30-minute duration, Mon–Fri as pre-filled. If Google is connected, tick Meet; if not, a location or no video and say so in the title (“we will call you”). 60-minute notice. Settings: stay Offline, open Preview, book a slot on your Gmail. Check that the appointment is on the calendar, the invite arrived, the contact is in the address book. Only then ONLINE and paste the URL in your signature. Do not create a deal on every call: many are exploratory. You open the deal afterwards, or with an automation only if the form has company filled in.
Same template, but add the three account executives in the block (they need slots in Appointments). Host assignment appears: pick round robin, not “Visitor picks the person”. Same duration and buffers for everyone, otherwise Mokapen has no single rule. If you offer Meet, open the editor and check that no host has the checkbox off: one without Google breaks the call when round robin lands on them. On the page the visitor does not see names — fine if the pitch is the same. If one AE is the only person who covers DACH, drop round robin and go back to “Visitor picks the person”, with a visible label “Anna — German”.
The customer has signed and must meet whoever sold and whoever will do the work. Two hosts, collective assignment, 60 minutes, Teams. The slot on the page exists only in hours when both are free: that is intended, not a bug. Do not use round robin “so at least someone shows up”: the customer arrives and delivery is missing. Finish the success page with “you will be on a call with [names]” and test Offline with two real calendars, not an empty preview.
Q: I do not see times on the page.
A: Does the host have slots in Appointments? Are you in range (day/hours of the block), past the notice, inside the horizon, outside lunch, closings and excluded dates? Does the external calendar fill everything? Try a Tuesday in two weeks, not “today in twenty minutes”.
Q: Difference from Book a service or product?
A: Appointment = a person’s time. Service/product booking = a catalog item with duration and seats. Details in the Bookings guide and the service form guide.
Q: Meet is not created / the checkbox is off.
A: The host’s Google integration (all hosts in collective; whoever can be assigned in round robin). Mokapen flags it in the editor. Without the integration leave location or “we’ll call you” and do not promise a link.
Q: Can I mix services and appointments in the same form?
A: A form has one booking type. Two pages, or you change the type in the block knowing that the entity created in the CRM changes too (appointment vs booking).
Q: Do guests become contacts?
A: The main contact is whoever filled email/name. The other emails are participants on the appointment. They do not replace the card.
Q: The form does not accept bookings.
A: It must be ONLINE. Check reCAPTCHA, required fields, the plan’s form cap, the right slug in the snippet, and that preview is not the only page you are using (the Offline eye does not book for real).
Q: Where do I see who booked?
A: Appointments calendar, contact card (form origin), submission log on the contact timeline. Notification emails are the alert, not the archive.
Need help?