Calendar Booking
Public booking page for leads to pick a slot — customise availability, styling, and reminders; personal booking links per lead; premium feature.
Overview
Call Scheduler gives your organization a public booking page where leads can pick a date and time to talk to you. You share a link, the lead fills in a short form and chooses an open slot, and Kraya records the booking against that lead automatically. You control how the page looks, when slots are available, and how it behaves — all from a settings area in the Dashboard.
You can also set up reminders that go out automatically before each booked slot (over email, WhatsApp, or a WhatsApp template), reusing the same sequence builder as Auto Followups. And you can copy a personal booking link for any lead that opens the calendar with their details already filled in.
Call Scheduler is a premium feature. On the Free plan the booking page and settings are not available.
What you can do
- Publish a public booking page at a link (for example
kraya-ai.com/calendar/your-slug) - Let leads book a slot through a 3-step flow: fill a form, pick a slot, see a confirmation
- Customize the page: logo, accent color, headings, highlights, session details, and confirmation message
- Add your own form fields and map each one to a lead attribute in the CRM
- Set when slots are available: working hours per day, slot length, how many bookings per slot, daily caps, minimum notice, and how far ahead leads can book
- Block specific dates, weekdays, or a daily time range (such as a lunch break)
- Send automatic reminders before each booked slot, using an email, WhatsApp, or WhatsApp template sequence
- Mirror every booked slot onto your own Google Calendar, and optionally email the lead a calendar invite
- Copy a per-lead booking link that skips the form and opens straight on the slot picker
- See each lead's booked slot in the CRM, filter and sort by it, and set or clear it manually
- Preview the live page and reset all content back to defaults at any time
How it works
- Every organization on a paid plan gets one booking page. It stays disabled until an admin turns it on.
- The page has a slug — the last part of its web address. It defaults to your organization's slug. If your preferred slug is already taken, contact your Kraya POC to change it.
- Leads open the page, complete the form, and pick from the open slots. When they confirm, Kraya creates (or updates) the lead in your CRM and records the chosen time as the lead's Booked Slot (also shown as "Booked At").
- Slots are always shown in your organization's timezone. Leads see that timezone labeled on the page.
- If you set up a reminder sequence, booking a slot automatically enrolls the lead. Reminders are timed relative to the booked slot — for example "2 hours before" or "1 day before".
- Email and WhatsApp template reminders are sent by Kraya's servers. Plain WhatsApp reminders are sent by the Kraya WhatsApp Extension, exactly like Auto Followup WhatsApp messages — the browser extension must be open and online for those, unless the lead's linked pipeline uses a Hosted WhatsApp Session, in which case Kraya's servers send them and no browser is needed.
- If a lead reschedules (their booked slot changes), the reminder sequence restarts from the first reminder that hasn't been sent yet. If the booking is cancelled (the slot is cleared), remaining reminders stop.
- You can also set or clear a lead's booked slot yourself from the Add Lead form, the Edit Lead modal, or by having them use a booking link.
Step-by-step guide
Turning on and configuring the booking page (admin only)
- In the Dashboard sidebar, click Call Scheduler. This opens the Call Scheduler settings page. (Only admins can open it. On the Free plan you will see an upgrade prompt over the settings.)
- At the top you'll see three cards:
- Open Preview — opens your live booking page in a new tab (available once the page is enabled).
- Booking Timezone — the timezone all slots are shown in (read from your organization settings; you cannot change it here).
- Booking Page Status — a switch that turns the page Live or Disabled. Turn this on when you are ready to accept bookings.
- Fill in the four tabs — Lead Form, Scheduling, Confirmation, and Reminders — described below.
- Click Save Changes in the top-right. The button stays disabled until you have a valid unsaved change; if it is disabled, hover it to see what still needs fixing (for example, "Enable at least one available day" or "Redirect URL must be a valid http:// or https:// link").
Lead Form tab
Controls the first screen leads see and the details you collect.
- Page Introduction
- Page heading (required) — the main heading beside the form.
- Sub-heading (required) — a short line under the heading.
- Key highlights — a numbered, drag-to-reorder list of benefits or talking points (up to 6).
- Lead Form Fields
- Logo — drag and drop or click to upload. Accepts PNG, JPG, or SVG up to 2 MB (recommended 400×120px). Upload, replace, or remove it here.
- Accent color — the color used for buttons and highlights on the page. Enter a hex code (defaults to
#0060A2when left blank). - Core fields — Name and Mobile are always collected and cannot be edited or removed.
- Additional fields — click Add field to collect more information. In the dialog, enter a Field label, choose the CRM attribute it maps to (its value is saved onto that attribute for every booking), optionally add a Placeholder, and toggle Required. The field type is detected automatically from the mapped attribute (Small Text, Number, Date, Date & Time, Dropdown, or Email). You can only map to attributes that aren't already used; if none are available, create one first in Manage Attributes.
- Form Settings
- Submit button text — the label on the button that moves the lead to slot selection (defaults to "Continue to scheduling").
- Show consent checkbox (on by default) — when on, leads must tick a consent box before continuing. Enter the Consent text shown next to it.
Scheduling tab
Controls when slots are available and how they are generated.
- Booking Page Content
- Session title (required) — for example "30-Minute Consultation Call".
- Session description (required) — a short description of the session.
- Discussion points (required) — a numbered, drag-to-reorder list of what the call will cover (up to 6).
- Availability Window
- Weekly hours (required) — for each day (Monday–Sunday) toggle it on or off and set a Start and End time (in 30-minute steps). Tick Use same working hours for all days to apply one range to every enabled day. Days that are off show as "Unavailable". Defaults: Monday–Friday, 09:00 to 18:00.
- Bookable up to (required) — how many bookable days ahead leads can book (1–365; default 30). This counts usable days, not calendar days — blocked or unavailable days don't use up the limit.
- Minimum notice (required) — how soon before a slot a lead can still book it. For example, "1 hour before" means slots less than an hour away are hidden. Options: No notice, 30 minutes, 1 hour, 2 hours, 4 hours, 1 day, or 2 days (default 1 hour before).
- Slot Logic
- Slot duration (required) — length of each slot: 15, 20, 30, 45, 60, or 90 minutes (default 30).
- Max slots per day (required) — the daily booking cap (1–500; default 25). Once a day hits this number, no more slots that day are bookable.
- Bookings allowed per slot (required) — how many leads can book the same time (1–50; default 1). Use 1 for one-on-one calls; increase for group sessions or when a multi-member team can take several bookings at once.
- A Live slot summary line shows how many bookable slots your current settings produce per week.
- Blocking
- Block weekdays — toggle any weekday to remove it entirely.
- Block specific dates — add individual future dates to block (for example holidays).
- Block a daily time range — add one or more time ranges to block every day (for example a lunch break).
Confirmation tab
Controls the screen a lead sees after they book.
-
Success Message
- Confirmation heading (required) — for example "Your call has been successfully scheduled!".
- Confirmation message (required) — the message shown after booking. Click the placeholder pills to insert personalization such as
{booked_slot},{lead_name},{lead_first_name},{email},{org_name},{user_name}, or any of your organization's custom attributes.
-
Booking Details
- Show booking details (on by default) — shows the date, time, duration, and timezone to the lead on the confirmation screen.
- Show "Add to Calendar" button (on by default) — shows an Add to Google Calendar button so the lead can add the session to their own calendar.
-
After Booking
- Redirect to a URL — optionally show a button that sends the lead to your own page after booking. When on, set the Button text and a valid Redirect URL (must start with http:// or https://).
-
Google Calendar sync
- Click Connect Google Calendar and sign in with the Google account whose calendar should receive the bookings. Kraya asks only for permission to manage calendar events and to read the account's email address. Once connected the card shows Connected with that email, and every new booking is added to that account's primary calendar (there is no calendar picker).
- Each mirrored event is titled "Session title — Lead name" (your organization name is used when no session title is set), lasts one slot length, and carries the session description plus the lead's phone number. Any change to a lead's booked slot — a reschedule from the booking page, a Google Sheets sync, or a manual edit on the lead — moves the event with it; deleting the lead removes the event. Bookings made before you connected are not backfilled.
- Send calendar invite to lead (off by default) — adds the lead as an attendee on the mirrored event so Google emails them the invite, and later any update or cancellation. Needs the lead to have an email address. With this off, the event lives only on your calendar and the lead receives nothing from Google.
- Disconnect stops future bookings from being mirrored; events already on the calendar stay there. If Google reports the connection as expired or revoked, the card drops back to Not connected — reconnect to resume.
- One Google account is connected per organization and shared by every admin.
Reminders tab
Set up automatic reminders that fire before each booked slot. This reuses the same sequence builder as Auto Followups.
- The first time you open the tab, you create the sequence:
- Sequence Name (required; defaults to "Calendar Reminders").
- Description (optional).
- If your organization has an active WhatsApp API account, you also choose how the sequence is sent — Use WhatsApp Extension or Use WhatsApp API. This choice cannot be changed later. If you choose WhatsApp API, pick the API number to send from.
- Click Create Sequence.
- Once created, build the reminder messages just like an Auto Followup sequence:
- Add messages with Add WhatsApp / Add WhatsApp API, Add Email, Add Call Reminder, or Add AI Call. AI Call reminder steps place an automated voice call to the lead before their booked slot — same builder as an Auto Followups AI Call step, with Call Instructions, retry controls, and a Preview Call button; requires AI Voice Calls to be enabled for your organization. Retries are automatically capped at the booked slot itself — if a retry would land at or after the slot, Kraya skips it (the meeting will have started by then). The step's Take action after the call option works here too: turn it on and write instructions, and after the call Kraya can move the lead to another stage in its pipeline and set a call reminder based on how the call went. It uses one organization credit per call analysed. See Auto Followups for the full behaviour.
- For each message, choose a schedule:
- Immediate — sent as soon as the lead books (offered only for the first message of its type).
- Specific time — sent at a set clock time on the booking day.
- X minutes/hours/days before booked slot — sent the chosen amount of time before the booked slot. This option is unique to reminder sequences.
- Save with Save Reminders. A "Reminder sequence saved" confirmation appears.
- To remove the whole sequence, use Delete Sequence in the top-right.
Reminders don't appear in your regular Auto Followups list — the two are kept separate. Both can run on the same lead at the same time without interfering.
Booking a slot (what the lead does)
The public page has three steps. With a normal link the lead starts at Step 1; with a personal booking link they start at Step 2.
- Lead form — the lead enters their Name and Mobile (both required) plus any extra fields you added, accepts consent if enabled, and clicks the continue button.
- Slot picker — the lead sees a calendar. Only dates with open slots are selectable, and the timezone is shown. They pick a date, then a time, and click Confirm the Call.
- Confirmation — a success screen shows your confirmation message and, if enabled, the booking details and an Add to Google Calendar button. An optional redirect button can send them to your own page.
Sharing a personal booking link
Every lead has a unique booking link that opens the calendar with their identity already known, so they skip the form and go straight to picking a slot.
- From the lead detail panel — on the Booked At row, if the lead hasn't booked yet, click Copy booking link.
- From the CRM lead table — in the Booked Slot column, use Copy booking link on a lead that hasn't booked.
In both places a "Booking link copied to clipboard" confirmation appears. The button only shows when your calendar is enabled and the lead doesn't already have a booked slot.
Setting or clearing a booked slot manually
- Add Lead / Edit Lead — when your calendar is enabled, a Booked At field appears. Set it to book a slot for the lead, or clear it to cancel.
- Clearing a booked slot cancels any remaining reminders for that lead. Changing it reschedules them.
Viewing and filtering bookings
- The CRM lead table has a Booked Slot column showing the date and time, sortable by booked time.
- The lead detail panel shows a Booked At row, and a Source row that links to the booking page the lead used (click to copy the URL).
- You can filter leads by Booked At using a date range in the Filters.
Settings and configuration
| Setting | Where | Default |
|---|---|---|
| Booking page on/off | Call Scheduler page → Booking Page Status switch | Off |
| Booking page slug | (auto from your org slug; editable) | Your organization's slug |
| Accent color | Lead Form tab | #0060A2 |
| Logo | Lead Form tab | None (PNG/JPG/SVG, up to 2 MB) |
| Available days | Scheduling tab → Availability Window | Monday–Friday |
| Working hours | Scheduling tab → Availability Window | 09:00–18:00 |
| Bookable up to | Scheduling tab | 30 days |
| Minimum notice | Scheduling tab | 1 hour before |
| Slot duration | Scheduling tab → Slot Logic | 30 minutes |
| Max slots per day | Scheduling tab → Slot Logic | 25 |
| Bookings allowed per slot | Scheduling tab → Slot Logic | 1 |
| Show booking details | Confirmation tab | On |
| Show "Add to Calendar" button | Confirmation tab | On |
| Google Calendar sync | Confirmation tab → Google Calendar sync | Not connected |
| Send calendar invite to lead | Confirmation tab → Google Calendar sync | Off |
| Timezone | Read from organization settings | Asia/Kolkata (unless changed) |
- Reset to default settings clears all admin-entered content across the Lead Form, Scheduling, and Confirmation tabs and returns slot settings to their defaults. It preserves your slug, the live/disabled status, and the reminder sequence. You are asked to confirm before it runs. The Google Calendar connection and the Send calendar invite to lead setting are also left untouched.
Role-based behavior
- Admins: Can open the Call Scheduler settings page, configure all tabs, enable or disable the page, upload a logo, reset settings, and manage the reminder sequence. Can set or clear a lead's booked slot.
- Members: Cannot open the Call Scheduler settings page (they are redirected to the Dashboard). They can still copy a lead's booking link and see the Booked Slot column and Booked At value on leads they have access to.
Limits and quotas
- Available only on the Basic and Pro plans. Free-plan organizations cannot use the booking page or open the settings.
- One booking page (one slug) per organization.
- Slug may contain lowercase letters, digits, and hyphens only, up to 255 characters, and must be unique across Kraya.
- Logo upload: PNG, JPG, or SVG, up to 2 MB.
- Bookable up to: 1–365 days. Slot duration: 15–90 minutes. Max slots per day: 1–500. Bookings allowed per slot: 1–50.
- Up to 6 key highlights and 6 discussion points.
Common edge cases
-
The booking page shows "404 — This booking page is unavailable." The page is either disabled, the slug is wrong, or the organization is on the Free plan. Enable the page (or upgrade the plan) and confirm the slug in the address.
-
A personal booking link shows "404 — This booking link is invalid or has expired." The link's token is wrong, or it belongs to a lead in a different organization than the page. Copy a fresh link from that lead's panel.
-
The slug you want is already taken. If the slug you want is already in use, contact your Kraya POC to have it changed.
-
A slot the lead wanted isn't showing. A slot is hidden if it is sooner than your Minimum notice, falls inside a blocked date, weekday, or daily time range, the day has hit its Max slots per day, or that exact time is already fully booked (Bookings allowed per slot reached).
-
The lead reschedules to a new time. Reminders automatically restart from the first reminder that hasn't been sent yet, timed against the new slot. Already-sent reminders are not resent.
-
The booking is cancelled (booked slot cleared). Remaining reminders stop. Reminders already sent stay in the lead's history.
-
A reminder was scheduled for a time that has already passed. For example a "24 hours before" reminder on a slot booked only 1 hour away. Kraya sends it on the next check rather than skipping it.
-
A WhatsApp (non-template) reminder didn't go out. These are sent by the browser extension. The extension must be open and online on the assignee's WhatsApp account, on the primary session, within auto-responder business hours, and the lead's WhatsApp contact must exist. If the lead's linked pipeline uses a Hosted WhatsApp Session, Kraya's servers send these instead and no browser is needed. Email and WhatsApp template reminders don't depend on the extension.
-
A reminder wasn't sent even though the slot is booked. Reminders only fire while the booked slot is still in the future, the lead's reminder toggle is on, the pipeline owner's auto-responder is enabled, and (for email) email credits are available / (for templates) the template is approved and the WhatsApp account is active.
Troubleshooting
Leads can't reach the booking page
- Cause: The page is disabled, the slug is wrong, or the plan is Free.
- Fix: Open the Call Scheduler settings, turn Booking Page Status on, confirm the slug, and make sure your plan is Basic or Pro. Use Open Preview to check the live page.
Save Changes is greyed out
- Cause: There are no valid unsaved changes, or a field is invalid.
- Fix: Hover the disabled Save Changes button — the tooltip names the exact tab and field to fix (for example, "Enable at least one available day (Scheduling tab → Availability Window)").
A reminder didn't send
- If it's an email reminder → confirm the lead has an email and your organization has email credits.
- If it's a WhatsApp template reminder → confirm the template is approved and your WhatsApp Business Account is active.
- If it's a plain WhatsApp reminder → the assignee's browser extension must be open and online on the primary session, within business hours, with an existing WhatsApp contact for the lead. (If the lead's linked pipeline uses a Hosted WhatsApp Session, Kraya sends it server-side instead, no browser needed.) See Auto Followups for the same conditions.
- In all cases → the booked slot must still be in the future, the pipeline owner's auto-responder must be on, and the lead's reminder toggle must not be turned off.
More than one lead booked the same time slot
- Cause: Bookings allowed per slot is set higher than 1, so several different leads can book the same time.
- Fix: Set Bookings allowed per slot to 1 on the Scheduling tab for one-on-one calls.
The Add to Google Calendar button is missing on the confirmation screen
- Cause: The "Show 'Add to Calendar' button" option is off.
- Fix: Turn it on in the Confirmation tab.
FAQs
-
Can I change the booking page link (slug)? Yes, an admin can edit it in the Call Scheduler settings, as long as the new slug isn't already used by another page.
-
Do reminders show up in my Auto Followups list? No. Reminder sequences are kept separate from your Auto Followup sequences, even though they use the same builder.
-
Can a lead be in an Auto Followup sequence and a reminder sequence at the same time? Yes. The two run independently and don't interfere with each other.
-
Can I change how a reminder sequence is delivered (Extension vs WhatsApp API) after creating it? No. The delivery method is chosen when you create the sequence and can't be changed afterward. To switch, delete the sequence and create a new one.
-
Do I need to keep a browser open for reminders to send? Only for plain WhatsApp reminders sent from the browser extension. If the lead's linked pipeline uses a Hosted WhatsApp Session, even those are sent by Kraya's servers with no browser needed. Email and WhatsApp template reminders never need a browser.
-
What happens to reminders if the lead moves their slot? Kraya restarts the sequence from the first unsent reminder, timed against the new slot. Already-sent reminders aren't repeated.
-
Do bookings show up on my Google Calendar? Yes, once an admin connects a Google account under the Confirmation tab → Google Calendar sync. Every booked slot is added to that account's primary calendar and kept in sync when it changes. Turn on Send calendar invite to lead if the lead should receive the invite by email too.
-
Can I set a lead's booked time without them using the page? Yes. Use the Booked At field in the Add Lead form or Edit Lead modal.
-
Why can't I open the Call Scheduler settings page? It is admin-only. If you're an admin and still can't open it, your organization may be on the Free plan — the feature requires Basic or Pro.
Tips and best practices
- Preview before you launch — use Open Preview to see exactly what leads will see after each change.
- Keep Minimum notice realistic so you have time to prepare for each call.
- Use Block a daily time range for lunch breaks and Block specific dates for holidays, rather than turning off whole days.
- Set Bookings allowed per slot to 1 for one-on-one calls; only raise it for group sessions or multi-member teams.
- Add a reminder a day before and a short one (an hour or two before) to reduce no-shows.
- Map extra form fields to the CRM attributes you actually report on, so booking data lands where your team already looks.
Related features
- Auto Followups — reminder sequences reuse the same builder; both can run on a lead at once
- Scheduled Messages — one-time messages you queue to a lead, separate from bookings
- Filters — filter and segment leads by their Booked At time
- Dashboard — the CRM table where the Booked Slot column and booking links appear
- WhatsApp API Integration — required for WhatsApp template reminders
- Chrome Extension — sends plain WhatsApp reminders from the assignee's browser
- Hosted WhatsApp Sessions — when the lead's linked pipeline uses a hosted session, plain WhatsApp reminders are sent server-side without a browser
- AI Qualification — qualify leads that come in through the booking page