Integration

Waitwhile integration

Waitwhile runs walk-in waitlists and appointment booking for physical locations. Add guests to a waitlist or book a slot, find open slots, update, serve, cancel, copy or delete visits, manage customers and their notes, configure locations, services, resources, data-fields and automatic message templates, read guest SMS and email messages, invite and manage staff users, subscribe to events with webhooks, and read visit analytics and the audit log. CSV import and export, API key management, staff login tokens, location reset and the internal status-maintenance routes are not exposed. Authentication is an API key from the Waitwhile integration settings, sent in the apikey header; a key sees only the locations its user can access.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Waitwhile.Built from the 89 Waitwhile tools below, on the connection you add once.

What you can do with Waitwhile

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.

Message template, 7 operations

  • delete_default_message_templateDelete default message templateDELETEDeletes the default (language-independent) template of one message type at a location and returns a status response.
  • delete_message_templateDelete message templateDELETEDeletes the template of one message type in one language at a location and returns a status response.
  • get_default_message_templateGet default message templateGETReturns the default template of one message type at a location: short (SMS) text, email subject and body, and push text.
  • get_message_templateGet message templateGETReturns the template of one message type in one language at a location: short (SMS) text, email subject and body, and push text.
  • list_message_templatesList message templatesGETLists the message templates (SMS, email subject and body, push text) of a location, optionally filtered by message type and language. Up to 100 per call; pass the previous endAt as startAfter for the next page.
  • set_default_message_templateSet default message templatePOSTCreates or updates the default template of one message type at a location: short (SMS) text, email subject and body, and push text.
  • set_message_templateSet message templatePOSTCreates or updates the template of one message type in one language at a location: short (SMS) text, email subject and body, and push text.

Visit, 6 operations

  • create_visitCreate visitPOSTCreates a visit: adds a guest to a location's waitlist (state WAITING) or books a slot (state BOOKED with a local date). Send id to update an existing visit instead. A guest matched by email or phone reuses that customer.
  • delete_visitDelete visitDELETEPermanently deletes one visit: it can no longer be retrieved and leaves the analytics totals. To take a guest off the waitlist or cancel a booking, use cancel_visit or update_visit instead.
  • get_visitGet visitGETReturns one visit: guest details, state and tags, services, resources, data-field answers, party size, booking date, wait estimates and timestamps.
  • get_visit_analyticsGet visit analyticsGETReturns visit statistics for a date range (totals, ratios and averages for visits, wait and serve times), broken down by location, resource, service, data-field, party size and user.
  • list_visitsList visitsGETLists visits (waitlist entries and bookings), filtered by location, state, tag, customer, service, resource, booking date or update date. Up to 100 per call; pass the previous endAt as startAfter for the next page.
  • update_visitUpdate visitPOSTUpdates a visit: move it between states (WAITING, SERVING, COMPLETE...), change its services, resources, booking date, data-field answers or tags. Only the fields sent are changed.

Customer, 5 operations

  • create_customerCreate customerPOSTCreates a customer with name, phone, email, notes, tags, location ids, metadata and an optional external id, and returns the new customer with its id.
  • delete_customerDelete customerDELETEDeletes a customer by id and returns a status response.
  • get_customerGet customerGETReturns one customer: contact details, notes, tags, location ids, per-location state and last visit, metadata and timestamps.
  • list_customersList customersGETLists customers of the account, optionally filtered by location, external id or date range. Up to 100 per call; pass the previous endAt as startAfter for the next page.
  • update_customerUpdate customerPOSTUpdates a customer: contact details, notes, tags (or addTags and removeTags), location ids and metadata. Only the fields sent are changed. Returns the updated customer.

Data field, 5 operations

  • create_data_fieldCreate data fieldPOSTCreates a data-field (a custom question asked on a visit) for the given locations: name, input type and options, whether it is required on waitlist or booking, validation and display settings.
  • delete_data_fieldDelete data fieldDELETEDeletes a data-field by id and returns a status response.
  • get_data_fieldGet data fieldGETReturns one data-field: its name, input type and options, locations, required and visibility flags, validation and translations.
  • list_data_fieldsList data fieldsGETLists data-fields, the custom questions collected on a visit beyond name, phone and email, optionally filtered by location, label, external id or a search query. Up to 100 per call; pass the previous endAt as startAfter for the next page.
  • update_data_fieldUpdate data fieldPOSTUpdates a data-field: its name, input type and options, locations (or addLocationIds and removeLocationIds), required and visibility flags. Returns the updated data-field.

Location, 5 operations

  • create_locationCreate locationPOSTCreates a location (a waitlist and booking calendar) with its name, address, timezone, hours and settings. Pass copyLocationId to copy another location's settings and, with the include flags, its users, services and resources.
  • delete_locationDelete locationDELETEDeletes a location by id and returns a status response.
  • get_locationGet locationGETReturns one location, by id or by its short name: address, timezone, opening and booking hours, waitlist and booking settings, and display options.
  • list_locationsList locationsGETLists the locations (waitlists) of the account, optionally filtered by external id or country code. Up to 100 per call; pass the previous endAt as startAfter for the next page.
  • update_locationUpdate locationPOSTUpdates a location's settings: name, address, contact details, opening and booking hours, waitlist and booking rules, messages and display options. Only the fields sent are changed.

