FlowRunner
PricingContact
Theme
Start Free

CaptainBook

Scheduling

Connect AI agents to CaptainBook, a booking system for tours and activities. Agents manage products and availability, cancel and refund bookings, and resend confirmations so tour operations keep moving without manual admin work.

Verified 16 actions API key available
A weather call takes tomorrow's departures for a product option off the water
List Bookings pulls every reservation sitting on the affected availability slots
List Booking Transactions reads what each guest was actually charged
Cancel Booking with Dry Run previews the policy outcome and estimated refund per booking
The operations lead receives the guest list, the per-booking totals, and the policy result
Lead approves the refund figures before any money leaves the account

What This Integration Enables

CaptainBook runs tours and activities, and that means every booking is a seat with a price on it. The API is shaped accordingly: monetary amounts are expressed in the minor units of the tenant currency, transactions hang off bookings as charges, refunds, and comps, and the token's abilities decide what a connection may do, with reads, writes, and customer service operations gated separately. Agents manage the catalog through the product operations, generate and adjust capacity through the availability operations, work bookings by status, date, customer, reference, or product option, and read the payment history behind any reservation.

Two design choices in this API deserve to shape how you build on it. Every mutating request carries a per-call idempotency key, so a retried flow does not double-apply a change, which is exactly the property you want when the operation moves money. And most mutating actions accept a Dry Run toggle that returns the change and its side effects without persisting them. That toggle is the vendor drawing a line between rehearsing a decision and making one, and FlowRunner puts the human-in-the-loop on the same line. Every action is built and verified against the CaptainBook API.

Without FlowRunner

Season availability built by hand Someone opens slots week by week and the calendar runs out mid season
Cancellation math done in a spreadsheet Refund amounts are calculated per guest against a policy nobody rereads
Money moved on a guess A refund is issued and the guest is told separately, or not told at all

With FlowRunner

Availability generated from a rule Create Availability Rule materializes a whole recurrence at once, previewed before it commits
Policy applied consistently Cancel Booking resolves the refund policy the same way for every guest on the departure
Refunds approved with the numbers attached The Dry Run preview goes to a person before Refund Booking contacts the payment provider

Use Case Scenarios

Opening a Season Without Opening the Wrong Season

The summer schedule is agreed and every product option needs its dates. The agent runs Create Availability Rule per option with the weekday recurrence, first with Dry Run enabled so the response reports how many slots the rule would materialize. That count goes into a review in Slack alongside the product title and the date range. Once the numbers look right, the agent commits, and because generation is asynchronous it polls List Availabilities to confirm the slots have landed with the expected capacity. A rule that would have opened four hundred slots instead of forty is caught before it reaches the booking page.

Same Day Capacity Adjustment

A guide calls in sick and one afternoon departure has to shrink from twelve seats to six. The agent runs List Availabilities for the product option and date, finds the slot, and calls Update Availability with the reduced capacity, previewing with Dry Run first. It then runs List Bookings for the same slot to see who is already booked past the new limit, and posts the affected guests to the operations channel with their booking references. Nothing is canceled automatically. The agent surfaces the overage and the reassignment options, and the duty manager decides who moves.

Reconciling Transactions Against the Ledger

Every night the agent runs List Transactions across the tenant for the day's window, filtered by status and type, and writes each charge, refund, and comp into Xero with the booking reference attached. Amounts arrive in minor currency units, so the agent converts once, in one place, rather than in every downstream report. Anything the ledger cannot match becomes an automation exception routed to finance in Slack with the transaction, the booking, and the customer already attached, so the person picking it up starts with the full picture instead of a reference number.

Human-in-Loop Highlight

Refund Booking is where an agent stops. It moves real money out of the merchant account, and the amount is expressed in minor currency units, so a factor of one hundred is a plausible mistake rather than an unthinkable one. By default the customer is not notified either, which means a wrong refund can sit undiscovered until somebody reconciles the month. CaptainBook itself treats this operation as different: it sits behind the customer service ability on the token, separate from ordinary read and write access, and it ships a Dry Run toggle that previews the refund without contacting the payment provider. The agent uses exactly that. It runs Get Booking and List Booking Transactions to establish what was charged, runs Refund Booking with Dry Run to produce the figure, and routes the result to the operations lead: "Refund [amount] on booking [reference] for [guest], against a [amount] charge on [date]. Policy outcome from the preview attached. Notify the customer, yes or no? Approve, adjust the amount, or decline?" The lead answers, and only then does the agent commit the refund and record the outcome. Catalog reads, availability checks, and confirmation lookups need no approval. Anything that sends money back, or silently fails to tell the guest it did, is a human decision.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

16 actions

Products

4
  • List Products Lists the tours and activities in the catalog with free text search, publication status and category filters, and cursor pagination. Soft deleted products are excluded unless explicitly included.
  • Get Product Retrieves a single product by id with its pricing metadata and configuration flags.
  • Create Product Creates a tour or activity. Title and currency are required, monetary amounts are in minor currency units, and inclusions and exclusions are plain text with one bullet per line. Dry Run previews the mutation without persisting it.
  • Update Product Updates selected fields on a product. Toggling the private flag or changing the schedule type recomputes inventory across the product's availabilities, so Dry Run is worth running first to see the cascade.

Availability

3
  • List Availabilities Lists the bookable dates and times for a product option, with date range and capacity filters and optional per-slot effective pricing. The read that confirms a generation rule produced what was intended.
  • Create Availability Rule Generates availability slots from a weekday recurrence rule, for example every Saturday across a season. Processing is asynchronous and returns the total number of slots that will be materialized. Dry Run reports that count without committing.
  • Update Availability Changes the capacity or bookable status of a single slot. For changes across a date range, use a recurrence rule or the dashboard bulk tools instead.

Bookings

6
  • List Bookings Lists bookings filtered by computed status, booking date range, customer email, reference, or product option. Canceled bookings are hidden unless explicitly included.
  • Get Booking Retrieves a single booking with its guests inlined and its most recent transactions. The evidence read before any cancellation or refund is proposed.
  • List Booking Transactions Lists the charges, refunds, and comps attached to a booking, most recent first. Establishes what a guest actually paid before anything is sent back.
  • Cancel Booking Cancels a booking and optionally issues a refund under the chosen policy, with the customer notified by default. Dry Run previews the policy outcome and estimated refund without contacting the payment provider or emailing the guest.
  • Refund Booking Refunds a booking transaction in full or in part, in minor currency units, capped at the original charge. The customer is not notified unless that is explicitly enabled. Routed for human approval, with the Dry Run preview attached.
  • Resend Booking Confirmation Resends a booking confirmation over email or SMS, to the primary contact by default or to a supplied recipient. Used when a guest reports they never received it.

Customers

2
  • List Customers Lists customers with free text search and email or country filters. Soft deleted customers are excluded unless explicitly included.
  • Get Customer Retrieves a single customer record by id.

Transactions

1
  • List Transactions Lists payment transactions across all bookings, filterable by status, type, and datetime range, with amounts in minor currency units. The basis for nightly reconciliation against the ledger.

Frequently Asked Questions

What can FlowRunner do with CaptainBook?

FlowRunner agents can run List Products, Get Product, and Create Product in CaptainBook, plus 13 more actions.

Does connecting CaptainBook to FlowRunner require OAuth?

No. CaptainBook connects to FlowRunner with an API key, no OAuth flow required.

Can CaptainBook trigger a FlowRunner workflow automatically?

CaptainBook doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with CaptainBook

$100 in credits. No card required. Connect in minutes.