Apaleo
Apaleo is a cloud-based property management platform handling reservations, billing, and daily operations for hospitality businesses
Verdict
Common use cases
- Verify property setup before go-live
- Audit unit attributes across multiple properties
- Clone a property template for new locations
- Archive outdated properties in bulk
- Check unit group configurations during troubleshooting
Integration
- Vendor
- Apaleo
- Category
- other
- Auth
- OAUTH2
- Tools
- 29
- Composio slug
apaleo
Tools
- Archive a property
Use this endpoint to archive an existing live property this operation set the isarchived flag to true<br>you must have at least one of these scopes: 'properties.manage, setup.manage'.
- Check if a property exists
Check if a property exists by id.<br>you need to be authorized (no particular scope required)
- Check if a unit attribute exists
Check if a unit attribute exists<br>you must have at least one of these scopes: 'unitattributes.read, setup.read, setup.manage'.
- Check if a unit exists
Check if a unit exists by id.<br>you must have at least one of these scopes: 'units.read, setup.read, setup.manage'.
- Check if a unit group exists
Check if a unit group exists by id.<br>you must have at least one of these scopes: 'unitgroups.read, setup.read, setup.manage'.
- Clones a property
Use this call to clone a specific property. this operation creates a new property with inventory and rate plans from the specified property.<br>you must have at least one of these scopes: 'properties.create, setup.manage'.
- Create a unit
Use this call to create a new unit.<br>you must have at least one of these scopes: 'units.create, setup.manage'.
- Create a unit attribute
Use this call to create a new unit attribute.<br>you must have at least one of these scopes: 'unitattributes.create, setup.manage'.
- Create a unit group
Use this call to create a new unit group.<br>you must have at least one of these scopes: 'unitgroups.create, setup.manage'.
- Create multiple units
Use this call to create multiple units, following a naming rule.<br>you must have at least one of these scopes: 'units.create, setup.manage'.
- Creates a property
Use this call to create a new property.<br>you must have at least one of these scopes: 'properties.create, setup.manage'.
- Delete a unitdestructive
Use this call to delete a unit.<br>you must have at least one of these scopes: 'units.delete, setup.manage'.
- Delete a unit groupdestructive
Use this call to delete a unit group.<br>you must have at least one of these scopes: 'unitgroups.delete, setup.manage'.
- Deletes unit attribute
Deletes unit attribute<br>you must have at least one of these scopes: 'unitattributes.delete, setup.manage'.
- Get a properties list
Get the list of properties.<br>you need to be authorized (no particular scope required)
- Get a property
Get a property by id.<br>you need to be authorized (no particular scope required)
- Get a unit
Get a unit by id.<br>you must have at least one of these scopes: 'units.read, setup.read, setup.manage'.
- Get a unit group
Get a unit group by id.<br>you must have at least one of these scopes: 'unitgroups.read, setup.read, setup.manage'.
- Get a units list
Get the list of units.<br>you must have at least one of these scopes: 'units.read, setup.read, setup.manage'.
- Get unit attribute by id
Get unit attribute by id<br>you must have at least one of these scopes: 'unitattributes.read, setup.read, setup.manage'.
- Get unit attribute list
Get unit attribute list<br>you must have at least one of these scopes: 'unitattributes.read, setup.read, setup.manage'.
- List Unit Groups
Get the list of unit groups.<br>you must have at least one of these scopes: 'unitgroups.read, setup.read, setup.manage'.
- Move property to live
Use this endpoint to move an existing test property to live this operation changes the property status to 'live'<br>you must have at least one of these scopes: 'properties.manage, setup.manage'.
- Replace a unit group
Use this call to modify a unit group.<br>you must have at least one of these scopes: 'unitgroups.manage, setup.manage'.
- Reset Property Data
This endpoint deletes transactional data for a property in 'test' status. requires 'properties.manage' or 'setup.manage' scopes.
- Returns a list of supported countries
Returns a list of iso country codes that could be used to create properties.<br>you need to be authorized (no particular scope required)
- Returns number of unit groups
Returns number of unit groups matching the filter criteria<br>you must have at least one of these scopes: 'unitgroups.read, setup.read, setup.manage'.
- Returns number of units
Returns number of units matching the filter criteria<br>you must have at least one of these scopes: 'units.read, setup.read, setup.manage'.
- Return total count of properties
Return total count of properties<br>you need to be authorized (no particular scope required)
Setup
Setup guide
- 11. In Switchy, open your workspace settings and navigate to the Integrations tab. 2. Click 'Add MCP Integration' and search for Apaleo. 3. Click 'Connect' to start the OAuth flow — you'll be redirected to Apaleo's authorization page. 4. Sign in with your Apaleo account and grant the requested scopes: properties.manage, units.read, units.create, unitgroups.read, unitattributes.read, and setup.manage (you can adjust these later if your team only needs read access). 5. After approving, you'll return to Switchy and see 'Apaleo connected' in your integrations list. 6. Open any Space, type '@Apaleo check if property exists' followed by a property ID, and send the message. 7. If Apaleo responds with property status, the connection works. 8. To invoke other tools, @mention Apaleo and describe the task — for example, '@Apaleo create a unit for property X with these attributes' or '@Apaleo list all unit groups in property Y'.
What teammates see: by default, memories from Apaleo are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Spaces have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Check Property Status
@Apaleo check if property ID 12345 exists and return its status and any archived flags.Open in a Space →
Create New Unit
@Apaleo create a unit in property 12345 with name 'Suite 204', max occupancy 4, and unit group 'Deluxe Suites'.Open in a Space →
Clone Property Template
@Apaleo clone property 12345 and name the new property 'Downtown Location Q2 2025'.Open in a Space →
Audit Unit Attributes
@Apaleo check if unit attribute 'pet-friendly' exists in property 12345 and show its current configuration.Open in a Space →
Archive Old Property
@Apaleo archive property 67890 and confirm the isarchived flag is now set to true.Open in a Space →
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@Apaleo check if unit 'room-301' exists in our downtown property and show me its current attributes
Unit 'room-301' exists in property 'Downtown Hotel Berlin'. Current attributes: Unit Type: Deluxe King, Max Occupancy: 2, Floor: 3, View: City, Status: Active. This unit is part of unit group 'deluxe-rooms' and has custom attributes including 'balcony: true' and 'accessible: false'. The unit was last updated 14 days ago.
This read operation requires 'units.read' or 'setup.read' scope. Apaleo's property management system organizes inventory hierarchically (property → unit group → unit), so understanding this structure helps when querying specific rooms. Attribute availability depends on what your property has configured in Apaleo's setup.
@Apaleo create a new unit attribute called 'pet-friendly' as a boolean flag that we can apply to ground-floor rooms
Created unit attribute 'pet-friendly' (ID: attr_8x9k2m) with type Boolean. This attribute is now available for assignment to any unit across your properties. To apply it to ground-floor rooms, you'll need to update each unit individually or use a bulk update operation. The attribute appears in your Apaleo dashboard under Setup → Unit Attributes and can be used in rate plan restrictions or guest-facing descriptions.
Requires 'unitattributes.create' or 'setup.manage' scope. Creating an attribute doesn't automatically assign it to units — that's a separate update operation per unit. Consider whether this attribute should affect rate plans or availability rules before rolling it out, as Apaleo's pricing engine can reference custom attributes.
@Apaleo list all properties in our account, then identify which ones have units marked as accessible and summarize our accessible inventory by location
Found 4 active properties in your Apaleo account. Accessible inventory summary: Downtown Hotel Berlin has 8 accessible units (6 standard, 2 suites) across floors 1-2. Airport Hotel Munich has 12 accessible units (all standard) on ground floor. Riverside Hotel Hamburg has 5 accessible units (4 standard, 1 suite) on floor 1. Boutique Hotel Frankfurt has 3 accessible units (all standard) on ground floor. Total: 28 accessible units across 4 properties, representing 11% of your total inventory.
This synthesis example chains multiple read operations: listing properties requires basic authorization, then checking units requires 'units.read' scope. The AI aggregates data across properties to answer a business question Apaleo's API doesn't answer directly. Accuracy depends on how consistently your team tags units with the 'accessible' attribute in Apaleo's system.
Use-case deep-dives
When Apaleo MCP speeds up franchise property onboarding
A 12-property boutique hotel group onboarding two new locations per quarter hits this scenario. The Apaleo MCP wins here because the clone-property tool copies inventory and rate plans in one call, then the create-unit and create-unit-attribute tools let you script the room-level customization without clicking through the Apaleo UI 200 times. OAuth2 means your ops lead authenticates once and the team shares the workspace. The threshold: if you're onboarding fewer than 3 properties per year, the manual UI is faster than writing the automation prompts. Above that cadence, the MCP pays for itself in the second quarter. Use this when your property portfolio is growing and your setup checklist is stable.
Why this MCP doesn't fit weekly pricing reviews
A 2-person revenue team doing weekly rate-plan audits across 8 properties wants to pull current pricing and compare it to market data. The Apaleo MCP has 29 tools but none of them read rate-plan pricing or reservation data—the representative tools are all setup and property-management operations. You can check if a unit group exists or archive a property, but you can't fetch the rates that drive revenue decisions. This is a setup-focused MCP, not a reporting or analytics integration. If your workflow is 'read current state and make pricing calls', you need Apaleo's reporting API or a BI tool, not this MCP. Save this integration for the ops team doing property configuration, not the revenue team doing market analysis.
When front-desk teams need real-time room detail checks
A 6-person front-desk team at a 40-unit property handling guest requests during check-in ('does room 204 have a bathtub?') could use the check-if-unit-attribute-exists tool to verify amenities without opening the PMS. The MCP gives you a shared Switchy workspace where any team member can ask 'what attributes does unit 204 have' and get the answer in 3 seconds. The trade-off: this only makes sense if your attribute data lives in Apaleo and your team asks these questions more than twice per shift. Below that frequency, they'll just remember the room layouts or check the printed floor plan. Above it, the MCP saves 15 minutes per day of context-switching out of the reservation system. Best fit for properties with complex or frequently changing unit configurations.
Frequently asked
What does the Apaleo MCP let me do in Switchy?
The Apaleo MCP connects your property management system to Switchy's AI workspace. It gives your team read and write access to properties, units, unit groups, and unit attributes. You can check if resources exist, create new units or attributes, archive properties, and clone entire property configurations—all through natural language prompts in Switchy.
Which OAuth scopes does Apaleo request when I connect it?
Apaleo uses OAuth2 and requests scopes like properties.manage, setup.manage, units.read, units.create, unitgroups.read, and unitattributes.create. The exact scopes depend on which tools your team uses. Most write operations (creating units, archiving properties) require setup.manage or a specific resource scope. Read-only checks need narrower scopes like units.read or setup.read.
Can the Apaleo MCP manage reservations or guest bookings?
No. This MCP focuses on property setup and inventory configuration—units, unit groups, attributes, and property-level operations. It doesn't handle reservations, guest profiles, or booking workflows. If your team needs booking automation, you'll need to use Apaleo's booking API directly or wait for a separate reservation-focused MCP.
Why use this instead of logging into Apaleo's dashboard?
The MCP lets your team query and update property data without leaving Switchy. Instead of clicking through Apaleo's UI to check if a unit exists or clone a property, you ask in plain English. It's faster for repetitive tasks and lets non-technical team members interact with your PMS setup without needing dashboard training.
Who on my team should connect the Apaleo integration?
Whoever has admin or setup permissions in your Apaleo account. The OAuth flow requires credentials with properties.manage and setup.manage scopes to unlock the full toolset. Once connected, you can control which Switchy team members can invoke Apaleo tools through workspace permissions—they don't need their own Apaleo logins.