Portfolio matching and property viewing appointments for real estate (appointment engine)
Matching incoming buyer/renter requests to your portfolio, viewing appointments, working hours, conflict prevention, reminders, re-offering the freed slot after a no-show, and one-way Google Calendar — your real estate agency's appointment engine.
In real estate, the most expensive loss is a hot incoming request cooling off before it ever turns into a viewing. Someone who writes "do you have a 3-bedroom, how much?" and does not get an answer within hours goes to another agency; a buyer you booked, if not reminded, does not show up, and you cannot write another customer into that time. Most agencies try to run this on the agent's memory and one-by-one WhatsApp threads; but this is tiring, inconsistent, and prone to being forgotten. This article explains how to build your agency's appointment engine on intusell with real estate viewing appointment automation, from matching the incoming request to your portfolio, to the appointment, to reminders, to conflict prevention and one-way Google Calendar sync. This article is the appointment and engine leg of our sector-by-sector "how you train your AI" series; for the real estate pillar of the series, see how you train the intusell AI.
Quick answer
intusell's real estate appointment engine combines two jobs: (1) matching the incoming buyer/renter request to the portfolio in your knowledge base (budget, number of rooms, area, status), (2) opening the viewing appointment within working hours while preventing conflicts. Each appointment gets multi-channel reminders 1 day and 2 hours before; the slot of a no-show customer is re-offered to suitable WhatsApp customers in follow-up. The AI does not invent prices or availability outside the portfolio. Google Calendar is optional and works one-way (intusell → Calendar).
Why appointment automation
There are two reasons to move appointments into intusell in real estate: so no request cools off unanswered, and so no viewing appointment goes without a reminder. In manual mode, everything depends on the agent's memory and working hours; in automatic mode, requests are handled 24/7, the right portfolio is suggested, and reminders go out on their own.
Think of the concrete difference like this:
| Situation | Manual flow | Automated flow (intusell) |
|---|---|---|
| Response to request | During working hours, if the agent is free | 24/7, from the channel the customer wrote from |
| Portfolio matching | A few listings in the agent's head | All suitable portfolio in the knowledge base |
| Conflicts | Prone to human error | Blocked by the system (no double-booking) |
| Reminders | By hand, one by one, can be forgotten | Automatically 1 day + 2 hours before |
| No-show | Empty time, lost day | Re-offered to a customer in follow-up |
| Calendar | Separate diary | One-way copy to Google Calendar |
This is where intusell's position as "not a chatbot, but a senior real estate agent" becomes concrete: a good agent does not name a random apartment but suggests the one that fits the budget and area; does not hand out appointments off the top of their head but checks the calendar; does not forget to call the buyer but sends a reminder.
Who is it for?
- Real estate agencies that get heavy buyer/renter demand from Instagram and WhatsApp and cannot keep up with "how much, is it available" messages.
- Agents who lose after-hours requests before they turn into viewings because they reply late.
- Teams managing different portfolio types (residential, commercial, land) and different viewing durations.
- Agencies whose team wants to track their day through their own Google Calendar.
No technical knowledge is required; setup is done from the panel.
1. Portfolio matching: the AI suggests the right listing
The first real-estate-specific step of the appointment engine is matching the incoming request to your portfolio. intusell processes the portfolio information you upload to your knowledge base (PDF list, Excel/CSV, listing page URL, or free text) with vector search; when a customer writes in, it finds the listings that fit the criteria.
Matching typically works across these criteria:
| Criterion | Customer example | What the AI does |
|---|---|---|
| Budget | "Up to 2.5 million" | Does not suggest listings over the cap |
| Rooms | "3-bedroom" | Filters matching types |
| Area / district | "Around Kadıköy" | Narrows by area information |
| Status | "For rent" / "For sale" | Picks from the right category |
| Feature | "With elevator and parking" | Matches if present in the knowledge base |
The critical point: the AI suggests only from the portfolio in your knowledge base. It does not invent a listing that does not exist, a price you have not defined, or an unverified availability. If there is no listing matching the customer's criteria, or if it is unsure, it hands off to an agent. This behavior stops you from telling a customer the wrong apartment or the wrong price and then having to walk it back — in real estate, this is the foundation of trust. We explained how you upload the portfolio to the knowledge base and how you train the AI in detail in how you train the intusell AI.
2. Setting up viewing appointment types
Once matching converges on a listing, it is time for the viewing. You define an appointment type for each viewing type; a type has three important settings:
| Setting | What it does | Example |
|---|---|---|
| Duration | How many minutes the appointment lasts | Residential viewing 30 min, commercial 45 min |
| Buffer | The gap left after the appointment | 20 min for travel between locations |
| Color | Distinguishing on the calendar | For sale blue, for rent green |
Duration is critical for the AI to calculate the slot correctly: if "Residential viewing 30 min" is defined, the AI looks for a 30-minute gap. The buffer is especially important in real estate, because between two viewings the agent has to travel from one location to another; you set the buffer according to the travel allowance.
3. Working hours and holiday exceptions
So that the AI only books viewing appointments during the hours you are available, you define your working hours. This is two-layered:
- Weekly working hours: Opening and closing time for each day of the week (for example, Monday-Saturday 09:00-19:00, Sunday closed). You mark closed days as "unavailable".
- Exceptions (overrides): A special rule for a specific date. For a public holiday, religious holiday, or an off day, you add an "unavailable" exception to that day and write a reason ("Public holiday — closed"). You can also change the hours for a single day.
This way the AI does not book a viewing on a holiday morning and does not write a customer in for a time after closing. Whatever your working schedule is, appointments follow it.
4. Conflict prevention: no two viewings at the same time
This is the appointment engine's most critical safeguard. Before intusell creates an appointment, it checks two things: is the requested time within working hours, and is that slot full? If there is a conflict, the appointment is not opened.
Important detail: cancelled (cancelled) and missed (missed) appointments free the slot again in this check. That is, when a buyer cancels, that time automatically becomes available again and can be opened to another customer. Writing two viewings into the same time — the most common error of a manual diary — is mathematically prevented. Since an agent cannot be in two places at once, this directly prevents lost time and reputation in real estate.
5. The reminder engine: 1 day + 2 hours before
This is the part that really reduces no-shows. For every viewing appointment, two reminders are scheduled automatically:
- 1 day before: A short message reminding of the next day's appointment, with the date-time and address.
- 2 hours before: A second reminder sent the same day, shortly before the appointment.
The message is signed with your agent/assistant name (ai_persona_name), and a one-tap cancel/reschedule link is added inside it (/manage-appointment/...). If the customer lets you know in advance that they cannot make it, the slot does not go to waste and you can schedule another viewing for that time.
The reminder is not confined to a single channel; it works with a fallback chain:
- The channel the customer wrote from (WhatsApp, Instagram DM, Telegram, Facebook Messenger).
- If the native channel fails, SMS.
- If SMS also fails, email.
- For web chat customers, the message is written directly into the conversation history.
You can turn reminders on or off for each appointment (reminders_enabled); for example, an appointment booked the same day may not need the 1-day reminder. The system sends reminders only once; the same reminder going out twice is prevented.
6. No-show and re-offering the freed slot
If the customer did not show up for the viewing despite all the reminders, you mark the appointment as missed. This mark triggers a series of automatic steps:
- Pending reminder jobs are cancelled (no longer needed).
- The Google Calendar event, if any, is deleted.
- The freed slot is automatically re-offered to suitable ones among the recent interested or follow-up customers.
- The customer is moved into the follow-up flow ("follow-up needed").
This re-offer, unlike the multi-channel reminders, goes out for now over WhatsApp and to a few suitable customers in follow-up; no separate managed waiting list is kept, and the opportunity is passed opportunistically to the hottest candidates. So if you have another buyer interested in the same district with the same budget, the freed time can be offered to them. A no-show is not a lost day; it is an opportunity being reassessed.
7. Google Calendar sync (one-way)
If you want your team to see the day through their own Google Calendar, you connect the calendar with one-tap OAuth. Let's be clear about how the sync works: it is one-way (intusell → Google Calendar).
- When an appointment is created, an event titled "Viewing — customer name" drops into Google Calendar.
- When an appointment is rescheduled, the event is updated.
- When an appointment is cancelled or a no-show, the event is deleted.
The reverse does not apply: a change you make by hand in Google Calendar does not flow back to intusell, and conflict checking does not look at Google Calendar's busy times. Conflicts are always calculated from intusell's own appointment book. That is why Google Calendar is a "viewing convenience", not the appointment source. Even if you do not connect it, viewing appointments, reminders, and conflict prevention work exactly the same. You can review the integrations on the integrations page.
Channels and handoff: wherever the request comes from
The viewing engine works regardless of the channel the request arrives on. Requests from WhatsApp (connecting via QR does not require Meta approval), Instagram DM, Facebook Messenger, Telegram, web chat, and email are gathered in one inbox; the AI runs the same portfolio matching and appointment flow across all of them. Instagram comment automation, on the other hand, rolls out gradually depending on Meta approval; the first step is WhatsApp and approved Instagram DM.
Handoff to a human is entirely under your control. There are three lock modes: ai_only (the AI runs all conversations), hybrid (the AI runs the normal flow and escalates to an agent when needed), and human_only (all conversations go straight to the team). In hybrid mode, the AI hands off to an agent when negotiation, a legal question, or an off-portfolio request comes up; at the moment of handoff, the entire conversation history is in front of the agent. You can find how the channels merge into one inbox in Instagram and WhatsApp automation, and how appointments are managed in daily operations in how you use intusell.
What it isn't
- It is not a portfolio management software / listing site. intusell matches the request to your portfolio and manages the viewing; it does not handle listing publication, title deeds, or valuations. You upload the portfolio to the knowledge base.
- It is not a two-way calendar. It writes to Google Calendar but does not read from it; it calculates conflicts from its own book.
- It is not a pricing or valuation engine. The AI matches by budget but does not invent a price that is not in the knowledge base; when unsure, it hands off to an agent.
- It is not a real-estate-specific priced product. The appointment engine can be enabled on every plan; the pricing model is based on messages and voice minutes and does not vary by sector. For plan details, see the pricing page.
Frequently asked questions
Does the AI match the portfolio however it likes?
No. Matching is done only from the portfolio information you upload to your knowledge base (budget, number of rooms, area, status). The AI does not invent prices or availability outside your criteria; when unsure, it hands off to an agent.
What hours are viewing appointments booked for?
Only within the working hours you define. You set weekday, weekend, and holiday exceptions from the panel; the AI does not open an appointment for a closed time or a full slot.
Can two viewings be booked for the same time?
No. intusell checks your working hours and the busy slots; a conflicting appointment is blocked. Cancelled or missed appointments free the slot again in this check.
What happens if a customer is a no-show for a viewing?
When an appointment is marked "missed", pending reminders are cancelled, the Google Calendar event (if any) is deleted, the freed slot is automatically re-offered to suitable WhatsApp customers in follow-up, and the follow-up flow is triggered.
Is the Google Calendar sync two-way?
No, it is one-way: intusell writes the appointment to Google Calendar (creation, rescheduling, and cancellation are reflected). A change made by hand in the calendar does not flow back to intusell; conflict checking is done from intusell's own appointment book.
Do you need separate software for appointments?
No. Working hours, reminders, and calendar sync come built into intusell. Google Calendar is optional; viewing appointments and reminders work even if you do not connect it.
Next step
After setting up the appointment engine, you go in two directions. To shape the AI with your portfolio, your tone, and your response rules, read how you train the intusell AI. To see how incoming requests and appointments are managed in daily operations, move on to how you use intusell, and for the channel side, Instagram and WhatsApp automation. If you are curious how the same engine is set up in other sectors, you can look at AI training for a tour agency and AI training for a clinic, review the real estate solution page, and see all the articles via all articles.
If you would like us to set up your appointment system together, Get a demo or write to hello@intusell.com; we'll set up your working hours, viewing types, and the first reminder together in 20 minutes.
You read the blog — now see it live.
Test intusell live with your own sector scenario in a 20-minute demo.
Related posts
View all