Integration
Connect Google Docs and TripWorks
When Document Structure Changed fires in Google Docs, your agent runs Update Customer in TripWorks, or Customer Created in TripWorks to Create Document in Google Docs. Describe the whole flow and it is built, tested on every scenario and kept running.
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 Google Docs and TripWorks to do together?
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)Example flows
What Google Docs and TripWorks can do together
From Google Docs to TripWorks
When Document Structure Changed in Google Docs
then Update Customer in TripWorks
When Document Updated in Google Docs
then Add Experience Waiver Config in TripWorks
From TripWorks to Google Docs
When Customer Created in TripWorks
then Create Document in Google Docs
When Customer Updated in TripWorks
then Create Document Markdown in Google Docs
Starting points drawn from the triggers and actions in the catalog today. Describe the flow you need, at any depth, and your agent builds it and tests every scenario before it ships.
Everything your agent can do with Google Docs and TripWorks
Triggers and actions 17 triggers · 217 actions
Trigger
Document DeletedTriggers when an existing Google Doc is deleted (moved to trash). This trigger monitors Google Docs and fires when documents are trashed.
Trigger
Document Placeholder FilledTriggers when a Google Doc's plain text changes such that a configured placeholder token/pattern is no longer present (i.e., the document has been filled in). This trigger monitors a specific Google Doc and fires when a placeholder pattern that was previously present is no longer found in the document's plain text.
Trigger
Document Search UpdateTriggers when a Google Doc matching a user-defined search query is newly created or updated since the last poll. This trigger uses timestamp filtering to efficiently monitor documents.
Trigger
Document Structure ChangedTriggers when a Google Doc's structure changes (headers/footers added/removed, tables/images count changes). This trigger monitors a specific document for structural changes like: - Headers added or removed - Footers added or removed - Tables added or removed - Images (inline objects) added or removed - Positioned objects added or removed - Footnotes added or removed
Trigger
Document UpdatedTriggers when an existing Google Doc is updated or modified. This trigger monitors Google Docs and fires when documents are updated.
Trigger
Document Word Count ThresholdTriggers when a Google Doc's word/character count crosses a user-defined threshold. This trigger monitors a specific Google Doc and fires when its word or character count becomes greater than or equal to the configured threshold value.
Trigger
Keyword Detected in DocumentTriggers when a specific keyword or phrase first appears in a Google Doc. This trigger monitors a Google Doc and fires once when the specified keyword is detected. After the keyword is found, the trigger will not fire again until reset.
Trigger
New Document AddedTriggers when a new Google Doc is added/created. This trigger monitors Google Docs and fires when new documents are detected.
Trigger
New Document CreatedTriggers when a new Google Doc is created. This trigger monitors Google Docs and fires when new documents are detected. Uses timestamp filtering to efficiently poll for new documents.
Trigger
New Folder Created in RootTriggers when a new folder is created in the root folder of Google Drive. This trigger monitors Google Drive and fires when new folders are detected in the root directory.
Action
Copy DocumentTool to create a copy of an existing google document. use this to duplicate a document, for example, when using an existing document as a template. the copied document will have a default title (e.g., 'copy of [original title]') if no new title is provided, and will be placed in the user's root google drive folder.
Action
Create And Populate TableCreates a new table in a Google Document and populates its cells with provided text data in a single operation. Use this action when you need to insert a structured table with predefined content into a document. The action handles both table creation and cell population automatically, eliminating the need for separate operations.
Action
Create DocumentCreates a new google docs document using the provided title as filename and inserts the initial text at the beginning if non-empty, returning the document's id and metadata (excluding body content).
Action
Create Document MarkdownCreates a new google docs document, optionally initializing it with a title and content provided as markdown text.
Action
Create FooterTool to create a new footer in a google document. use when you need to add a footer, optionally specifying its type and the section it applies to.
Action
Create FootnoteTool to create a new footnote in a google document. use this when you need to add a footnote at a specific location or at the end of the document body.
Action
Create HeaderTool to create a new header in a google document. use this tool when you need to add a header to a document, optionally specifying the section it applies to.
Action
Create Named RangeTool to create a new named range in a google document. use this to assign a name to a specific part of the document for easier reference or programmatic manipulation.
Action
Create Paragraph BulletsTool to add bullets to paragraphs within a specified range in a google document. use when you need to format a list or a set of paragraphs as bullet points.
Action
Create TabCreates a new tab in a Google Docs document. Tabs allow you to organize document content into separate sections within a single document. Use this action when you need to add a new organizational tab to a document. When a tab is added at a specified index, all subsequent tabs' indexes are automatically incremented.
Action
Delete Content RangeTool to delete a range of content from a google document. use when you need to remove a specific portion of text or other structural elements within a document.
Action
Delete FooterTool to delete a footer from a google document. use when you need to remove a footer from a specific section or the default footer.
Action
Delete HeaderDeletes the header from the specified section or the default header if no section is specified. use this tool to remove a header from a google document.
Action
Delete Named RangeTool to delete a named range from a google document. use when you need to remove a previously defined named range by its id or name.
Action
Delete Paragraph BulletsTool to remove bullets from paragraphs within a specified range in a google document. use when you need to clear bullet formatting from a section of a document.
Action
Delete TabDeletes a tab from a Google Document. This action is irreversible — the tab cannot be recovered once removed. Use when you need to remove a tab and all its child tabs from a document's tab structure.
Action
Delete TableTool to delete an entire table from a google document. use when you have the document id and the specific start and end index of the table element to be removed. the table's range can be found by inspecting the document's content structure.
Action
Delete Table ColumnTool to delete a column from a table in a google document. use this tool when you need to remove a specific column from an existing table within a document.
Action
Delete Table RowTool to delete a row from a table in a google document. use when you need to remove a specific row from an existing table.
Action
Export Document As PdfTool to export a Google Docs file as PDF using the Google Drive API. Use when you need to generate a PDF version of a Google Docs document for download or distribution. Note: Google Drive enforces a 10MB limit on export content.
Action
Get Docs Drive File MetadataGet selected metadata fields for one Google Drive file by ID.
Action
Get Docs Spreadsheet ValuesRead cell values from one range in a Google Sheets spreadsheet.
Action
Get Document By IdRetrieves an existing google document by its id; will error if the document is not found.
Action
Get Document End IndexRetrieves the end index and paragraph structure of a Google Document or specific segment. Use this action when you need to determine valid insertion points for text operations, especially before using insertText requests. The end index represents the maximum boundary of the document body or specified segment (header, footer, footnote, or tab).
Action
Get Document PlaintextRetrieve a Google Doc by ID and return a best-effort plain-text rendering. Converts document structure into plain text including paragraphs, lists, and tables without requiring clients to traverse complex Docs API JSON.
Action
Insert Image In Table CellInserts an image from a given URI into a specific table cell in a Google Document. Use this action when you need to add an image to a particular cell within a table. The action identifies the target cell by table start index, row index, and column index, then inserts the image at the specified position within that cell's content.
Action
Insert Inline ImageTool to insert an image from a given uri at a specified location in a google document as an inline image. use when you need to add an image to a document programmatically.
Action
Insert Page BreakTool to insert a page break into a google document. use when you need to start new content on a fresh page, such as at the end of a chapter or section.
Action
Insert Table ActionTool to insert a table into a google document. use when you need to add a new table at a specific location or at the end of a segment (like document body, header, or footer) in a document.
Action
Insert Table ColumnTool to insert a new column into a table in a google document. use this tool when you need to add a column to an existing table at a specific location.
Action
Insert Table RowInserts a new row into a table in a Google Document at a specified location. Use this action when you need to add a row to an existing table, either above or below a reference cell location.
Action
Insert Text ActionTool to insert a string of text at a specified location within a google document. use when you need to add new text content to an existing document.
Action
Insert Text In Table CellInserts text into a specific cell of a table in a Google Document by row and column position. Use this action when you need to add or update text content in a table cell at a known row and column index. To use this action, you must first retrieve the document structure using GOOGLEDOCS_GET_DOCUMENT_BY_ID to find the table's start index. Then specify the target cell by its zero-based row and column indices (e.g., row_index=0, column_index=0 for the top-left cell).
Action
List Drive Item PermissionsList permissions for a Google Drive file, folder, or shared drive.
Action
List Spreadsheet ChartsTool to retrieve a list of all charts from a specified Google Sheets spreadsheet. Use when you need to get chart IDs and their specifications for embedding or referencing elsewhere, such as in Google Docs.
Action
Replace All TextTool to replace all occurrences of a specified text string with another text string throughout a google document. use when you need to perform a global find and replace operation within a document.
Action
Replace ImageTool to replace a specific image in a document with a new image from a uri. use when you need to update an existing image within a google doc.
Action
Search DocumentsSearch for google documents using various filters including name, content, date ranges, and more.
Action
Unmerge Table CellsTool to unmerge previously merged cells in a table. use this when you need to revert merged cells in a google document table back to their individual cell states.
Action
Update Document MarkdownReplaces the entire content of an existing google docs document with new markdown text; requires edit permissions for the document.
Action
Update Document Section MarkdownTool to insert or replace a section of a Google Docs document with Markdown content. Use when you need to update only a section of a document by specifying start and optional end indices. Supports full Markdown formatting.
Action
Update Document StyleTool to update the overall document style, such as page size, margins, and default text direction. use when you need to modify the global style settings of a google document.
Action
Update Existing DocumentApplies programmatic edits, such as text insertion, deletion, or formatting, to a specified google doc using the `batchupdate` api method.
Action
Update Table Row StyleTool to update the style of a table row in a google document. use when you need to modify the appearance of specific rows within a table, such as setting minimum row height or marking rows as headers.
Action
Update Tab PropertiesUpdates properties of a document tab such as title, parent tab, index, and icon emoji. Use this action when you need to rename a tab, change its emoji icon, move it within the tab hierarchy, or reorganize tab structure.
Action
Upload Drive FileUpload a file of 5 MiB or less to Google Drive using multipart upload.
Trigger
Customer CreatedTriggers when a new customer is added in TripWorks.
Trigger
Customer UpdatedTriggers when a customer is added or any of the customer's details change.
Trigger
Payment CreatedTriggers when a payment is recorded on a trip.
Trigger
Trip CreatedTriggers when a new trip is booked.
Trigger
Trip ReservedTriggers when a trip reaches the reserved status.
Trigger
Trip UpdatedTriggers when a trip is booked or any of its details change.
Trigger
Waiver SignedTriggers when a guest signs a waiver.
Action
Activate Gift CardMakes 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.
Action
Add Experience Waiver ConfigAttaches 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.
Action
Assign Custom Field to ExperienceAsks a custom field on this experience, at the end of its order. Assigning a field that is already assigned changes nothing.
Action
Cancel Experience TimeslotsCancels timeslots and the trip orders booked on them. Choose what to cancel with exactly one of:
Action
Clear Callbot Schedule OverrideEnds 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.
Action
Clear Resource Blackout WindowMakes 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
Action
Clone WidgetCreates 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
Action
Create Experience Timeslot ConfigCreates 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.
Action
Delete BookingRemoves 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
Action
Delete CallbotPermanently 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.
Action
Delete Callbot PronunciationRemoves a word from the list and updates every callbot with the voice provider in the background.
Action
Delete CustomerPermanently 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.
Action
Delete Custom FieldPermanently 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.
Action
Delete Custom Field ValuePermanently deletes an answer. The custom field and the trip or booking are untouched.
Action
Delete ExperiencePermanently deletes an experience. Blocked (409) if it still has bookings, so cancel or move those bookings first.
Action
Delete Experience Customer TypePermanently 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.
Action
Delete Experience TimeslotPermanently deletes a timeslot. Blocked with 409 `delete_blocked_has_bookings` while it has bookings: cancel it instead.
Action
Delete Experience Waiver ConfigRemoves a waiver config from this experience. Removing the last one turns off the experience's waiver requirement; see the warning on this resource.
Action
Delete Gift CardPermanently deletes a gift card. Refused while the card's trip is locked.
Action
Delete Knowledge BasePermanently deletes a knowledge base, its stored content, and its copy at the voice/chat provider.
Action
Delete LocationPermanently 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
Action
Delete Multiple Experience TimeslotsPermanently 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
Action
Delete Promo CodePermanently 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.
Action
Delete ResellerPermanently 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.
Action
Delete ResourcePermanently 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.
Action
Delete Resource BlackoutRemoves a blackout; the resource is available again for that window.
Action
Delete Resource UsageRemoves a usage: the guest is no longer assigned to the resource.
Action
Delete RestrictionPermanently 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
Action
Delete ReviewPermanently deletes a review. This cannot be undone and the review is not archived; any booking it was linked to is left unchanged.
Action
Delete Trip NotePermanently deletes a trip note.
Action
Delete Trip SourcePermanently 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
Action
Delete Waiver TypePermanently 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.
Action
Delete WidgetDeletes 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
Action
Get Audit LogReturns one audit log entry by id, with every field change or event detail it contains.
Action
Get Availability InsightsReturns 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.
Action
Get BookingReturns 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
Action
Get Booking Check-in QR CodeThe 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
Action
Get CallbotReturns a single callbot by id with its weekly hours, its knowledge base and team member ids, and any schedule override in force.
Action
Get Callbot PronunciationReturns a single pronunciation by id.
Action
Get CountryReturns a single country by its `id` — the same public id other resources return as `country_id`.
Action
Get Country by CodeReturns a single country by its two-letter ISO 3166-1 alpha-2 code (case-insensitive). Responds 404 when the code is not supported.
Action
Get CustomerReturns a single customer by id.
Action
Get Custom FieldReturns a single custom field by id, with its dropdown `options`, the `experience_ids` it is asked on and any dependency on another field.
Action
Get Custom Field ValueReturns a single custom field answer by id.
Action
Get ExperienceReturns a single experience by id, with its ticket types and images.
Action
Get Experience Customer TypeReturns one customer type of this experience. Returns 404 `mismatched_experience` when it belongs to a different experience.
Action
Get Experience TimeslotReturns 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.
Action
Get Experience Timeslot ConfigReturns 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.
Action
Get Gift CardReturns a single gift card by id, with its balance, status and recipient.
Action
Get Knowledge BaseReturns a single knowledge base by id, including its text content for a `text` knowledge base.
Action
Get Knowledge Base CitationReturns a single knowledge base lookup by id.
Action
Get LocationReturns one location by id. An id that matches no location returns 404.
Action
Get ManifestReturns 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.
Action
Get Payment Detail ReportOne row per successful payment in the date range, with the trip it was taken against. Amounts are integers in cents.
Action
Get Payout Detail ReportOne 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
Action
Get Payouts ReportOne 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
Action
Get Phone CallReturns a single phone call by id, with its transcript and tags.
Action
Get Phone Call TagReturns a single phone call tag by id.
Action
Get Promo CodeReturns a promo code, including the experiences, ticket types and date windows it applies to.
Action
Get Report RunReturns one report run.
Action
Get ResellerReturns a single reseller by id.
Action
Get ResourceReturns a single resource by id.
Action
Get Resource BlackoutReturns a single blackout by id.
Action
Get Resource UsageReturns a single resource usage by id.
Action
Get RestrictionReturns one restriction by id. An id that matches no restriction returns 404.
Action
Get ReviewReturns a single review by its id, including its derived sentiment fields. Responds 404 for an id that does not exist in your account.
Action
Get Sales Detail ReportOne row per trip in the date range. Amounts are integers in cents.
Action
Get Team MemberReturns one team member by id, including the permission groups they belong to. An id that matches no visible team member returns 404.
Action
Get TripReturns 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`.
Action
Get Trip NoteReturns a single trip note by id.
Action
Get Trip Order Detail ReportOne row per booked trip order on a reserved trip in the date range, with its experience and trip. Amounts are integers in cents.
Action
Get Trip PaymentReturns a single payment or refund by id.
Action
Get Trip SourceReturns a single trip source by id.
Action
Get WaiverReturns a single signed waiver by id, with the same fields as the list.
Action
Get Waiver Document LinkReturns 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.
Action
Get Waiver TypeReturns a single waiver type by id, including its waiver text and every signer requirement.
Action
Get WidgetReturns 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.
Action
Get Widget FunnelA 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
Action
Get Widget LogReturns a single widget event by its id. Responds 404 for an id that does not exist in your account.
Action
List Audit LogReturns 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.
Action
List Blackouts of ResourceReturns the blackouts on one resource: the times it is unavailable, earliest first.
Action
List Booking Add-onsReturns the add-ons on this booking (options the guest picked, such as an extra hour or a meal choice), oldest first, each with its `addon_title`: exactly the booking's `addons`. The `total` of every line whose `price_adjust_type_id` is not 2 adds up to the booking's `addons_total`, and `total_gross
Action
List Booking Custom FieldsReturns the booking's custom fields: exactly the entries of the booking's `custom_fields`, `{id, slug, name, type, value, required}` (plus `unit`, `lbs` or `kg`, on Weight fields), for every booking-level custom field that applies to its experience, in back-office order, answered or not (`value` is
Action
List Booking ProductsReturns 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
Action
List Booking Resource UsagesReturns the resource usages on a booking: the resources (boats, vehicles, guides and so on) this guest is assigned to, earliest first.
Action
List BookingsReturns 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
Action
List Booking StatusesReturns 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`.
Action
List Booking WaiversReturns 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`
Action
List Callbot PronunciationsReturns the account's pronunciation list ordered by word, paginated. Filter by `word` or `say`; `?sort=word` and `?sort=-word` change the order.
Action
List CallbotsReturns 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,
Action
List Callbot VoicesReturns 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.
Action
List CountriesReturns a paginated list of supported countries, ordered by name. Filter by code, name, three-letter code or dialing code, and sort by `name` or `code`.
Action
List CustomersReturns customers.
Action
List Custom FieldsReturns 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`.
Action
List Custom Field ValuesReturns 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.
Action
List Experience Customer TypesReturns every customer type of this experience in display order, lowest `sort_order` first. The list is not paginated. Narrow it with the filters below, for example `?is_visible=true` or `?name[contains]=adult`. Customer types with no value for a numeric filter never match it, and `is_group=false` m
Action
List Experience Custom FieldsReturns 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.
Action
List ExperiencesReturns 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.
Action
List Experience Timeslot ConfigsReturns 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.
Action
List Experience TimeslotsReturns 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.
Action
List Experience Waiver ConfigsReturns 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.
Action
List Gift CardsReturns a paginated list of gift cards, newest first unless you pass `sort`. Filter by status, balance, expiry date, trip, code or style.
Action
List Gift Card StylesReturns 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.
Action
List Knowledge Base CitationsReturns a paginated list of knowledge base lookups, optionally filtered and sorted.
Action
List Knowledge BasesReturns a paginated list of knowledge bases, optionally filtered and sorted. Text content is only returned when fetching one knowledge base.
Action
List LocationsReturns 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`.
Action
List Phone CallsReturns 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.
Action
List Phone Call TagsReturns phone call tags, optionally filtered. The overview above explains the tag types and how to filter.
Action
List Promo CodesReturns 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.
Action
List Report RunsReturns 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`.
Action
List Report TypesReturns every report you can run, with the parameters each one takes and every column it can return.
Action
List ResellersReturns a page of resellers, up to 25, ordered by id unless you sort. See Finding resellers above for filter and sort examples.
Action
List Resource BlackoutsReturns 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
Action
List Resource GroupsReturns the resource groups available to choose from: the value to use for `resource_type_id` when creating or updating a resource.
Action
List Resource IconsReturns the icons available to choose from: the value to use for `resource_icon` when creating or updating a resource.
Action
List ResourcesReturns 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`.
Action
List Resource UsagesReturns 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>
Action
List RestrictionsReturns 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`.
Action
List ReviewsReturns 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
Action
List Team MembersReturns 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
Action
List Trip Custom FieldsReturns 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
Action
List Trip NotesReturns 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.
Action
List Trip PaymentsReturns 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
Action
List TripsReturns 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
Action
List Trip SourcesReturns a page of trip sources, up to 25. See Finding trip sources above for filter and sort examples.
Action
List Usages of ResourceReturns the resource usages on one resource: the guests assigned to it, earliest first.
Action
List WaiversReturns 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
Action
List Waiver TypesReturns 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
Action
List Widget LogsReturns 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]`/
Action
List WidgetsReturns 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
Action
Mark Booking Waivers SignedMarks every waiver the booking's experience requires as signed, using the same per-requirement step as `.
Action
Mark One Booking Waiver SignedMarks 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
Action
Merge CustomersMerges 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
Action
Reload Gift CardAdds `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.
Action
Reorder Custom FieldMoves 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`.
Action
Reorder Experience Custom FieldsSets 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.
Action
Reorder Experience Waiver ConfigsSets the display order of this experience's waiver configs. Send `order` as a list that contains the `id` of every waiver config on the experience exactly once, in the order you want. An empty list returns 400. An id that is not a waiver config of this experience, or a list that leaves one out, retu
Action
Run Analytics QueryAggregates 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.
Action
Set Booking StatusSets 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).
Action
Set Callbot Schedule OverrideStarts 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,
Action
Set Status for Multiple BookingsSets 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
Action
Sync CallbotQueues 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`).
Action
Sync Callbot Prompt from TemplateBrings 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.
Action
Sync Knowledge BaseQueues 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.
Action
Unassign Custom Field from ExperienceStops asking a custom field on this experience. Answers already given are kept. Returns 404 if the field is not assigned to the experience.
Action
Update CallbotUpdates 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.
Action
Update Callbot PronunciationChanges a word or its respelling and updates every callbot with the voice provider in the background. Only the fields you include are changed.
Action
Update CustomerUpdates 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
Action
Update Custom FieldUpdates 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
Action
Update Custom Field ValueChanges 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.
Action
Update ExperienceUpdates 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.
Action
Update Experience Customer TypeChanges 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
Action
Update Experience TimeslotUpdates a timeslot. Only the fields you include are changed, and the change is all or nothing: if any field is refused, none is applied.
Action
Update Experience Waiver ConfigChanges 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
Action
Update Gift CardUpdates 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.
Action
Update Knowledge BaseUpdates 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).
Action
Update LocationUpdates a location. Only the fields you include are changed — omitted fields are left as-is.
Action
Update Multiple Experience TimeslotsMakes 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
Action
Update Promo CodeUpdates 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
Action
Update ResellerUpdates 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
Action
Update ResourceUpdates 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.
Action
Update Resource BlackoutChanges 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.
Action
Update Resource UsageChanges 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
Action
Update RestrictionUpdates 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.
Action
Update ReviewPartially 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
Action
Update Team MemberUpdates 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.
Action
Update Trip NoteChanges 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.
Action
Update Trip PaymentChanges 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
Action
Update Trip SourceUpdates 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`.
Action
Update Waiver TypeUpdates 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
Action
Update WidgetPartially 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.
Each app on its own
Reviews
What our customers say
More from Google Docs
Google Docs to Google DriveGoogle Drive is a cloud storage solution for uploading, sharing, and collaborating on files across devices...
Google Docs to JIRAAtlassian JIRA Cloud — issue tracking and project management.
Google Docs to ContentfulContentful is a headless CMS allowing developers to create, manage, and distribute content across multiple...
Google Docs to Minecraft Server StatusMinecraft Server Status pings a Minecraft server address and reports what it finds.
Google Docs to Mistral AIMistral AI is a platform for building, customizing, and deploying advanced AI models and agents for...
Google Docs to OnepageOnepage helps you build landing pages in minutes.
More into TripWorks
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...
Questions
Google Docs and TripWorks, answered
What can start an automation from Google Docs?
Any of Google Docs's 10 triggers in the catalog, including Document Structure Changed, Document Updated, New Document Added and New Document Created. Describe the moment in plain language and your agent picks the right one.
What can your agent do in TripWorks when something happens in Google Docs?
Any of TripWorks's 171 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 it also run from TripWorks to Google Docs?
Yes. When something happens in TripWorks, your agent can act in Google Docs too. This page covers both directions: TripWorks's triggers and Google Docs's actions are listed here as well.
Do I have to build a connector for Google Docs or TripWorks?
No. Both are in the catalog with their triggers and actions. You describe the automation; your agent builds it, tests every scenario and keeps it running.
Can my AI client use Google Docs and TripWorks without building an automation?
Yes. With your AI client connected to APIANT, ask it to do something in either app 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. One connection covers both.
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.