Cloudbeds integration for AI agents.
Cloudbeds integration for AI agents with secure authentication and server-side credential injection. Open Connector runs the OAuth, seals the token in an encrypted vault, and serves Cloudbeds tools to your agent over MCP or a typed API — credentials injected server-side, every call audited, nothing leaving your infrastructure. Open source (AGPL-3.0) and self-hostable.
Real Cloudbeds actions, managed and audited.
Your user connects Cloudbeds once; your agent can then secure AI-agent actions — scoped to the OAuth permissions you grant and the tool allowlist you configure. Every action is least-privilege and written to a tamper-evident audit trail.
- 1
Your user grants Cloudbeds access once (OAuth) — the token lands in the vault.
- 2
Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.
- 3
Every routed call appends a hash-chained audit record — nothing leaves your infra.
Supported Cloudbeds tools.
115 tools are generated from the published Cloudbeds catalog. Descriptions are plain text; each action remains subject to its configured authentication and tool allowlist.
Showing 115 tools. All published catalog entries are included in this page's server-rendered HTML.
- deleteAdjustment
- Voids the AdjustmentID transaction on the specified reservationID
- Adjustment
- deleteGuestNote
- Archives an existing guest note.
- Guest
- deleteReservationNote
- Archives an existing reservation note.
- Reservation
- deleteWebhook
- Remove subscription for webhook. Read the [Webhooks guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007612553-Webhooks) to see available objects, actions, payload info and more. ### Group account support
- Integration
- getAllotmentBlocks
- Retrieve allotment blocks
- AllotmentBlocks
- getAppPropertySettings
- Returns the app property settings
- AppSettings
- getAppSettings
- Get the current app settings for a property.<br />
- Integration
- getAppState
- Get the current app integration state for a property.<br /> This call is only available for third-party integration partners, and not for property client IDs. Read the [Connecting/Disconnecting Apps guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007613213-Connecting-Disconnecting-Apps) to further understand the use cases.
- Integration
- getAvailableRoomTypes
- Returns a list of room types with availability considering the informed parameters ### Group account support
- Room
- getCurrencySettings
- Get currency settings
- Currency
- getCustomFields
- Gets custom fields list<br /> ¹ data.displayed = "booking" - Display this field to guests on the booking engine.<br /> ¹ data.displayed = "reservation" - Add this field to the reservation folio for use by staff.<br /> ¹ data.displayed = "card" - Make this field available for registration cards.<br />
- CustomFields
- getDashboard
- Returns basic information about the current state of the hotel
- Dashboard
- getEmailSchedule
- Returns a list of all existing email scheduling. This call is only available for third-party integration partners, and not for property client IDs.
- Emails
- getEmailTemplates
- Returns a list of all existing email templates. This call is only available for third-party integration partners, and not for property client IDs.
- Emails
- getFiles
- Returns a list of files attached to a hotel or group profile, ordered by creation date
- Hotel
- getGroupNotes
- Returns group notes
- Groups
- getGroups
- Returns the groups for a property
- Groups
- getGuest
- Returns information on a guest specified by the Reservation ID parameter
- Guest
- getGuestList
- Returns a list of guests, ordered by modification date ### Group account support
- Guest
- getGuestNotes
- Retrieves a guest notes
- Guest
- getGuestsByFilter
- Returns a list of guests matching the selected parameters ### Group account support
- Guest
- getGuestsByStatus
- Returns a list of guests in the current status (Not Checked In, In House, Checked Out or Cancelled), sorted by modification date. If no date range is passed, it returns all guests with the selected status. ### Group account support
- Guest
- getGuestsModified
- Returns a list of guests based on their modification date. Note that when a guest checks in or checks out of a room, their record is modified at that time. If no date range is passed, only the records for the current day are returned. Also note that if the guest is assigned to multiple rooms, it will result in multiple records. ### Group account support
- Guest
- getHotelDetails
- Returns the details of a specific hotel, identified by "propertyID"
- Hotel
- getHotels
- Returns a list of hotels, filtered by the parameters passed ### Group account support
- Hotel
- getHouseAccountList
- Pulls list of active house accounts
- HouseAccount
- getHousekeepers
- Returns a list of housekeepers ### Group account support
- Housekeeping
- getHousekeepingStatus
- Returns the current date's housekeeping information The housekeeping status is calculated basing on the set of fields roomOccupied | roomCondition | roomBlocked | vacantPickup | roomBlocked | refusedService The available statuses are: - Vacant and Dirty (VD): false | “dirty” | false | false | false | false - Occupied and Dirty (OD): true | “dirty” | false | false | false | false - Vacant and Clean (VC): false | “clean” | false | false | false | false - Occupied and Clean (OC): true | “clean” | false | false | false | false - Occupied and Clean Inspected (OCI): true | “inspected” | false | false | false | false - Vacant and Clean Inspected (VCI): false | “inspected” | false | false | false | false - Do Not Disturb (DND): if doNotDisturb is true - Refused Service (RS): if refusedService is true - Out of Order (OOO): if roomBlocked is true - Vacant and Pickup (VP): if vacantPickup is true
- Housekeeping
- getItem
- Gets the details for the one itemID<br /> <sup>1</sup> only if data.stockInventory = true<br> <sup>2</sup> Taxes, fees and totals will show up only if an item has assigned tax or fee.<br>
- Item
- getItemCategories
- Gets the item category list
- Item
- getItems
- Gets all the items and their prices the hotel has created in myfrontdesk<br> <sup>1</sup> only if data.stockInventory = true<br> <sup>2</sup> Taxes, fees and totals will show up only if an item has assigned tax or fee.<br>
- Item
- getPackageNames
- Return a list of billing package names for a property
- Package
- getPackages
- This efficient method allows you to retrieve the collection of packages associated with a property. Packages here define a group of features that a property has the ability to utilize or access. By invoking this API method, developers will get a comprehensive view of the feature sets that are available and active for a specific property. The getPackages method boasts a seamless execution that offers essential information, vital in enhancing property management, understanding available functionalities and ultimately, optimizing user experience.
- Package
- getPaymentMethods
- Get a list of active methods for a property, or list of properties
- Payment
- getPaymentsCapabilities
- Lists the payment capabilities of a given property
- Payment
- getRate
- Returns the rate of the room type selected, based on the provided parameters
- Rate
- getRateJobs
- Returns a list of Rate Jobs. Rate jobs are only returned within 7 days of creation, after 7 days they will not be returned in the response. Requests which do not provide a jobReferenceID will be filtered by the client ID of the request's token.
- Rate
- getRatePlans
- Returns the rates of the room type or promo code selected, based on the provided parameters. If no parameters are provided, then the method will return all publicly available rate plans. ### Group account support
- Rate
- getReservation
- Returns information on a booking specified by the reservationID parameter
- Reservation
- getReservationAssignments
- Returns a list of rooms/reservations assigned for a selected date.
- Reservation
- getReservationNotes
- Retrieves reservation notes based on parameters
- Reservation
- getReservationRoomDetails
- Returns information about particular room in reservation by its subReservationID
- Room
- getReservations
- Returns a list of reservations that matched the filters criteria.<br /> Please note that some reservations modification may not be reflected in this timestamp. ### Group account support
- Reservation
- getReservationsWithRateDetails
- Returns a list of reservations with added information regarding booked rates and sources.<br /> Please note that some reservations modification may not be reflected in this timestamp.
- Reservation
- getRoomBlocks
- Returns a list of all room blocks considering the informed parameters.
- Room
- getRoomTypes
- Returns a list of room types filtered by the selected parameters ### Group account support
- Room
- getRooms
- Returns a list of all rooms considering the informed parameters. If Check-in/out dates are sent, only unassigned rooms are returned. ### Group account support
- Room
- getRoomsFeesAndTaxes
- Get applicable fees and tax to a booking. This is meant to be used on checkout to display to the guest.
- Room
- getRoomsUnassigned
- Returns a list of unassigned rooms in the property. Call is alias of [getRooms](#api-Room-getRooms). Please check its documentation for parameters, response and example. ### Group account support
- Room
- getSources
- Gets available property sources
- Reservation
- getTaxesAndFees
- Returns the taxes and fees set for the property. Read the [Rate-Based tax (Dynamic Tax) guide](https://myfrontdesk.cloudbeds.com/hc/en-us/articles/360014103514-rate-based-tax-dynamic-tax) to understand its usage.
- Taxes and Fees
- getUsers
- Returns information on the properties' users ### Group account support
- User
- getWebhooks
- List webhooks for which the API client is subscribed to.
- Integration
- listAllotmentBlockNotes
- List notes added to an allotment block
- AllotmentBlocks
- metadata
- In the context of properties being distributed across multiple localizations, this endpoint serves to retrieve the precise location of the property associated with the provided access token. Further information can be found in the [Authentication guide](https://integrations.cloudbeds.com/hc/en-us/sections/14731510501915-Authentication).
- Authentication
- userinfo
- Returns information on user who authorized connection
- Authentication
- access_token
- Query the authorization server for an access token used to access property resources.</br> If the automatic delivery method for API keys is used, the grant type `urn:ietf:params:oauth:grant-type:api-key` needs to be used to request an API key. This grant type requires `grant_type=urn:ietf:params:oauth:grant-type:api-key`, `client_id`, `client_secret`, `redirect_uri` and `code`.</br> For OAuth 2.0., two different grant types (`authorization_code`, `refresh_token`) are supported. Authorization code grant type requires `grant_type=authorization_code`, `client_id`, `client_secret`, `redirect_uri`, `code`. Refresh token grant type requires `grant_type=refresh_token`, `client_id`, `client_secret`, `refresh_token`.</br> Read the [Authentication guide](https://integrations.cloudbeds.com/hc/en-us/sections/14731510501915-Authentication) for implementation tips, user flows and testing advice.
- Authentication
- appendCustomItem
- Append single, or multiple, custom items and their associated payments to an existing one in a Reservation, House Account, or Group.
- Item
- createAllotmentBlock
- Retreive allotment blocks @apiQuery {Integer} propertyID Property ID
- AllotmentBlocks
- createAllotmentBlockNotes
- Add a note to an allotment block
- AllotmentBlocks
- deleteAllotmentBlock
- Delete allotment blocks
- AllotmentBlocks
- deleteAppPropertySettings
- deleteAppPropertySettings
- AppSettings
- deleteRoomBlock
- Deletes a room block
- Room
- patchGroup
- Updates an existing group with information provided. At least one information field is required for this call.
- Groups
- patchRate
- Update the rate of the room based on rateID selected, based on the provided parameters. You can make multiple rate updates in a single API call. Providing a startDate and/or endDate will update rates only within the interval provided. Only non derived rates can be updated, requests to update a derived rate will return an error. This endpoint performs updates asynchronously, rate updates are added to a queue and the endpoint returns a job reference ID. This job reference ID can be used to track job status notifications or to look up details of the update once it is completed. The API is limited to 30 interval per update, sending more than 30 will return an error.
- Rate
- postAdjustment
- Adds an adjustment to a reservation
- Adjustment
- postAppError
- Submit the error received by the hybrid integration from the partner to the MFD
- Integration
- postAppPropertySettings
- postAppPropertySettings
- AppSettings
- postAppState
- Update app integration state for a property ID. <br /> This call is only available for third-party integration partners, and not for property client IDs. <br /> If an app is set to 'disabled', it will remove all active sessions Read the [Connecting/Disconnecting Apps guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007613213-Connecting-Disconnecting-Apps) to further understand the use cases.
- Integration
- postCharge
- Use a payment method to process a payment on a reservation, group profile, accounts receivable ledger, or house account.
- Payment
- postCreditCard
- Returns the rate of the room type selected, based on the provided parameters
- Payment
- postCustomField
- Sets custom fields. The call should only be made once to add the field to the system.
- CustomFields
- postCustomItem
- Adds single, or multiple, custom items and their associated payments to a Reservation or House Account as a single transaction.
- Item
- postCustomPaymentMethod
- Add a Custom Payment Method to a property. This call does not allow to add Payment Methods: credit cards, bank transfer or Pay Pal.
- Payment
- postEmailSchedule
- Creates a new email schedule for existing email template. Email template can be scheduled based on two parameters: reservationStatusChange and reservationEvent. Only one of the parameters can be used. *reservationStatusChange* schedules email to be sent when reservation status transitions to a specific one, for instance: `confirmed`. *reservationEvent* schedules email to be sent number of days prior or after a specific event, for instance: `after_check_out` at a given time This call is only available for third-party integration partners, and not for property client IDs.
- Emails
- postEmailTemplate
- Creates a new email template. See the full list of available language parameters <a href="https://integrations.cloudbeds.com/hc/en-us/articles/360007144993-FAQ#methods-and-parameters">here</a>. This call is only available for third-party integration partners, and not for property client IDs.
- Emails
- postFile
- Attaches a file to a hotel
- Hotel
- postGovernmentReceipt
- Add a Government Receipt to a Reservation or House Account
- Integration
- postGroupNote
- Adds a group note
- Groups
- postGuest
- Adds a guest to reservation as an additional guest.
- Guest
- postGuestDocument
- Attaches a document to a guest
- Guest
- postGuestNote
- Adds a guest note
- Guest
- postGuestPhoto
- Attaches a photo to a guest
- Guest
- postGuestsToRoom
- Assigns guest(s) to a room in a reservation and adds these guests as additional guests.
- Guest
- postHousekeeper
- Add New Housekeeper
- Housekeeping
- postHousekeepingAssignment
- Assign rooms (single or multiple) to an existing housekeeper
- Housekeeping
- postHousekeepingStatus
- Switches the current date's housekeeping status for a specific room ID to either clean or dirty The housekeeping status is calculated basing on the set of fields roomOccupied | roomCondition | roomBlocked | vacantPickup | roomBlocked | refusedService The available statuses are: - Vacant and Dirty (VD): false | “dirty” | false | false | false | false - Occupied and Dirty (OD): true | “dirty” | false | false | false | false - Vacant and Clean (VC): false | “clean” | false | false | false | false - Occupied and Clean (OC): true | “clean” | false | false | false | false - Occupied and Clean Inspected (OCI): true | “inspected” | false | false | false | false - Vacant and Clean Inspected (VCI): false | “inspected” | false | false | false | false - Do Not Disturb (DND): if doNotDisturb is true - Refused Service (RS): if refusedService is true - Out of Order (OOO): if roomBlocked is true - Vacant and Pickup (VP): if vacantPickup is true
- Housekeeping
- postItem
- Adds an item either to a reservation or to a house account.
- Item
- postItemCategory
- Adds new items category
- Item
- postItemsToInventory
- Adds new items batch<br /> ¹ only if item.stockInventory = true<br />
- Item
- postNewHouseAccount
- Add a new House Account
- HouseAccount
- postPayment
- Add a payment to a specified reservation, house account, or group. If multiple IDs are provided, precedence is reservationID, then houseAccountID, then groupCode.
- Payment
- postReservation
- Adds a reservation to the selected property
- Reservation
- postReservationDocument
- Attaches a document to a reservation
- Reservation
- postReservationNote
- Adds a reservation note
- Reservation
- postRoomAssign
- Assign/Reassign a room on a guest reservation
- Room
- postRoomBlock
- Adds a room block to the selected property.
- Room
- postRoomCheckIn
- Check-in a room already assigned for a guest
- Room
- postRoomCheckOut
- Check-out a room already assigned for a guest. If all rooms are checked out, the reservation status will update accordingly to "Checked Out" as well.
- Room
- postVoidItem
- Voids the itemID transaction on the specified Reservation ID, House Account ID, or Group. If payments were sent in calls [postItem](https://developers.cloudbeds.com/reference/post_postitem) or [postCustomItem](https://developers.cloudbeds.com/reference/post_postcustomitem), they will be deleted too.
- Item
- postVoidPayment
- Voids a payment (using paymentID) to a specified reservation or house account.
- Payment
- postWebhook
- Subscribe a webhook for a specified event. Read the [Webhooks guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007612553-Webhooks) to see available objects, actions, payload info and more.
- Integration
- putAppPropertySettings
- putAppPropertySettings
- AppSettings
- putGroup
- Adds a group to the property. Please note that the default setting for 'Route to Group Folio' will be 'No,' and the 'Reservation Folio Configuration' will be set as the default folio configuration. You can edit these settings through the user interface (UI).
- Groups
- putRate
- Update the rate of the room based on rateID selected, based on the provided parameters. You can make multiple rate updates in a single API call. Providing a startDate and/or endDate will update rates only within the interval provided. Only non derived rates can be updated, requests to update a derived rate will return an error. This endpoint performs updates asynchronously, rate updates are added to a queue and the endpoint returns a job reference ID. This job reference ID can be used to track job status notifications or to look up details of the update once it is completed. The API is limited to 30 interval per update, sending more than 30 will return an error.
- Rate
- updateAllotmentBlock
- Update an allotment block @apiQuery {Integer} propertyID Property ID
- AllotmentBlocks
- updateAllotmentBlockNotes
- Update a note on an allotment block
- AllotmentBlocks
- putGuest
- Updates an existing guest with information provided. At least one information field is required for this call.
- Guest
- putGuestNote
- Updates an existing guest note.
- Guest
- putHouseAccountStatus
- Change specific house account to either open or closed.
- HouseAccount
- putHousekeeper
- Edit Housekeeper Details
- Housekeeping
- putItemToInventory
- Updates an item with information provided<br /> ¹ only if item.stockInventory = true<br />
- Item
- putReservation
- Updates a reservation, such as custom fields, estimated arrival time, room configuration and reservation status.
- Reservation
- putReservationNote
- Updates an existing reservation note.
- Reservation
- putRoomBlock
- Updates a room block.
- Room
Cloudbeds integration, answered
- How do AI agents use Cloudbeds through Open Connector?
- Your user connects Cloudbeds once with one of its cataloged authentication methods. Open Connector stores the credential in an encrypted vault and exposes Cloudbeds tools to your agent over MCP or a typed API, with credentials injected server-side on each call.
- Is this a Cloudbeds MCP server?
- Yes. Open Connector can serve Cloudbeds as a named MCP server with a scoped allowlist and a per-user connection URL, so any MCP client can call Cloudbeds actions with credentials injected server-side.
- Where do Cloudbeds credentials live?
- In your own infrastructure. Open Connector keeps credentials in its own vault and injects them at call time, so they never leave your environment.
Give your agents Cloudbeds — keep the keys.
Open source, self-hostable, with Cloudbeds credentials that never leave your infrastructure. Run it from source today.