App
TripWorks integrations
Connect TripWorks to any other app, or use it from your AI client over MCP. TripWorks is a booking platform for tour operators, built from the ground up to help you market, promote, grow, manage, and operate your business successfully.
What the catalog holds today. Ask for anything missing and your agent reads the API documentation and adds it.
Build solutions, not workarounds.
What do you want to automate with TripWorks?
Ask the assistant
Connect your AI client
Give your AI client this address.
https://mcp.apiant.aiOne connection does both: ask your client to act in an app once, or have it build an automation that keeps running. Any client that takes a remote MCP server. Nothing to install. Create your free account, then sign in once in your browser.
Set it up in your client
Claude Code
Run this in the directory you want to work in.
claude mcp add --transport http -s project apiant-ai https://mcp.apiant.aiStart Claude Code there, approve the server, and sign in in the browser page it opens.
Claude Code guide (opens in a new tab)Claude, web and desktop
Open Customize, then Connectors, then Add custom connector, and paste the address. On Team and Enterprise an owner adds it first.
Setup guide (opens in a new tab)Cursor
Add the address to your MCP configuration as a server URL. Cursor signs you in in your browser.
Setup guide (opens in a new tab)Zed
Open Settings, then AI, then MCP Servers, then Add Server, then Add Remote Server.
Setup guide (opens in a new tab)Codex and the ChatGPT desktop app
Open Settings, then MCP servers, then Add server, and choose Streamable HTTP. From the terminal, Codex takes the address with its own add command and then signs you in.
Setup guide (opens in a new tab)Grok
Open grok.com/connectors, choose New Connector, then Custom, and paste the address. Grok signs you in in your browser.
Setup guide (opens in a new tab)Any other MCP client
Paste the address where the client asks for a remote MCP server URL, and name the server apiant-ai where it lets you. APIANT's skills reach the client over the same connection.
Setup guide (opens in a new tab)Popular
TripWorks with the apps people pair it with most
HubSpot to TripWorksHubSpot is your all-in-one stop for all of your marketing software needs.
Salesforce to TripWorksSalesforce is a leading enterprise customer relationship management (CRM) platform.
Slack to TripWorksSlack is a messaging platform for teams. Post messages, manage channels, users, reminders, and react to...
Google Sheets to TripWorksGoogle Sheets is Google's online spreadsheet app for creating, editing and sharing spreadsheets.
Gmail to TripWorksGmail is Google’s email service, featuring spam protection, search functions, and seamless integration with...
Google Calendar to TripWorksGoogle Calendar is a time management tool providing scheduling features, event reminders, and integration...
Google Drive to TripWorksGoogle Drive is a cloud storage solution for uploading, sharing, and collaborating on files across devices...
Mailchimp to TripWorksMailchimp marketing automation and email platform.
Pair it
Connect TripWorks with another app
HubSpot to TripWorks
Salesforce to TripWorks
Slack to TripWorks
Google Sheets to TripWorks
Gmail to TripWorks
Google Calendar to TripWorks
Google Drive to TripWorks
Mailchimp to TripWorks
Stripe to TripWorks
Shopify to TripWorks
QuickBooks Online to TripWorks
Pipedrive to TripWorks
ActiveCampaign to TripWorks
Notion to TripWorks
Airtable to TripWorks
Trello to TripWorks
Asana to TripWorks
JIRA to TripWorks
ClickUp to TripWorks
TripWorks to Zoom
Discord to TripWorks
TripWorks to Twilio
SendGrid to TripWorks
Outlook to TripWorks
Intercom to TripWorks
Freshdesk to TripWorks
Klaviyo to TripWorks
Brevo to TripWorks
TripWorks to Typeform
JotForm to TripWorks
Calendly to TripWorks
PandaDoc to TripWorks
TripWorks to Webflow
TripWorks to Wix
TripWorks to LinkedIn
TripWorks to Facebook
Instagram to TripWorks
OpenAI to TripWorks
TripWorks to Anthropic
OneDrive to TripWorks
Google Docs to TripWorks
Ontraport to TripWorks
Freshworks CRM to TripWorks
GoHighLevel to TripWorks
Capsule CRM to TripWorks
Copper to TripWorks
Streak to TripWorks
NetHunt CRM to TripWorks
MINDBODY to TripWorks
TripWorks to Supabase
PostgreSQL to TripWorks
MySQL to TripWorks
TripWorks to Vercel
TripWorks to ElevenLabs
PagerDuty to TripWorks
TripWorks to Pushover
Gravity Forms to TripWorks
HubSpot Enterprise to TripWorks
Google Forms to TripWorks
Facebook Lead Ads to TripWorks
No app matches that. Ask your agent for it anyway: point it at the API documentation and it builds the connector.
What your agent can do with TripWorks
Triggers and actions 7 triggers · 164 actions
- TriggerCustomer Created
Triggers when a new customer is added in TripWorks.
- TriggerCustomer Updated
Triggers when a customer is added or any of the customer's details change.
- TriggerPayment Created
Triggers when a payment is recorded on a trip.
- TriggerTrip Created
Triggers when a new trip is booked.
- TriggerTrip Reserved
Triggers when a trip reaches the reserved status.
- TriggerTrip Updated
Triggers when a trip is booked or any of its details change.
- TriggerWaiver Signed
Triggers when a guest signs a waiver.
- ActionActivate Gift Card
Makes a gift card active and sets its expiry from your account's gift card expiration policy: a date that many years ahead, or no expiry if the account does not expire gift cards. The balance is not changed, and the activation is recorded in the card's transaction history.
- ActionAdd Experience Waiver Config
Attaches a waiver type to this experience as its next waiver, after the ones already there. Send `waiver_type_id`, the waiver type's internal numeric id. Returns 201 with the new waiver config. An experience can have at most 3 waiver configs and each waiver type can appear once.
- ActionAssign Custom Field to Experience
Asks a custom field on this experience, at the end of its order. Assigning a field that is already assigned changes nothing.
- ActionCancel Experience Timeslots
Cancels timeslots and the trip orders booked on them. Choose what to cancel with exactly one of:
- ActionClear Callbot Schedule Override
Ends the schedule override in force, if any, so the schedule decides again. Clearing when none is in force succeeds and changes nothing. Returns the callbot.
- ActionClear Resource Blackout Window
Makes the resources available again for a window: blackouts inside it are deleted, one that spans it is split in two, and one that overlaps an edge is trimmed. Send `resource_ids` (at most 100, else 422 `too_many_resource_ids`), `start_time` and `end_time`; `note` is optional and recorded as the rea
- ActionClone Widget
Creates a copy of a widget, the same way the Clone button in the widget builder does. The copy has the same type, selection, experiences, defaults and configuration (including custom CSS), its name is the original's name followed by " (Copy)", and it gets its own widget id; usage figures and past wi
- ActionCreate Experience Timeslot Config
Creates a schedule and queues the generation of its timeslots for every activity in `experience_ids`. Replies 202 with `config_id`, `queued_experience_cnt`, `request_id` and `timeslot_cnt` (how many timeslots will be created in total), and a `Location` header pointing at the schedule.
- ActionDelete Booking
Removes the booking from its trip order, exactly as removing a guest in the back office does. Send no body. Removing the last booking on a trip order cancels the trip order (`trip_order_cancelled` true), except on an e-commerce cart that is still a draft, where the whole trip order is deleted instea
- ActionDelete Callbot
Permanently deletes a callbot, releases its phone number and removes it from the voice provider. Returns 424 `agent_teardown_failed` and keeps the callbot when the provider could not be cleaned up.
- ActionDelete Callbot Pronunciation
Removes a word from the list and updates every callbot with the voice provider in the background.
- ActionDelete Customer
Permanently deletes a customer. Blocked with 409 `in_use`, which includes the counts of what still references the customer, while the customer has bookings, trips, waivers, credit cards or CRM messages. To combine duplicate customers, use Merge instead of deleting.
- ActionDelete Custom Field
Permanently deletes a custom field. Blocked (409) while it has answers on any trip or booking, or is assigned to an experience; the response says how many. Fields that depended on it become always shown.
- ActionDelete Custom Field Value
Permanently deletes an answer. The custom field and the trip or booking are untouched.
- ActionDelete Experience
Permanently deletes an experience. Blocked (409) if it still has bookings, so cancel or move those bookings first.
- ActionDelete Experience Customer Type
Permanently deletes a customer type and its channel mappings. Blocked with 409 `default_type_not_removable` while it is the default, and 409 `type_has_bookings` once any booking uses it; hide it with `is_visible: false` instead.
- ActionDelete Experience Timeslot
Permanently deletes a timeslot. Blocked with 409 `delete_blocked_has_bookings` while it has bookings: cancel it instead.
- ActionDelete Experience Waiver Config
Removes a waiver config from this experience. Removing the last one turns off the experience's waiver requirement; see the warning on this resource.
- ActionDelete Gift Card
Permanently deletes a gift card. Refused while the card's trip is locked.
- ActionDelete Knowledge Base
Permanently deletes a knowledge base, its stored content, and its copy at the voice/chat provider.
- ActionDelete Location
Permanently deletes a location. Blocked with 409 `last_location` if this is the account's only location, or 409 `in_use` if an experience, trip, trip order, card reader or shipment still uses it; the error's `dependencies` object gives those counts. Set `is_live` to false to archive a location inste
- ActionDelete Multiple Experience Timeslots
Permanently deletes many timeslots, chosen with `ids` or `filters` exactly as for updating many. A timeslot that has bookings is skipped and counted in `blocked_cnt`; cancel it instead. `dry_run: true` returns `would_apply_cnt` and `blocked_cnt` and deletes nothing. More than 1,000 timeslots is refu
- ActionDelete Promo Code
Permanently deletes a promo code. Blocked with 409 `redeemed`, where `uses` is the number of redemptions, if the code has already been redeemed on an order. To stop such a code being used, set its `promo_code_status_id` to inactive instead.
- ActionDelete Reseller
Permanently deletes a reseller. Blocked (409 `in_use`, with the trip and invoice counts) while any trip or invoice still references the reseller; notes and cards on file are not counted.
- ActionDelete Resource
Permanently deletes a resource along with its blackouts, past and future. Blocked (409) while a real booking is assigned to it. `blackout_removed_cnt` says how many blackouts went with it.
- ActionDelete Resource Usage
Removes a usage: the guest is no longer assigned to the resource.
- ActionDelete Restriction
Permanently deletes a restriction. Every experience requires a restriction, so one that experiences still use is refused with 409 `requires_merge` unless you also send `merge_target_id`; the error's `uses` gives the number of experiences affected. Send `merge_target_id` in the request body, the id o
- ActionDelete Review
Permanently deletes a review. This cannot be undone and the review is not archived; any booking it was linked to is left unchanged.
- ActionDelete Trip Note
Permanently deletes a trip note.
- ActionDelete Trip Source
Permanently deletes a trip source. A built-in source cannot be deleted (409 `read_only`). If trips still use the source, the request is blocked (409 `requires_merge`, with the number of trips in `uses`) unless the body includes `merge_target_id`, the public id of another trip source: those trips are
- ActionDelete Waiver Type
Permanently deletes a waiver type. Blocked (409 `in_use_delete`) if it has been signed, is used by an activity or is required on a booking; archive it instead. The error includes `dependencies` with the signed, activity and booking counts.
- ActionDelete Widget
Deletes a widget. The widget disappears from the list and stops loading on your website (its embed code returns not found); its past widget events are kept and still report the widget's name. This cannot be undone through the API, so to switch a widget off temporarily set `is_active` to `false` inst
- ActionGet Audit Log
Returns one audit log entry by id, with every field change or event detail it contains.
- ActionGet Availability Insights
Returns how each timeslot is selling, with a summary over the selection. The overview above explains every field. Requires the `availability.read` scope; add `reports.read` for the revenue fields.
- ActionGet Booking
Returns a single booking by id, including `booking_status_id`, the price breakdown (see Money), `customer_id`, `trip_order_id`, `resources` (each assignment with resource name and type, start and end time, duration and note), `custom_fields` and `a
- ActionGet Booking Check-in QR Code
The QR code to print on, or show with, this guest's ticket, as a PNG data URI you can put in an `img` tag, plus the address it encodes (`check_in_url`). Scanning it opens that address, which needs a signed-in user of this account; the address identifies the guest by this id, never by name, so it wor
- ActionGet Callbot
Returns a single callbot by id with its weekly hours, its knowledge base and team member ids, and any schedule override in force.
- ActionGet Callbot Pronunciation
Returns a single pronunciation by id.
- ActionGet Country
Returns a single country by its `id` — the same public id other resources return as `country_id`.
- ActionGet Country by Code
Returns a single country by its two-letter ISO 3166-1 alpha-2 code (case-insensitive). Responds 404 when the code is not supported.
- ActionGet Customer
Returns a single customer by id.
- ActionGet Custom Field
Returns a single custom field by id, with its dropdown `options`, the `experience_ids` it is asked on and any dependency on another field.
- ActionGet Custom Field Value
Returns a single custom field answer by id.
- ActionGet Experience
Returns a single experience by id, with its ticket types and images.
- ActionGet Experience Customer Type
Returns one customer type of this experience. Returns 404 `mismatched_experience` when it belongs to a different experience.
- ActionGet Experience Timeslot
Returns one timeslot by id, including the ids of its assigned guides and its ticket types with their booked, held and availability counts (`customer_types`, the same name the activity uses for its ticket types; not part of the list). An id that matches no timeslot returns 404.
- ActionGet Experience Timeslot Config
Returns one schedule by id, with `generation`: for each activity, `state` (`idle`, `running` or `failed`) and `failed_at`. An id that matches no schedule returns 404.
- ActionGet Gift Card
Returns a single gift card by id, with its balance, status and recipient.
- ActionGet Knowledge Base
Returns a single knowledge base by id, including its text content for a `text` knowledge base.
- ActionGet Knowledge Base Citation
Returns a single knowledge base lookup by id.
- ActionGet Location
Returns one location by id. An id that matches no location returns 404.
- ActionGet Manifest
Returns the guest roster for a day or a range of up to 31 days, in departure order. The overview above explains how an entry is organised, the filters and how to check guests in. Requires both the `manifest.read` and `bookings.read` scopes.
- ActionGet Payment Detail Report
One row per successful payment in the date range, with the trip it was taken against. Amounts are integers in cents.
- ActionGet Payout Detail Report
One row per transaction inside each payout in the date range, with the payout it was paid out in and the trip's confirmation code. Columns starting `payout.` are the payout's own figures, repeated on every row of that payout, so do not add them up across rows; use Payouts for payout totals. Amounts
- ActionGet Payouts Report
One row per payout, the deposits made to your bank account. `gross_amount` is Charges and `net_amount` is the Deposit Amount. Amounts are integers in the smallest currency unit (cents for USD), and `currency` names it; refunds and fees are negative. Use Payout Detail for the transactions inside each
- ActionGet Phone Call
Returns a single phone call by id, with its transcript and tags.
- ActionGet Phone Call Tag
Returns a single phone call tag by id.
- ActionGet Promo Code
Returns a promo code, including the experiences, ticket types and date windows it applies to.
- ActionGet Report Run
Returns one report run.
- ActionGet Reseller
Returns a single reseller by id.
- ActionGet Resource
Returns a single resource by id.
- ActionGet Resource Blackout
Returns a single blackout by id.
- ActionGet Resource Usage
Returns a single resource usage by id.
- ActionGet Restriction
Returns one restriction by id. An id that matches no restriction returns 404.
- ActionGet Review
Returns a single review by its id, including its derived sentiment fields. Responds 404 for an id that does not exist in your account.
- ActionGet Sales Detail Report
One row per trip in the date range. Amounts are integers in cents.
- ActionGet Team Member
Returns one team member by id, including the permission groups they belong to. An id that matches no visible team member returns 404.
- ActionGet Trip
Returns a single trip by id with its full tree: `trip_orders` (every activity on the trip, including cancelled ones) and each order's `bookings`, fully detailed. Each booking lists its `addons`. A deleted trip (removed by staff, not a cancellation) is still returned; its `trip_status` is `deleted`.
- ActionGet Trip Note
Returns a single trip note by id.
- ActionGet Trip Order Detail Report
One row per booked trip order on a reserved trip in the date range, with its experience and trip. Amounts are integers in cents.
- ActionGet Trip Payment
Returns a single payment or refund by id.
- ActionGet Trip Source
Returns a single trip source by id.
- ActionGet Waiver
Returns a single signed waiver by id, with the same fields as the list.
- ActionGet Waiver Document Link
Returns a link to the signed PDF of this waiver, valid for five minutes. Each call issues a new link and writes an audit log entry naming the key that asked.
- ActionGet Waiver Type
Returns a single waiver type by id, including its waiver text and every signer requirement.
- ActionGet Widget
Returns a single widget by the widget id from its embed code. Responds 404 for an id that does not exist in your account, or belongs to a deleted widget.
- ActionGet Widget Funnel
A conversion funnel over the widget events: how many visitor sessions reached each stage, with the percent of the first stage and of the previous stage. Each stage counts the distinct sessions that fired that event in the period, in any order, so a visitor counts once per stage however many times th
- ActionList Audit Log
Returns audit log entries, newest first, optionally filtered and sorted. The overview above explains what is recorded, how to read an entry and how to filter by record, team member, entry type and date.
- ActionList Blackouts of Resource
Returns the blackouts on one resource: the times it is unavailable, earliest first.
- ActionList Booking Products
Returns the products (extras sold with the ticket, such as a photo package or a rental) on this booking, oldest first. It is a full breakdown of the booking's `products_total`: the `total` of every line adds up to `products_total`, and `total_gross` adds up to `products_total_gross`. Amounts are int
- ActionList Booking Resource Usages
Returns the resource usages on a booking: the resources (boats, vehicles, guides and so on) this guest is assigned to, earliest first.
- ActionList Bookings
Returns a paginated list of bookings, newest first (highest `id` first; ids only ever increase, so this is creation order). Filter by `trip_order_id`, `customer_id`, `booking_status_id`, `experience_customer_type_id` and `booking_waiver_status` (a slug). Only these indexed fields can be filtered, an
- ActionList Booking Statuses
Returns the account's booking statuses in display order. Use an `id` from this list as `booking_status_id` when setting a booking's status or adding a booking. Custom statuses share the slug `user`, so always identify a status by `id`, never by `slug` or `name`.
- ActionList Booking Waivers
Returns the booking's waiver requirements: exactly the entries of the booking's `waivers`, `{waiver_type_id, name, status, has_signed_waiver, waiver_id}`, one for every waiver requirement of its experience, signed or not. `status` is `signed` or `unsigned` (a requirement with no record is `unsigned`
- ActionList Callbot Pronunciations
Returns the account's pronunciation list ordered by word, paginated. Filter by `word` or `say`; `?sort=word` and `?sort=-word` change the order.
- ActionList Callbots
Returns a paginated list of callbots ordered by name, one flat row each without the weekly hours, the knowledge base and team member ids or the schedule override details. Filter by `name`, `is_active`, `voice_id`, `phone_number`, `twilio_number`, `notification_mode`, `hours_mode`, the `can_*` flags,
- ActionList Callbot Voices
Returns the voices a callbot can use: the `id` is the value to send as `voice_id` when creating or updating a callbot. This is a short list returned whole, without pagination or a `meta` block.
- ActionList Customers
Returns customers.
- ActionList Custom Fields
Returns a paginated list of custom fields in the account-wide order. Filter by `custom_field_map` (`trip` or `booking`), `custom_field_type` slug, `visibility`, `is_required`, `internal_name`, `title`, `parent_custom_field_id`, or by ranges on `sort_order`, `min_value`, `max_value` and `created_at`.
- ActionList Custom Field Values
Returns a paginated list of custom field answers, newest first. Filter by `booking_id` for one guest's answers, `trip_id` for one reservation's, or `custom_field_id` for every answer to one field.
- ActionList Experience Custom Fields
Returns the custom fields asked on this experience, in the order guests and staff see them. Guests answer trip fields once per reservation and booking fields once per guest.
- ActionList Experiences
Returns a paginated list of experiences, ordered by name unless you pass `sort`. Filter by name, location, status, capacity type and the other settings listed below.
- ActionList Experience Timeslot Configs
Returns a paginated list of schedules in id order unless you pass `sort`. Filter by `id`, `name`, `start_date` and `end_date`. Generation status is only on a single schedule.
- ActionList Experience Timeslots
Returns a paginated list of timeslots in id order (creation order), optionally filtered and sorted. Each timeslot carries its `guide_ids`. Filter by `id`, `experience_id`, `status`, `start_time`, `is_anytime`, `schedule_id` and the three visibility flags.
- ActionList Experience Waiver Configs
Returns every waiver config attached to this experience in display order, lowest `sort_order` first. The list is not paginated. A config's `waiver_option_overrides` is left out when it has no value.
- ActionList Gift Cards
Returns a paginated list of gift cards, newest first unless you pass `sort`. Filter by status, balance, expiry date, trip, code or style.
- ActionList Gift Card Styles
Returns the gift card styles available to choose from: the value to use for `gift_card_style_id` when creating or updating a gift card. Styles are read-only here; they are managed in the back office.
- ActionList Knowledge Base Citations
Returns a paginated list of knowledge base lookups, optionally filtered and sorted.
- ActionList Knowledge Bases
Returns a paginated list of knowledge bases, optionally filtered and sorted. Text content is only returned when fetching one knowledge base.
- ActionList Locations
Returns a paginated list of locations, ordered by name unless you pass `sort`, optionally filtered and sorted. Filter by `id`, `name`, `is_live` or `country_id`.
- ActionList Phone Calls
Returns phone calls, newest first unless you pass `sort`, optionally filtered and sorted. The overview above explains where calls come from, how to read one and how to filter.
- ActionList Phone Call Tags
Returns phone call tags, optionally filtered. The overview above explains the tag types and how to filter.
- ActionList Promo Codes
Returns a page of promo codes, up to 25, ordered by code unless you pass `sort`. Rows leave out `experiences`, `customerTypes` and `promo_code_dates`; Get one includes them. See Finding promo codes above for filter and sort examples.
- ActionList Report Runs
Returns a paginated list of report runs across all reports, newest first. Filter with `?report_type=sales_detail.1`, `?report_run_status=succeeded|pending|failed` or `?created_at[gte]=`. Sort with `?sort=created_at`.
- ActionList Report Types
Returns every report you can run, with the parameters each one takes and every column it can return.
- ActionList Resellers
Returns a page of resellers, up to 25, ordered by id unless you sort. See Finding resellers above for filter and sort examples.
- ActionList Resource Blackouts
Returns a paginated list of blackouts, earliest first by default. Filter by `resource_id` for one resource, or by `start_time`/`end_time` with `[gte]` and `[lte]`. To find blackouts overlapping a window send `end_time[gte]=<window start>&start_time[lte]=<window end>`. Time filters take any RFC 3339
- ActionList Resource Groups
Returns the resource groups available to choose from: the value to use for `resource_type_id` when creating or updating a resource.
- ActionList Resource Icons
Returns the icons available to choose from: the value to use for `resource_icon` when creating or updating a resource.
- ActionList Resources
Returns a paginated list of resources, ordered by name by default. Filter by `name`, by `resource_type_id` for one group, by `resource_icon` slug, by `pax` range, or by `color`.
- ActionList Resource Usages
Returns a paginated list of resource usages, earliest first by default. Filter by `booking_id` for one guest, by `resource_id` for one resource, or by `start_time`/`end_time` with `[gte]` and `[lte]`. To find usages overlapping a window send `end_time[gte]=<window start>&start_time[lte]=<window end>
- ActionList Restrictions
Returns a paginated list of restrictions, optionally filtered and sorted. The default order applies when `sort` is omitted. Every field can be filtered; the `*_min`, `*_max`, hours and days fields accept `gte` and `lte`, and the names accept `contains` and `begins_with`.
- ActionList Reviews
Returns a paginated list of reviews, newest first by default. Filter by `id` (also `[gte]`/`[lte]`), `rating`, `sentiment_positive`, `sentiment_negative` or `sentiment_neutral` (each also `[gte]`/`[lte]`), `is_approved`, `name` or `location` (also `[contains]`/`[begins_with]`), `overall_comment` or
- ActionList Team Members
Returns a paginated list of team members in the order they were added unless you pass `sort`, optionally filtered and sorted. TripWorks-managed accounts and accounts linked to a reseller or affiliate are never included. The list leaves out `groups`; get one team member to see their permission groups
- ActionList Trip Custom Fields
Returns the trip's own custom fields: `{id, slug, name, type, value, required}` (plus `unit`, `lbs` or `kg`, on Weight fields) for every trip-level custom field asked on any of its activities, in back-office order, answered or not (`value` is null when unanswered). Guest-level fields are on each boo
- ActionList Trip Notes
Returns a paginated list of trip notes, newest first by default. Filter by `trip_id` to get every note on one trip, by `user_avatar_id` for one author, or by `created_at[gte]`/`created_at[lte]` for a time range.
- ActionList Trip Payments
Returns a paginated list of payments and refunds, newest first by default, including those on draft and deleted trips. Filter by `trip_id` to get every payment on one trip, by `payment_status`, `payment_type_id` or `payment_direction_id`, by `created_at[gte]`/`created_at[lte]` for a time range, or b
- ActionList Trips
Returns a paginated list of trips ordered by activity date with the latest first (upcoming trips before past ones), then newest created, one flat row per trip with no `trip_orders` or `bookings`. Filter by `confirmation_code`, `trip_status`, `trip_type`, `customer_id`, `trip_source_id`, `reseller_id
- ActionList Trip Sources
Returns a page of trip sources, up to 25. See Finding trip sources above for filter and sort examples.
- ActionList Usages of Resource
Returns the resource usages on one resource: the guests assigned to it, earliest first.
- ActionList Waivers
Returns a paginated list of signed waivers, newest signed first, one row per signature. Filter by `waiver_type_id`, `customer_id`, `trip_order_id`, `is_waiver_adult`, a date range on `created_at` (`created_at[gte]`, `created_at[lte]`), a date of birth or range on `dob`, text on `first_name`, `last_n
- ActionList Waiver Types
Returns a paginated list of waiver types, ordered by name, optionally filtered and sorted. Every field can be filtered: `name` and `title` with `eq`, `contains` or `begins_with`; `body` and `body_minor` with `contains`; the age limits with `eq`, `gte` or `lte`; the flags and `waiver_type_status` (a
- ActionList Widget Logs
Returns a paginated list of widget events, newest first by default. With no lower bound on `created_at` the list covers the 30 days up to now, or up to `created_at[lte]` when only that is given; pass `created_at[gte]` to look further back. Filter by `id` (an exact match), `created_at` (also `[gte]`/
- ActionList Widgets
Returns a paginated list of widgets, ordered by name. Deleted widgets are never included. Filter by `name` (also `[contains]`/`[begins_with]`), `widget_type`, `selection_type`, `default_view`, `default_language`, `embed_type`, `is_active`, `clicks` or `embeds` (each also `[gte]`/`[lte]`), or `create
- ActionMark Booking Waivers Signed
Marks every waiver the booking's experience requires as signed, using the same per-requirement step as `.
- ActionMark One Booking Waiver Signed
Marks a single one of the booking's waiver requirements as signed. The requirement is identified by its `waiver_type_id` from the booking's `waivers`. Send no body. This is a staff override: it records that requirement as signed without a signed waiver document
- ActionMerge Customers
Merges two or more customers into one and permanently deletes the duplicates. Send at least two customer ids in `ids`. TripWorks chooses the destination: the customer with the most complete name, phone and email, and the oldest record if they tie. Blank phone, country, street address, city, state, p
- ActionReload Gift Card
Adds `amount`, a positive whole number of cents, to both the original and the current balance, and sets the card to `pending` until the paying trip settles. Refused for a deleted or expired card.
- ActionReorder Custom Field
Moves the field to a position in the account-wide order (0 is first) and shifts the fields in between. A position past the end puts it last. Returns the field with its new `sort_order`.
- ActionReorder Experience Custom Fields
Sets the order the experience's custom fields are asked in. `custom_field_ids` lists assigned field ids in the order you want; fields you leave out keep their relative order after the listed ones.
- ActionRun Analytics Query
Aggregates over your data: counts, sums, averages, minimums and maximums, optionally over a date range with an automatic comparison to the preceding period, and grouped by a dimension or by time. It also returns the headline business metrics.
- ActionSet Booking Status
Sets the booking's status to any of the account's booking statuses, the same choice the back office offers (for example checked in, no-show, or back to not checked in).
- ActionSet Callbot Schedule Override
Starts a schedule override that beats the schedule, replacing any already in force. `mode` is `answer` (answer every call) or `transfer` (send every call to a person). `duration` is `next_schedule` (until the schedule next changes), `custom` (until `until`, a date and time in the account's timezone,
- ActionSet Status for Multiple Bookings
Sets the status of up to 50 bookings in one call, for example to check in a whole party. Identify the target status by `booking_status_id` or by `status`, the shorthand for a built-in status. Pass `dry_run: true` to see what wo
- ActionSync Callbot
Queues another attempt at setting the callbot up with the voice provider, for one whose last sync failed or is stuck. Returns immediately with the status the sync is now in (`sync_status`).
- ActionSync Callbot Prompt from Template
Brings the callbot up to date with the latest TripWorks callbot template at the voice provider. Returns 409 `template_sync_failed` with a plain-language message when the provider rejects it, and `notice` names any knowledge base documents that were dropped to let it through.
- ActionSync Knowledge Base
Queues a re-sync of the knowledge base to the voice/chat provider. Returns immediately; poll `sync_status` for progress. Blocked (409) for a type that cannot be synced.
- ActionUnassign Custom Field from Experience
Stops asking a custom field on this experience. Answers already given are kept. Returns 404 if the field is not assigned to the experience.
- ActionUpdate Callbot
Updates a callbot and queues re-syncing it with the voice provider. Only the fields you include are changed; omitted fields are left as they are. The `schedule_override_*` fields cannot be written here: use the set and clear schedule override actions.
- ActionUpdate Callbot Pronunciation
Changes a word or its respelling and updates every callbot with the voice provider in the background. Only the fields you include are changed.
- ActionUpdate Customer
Updates a customer and returns it. Only the fields you include are changed; omitted fields are left as they are. Write `sms_paused: false` to let texts go to the customer's number again after the carrier reported it cannot receive them; it is refused (422) for a customer who opted out, which only th
- ActionUpdate Custom Field
Updates a custom field. Only the fields you include are changed. `custom_field_type` and `custom_field_map` cannot be changed: sending the value the field already has is accepted, anything else is rejected with 422. When you send `options` or `experience_ids` the list you send replaces the current o
- ActionUpdate Custom Field Value
Changes the answer. `value` is the only field that can be changed; the custom field and the trip or booking are fixed. Send `null` to empty the answer.
- ActionUpdate Experience
Updates an experience. Only the fields you include are changed; omitted fields are left as they are. The status, ticket types and images cannot be changed here; ticket types are managed at `/rest/experiences/{id}/customer-types`, except which one is the default: set `default_customer_type_id` here.
- ActionUpdate Experience Customer Type
Changes a customer type. Only the fields you include are changed. `is_default` cannot be written here: set `default_customer_type_id` on the experience to change the default. `null` clears `description`, `pax_fixed`, `pax_min`, `pax_max`, `deposit_amount` and `deposit_percent`. `capacity` is only ac
- ActionUpdate Experience Timeslot
Updates a timeslot. Only the fields you include are changed, and the change is all or nothing: if any field is refused, none is applied.
- ActionUpdate Experience Waiver Config
Changes which waiver type a config uses with `waiver_type_id`, who signs it for each ticket type with `waiver_option_overrides`, or both. Only the fields you include are changed. Send `waiver_option_overrides` as `null` to clear the overrides. Each override value must be 1 (Adult), 2 (Minor) or 3 (C
- ActionUpdate Gift Card
Updates a gift card. Only the fields you include are changed; omitted fields are left as they are. `trip_id` cannot be changed after creation, and the balance and status cannot be written.
- ActionUpdate Knowledge Base
Updates a knowledge base and queues a re-sync. Only the fields you include are changed — omitted fields are left as-is. The type cannot be changed (409).
- ActionUpdate Location
Updates a location. Only the fields you include are changed — omitted fields are left as-is.
- ActionUpdate Multiple Experience Timeslots
Makes the same change to many timeslots: the same fields and the same decisions as updating one. Choose them with `ids`, or with `filters`. Add `dry_run: true` to see what would happe
- ActionUpdate Promo Code
Updates a promo code and returns it. Only the fields you include are changed; omitted fields are left as they are. The experiences and ticket types of a code cannot be changed: `experience_ids` and `customer_type_ids` are accepted on Create only, and sending them here is rejected with 422 `unknown_f
- ActionUpdate Reseller
Updates a reseller. Only the fields you include are changed — omitted fields are left as-is. The reseller type is set at creation and cannot be changed: sending `reseller_type_id` is rejected with 422 `unknown_fields`, as is any other field that is not writable (including `collect_type` and `commiss
- ActionUpdate Resource
Updates a resource. Only the fields you include are changed; omitted fields are left as they are. `resource_type_id` can be null to remove the resource from its group.
- ActionUpdate Resource Blackout
Changes the note of a blackout; `note` is the only field that can be changed, and null clears it. To change the times, clear the window and create a new blackout.
- ActionUpdate Resource Usage
Changes a usage in one atomic write. Only the fields you include are changed. `resource_id` moves the guest to another resource, `start_time` and `end_time` or `duration` change the window (without `end_time` or `duration` the length is kept), and `internal_note` sets or clears the staff note. The b
- ActionUpdate Restriction
Updates a restriction. Only the fields you include are changed; omitted fields are left as they are. The change applies to every experience that uses the restriction.
- ActionUpdate Review
Partially updates a review. Only the fields you include are changed — omitted fields are left as-is, and an explicit `null` clears nullable fields such as `location` and `experience_id` (comments are cleared and then omitted from responses; `name`, `rating` and `review_type` cannot be cleared). Chan
- ActionUpdate Team Member
Updates a team member's profile. Only the fields you include are changed. `email` and `cell_phone` are read only, and login passwords and permission-group assignment cannot be changed through the API. A failed validation returns 422 with an `errors` object keyed by field.
- ActionUpdate Trip Note
Changes the text of a note and marks it as edited. `text` is the only field that can be changed after creation; the trip and author are fixed.
- ActionUpdate Trip Payment
Changes the note and the details of the payment's own type: `notes` for any payment, `check_number` and `check_date` together for a check, `wire_date` for a wire, `voucher_number` for a voucher. Send `notes` on its own, not with a detail field (refused even as `null` or an empty string); alone, `nul
- ActionUpdate Trip Source
Updates a trip source and returns it. Only the fields you include are changed; omitted fields are left as they are. On a built-in source, a new `name` is ignored. `is_read_only` and `category_slug` cannot be set: sending either is rejected with 422 `unknown_fields`.
- ActionUpdate Waiver Type
Updates a waiver type. Only the fields you include are changed; omitted fields are left as-is. Setting `waiver_type_status` to `archived` is refused with 409 `in_use_archive` while an activity uses the waiver type. Sending `waiver_type_status: null` is rejected with 422; the status cannot be cleared
- ActionUpdate Widget
Partially updates a widget: only the fields you include are changed. Writable fields are `name`, `widget_type`, `selection_type`, `experience_ids` (the full list, as ids from `/rest/experiences`; it replaces the existing list), `default_view`, `default_language`, `embed_type`, `is_active` and `custo
No trigger or action matches that. Ask your agent to add it: it reads the API documentation and builds what you describe.
Reviews
What our customers say
Questions
TripWorks, answered
Is there a TripWorks MCP server?
APIANT's MCP server at https://mcp.apiant.ai works with TripWorks. Add that address to any AI client that takes a remote MCP server and sign in once in your browser. Your client can then run TripWorks actions on demand, or have APIANT build, test and run automations that use TripWorks. Nothing to install.
What can start an automation from TripWorks?
Any of TripWorks's 7 triggers in the catalog, including Customer Created, Customer Updated, Payment Created and Trip Created. Describe the moment in plain language and your agent picks the right one.
What can your agent do in TripWorks?
Any of TripWorks's 164 actions, including Create Experience Timeslot Config, Update Callbot, Update Callbot Pronunciation and Update Customer. Your agent maps the data both ways and tests every scenario before it ships.
Can I use TripWorks directly from Claude, ChatGPT or Cursor?
Yes. Connect your AI client to APIANT once and it works with TripWorks two ways. Ask it to do something in TripWorks once and it runs that action on the spot. Ask for an automation and your agent builds it, tests every scenario and keeps it running on its own. A one-off action uses your plan's tasks the same way an automation step does.
Do I need to write code against the TripWorks API?
No. APIANT connects to the TripWorks API for you, with your TripWorks API key. Describe what you want in plain language and your agent builds it on the TripWorks triggers and actions in the catalog. If you need an endpoint that is not there yet, your agent reads the TripWorks API documentation and adds it.
Which apps can TripWorks connect to?
Any app in the catalog; the list on this page pairs TripWorks with each of them. If the other app is missing, point your agent at its API documentation and it builds the connector.
What happens when something fails?
Your agent works that out for you. It plans the failure paths along with the happy path, then tests every scenario before it ships.
Is there a free plan?
Yes. Every plan includes the agent, including free, and building from your own AI client spends no assistant credits.