Note, 5 operations

  • create_customer_noteCreate customer notePOSTAdds a note entry to a customer, optionally tied to a location and a visit, and returns the new note.
  • delete_customer_noteDelete customer noteDELETEDeletes one note entry of a customer and returns a status response.
  • get_customer_noteGet customer noteGETReturns one note entry of a customer by note id.
  • list_customer_notesList customer notesGETLists the note entries written on a customer, each with its content, the location and visit it relates to, author and timestamps.
  • update_customer_noteUpdate customer notePOSTReplaces the content of one note entry of a customer and returns the updated note.

Resource, 5 operations

  • create_resourceCreate resourcePOSTCreates a resource (a staff member, room or other asset a visit needs) with its name, locations, contact details, the services it supports, hours and booking limits.
  • delete_resourceDelete resourceDELETEDeletes a resource by id and returns a status response.
  • get_resourceGet resourceGETReturns one resource: name, locations, contact details, supported services, hours, away status and booking limits.
  • list_resourcesList resourcesGETLists resources (staff members, rooms or other assets a visit needs), optionally filtered by location, label, external id, email, category or parent, or a search query. Up to 100 per call; pass the previous endAt as startAfter for the next page.
  • update_resourceUpdate resourcePOSTUpdates a resource: name, locations, contact details, supported services, hours and booking limits. Only the fields sent are changed. Returns the updated resource.

Service, 5 operations

  • create_serviceCreate servicePOSTCreates a service (what a guest can be served for) with its name, locations, price, duration, slot and buffer durations, hours, sessions and booking lead times.
  • delete_serviceDelete serviceDELETEDeletes a service by id and returns a status response.
  • get_serviceGet serviceGETReturns one service: name, locations, price, duration, slot and buffer durations, hours, sessions and booking settings.
  • list_servicesList servicesGETLists services (what a guest can be served for, such as a haircut), optionally filtered by location, label, external id, category or parent, or a search query. Up to 100 per call; pass the previous endAt as startAfter for the next page.
  • update_serviceUpdate servicePOSTUpdates a service: name, locations, price, duration, hours, sessions and booking settings. Only the fields sent are changed. Returns the updated service.

User, 5 operations

  • create_userCreate userPOSTCreates a staff user with name, email, phone, roles, default location and the locations they may access.
  • delete_userDelete userDELETERemoves a staff user. Set fb to true to also remove their login so the email can join another account; set force to true to remove your own user.
  • get_userGet userGETReturns one staff user: name, email, phone, roles, default location, accessible locations and notification settings.
  • list_usersList usersGETLists the staff users of the account, optionally filtered by location, label, role, external id or a search query. Up to 100 per call; pass the previous endAt as startAfter for the next page.
  • update_userUpdate userPOSTUpdates a staff user: name, contact details, roles, locations (or the add and remove lists), labels, notification settings and language. Returns the updated user.

Webhook, 5 operations

  • create_webhookCreate webhookPOSTSubscribes a URL to Waitwhile events (visit.created, visit.updated, visit.removed, location-status.updated, message.created, message.updated), optionally limited to locations and visit states.
  • delete_webhookDelete webhookDELETEDeletes a webhook subscription by id and returns a status response.
  • get_webhookGet webhookGETReturns one webhook subscription: target URL, event types, locations, visit states, whether it is active, and its delivery statistics and last failure.
  • list_webhooksList webhooksGETLists the webhook subscriptions of the account, optionally for one location. Up to 100 per call; pass the previous endAt as startAfter for the next page.
  • update_webhookUpdate webhookPOSTUpdates a webhook subscription: target URL, event types, locations, visit states, active flag or authentication method. Returns the updated webhook.

Invite, 4 operations

  • create_inviteCreate invitePOSTInvites a person to join the account as a user, with name, email, roles and the locations they may access; sendInvitationEmail controls whether the invitation email is sent.
  • delete_inviteDelete inviteDELETEDeletes (revokes) a pending user invite by id and returns a status response.
  • get_inviteGet inviteGETReturns one user invite: name, email, roles, locations, account and timestamps.
  • list_invitesList invitesGETLists pending user invites of the account, optionally for one location. Up to 100 per call; pass the previous endAt as startAfter for the next page.

Message config, 4 operations

  • delete_message_configDelete message configDELETEDeletes the configuration of one automatic message type at a location and returns a status response.
  • get_message_configGet message configGETReturns the configuration of one automatic message type at a location: channels, trigger, conditions and schedule.
  • list_message_configsList message configsGETLists the automatic message configurations of a location: for each message type, its channels, trigger, conditions and schedule.
  • set_message_configSet message configPOSTCreates or updates the configuration of one automatic message type at a location: the channels it goes out on, its trigger, conditions and schedule times.

