Inhoud samenvatten met:
Anyone running short-stay rentals through Smoobu knows the pattern: calls come in around the clock - availability requests, last-minute bookings, status questions on existing reservations. An AI voice agent that talks to the Smoobu API directly closes the gap. It checks live availability, creates reservations, answers questions about confirmed bookings, and triggers guest messages on demand - all in one call, none of it requiring a human at the desk.
This guide shows how to stand up a production Smoobu voice agent in under an hour using Famulor's no-code voice AI platform. You will learn which Smoobu endpoints matter, how to wire Famulor mid-call tools in the dashboard, and when to instruct the agent in the system prompt so it calls those tools at the right moment. The same agent then runs on phone, web chat, and WhatsApp out of the same configuration.
What Smoobu is and why it is a perfect voice AI anchor
Smoobu is a Berlin-based property management system for short-stay rentals, boutique hotels, and serviced apartments. It synchronizes bookings from Airbnb, Booking.com, Vrbo, and your own direct booking website into one unified calendar. What makes Smoobu particularly attractive for voice AI: a fully documented REST API with OAuth and API-key authentication, a 1,000 requests-per-minute rate limit, and endpoints that map cleanly to the questions callers actually ask on the phone.
The typical caller intents that a voice agent can resolve through the Smoobu API: check availability for a date range, get a price, create a booking, look up the status of an existing reservation, send a message to the guest. Each of these maps to a documented Smoobu endpoint - exactly the use case that Famulor's mid-call tool architecture was built for.
How mid-call tools work in Famulor
Famulor distinguishes between static knowledge (PDFs, URLs, FAQ) and dynamic mid-call tools. Mid-call tools are HTTP calls that the AI agent runs in real time during a conversation. The agent extracts the parameters it needs from the call, hits the configured endpoint, waits for the JSON response, and answers the caller using the live data.
Concretely, a mid-call tool is created either via the API at POST /api/user/tools or - much more common - directly in the Famulor dashboard under Mid Call Tools. For each tool you define:
name: snake_case identifier (e.g.
check_smoobu_availability) that the agent references internally.description: up to 255 characters describing when the model should use this tool (e.g. „when the caller asks about availability for a date range").
endpoint: Smoobu URL like
https://login.smoobu.com/booking/checkApartmentAvailability.method: GET, POST, PUT, PATCH, or DELETE.
headers: this is where
Api-Key: YOUR_KEYandContent-Type: application/jsonlive.schema: array of parameters the AI extracts from the conversation. Each item has a name, a type (string/number/boolean), and a description that helps the model identify the value.
timeout: 1-30 seconds, default 10 - 8 seconds is a comfortable choice for Smoobu.
The schema descriptions are not decoration. They are the only signal the model uses to translate a caller phrase like „from May 14 to 17 for four people" into structured fields. Write them precisely.
The five mid-call tools your Smoobu voice agent needs
In practice, five tools cover 90 percent of caller intents. The table below summarizes them:
Tool name | Smoobu endpoint | Method | When the agent should call it |
|---|---|---|---|
check_smoobu_availability | /booking/checkApartmentAvailability | POST | Caller asks about open dates and price |
create_smoobu_booking | /api/reservations | POST | Caller is ready to book and all required fields collected |
get_smoobu_booking | /api/reservations/{id} | GET | Caller asks about an existing reservation |
list_smoobu_apartments | /api/apartments | GET | Agent needs apartment IDs at start, or for multi-property hosts |
send_smoobu_message | /api/messages/{id} | POST | Caller wants confirmation or instructions by mail/chat |
Optional add-ons: cancel_smoobu_reservation for cancellations and get_smoobu_rates for seasonal pricing lookups. Same schema pattern.
Step 1 - get the Smoobu API key
Log into Smoobu and go to Settings → API. Generate a personal API key - this key is bound to your account. Multi-tenant scenarios use OAuth 2 as a Smoobu Partner; for a single host the personal key is enough. Also note your apartment IDs from the Smoobu dashboard, because the availability endpoint expects them as an array.
Smoobu allows 1,000 requests per minute - far more than even a busy voice agent will use. Watch the returned X-RateLimit-* headers if you also run parallel outbound campaigns from the same key.
Step 2 - create your first tool „check_smoobu_availability"
In the Famulor dashboard open Mid Call Tools and click „New Tool". Fill in:
Name:
check_smoobu_availabilityDescription: „Checks Smoobu availability for the requested dates and apartments. Only call after the caller has named arrival date, departure date, and number of guests."
Endpoint:
https://login.smoobu.com/booking/checkApartmentAvailabilityMethod: POST
Headers:
Api-Key: YOUR_SMOOBU_KEY,Content-Type: application/jsonSchema:
arrival_date(string) - „Arrival date in yyyy-mm-dd format, extracted from caller speech"departure_date(string) - „Departure date in yyyy-mm-dd format"guests(number) - „Number of people staying"
Save and you are done. During the call the model assembles the JSON payload from the values the caller provided. Famulor maps the schema names to the exact Smoobu fields (arrivalDate, departureDate, guests); you can also use the Smoobu camelCase names directly in your tool definition.
Step 3 - add the booking and lookup tools
The most important tool is create_smoobu_booking. Smoobu requires fields like arrivalDate, departureDate, apartmentId, and channelId, plus contact data for any serious booking. Make sure the description tells the model explicitly to call this tool only after all required fields are confirmed - otherwise the model tends to act optimistically.
Example description: „Creates a Smoobu reservation. Only call after check_smoobu_availability succeeded AND the caller has provided first name, last name, email, phone, and chosen apartment ID. Repeat the data back to the caller and obtain explicit confirmation before invoking."
The second must-have is get_smoobu_booking for inbound questions on existing reservations. When a caller says „I already booked but I cannot find my reservation number", the agent can run an email lookup or booking-code lookup and respond with live data.
Step 4 - write a system prompt that triggers the right tool
This is where most teams underperform. The system prompt must tell the model precisely when a tool fires - otherwise the model decides on instinct and either calls too early, too late, or not at all. A reliable structure:
Identity and tone. „You are Hannah, virtual assistant for Black Forest Holiday Apartments. Speak briefly, friendly, simple English."
Domain rules. Which apartments? What seasonal rules? What FAQ context lives in the knowledge base?
Tool usage rules. Spell each one out:
„When the caller asks about availability or price, call
check_smoobu_availabilityas soon as arrival, departure, and guest count are known."„When the caller wants to book firmly, gather all required fields (first name, last name, email, phone, target apartment), repeat them back, get explicit confirmation, then call
create_smoobu_booking."„When the caller mentions an existing reservation and provides an ID, call
get_smoobu_bookingand read back the relevant fields."„When the caller wants confirmation by email or WhatsApp, after a successful booking call
send_smoobu_message."
Escalation rules. When to hand off to a human - typically for complaints, special requests, or any explicit human ask.
This explicit tool guidance is the difference between an agent that books reliably and one that hallucinates. Use the same trigger phrases per tool so the model recognizes the pattern consistently.
Step 5 - multi-channel: phone, web chat, WhatsApp
One of Famulor's strengths: the same agent with the same mid-call tools runs on every channel. A caller who cannot reach you on the phone sends a WhatsApp; the agent answers with identical logic and books into the same Smoobu calendar. The web chat widget on your direct booking site uses the same tools, turning every page view into a real booking instead of a contact-form maze.
Per channel you can tune behavior: shorter responses on phone, list-rich answers in chat, confirmation links in WhatsApp. Famulor handles the routing logic; you only adjust tone per channel - the Smoobu integration stays identical. For background on the multi-channel architecture, see the omnichannel flow builder write-up.
Example: 90-second call, one confirmed booking
Here is what a real call looks like at a typical countryside vacation rental:
Caller: Hi, do you have anything from May 22 to 25 for two adults and one child?
Agent: One moment, let me check. (callscheck_smoobu_availabilitywith arrival 2026-05-22, departure 2026-05-25, guests 3)
Agent: I have two apartments available - Studio Talblick at 348 euros and Bergwiese at 420 euros, both including final cleaning.
Caller: We will take the studio.
Agent: Lovely. Can I get your first and last name, an email, and a phone number? (collects data)
Agent: To confirm: Berger family, May 22 to 25, Studio Talblick at 348 euros, email b@example.com. Shall I book that firmly?
Caller: Yes, please.
Agent: (callscreate_smoobu_booking, ID 9241 returned) Booked, confirmation number 9241. Shall I send you the confirmation by mail and WhatsApp?
Caller: Both, please.
Agent: (callssend_smoobu_message) Done, the email arrives in the next minutes.
90 seconds, one confirmed booking, one happy guest - no human at a desk required. Same experience works at 10 PM on a Sunday.
What the setup costs
Smoobu's API access is included in the professional Smoobu plans, no extra API fees. On the Famulor side you pay a monthly platform fee plus per-minute call pricing depending on voice and model - rates are transparent on the Famulor pricing page. For a host running 50 to 200 calls per month, total monthly cost lands well below half a part-time receptionist's hourly cost. A confirmed direct booking through your own number also avoids the 15-20 percent commission an OTA like Airbnb or Booking.com charges.
Bereken je ROI met geautomatiseerde gesprekken
Ontdek hoeveel je per maand bespaart via AI voice agents.
ROI Resultaat
ROI 228%
Geen creditcard nodig
Security, GDPR, and best practices
Three things are non-negotiable in the EU host context:
API key protection. The Smoobu key belongs in the Famulor header and nowhere else. Famulor hosts the tool config in the EU, the key is encrypted at rest and never appears in call transcripts. Rotate the key every 6-12 months.
Confirmation before booking. Build the explicit confirmation into the conversation logic. „Shall I book that firmly?" is not optional - skip it and eventually the model will turn „I was just asking" into a real reservation.
GDPR and recording. Callers are notified of recording at the start of the call. Smoobu stores booking data in EU-compliant fashion already, Famulor ships a DPA and EU hosting. The combined setup meets the standard requirements without additional engineering. Background on telephony compliance lives on the SIP trunking glossary page and in the Famulor compliance section.
Extensions worth considering later
Once the base agent runs, three extensions deliver outsized value. First, outbound campaigns for inquiries that did not book - the agent rings interested guests who filled in a form. Second, automatic pre-stay calls three days before arrival with check-in info and add-on upsell. Third, post-stay calls collecting a short review and pushing the answers into the guest CRM.
All three reuse the same Smoobu tool collection plus extra outbound logic in Famulor. A look at the Famulor integrations directory shows how CRM, mail, and calendar tools snap in to round out the stack.
Conclusion: API plus voice AI gives you a real 24/7 colleague
Smoobu owns the property management. Famulor owns the conversation. Wire the two together via mid-call tools and you have an agent that answers in real time, books firmly, and keeps the PMS data consistent. Setup takes about an hour - if your tool descriptions and system prompt are clean, the rest falls into place. Famulor is the first choice here because EU hosting, transparent per-minute pricing, a no-code builder, and a dedicated mid-call tools endpoint come together by default rather than being assembled from third-party parts.
Probeer onze AI-assistent
Ervaar hoe natuurlijk onze AI-telefoonassistent klinkt.
Vul uw gegevens in en ontvang binnen enkele seconden een oproep van onze AI-agent.
De agent is getraind om over Famulor-diensten te praten en afspraken te maken.

Demo AI agent
Famulor representative
FAQ
Which Smoobu plans support the API?
API access is available on the professional Smoobu plans. Find the personal API key under Settings → API. OAuth 2 is reserved for official Smoobu Partners.
Do I need engineering skills to set this up?
No. Mid-call tools are configured in the Famulor dashboard via a form - no code. You enter endpoint, method, headers, and schema, and Famulor handles the runtime call.
How do I avoid double bookings?
Smoobu is the single source of truth that synchronizes all channels. As long as every voice agent only writes through Smoobu, double bookings cannot happen. The key rule: no parallel direct write access from other systems.
Can the agent apply seasonal pricing rules?
Yes. Smoobu returns prices and restrictions automatically when the availability endpoint is called. The agent reads back exactly what Smoobu calculated for that range, including minimum stay and arrival-day constraints.
What happens if the Smoobu API has a brief outage?
Famulor mid-call tools have a configurable timeout (1-30 seconds). If the call fails, the agent can apologize, schedule a callback, and write the request as a task into your CRM or as an email to you.
Does this also work for channel managers other than Smoobu?
Yes. The same pattern applies to Hostaway, Lodgify, Guesty, or proprietary PMS systems as long as a REST API exists. Famulor's mid-call tool endpoint is vendor-neutral.
Which languages does the voice agent understand?
Famulor supports more than 40 languages with automatic detection at the start of the call. International hosts in particular benefit - the agent answers in the same language register as the caller.
How do I measure whether the AI books more than a human?
Famulor reports per-call transcript, tool calls, booking IDs, and outcomes. You can compare daily booking conversion against your pre-AI baseline and see the delta directly.
What is the Smoobu rate limit for a voice agent?
Smoobu allows 1,000 requests per minute per token. Even with 50 concurrent calls and 4-5 tool calls each, you are well below the ceiling.
















