Xola integration
Xola is booking software for tour and activity operators. Manage experiences (bookable products) with their schedules, opening hours, fees and questionnaires, read availability (timeslots and upcoming dates), run events (departures) with guides, notes and roster emails, list, create and update purchases (bookings) with tags, notes and payment reminders, work waitlists and abandoned purchases, manage guides, resources, blackout schedules, coupons and codes, gift offers, message templates and conversations, message customers, and read customers, transactions, waivers, forms, packages, memberships, affiliates and gratuities. Bookings, customers, conversations and waivers are personal data. Left out: seller account, API key, permission, preference and payment-gateway settings, media and file uploads, payments and refunds on purchases, purchase rules, booking buttons, catalog items, units, wares, reports and the CSV or Excel exports. Authentication is a Xola API key sent in the X-API-KEY header, and every call pins API version 2025-07-07. Calls go to the production host; the sandbox is not reachable.
Say what should happen.
The workflow builds itself.
What you can do with Xola
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Note, 10 operations
create_customer_noteCreate customer notePOSTAdd a note to a customer (traveler) on the given seller account.create_event_noteCreate event notePOSTAdd a note to an event. When the event belongs to a group, the note is attached to the primary event of the group. Requires the `EDIT_EVENT_NOTES` permission on the event.create_purchase_noteCreate purchase notePOSTAdd a note to a purchase (order). Requires the `CREATE_PURCHASE_NOTES` permission on the purchase.create_waitlist_noteCreate waitlist notePOSTAdd a note to a waitlist entry. The waitlist entry may be a waitlist purchase or a waitlist order. Requires the `CREATE_WAITLIST_PURCHASE_NOTES` permission for waitlist purchases, or the `CREATE_ORDER_NOTES` permission for waitlist orders.delete_customer_noteDelete customer noteDELETEDelete a customer note. System-generated notes cannot be removed and return a `403` response.delete_event_noteDelete event noteDELETEDelete an event note. Requires the `EDIT_EVENT_NOTES` permission on the event.delete_purchase_noteDelete purchase noteDELETEDelete a purchase note. Requires the `DELETE_PURCHASE_NOTES` permission on the purchase.delete_waitlist_noteDelete waitlist noteDELETEDelete a waitlist note. Requires the `DELETE_WAITLIST_PURCHASE_NOTES` permission for waitlist purchases, or the `DELETE_ORDER_NOTES` permission for waitlist orders.update_customer_noteUpdate customer notePUTUpdate the text of an existing customer note. System-generated notes cannot be edited and return a `403` response.update_event_noteUpdate event notePUTUpdate the text of an existing event note. Requires the `EDIT_EVENT_NOTES` permission on the event.
Guide, 9 operations
add_event_guideAdd event guidePOSTAdd a guide to an event. Only users with guide management permissions can add guides to events. The system will check for guide availability conflicts with other events.create_guideCreate guidePOSTCreate a new guide for a seller. Can create a guide for an existing user or create a new user account.delete_guideDelete guideDELETEDelete a guide. The guide cannot be deleted if they are assigned to future events.get_guideGet guideGETGet detailed information about a specific guide.list_event_guidesList event guidesGETGet all guides currently assigned to an event. Returns basic guide information for each assigned guide.list_guidesList guidesGETRetrieve a paginated list of guides belonging to a specific seller. Supports filtering by availability for events.remove_event_guideRemove event guideDELETERemove a guide from an event. This will unassign the guide from the specified event.update_event_guideUpdate event guidePUTUpdate an event guide assignment. Supports updating the guide's status (e.g., to confirm or decline). The authenticated user must be the guide themselves.update_guideUpdate guidePUTUpdate information for an existing guide.
Schedule, 7 operations
create_experience_scheduleCreate experience schedulePOSTCreate schedules for an Experience. This allows you to build activity schedules that define when your trip departs. Combining schedules also allows for dynamic pricing that adjusts based on time or day.create_guide_scheduleCreate guide schedulePOSTAdd a new availability schedule to a guide. Guide schedules define when guides are available for assignments. Required fields: `type`, `days`, `start`create_resource_scheduleCreate resource schedulePOSTAdd a new schedule to a resource. Resource schedules define when equipment or resources are available for use. Use the `force` query parameter to force creation even if there are conflicts.delete_experience_scheduleDelete experience scheduleDELETEDelete a schedule from an experience. This will remove all future occurrences of the schedule.delete_guide_scheduleDelete guide scheduleDELETEDelete a schedule from a guide. Use the `force` query parameter to force deletion even if there are conflicts.delete_resource_scheduleDelete resource scheduleDELETEDelete a schedule from a resource. Use the `force` query parameter to force deletion even if there are conflicts.update_experience_scheduleUpdate experience schedulePUTUpdate an existing schedule for an experience. All schedule properties can be modified.
Resource, 6 operations
assign_resource_to_experienceAssign resource to experiencePOSTAssigns a pre-existing resource (inventory item) to an experience. Resources are fixed assets that can be utilized across multiple experiences. You must have the Inventory feature enabled for this endpoint to work.create_resourceCreate resourcePOSTCreate a new resource (equipment or guide). The resource will be automatically associated with the authenticated user's seller account unless a different seller is specified.delete_resourceDelete resourceDELETESoft delete a resource by setting the deletedAt timestamp. Resources that are associated with experiences cannot be deleted and will return a conflict error.get_resourceGet resourceGETRetrieve detailed information about a specific resourcelist_resourcesList resourcesGETRetrieve a paginated list of resources.unassign_resource_from_experienceUnassign resource from experienceDELETERemove the assignment of a resource (inventory item) from an experience. This will also remove the resource from all existing events for this experience.
Code, 5 operations
create_coupon_codesCreate coupon codesPOSTCreate one or more coupon codes for a specific coupon. You must have EDIT_COUPON permission.get_coupon_codeGet coupon codeGETRetrieve details of a specific coupon code. You must have VIEW_COUPON permission.list_coupon_codesList coupon codesGETReturns a paginated list of coupon codes associated with a specific coupon. You must have VIEW_COUPON permission for the parent coupon.lookup_coupon_codeLookup coupon codeGETResolve a customer-entered coupon code to the coupon it belongs to, scoped to a seller.update_coupon_codeUpdate coupon codePUTUpdate a specific coupon code. You must have EDIT_COUPON permission. Restrictions: - Cannot change code if it has been used - Cannot change to/from the special 'iin-discount' code - Status can only be set to void (400)
Coupon, 5 operations
create_couponCreate couponPOSTCreate a new coupon with purchase rules and optional initial coupon codes.delete_couponDelete couponDELETESoft delete a coupon by setting the deletedAt timestamp. You must have EDIT_COUPON permission. Note: This does not immediately void associated coupon codes.get_couponGet couponGETRetrieve a specific coupon by its ID. To retrieve a coupon, you must have VIEW_COUPON permission. The response includes complete coupon details including associated purchase rules (when expanded).list_couponsList couponsGETGet all coupons based on filters. This endpoint will NOT return coupon codes but it will return total uses for all codes in this coupon. To retrieve coupons, either the `seller` or `experience` must be specified as a filter.update_couponUpdate couponPUTUpdate an existing coupon's properties. You must have EDIT_COUPON permission. Note: Some fields like purchase rules may have restrictions on updates depending on usage.
Event, 5 operations
create_eventCreate eventPOSTCreate a new event (trip) for an experience. A trip represents a collection of bookings for one experience that departs at the same time.delete_eventDelete eventDELETEDelete a manual type event which has no orders. Only events that were manually created and have no associated bookings can be deleted.get_eventGet eventGETReturns one event (a departure of an experience): start and end, capacity, open seats, booking counts, guides and notes.list_eventsList eventsGETLists events (departures: the bookings of one experience leaving at one time) with capacity, open seats and guides. Filter by seller, experience, guide, open capacity or a date range in Unix seconds.update_eventUpdate eventPATCHOverrides an event's maximum capacity (the experience's configured capacity otherwise applies), or reopens a closed event as manual.
Experience, 5 operations
create_experienceCreate experiencePOSTCreate a new experience for the authenticated seller account.delete_experienceDelete experienceDELETEDelete an experience. This is typically a soft delete operation.get_experienceGet experienceGETRetrieve detailed information about a specific experience.list_experiencesList experiencesGETRetrieve a paginated list of experiences. This endpoint supports various filtering and search options.update_experienceUpdate experiencePUTUpdate an existing experience. Only the provided fields will be updated; other fields remain unchanged.
Gift offer, 5 operations
create_gift_offerCreate gift offerPOSTCreate a new gift offer for a sellerdelete_gift_offerDelete gift offerDELETESoft delete a gift offer (sets deletedAt timestamp)get_gift_offerGet gift offerGETRetrieve a gift offer by its IDlist_gift_offersList gift offersGETRetrieve all gift offers with optional filtering and paginationupdate_gift_offerUpdate gift offerPUTUpdate an existing gift offer
Message template, 4 operations
create_message_templateCreate message templatePOSTCreates a new message template for the specified seller. A message template must include at least one message channel (email and/or SMS). You can specify channels using either the `email`/`sms` properties or the `channels` array.delete_message_templateDelete message templateDELETESoft-deletes a message template by setting the `deletedAt` timestamp. The template will no longer appear in regular API responses but can still be retrieved using the `deletedAt[exists]=true` filter parameter.get_message_templateGet message templateGETRetrieves a specific message template by IDlist_message_templatesList message templatesGETRetrieves a list of message templates for the authenticated user's accessible sellers. Results can be filtered by seller and the existence of specific message channels (email or SMS). Supports pagination and sorting.
Purchase, 4 operations
create_purchaseCreate purchasePOSTCreates a purchase (booking) for one or more experience items with the customer's name and email. Set dryRun to true to validate and price it without saving.delete_purchaseDelete purchaseDELETERelease or rollback a purchase that is in HOLD status. This operation is only allowed for purchases with STATUS_HOLD. It effectively cancels the purchase and releases any inventory holds or temporary reservations.get_purchaseGet purchaseGETReturns one purchase (booking): customer name, email and phone, amounts, balance, status, items and line items. Use expand to embed items, travelers, the organizer, the conversation or the payment breakdown.list_purchasesList purchasesGETLists purchases (bookings) with customer name and email, amounts, balance and status. Filter by seller, organizer, status, product, creation or update date, or search text; paginated with limit and offset.
Tag, 4 operations
add_purchase_tagAdd purchase tagPOSTAdd a tag to a purchase. Authorization: - Requires the import-orders permission, or the Reservationist, Reservationist Lite, or Administrator role on the purchase's seller account.add_waitlist_tagAdd waitlist tagPOSTAdd a tag to a waitlist. The waitlist entry may be a waitlist purchase or a waitlist order, and the required permission differs accordingly.remove_purchase_tagRemove purchase tagDELETERemove a tag from a purchase. System-generated tags (e.g. `Auto accept`, `Waitlist`, `Import`) cannot be removed and return a `403` response.remove_waitlist_tagRemove waitlist tagDELETERemove a tag from a waitlist. System-generated tags cannot be removed and return a `403` response. Requires the `DELETE_WAITLIST_PURCHASE_TAGS` permission for waitlist purchases, or the `EDIT_ORDER_TAGS` permission for waitlist orders.
Abandoned purchase, 3 operations
get_abandoned_purchaseGet abandoned purchaseGETFetches a specific abandoned purchase by its unique identifier. This endpoint provides detailed information about an abandoned purchase, including all items, customer information, and associated reminders.list_abandoned_purchasesList abandoned purchasesGETFetches a paginated list of abandoned purchases for the authenticated seller. Abandoned purchases are draft purchases that customers started but didn't complete. They're automatically filtered to exclude soft-deleted purchases.update_abandoned_purchaseUpdate abandoned purchasePATCHUpdates specific properties of an abandoned purchase. This endpoint supports updating the status of individual purchase items, particularly for marking items as "emailed" or "dismissed" for tracking recovery campaign effectiveness.
Blackout, 3 operations
create_user_blackout_scheduleCreate user blackout schedulePOSTCreate a new blackout schedule for a user. This is the primary endpoint. Blackout schedules automatically set the type to 'unavailable' and affect all user experiences.delete_user_blackout_scheduleDelete user blackout scheduleDELETEDelete an existing blackout schedule for a user. This will remove the blackout and make previously blocked times available again according to other schedules.list_user_blackoutsList user blackoutsGETRetrieve all blackout schedules for a specific user. Blackout schedules define periods when experiences are unavailable.
Conversation, 3 operations
create_conversationCreate conversationPOSTCreate a new conversation for a specific purchase. The conversation will automatically include participants based on the purchase (seller and traveler/organizer).get_conversationGet conversationGETGet detailed information about a specific conversation including all messages and participants.list_conversationsList conversationsGETRetrieve a paginated list of conversations
Opening hour, 3 operations
create_experience_opening_hourCreate experience opening hourPOSTAdd a new opening-hours schedule to an experience. Opening-hours schedules define the days and time windows during which an experience is open for walk-in or pre_opening_end cutoff enforcement.delete_experience_opening_hourDelete experience opening hourDELETERemove an opening-hours schedule from an experience. Permission required: `EDIT_EXPERIENCE_OPENING_SCHEDULES`update_experience_opening_hourUpdate experience opening hourPUTUpdate an existing opening-hours schedule on an experience.
Waitlist, 3 operations
create_waitlistCreate waitlistPOSTCreate a waitlist for an experience. A waitlist accepts exactly one item referencing an experience and the requested arrival date/time.get_waitlistGet waitlistGETRetrieve a single waitlist by its ID. Requires the `VIEW_PURCHASE` permission on the waitlist.list_waitlistsList waitlistsGETRetrieve a paginated list of waitlists. The `seller` query parameter is required. When a `search` term is provided together with `seller`, results are served from Elasticsearch; otherwise they are read directly from the database.
Affiliate, 2 operations
get_affiliateGet affiliateGETRetrieve a specific affiliate by ID.list_affiliatesList affiliatesGETRetrieve a list of affiliates. Access is controlled based on authentication and authorization.
Form, 2 operations
get_formGet formGETGet detailed information about a specific form by its IDlist_formsList formsGETRetrieve a paginated list of forms.
Gratuity, 2 operations
get_gratuityGet gratuityGETRetrieve a single gratuity by its ID. Access is limited to the gratuity's seller, seller delegates, and administrators.list_gratuitiesList gratuitiesGETRetrieve a paginated list of gratuities.
Membership, 2 operations
get_membershipGet membershipGETRetrieve a single membership by its ID.list_membershipsList membershipsGETRetrieve a paginated list of memberships for a seller. Deleted memberships are excluded. The endpoint is publicly accessible when a `seller` filter is provided; unauthenticated requests without a `seller` parameter are rejected.
Message, 2 operations
send_conversation_messageSend conversation messagePOSTCreates a new message within an existing conversation.send_customer_messagesSend customer messagesPOSTSends email and/or SMS messages to the customers of the purchases matched by filters (an order, purchase, event or date), from a message template or inline content. Set dryRun to true to preview without sending.
Package, 2 operations
get_packageGet packageGETRetrieve a single package by its ID.list_packagesList packagesGETRetrieve a paginated list of packages for a seller. The `seller` query parameter is required.
Purchase item, 2 operations
get_purchase_itemGet purchase itemGETRetrieve a specific purchase item by its ID. Supports expanding related objects. Access control: - Sellers can view purchase items for their products - Travelers can view their own purchase itemslist_purchase_itemsList purchase itemsGETLists purchase items (one booked experience per item, with arrival date, quantity, guests and status) for a seller, filterable by product, arrival date or event; paginated with limit and offset.
Question, 2 operations
list_experience_questionsList experience questionsGETRetrieve the questionnaire form that applies to a specific experience. The system will first look for an experience-specific form, and if none exists, it will fall back to the seller's global questionnaire.list_purchase_item_questionsList purchase item questionsGETRetrieve the questionnaire that applies to a specific item within a purchase. This is useful for purchases with multiple items that may have different questionnaires.
Seller, 2 operations
get_sellerGet sellerGETRetrieves detailed information about a specific seller (operator) account. Some fields appear only for admins or for users holding delegate permissions on the seller.list_sellersList sellersGETSearches and retrieves a list of sellers based on various filters. Supports different contexts like agent view, Google Reserve, and partner search. Results are paginated and can be filtered by various criteria.
Transaction, 2 operations
get_transactionGet transactionGETRetrieve a single transaction by its ID. The response includes the complete transaction details with all available fields. Authorization rules are applied to ensure users can only access transactions they have permission to view.list_transactionsList transactionsGETRetrieve a paginated list of transactions. Transactions track all movement of money in Xola, including customer payments, seller payouts, refunds, and adjustments. Transactions are returned in descending order of creation date by default.
User, 2 operations
get_userGet userGETReturns details about a specific user account. Private Access: With the `private=true` parameter, private data is returned based on authorization level. The `seller` parameter is required when requesting private data.list_usersList usersGETRetrieve a paginated list of users. When a `seller` parameter is provided, only travelers (customers) for that seller are returned and additional traveler-specific filter parameters become available.
Waiver, 2 operations
get_waiverGet waiverGETFetch details for an individual waiverlist_waiversList waiversGETFetch a list of waivers. By default, only returns waivers that are not linked to any purchases. If the seller has multi-link day interval configured, waivers created within that interval are included regardless of their link status.
Coupon code, 1 operation
search_coupon_codesSearch coupon codesGETSearch for coupon codes across all coupons. This is a utility endpoint for code lookup. Results depend on user permissions and seller access.
Email, 1 operation
get_emailGet emailGETGet a sent email by its ID, including its body.
Fee, 1 operation
list_experience_feesList experience feesGETReturns the fees that are applicable to this experience, including processing fees, service fees, and any other charges that may apply to bookings.
Job, 1 operation
get_jobGet jobGETRetrieve the status and details of an asynchronous job. Jobs are created by async operations such as CSV purchase imports, dispute evidence exports, and catalog item exports.
Me, 1 operation
get_current_userGet current userGETReturns the profile of the user the API key belongs to: id, name, email, phone, roles and enabled state.
Payment reminder, 1 operation
send_payment_reminderSend payment reminderPOSTCreates or updates a payment reminder on a purchase and at once emails the invoice or balance-due notice to the traveler; it also schedules follow-ups and any auto-charge. Not idempotent: every call sends again.
Resend, 1 operation
resend_emailResend emailPOSTSend a previously sent email again, unchanged, to its original recipients. The resend is recorded as a new email message in the conversation of the purchase the email was sent for, with `meta.resentBy` set to the requesting user.
Roster, 1 operation
send_event_roster_emailSend event roster emailGETSend the trip roster to the seller and any assigned guides through email. This action triggers email delivery of the event participant list.
Summary, 1 operation
get_transaction_summaryGet transaction summaryGETRetrieve aggregated transaction summary data calculated through database aggregation. Provides totals, averages, and breakdowns by transaction type and payment method. Supports the same filtering parameters as the transaction list endpoint.
Timeslot, 1 operation
list_timeslotsList timeslotsGETRetrieve available timeslots for experiences. This is a public endpoint that provides detailed schedule information including available time slots, capacity, pricing, and additional data based on included fields.
Upcoming, 1 operation
list_experience_upcoming_datesList experience upcoming datesGETGet a list of future dates that have availability for the given experience.
Waiver template, 1 operation
list_waiver_templatesList waiver templatesGETReturns available waiver templates from configured waiver plugins. Templates represent the blank waiver forms that can be used to create new waivers. This endpoint is used to discover available waiver types for a seller.
Showing the first 120 of 131 endpoints. The rest are in the product, searchable from the workflow builder and from chat.
Use Xola from Claude Code, Cursor or Codex
Connect Xola in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Xola operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Xola
- Create your workspace
Sign up free. Nothing to install.
- Connect Xola once
Add your Xola connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Xola integration FAQ
What can you do with the Xola integration?
LiveContext exposes 131 operations on Xola, covering note, guide, schedule and resource.
