Scheduling
Enlassa AI’s own scheduling: your business calendar, booking, moving and cancelling appointments from the portal, the setup of locations, employees, services, hours and holidays, and how to let your agents book by voice, WhatsApp and chat, plus the public page where your clients book on their own. Enabled account by account.
Agenda is Enlassa AI’s own scheduling: instead of relying on an external calendar, you define in the portal where you serve, who serves, what can be booked and when. With that in place, you book from the Calendar, move appointments by dragging them and track attendance from each appointment card.
How to get there
- Open Agenda in the menu
If there is no location yet, you will see Set up Agenda. Once there is at least one, Agenda opens the Calendar, and the setup is one tap away with Settings.
- Follow the getting-ready list
At the top of the setup there is a four-step list —location, service, employee and hours— that checks itself off as you create each one. Once all four are done, the list folds away.
- Go through the sections
On the left (at the top on a phone) are Locations, Areas, Employees, Services, Resources, Hours, Holidays, Calendars, Reminders and Settings. Each one opens on the same screen and stays in the address, so you can share the link.
The calendar
With Agenda turned on and at least one location created, Agenda opens the Calendar. On the left you have a month to jump to any day, the filters and Color by; on the right, the grid. At the top, Today, the arrows to go to the previous or next period, and the view: Day, Week, Month or Agenda (a list by day). On a phone the grid shows as a list and the filters open from Filters.
- One clock: every time is shown in the location time zone, with the zone written at the top («America/Bogota time»). If you open the agenda from another country, a 9:00 appointment is still at 9:00. If your locations are in different zones, choose a location to see it in its own time.
- Cascading filters: location › area › professional › service. When you change the location, whatever no longer belongs to it is cleared. The view, the day and the filters stay in the address: you can share the link.
- Color by status, professional or service, one at a time. By status, each appointment also has its icon (confirmed, completed, no-show) and cancelled ones are struck through. The legend is right below.
- In the Day view there is one column per professional. If there are many, a notice suggests filtering by area.
- Holidays and closures show striped, with their name in the day header.
- Outside working hours: in the Day and Week views, the hours when your team is not working are shaded, so you can spot free room at a glance.
- Check-ins: when you record that a person arrived, their appointment shows the check-in icon and the time («Checked in at 9:02»), on the calendar too.
Booking from the portal
- Open New appointment
With the New appointment button, or by tapping an empty slot on the calendar (the date, time and professional of that slot come pre-selected).
- Choose the service and the place
Location, area and professional. With Anyone available, the Agenda suggests whoever has the fewest appointments that day.
- Choose day and time
Days with free times have a green dot. When you tap a time, it is held for you for a few minutes while you fill in the rest: the countdown tells you how much is left. If it runs out, the time is released and you choose it again. If someone else took it a moment earlier, we show you the ones still free.
- Fill in the client and confirm
Name and phone (with the country code); email, ID number and notes are optional. In the last step you review everything and tap Confirm appointment.
Moving an appointment
In the Day or Week view, drag the appointment with the mouse to the new slot (in the Day view, also to another professional’s column). While dragging you see the new time on the card; Escape cancels. When you drop it we ask you to confirm; if the service policy doesn’t allow it or the time is no longer free, the appointment goes back to where it was and we tell you why.
From the keyboard or a phone, open the appointment and use More actions › Reschedule: you choose the same professional or anyone available, the new day and time, and an optional reason.
The appointment card
Tap an appointment to see when it is (in its location time), the service, the place, the professional, the client details, the notes and the history of changes. The actions depend on the status:
- Check in: when the person arrives. Afterwards, Mark completed.
- No-show: when the person didn’t come.
- Reschedule and Cancel appointment (in More actions). Cancelling asks for confirmation and an optional reason, saved in the history; the time becomes free.
- If an action can’t be used (because of the service policy or your permission), the button stays grey and tells you why.
The appointment list
With Appointment list you see every appointment in a table —the Agenda ones and the ones from your connected calendar, each with its source (by phone call, by WhatsApp, from the portal…)—, with Upcoming, Past, Cancelled and All, search by client or phone, and filters by location, area, professional, service and source. If Agenda isn’t turned on in your account yet, this list keeps showing your Cal.com appointments as always.
Locations
Each place where you serve. The location sets the clock: its time zone rules its hours, exceptions and holidays, so if you serve in two countries each location has its own. You also choose the holiday country (or inherit the business’s) and whether you are open or closed on public holidays.
Areas
Optional sections inside a location (offices, counters, desks). Capacity is how many appointments the area takes at once, no matter who serves them. An area doesn’t change location: to move it, create a new one at the other location.
Employees
- Where they serve: their location (and, if you want, their area).
- Which services they serve: all of them, or the ones you pick one by one. If you turn “all” off and pick none, that person doesn’t show up for booking.
- Booking rules: how often a slot starts, minimum notice, how many days ahead people can book, buffers before and after, and a daily appointment cap. An empty field inherits from the service or the business; the form shows you the inherited value and sums up the current rules in one sentence (“slots every 30 minutes · 2 hours notice · up to 60 days ahead”).
- ID document: stored encrypted; afterwards only the last four digits are shown.
- Portal user: link the person to their user so they see their own schedule. If the email matches a user’s, it is suggested. A user links to a single employee; if they were linked to another one, you can move them.
- What they see in Agenda: only their own, the locations you pick (for example, front desk or a location manager) or everything.
Services
What your customers can book: fixed or flexible duration (between a minimum and a maximum), buffers, price with its currency, which locations offer it, how many people per slot (more than one = a group class), whether it needs a free resource, and its change policy (until when it can be cancelled or rescheduled). The internal cost is only visible to whoever manages Agenda.
In Booking form you add extra details to ask for when booking (besides name, phone and email): text, a list of options, a checkbox, a number or a date, each with its label in Spanish and English.
Resources
Rooms and equipment a service may need free. Each resource belongs to a location and handles one appointment at a time.
Hours and inheritance
- Choose whose hours they are
A location, an area or an employee.
- See where they inherit from
If there are no hours of its own, a notice says Inherits from: Sede Norte and how it serves today. The location’s hours are enough to get started.
- Set its own only if needed
With Set its own the hours start as a copy of the inherited ones and you adjust them. Each rule has its time ranges per day and, optionally, a validity (handy for seasonal hours). Two active rules for the same owner can’t overlap in dates.
- Add exceptions
Below you add closures, special hours and blocks by date; on that day they win over the weekly hours. You save everything together with the bar at the bottom.
Holidays
You see the official calendar of the location’s country (or the business’s) with a month you can browse and the list of every holiday in the year, including the ones moved to a Monday. From the list you mark We’re open this day for a specific holiday, and with Add day off you add your own days (also by tapping a day on the calendar). If there is no calendar for the country yet, you are told so and your own days still apply.
Settings
The business’s defaults: time zone and holiday country, whether the week starts on Monday or Sunday, how long a time stays held while it is confirmed, minimum notice, currency, change policy and automatic closing (“no-show” or “completed”). Each location, service or employee can override them. Reminders have their own section: Reminders.
Let your agent book
Your agents can check times and book in your Agenda while they talk, by voice, on WhatsApp and in your website chat: they offer slots that really exist, in the location time, and the appointment lands on your calendar with its source («by call», «by WhatsApp»…). There is nothing to connect: when Agenda is on for your account, it shows up by itself as one more calendar named Agenda Enlassa AI.
- Open the agent and go to Tools
In the Book appointments section, add Check times and, so it can also book, Book. With only one of the two the agent cannot close the appointment: it needs to know what is free before booking.
- Choose Agenda as the calendar
In Calendar, choose Agenda Enlassa AI. The form changes: instead of an event type, you choose a Service from your Agenda.
- Choose the service
It is what the agent checks and books, with its duration. Below it you see how many locations offer it.
- Set the location and the area, if you want
With Any location that offers it, the agent offers times at every location that offers the service. If you set one, only there; the area is chosen after the location.
- Choose the staff member or «Anyone available»
With Anyone available (the usual choice), the Agenda assigns the free staff member with the fewest appointments at that time. If you choose a person, the agent only offers their times. The list only shows people who offer that service at the chosen location and area.
- Save the action and the agent
Tap Save action and then save the agent. If something no longer exists (a deleted service, location or staff member), the portal takes you to Tools and tells you what to fix.
- The location sets the time zone: it is not chosen in the action. If the service is offered at locations in different time zones, the form asks you to set a location before saving; the agent does not guess which clock to offer times on.
- The staff member’s name: the agent says it («with Laura») only if you turned on Say who serves in Agenda › Settings › Settings. The form shows you whether it is on today.
- Reschedule and Cancel take no service: they work on the appointment the person already has, which the agent finds by their phone number and confirms before touching it.
- If your account uses Cal.com, those actions stay exactly as always (Appointment booking guide).
Public booking page
A booking page is an online agenda where your clients book on their own, with no account and no phone call: they pick a service and location, a date and time, leave their details and confirm. The appointment lands in your Calendar like any other. Open it in Agenda → Booking pages (also from the Calendar and from Settings).
- Create the page
Tap New page, type the Page name (it’s the title the client sees) and check the Address: that’s the link, for example agenda.enlassa.ai/your-business. Changing it later breaks links you’ve already shared.
- Choose what can be booked
Check the Services and Locations it offers. The page offers exactly what you check: with nothing checked it can’t be saved, and a service that isn’t visible to the public in its settings doesn’t show up. If the page is a professional’s personal link, pick them in A professional’s personal link.
- Decide what you ask the client
Name and phone are always requested. Email, ID and Client notes can be Don’t ask, Optional or Required; you can rename the ID (for example, “Company tax ID”). Each service’s own fields are requested too.
- Write the texts
The client must accept the Consent text to book (without your own text, a standard one is used). The Confirmation message is shown at the end: what to bring, how to get there. Both are shown as plain text, exactly as you write them.
- Add your brand
Upload your Logo (PNG, JPG or WEBP up to 512 KB), choose the Accent color, the Theme (light, dark or match the device) and the Language (Spanish, English, Portuguese or match the client’s browser). The “Scheduling by Enlassa AI” footer is always shown.
- Save and share
Saving opens Share and embed with the direct link and the snippets for your site.
Share and embed it on your site
- Direct link: for social media, WhatsApp, your email signature or a button on your site.
- Script for your site (recommended): paste it where you want the agenda to appear. It adjusts to the content’s height and tells your site when someone books (the notice only carries the appointment identifier, its time and the service; never the person’s details).
- Fixed-height iframe: for sites that don’t allow scripts. It doesn’t adjust its height and may show its own scrollbar.
- Allowed sites: if you add them (up to 20, like https://www.your-site.com), the agenda only shows embedded on those sites; anywhere else it offers to open it separately. The direct link always works.
Self-service: let the client change or cancel
With Client self-service on (it needs the ID set to Required), your client goes to Manage my appointment, types their ID and phone, and gets a link at the email they already had on the appointment (and confirmed with a code when booking). From that link they see the appointment, reschedule it to another time at the same location and service, or cancel it. For security, the link is removed from the browser’s address bar as soon as it opens: if your client reloads the page, we ask them to open it again from the message they received. The answer to the lookup is always the same, whether or not there’s an appointment with those details: nobody can find out who has an appointment by typing someone else’s details.
- Service policies apply just like in the portal: if there’s less time left than you require for changes, or it’s already been rescheduled the maximum number of times, the button shows as disabled with the reason written out.
- While the client fills in their details, the time is held for a few minutes (set in Minutes to fill in the details); if time runs out, it’s released for someone else.
Public page security
A public page takes bookings from anonymous people, so Enlassa AI closes three doors before a real client uses it. There is nothing to configure: this is how it works from the moment it is turned on.
Email check with a code. If the page has Client self-service and your client types their email, the Your details step shows a Verify your email block. They tap Send me the code, receive a 6-digit number and type it in to be able to confirm. The code works for 10 minutes, another one can be requested up to 3 times per booking (with a 30-second wait between them) and it allows 5 tries. Without the code, the appointment is not created. This way nobody can book with another person’s email so that email receives the management link of an appointment that is not theirs.
- Only appointments with a verified email receive the management link, both from Manage my appointment and inside confirmations and reminders. An appointment from before this step, or without a verified email, gets the notice without the link: your team keeps managing it from the Calendar.
- A page without self-service does not ask for a code. If the page’s Email is Optional and your client leaves it blank, it does not either: with no email there is nowhere to send a link.
- If your client changes the email after requesting the code, they have to request a new one: the code is only valid for the email it was sent to.
- In Activity you see every code requested (Verification code) and the failed tries with their reason (email code incorrect).
Daily email cap per address. A single email address receives at most 3 emails with a management link and 10 Agenda emails in total per day, adding up all the businesses that use Enlassa AI (not only yours). This way nobody can flood a person’s inbox by booking with their email at many businesses. When the cap is reached: when requesting a code, your client sees a notice to try again tomorrow or use another email; when looking up their appointment, they see the same answer as always and the rejection is recorded in Activity as daily email cap; and a reminder is skipped with the reason daily cap.
Released links. If you delete a page or change its address, the previous address stays reserved for your organization for 90 days. During that time nobody else can register it (whoever tries gets the same “A page with that address already exists” notice), so the links you already published, printed or put in a QR code can’t end up showing another company’s agenda. You can reuse it whenever you want. After 90 days it is free.
Page activity
The Activity tab (with permission to manage the Agenda) answers the question no other screen does: why couldn’t they book? You see four counters —Events, Appointments booked, Cancellations and changes and Failed—, the funnel from visits to chosen times to confirmed appointments, and every event with its result and reason (for example, “no capacity” or “anti-bot check”). Filter by page, event, result and dates, or search. Client details are shown masked.
Google and Microsoft calendars
With this integration, every confirmed appointment shows up as an event in the Outlook or Google calendar of the professional who serves it, with the Teams or Meet link when the appointment is virtual. If the appointment moves, the event moves; if it is cancelled, it is deleted. There is one credential per company: professionals don’t have to authorize anything. It is set up in Agenda › Settings › Calendars, with one card per provider showing its status (active, needs a test, failing, secret expiring).
- Microsoft 365 (Entra ID)
An administrator in your organization registers an app in Entra ID, grants it the Calendars.ReadWrite application permission with admin consent and creates a secret, noting its expiry date. Recommended: an Exchange Online access policy that limits the app to the professionals’ mailboxes. In the portal you enter the Directory (tenant) ID, the application ID, the secret value and its expiry: we warn you 30 days before it expires.
- Google Workspace
A super administrator enables the Google Calendar API, creates a service account, downloads its JSON key and, in the Workspace console, grants it domain-wide delegation with its numeric client ID and the exact scope https://www.googleapis.com/auth/calendar. In the portal you upload the JSON (it’s read in your browser; the private key is stored encrypted and never shown again) and enter the Workspace domain. Personal Gmail accounts don’t work.
Test before you rely on it
On save we validate the credential by requesting a real token. But Google delegation and Microsoft’s permission over each mailbox can only be checked with Test: enter a professional’s email and we show you the diagnosis, what was checked and, if something failed, the cause and how to fix it. The test only reads the calendar: it creates no events.
Which calendar each appointment goes to
- The mailbox is the professional’s email or the alternate mailbox in their profile (Staff › the person › Calendar). That’s also where syncing their appointments is turned on or off.
- The provider: the one pinned in the profile; otherwise, the one that claims the mailbox’s domain (each integration declares its domains); with a single active integration, that one.
- If two integrations claim the same domain, we don’t guess: the appointment is skipped and the reason shows in its details. Pin the provider in the professional’s profile or keep the domain in a single integration.
- Before saving, the staff profile tells you which calendar their appointments will go to.
Virtual appointments and the event
If the appointment is virtual, the event is created with its Teams or Meet meeting. Confirming an appointment never waits for the calendar: the agent confirms instantly and the link arrives a few seconds later; the appointment details show Join the video call.
- Virtual appointments only: in-person ones aren’t sent to the calendar.
- Invite the client: the client gets the invitation by email, if they have one.
- Show as busy and a calendar alert a few minutes before.
- Subject built with variables: {service}, {client}, {employee}, {location}, {area} and {phone}.
- Read calendar availability: every 10 minutes we read the next 14 days of each professional’s calendar, and anything busy there stops being offered in the Agenda.
If something fails
Each appointment’s details show the status of its event: Pending, Synced, Failed or Skipped, with the reason. With the permission to operate the Agenda, Retry sync tries again; transient errors (the provider didn’t respond or asked to wait) are retried automatically. In Calendars, the Sync history shows every attempt, filterable by status and action. If you turn off or remove an integration, events already created stay.
ICS feeds: the schedule in any calendar
If your company uses neither Microsoft 365 nor Google Workspace, or a professional wants to see their schedule in another calendar, generate a calendar feed (ICS) in their profile: a private link you subscribe to from Google Calendar (Other calendars › From URL), Outlook (Add calendar › Subscribe from web) or Apple Calendar (File › New Calendar Subscription). It shows «Busy» or the service name, never client data.
Dashboard
In Agenda › More › Dashboard (or from Settings) you see how your agenda is being used: appointments, attendance, no-shows, cancellations and returning customers, each number compared with the previous period of the same length. Pick Today, Week, Month, Year or Custom (up to 366 days), and filter by location, professional or service. If you can manage Agenda, you also see realized, expected and lost revenue.
- Appointments per day (or per week or month for long periods), stacked by status: attended, no-show, cancelled and upcoming.
- Statuses, time of day (in each location’s local time), where they come from (voice, WhatsApp, portal, public page…) and the period’s customers with the most appointments.
- Occupancy by day and hour: a heat map that shows when your agenda fills up, with the peak written on top.
- Rankings of locations, professionals and services: tap a row to filter the whole dashboard by it.
Import
In Agenda › Settings › Import you load your locations, areas, employees, services or customers from a CSV file. The wizard has four steps: File (pick what you import and upload the CSV, or download the template), Columns (we detect which column is each field and you can fix it), Rows (you see which rows go in and why some don’t, before anything is created) and Result.
- Follow the order
If you’re loading everything from scratch: locations → areas → employees → services. Each one names the previous one (an area says which location it belongs to, an employee which services they provide, separated by “|”).
- Upload the CSV
Up to 5 MB and 2000 rows. We read files separated by commas or semicolons, and the ones Excel saves on Windows. A larger file is rejected whole (we never import part of it silently): split it into several.
- Review the rows
Each row with problems says what’s missing or wrong. Only ready rows are sent.
- Import and fix
Rows are imported in batches of 500. You can Stop halfway (what was created stays created) and Resume later. At the end, download the CSV of the rows that didn’t go in: it has your columns plus the reason, so you can fix it and upload it again.
Customers and exports
In Agenda › More › Customers you find the people who booked, with search by name, phone or email. The profile shows how many appointments they have, their attendance, what they spent (only if you manage Agenda), the last visit and the next appointment, plus the history: each appointment opens its own card. View in Contacts takes you to that person in your contact book. When you import customers, if the phone already exists in Contacts, that contact isn’t changed.
Export is available in the appointment list, the dashboard and customers, and needs the Agenda export permission. Appointments are exported to Excel (up to 366 days, every time in its location’s time zone, with a sheet that lists the filters used) and customers to CSV. The file is prepared in the background and downloads on its own when it’s ready; the link is valid for 15 minutes.
Reminders and waitlist
In Agenda › Settings › Reminders you decide when and how your clients are reminded of their appointment, which WhatsApp template is used, and who on your team gets notified when a booking comes in or is cancelled. If there are none yet, Use the suggested ones adds two: 24 hours and 2 hours before, by WhatsApp and email.
- Choose when and how
Each reminder has its lead time (in minutes; below it you see “1 day before”, “2 hours before”) and its channels: WhatsApp and Email. Up to 5. If the appointment is rescheduled, the reminders move with it; if it is cancelled, they don’t go out.
- Choose the WhatsApp template
Outside an open conversation, WhatsApp only lets you write with an approved template. Choose the Number it is sent from and an approved Utility Template from that account; in What goes in each placeholder you say what fills each gap in the template (client name, date, time, service, location or professional), and What they receive shows you the finished message.
- Choose who to notify
In Team notice, we always email the appointment’s professional (if their profile has an email) when a booking comes in or is cancelled. Below you can add other users from your account. You save everything together with the bar at the bottom.
On each appointment, the Reminders section shows every message: what it is (a reminder or a team notice), which channel, when it goes out —in the location’s time— and its status: Scheduled, Sent, Skipped or Failed, with the reason when something didn’t go out (for example, “no WhatsApp template is selected” or “the phone number isn’t verified”).
The waitlist
When no time works for someone, the waitlist keeps them with the days and time of day that suit them. If a matching time opens up (because of a cancellation or a change), the first person on the list —in order of arrival— gets an email with a link to take it: the time is held for 30 minutes in their name. If they don’t accept in time, it goes to the next person.
- From the portal: in Agenda › Waitlist (also from the Calendar), tap Add to the waitlist: service, location, professional (or Anyone available), up to 7 days with a time of day —any time, morning, afternoon or evening, in the location’s time— and the client with their email, which is required because the offer goes there. In New appointment, if no time works, Add to the waitlist opens the form with what you already chose.
- From your public page: in Date and time, if there are no times left or none works, your client taps Notify me if a slot opens, chooses the days and time of day, leaves their name, phone and email, and agrees to the use of their details. That doesn’t book anything yet.
- The offer: the email link opens a screen with Confirm my appointment; opening it doesn’t accept anything on its own. For security, the link is removed from the browser bar as soon as it opens. If the offer expired or the time was taken, they’re told so and stay on the list.
- Statuses: Waiting, Offer sent, Accepted, Expired and Removed. With the permission to operate the Agenda you can Remove someone while they are waiting or have an open offer (if they had an offer, the time goes to the next person).
Plan & usage
In Agenda › Settings › Plan & usage you see how much of your catalog you use out of what your plan allows: Locations, Staff, Services, Booking pages and Resources, each with its bar and its count (for example, “3 of 5”). If your plan doesn’t limit something, it says No limit on your plan. At the top are the Confirmed appointments this cycle for the current billing cycle, with its dates: each appointment confirmed in Agenda is counted once.
- Close to the limit: from 80% the bar changes color and a notice at the top names the resources that are about to reach it.
- Limit reached: at 100% you can’t create more of that kind. To add more, deactivate what you don’t use or change your plan.
- If you try to create one too many —a location, a staff member, a service, a resource or a booking page—, the form tells you your plan’s limit and offers View my plan.
Group classes
A service with more than 1 spot per slot is a group class: it isn’t booked by single time but by class —a time, someone teaching it and a number of places—. On the calendar each class is a single block with its occupancy in view (3/10), and its attendees are listed in the class profile.
- Open New class
In the Calendar, tap New class (shown to whoever manages the calendar, once there is at least one group service).
- What, where and with whom
Choose the service, a class name if you want one («Gentle yoga»), the location, who teaches it and the room or equipment (required if the service needs it). Spots start with the service’s.
- When
Choose the day and the time —in the location’s time—. To repeat it, turn on Repeat every week, tick the days and until when (up to 26 weeks). Before creating, the assistant tells you how many classes will be created and between which dates.
- Create
Tap Create. If the teacher or the room already has something at that time, none is created and you’re told why.
- The class profile: tap the block on the calendar. You see how many spots are left and the Attendees list; Arrived records each person’s check-in, and tapping a name opens their appointment (to cancel their place or mark a no-show).
- Add attendee: from the profile it opens New appointment with the class already chosen. When the class is full the button is disabled and says why.
- Cancel the class: under More class actions › Cancel the class. Every attendee’s booking is cancelled too and each one is notified; you can leave a reason that goes in that notice.
- In New appointment and on your public page, a group service doesn’t show single times but the classes with spots: the class name, who teaches it, the time and how many places are left. A full class is shown, striped, but can’t be taken. On the public page the button says Book my spot.
Resources when booking
If a service needs a resource (a room or equipment), only times with a free one of that kind at the location are offered, on top of the professional. The resource is booked with the appointment and shows in the New appointment summary.
Who attends when nobody chooses
In the service profile, Who attends if nobody is chosen decides where an appointment goes when the client (or your agent) says «anyone»: The least busy (fewest appointments that day), In rotation (spreads across the team) or Always the same (the first free person, by priority).
In each employee profile, the Rotation, price and duration block sets their weight (1 to 10: with 2 they get twice as many as someone with 1) and priority (1 to 10: higher is offered first). If the employee offers chosen services, you can give each one its own duration and own price right there; left empty, the service’s are used.
What isn’t there yet
- Choosing a location, service or professional by name during a call: your voice agent still uses the ones set in its calendar action, even if the person asks for another.
- Importing straight from Excel: for now, save it as CSV.
- Reminders by call: an older rule with Call is kept and marked “not sent yet”; reminders go out by WhatsApp and email.
- Moving an appointment from Outlook or Google: a change made in the external calendar doesn’t move the appointment (it only counts as busy time if you turn on Read calendar availability).