Duplicate, 3 operations

  • duplicate_data_fieldDuplicate data fieldPOSTCreates a copy of an existing data-field and returns the new data-field.
  • duplicate_resourceDuplicate resourcePOSTCreates a copy of an existing resource and returns the new resource.
  • duplicate_serviceDuplicate servicePOSTCreates a copy of an existing service and returns the new service.

Message, 3 operations

  • get_messageGet messageGETReturns one SMS or email message: channel, direction, sender and recipient, subject and body, delivery state and the visit and customer it belongs to.
  • list_messagesList messagesGETLists the SMS and email messages sent to or received from guests, filtered by location, state, visit, customer or date range. Messages cannot be created through the API. Up to 100 per call; pass the previous endAt as startAfter for the next page.
  • update_messageUpdate messagePOSTMarks a message as read or unread (isRead) and returns the updated message.

Search, 3 operations

  • search_customersSearch customersGETSearches customers by a prefix of their name, phone, email or customer id (q), optionally filtered by location, visit state, tag or date range. Paginated by page number.
  • search_users_by_emailSearch users by emailGETFinds staff users by email address (required). Up to 100 per call; pass the previous endAt as startAfter for the next page.
  • search_visitsSearch visitsGETSearches visits by a prefix of the guest's name, phone, email or customer id (q), optionally filtered by location, state and tags. Paginated by page number.

Tree, 3 operations

  • list_data_fields_by_categoryList data fields by categoryGETLists data-fields grouped by category, optionally for one location.
  • list_resources_by_categoryList resources by categoryGETLists resources grouped by category, optionally for one location.
  • list_services_by_categoryList services by categoryGETLists services grouped by category, optionally for one location.

Availability, 2 operations

  • get_resource_availabilityGet resource availabilityGETReturns, for each resource of a location, its state (ACTIVE, AWAY, BUSY, UNAVAILABLE or INACTIVE), its free serving spots and since when it has had capacity, optionally for a given date and set of resources.
  • list_booking_slotsList booking slotsGETLists the booking slots of a location between two local dates with the spots booked and available per service and resource.

Cancel, 2 operations

  • cancel_visitCancel visitPOSTCancels one visit: sets it to COMPLETE with the CANCELLED tag, and returns the visit.
  • cancel_visitsCancel visitsPOSTCancels several visits at once (up to 200 visit ids): each is set to COMPLETE with the CANCELLED tag.

Location status, 2 operations

  • get_location_statusGet location statusGETReturns the live status of one location: whether the waitlist and booking are open, guests waiting and being served, estimated wait in seconds, and the services and resources available now.
  • list_location_statusList location statusGETLists the live status of each location: open flags, guests waiting and serving, estimated wait, and available services and resources. Up to 100 per call; pass the previous endAt as startAfter for the next page.

Resend, 2 operations

  • resend_inviteResend invitePOSTSends the invitation email of a pending user invite again, by invite id.
  • resend_invite_by_emailResend invite by emailPOSTSends the invitation email again to the email address of a pending user invite.

Audit entry, 1 operation

  • list_audit_entriesList audit entriesGETLists audit-log entries: each records a creation, update or removal of an account, customer, data-field, message, location, resource, service, user, visit or webhook, filterable by type, entity, location and date.

Available, 1 operation

  • set_resource_away_statusSet resource away statusPOSTMarks a resource as away (isAway true, optionally until isAwayTo with a reason) or back available (isAway false), and returns the updated resource.

Copy, 1 operation

  • copy_visitsCopy visitsPOSTCopies one visit (id) or several (ids) to another location or state described in targetVisit, optionally completing the original visits first.

Delete, 1 operation

  • delete_visitsDelete visitsPOSTPermanently deletes several visits at once (up to 200 visit ids). Deleted visits cannot be retrieved and leave the analytics; to take a guest off the list, cancel the visit instead.

Expire pending, 1 operation

  • expire_pending_visitsExpire pending visitsPOSTExpires pending visits (booking spots held while a guest was registering) by visit id, freeing their slots.

First available slot, 1 operation

  • list_first_available_slotsList first available slotsGETReturns the first available booking slots of a location from a local date onwards, optionally for a party size, services or resources; maxNumSlots caps how many come back.

Open close, 1 operation

  • set_location_open_closeSet location open closePOSTForces a location's waitlist open (isForceOpen) or closed (isForceClosed), overriding its opening hours, and returns the updated location.

Visits by date, 1 operation

  • get_visit_analytics_by_dateGet visit analytics by dateGETReturns visit statistics for a date range, one entry per date, optionally for one location.

Use Waitwhile from Claude Code, Cursor or Codex

Connect Waitwhile in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Waitwhile operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Waitwhile

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Waitwhile once

    Add your Waitwhile connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. 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.

Waitwhile integration FAQ

What can you do with the Waitwhile integration?

LiveContext exposes 89 operations on Waitwhile, covering message template, visit, customer and data field.

Popular integrations

Browse the whole catalog