Live

BookingKoala logo

BookingKoala API and MCP server

bookingkoala.com

BookingKoala has no public, documented REST API (checked 11 Oct 2026). Cotlet is a hosted MCP server and REST API for BookingKoala with 15 endpoints (7 read, 8 write): your AI agent signs in as you and does the work.

Endpoints
15 7 read, 8 write
Updated
How Cotlet connects your agent to BookingKoala
  1. Your agent

    Claude Code, Codex, Cursor or a script

  2. Cotlet

    MCP server and REST API · 15 endpoints

    cotlet.dev/mcp/v1

  3. BookingKoala logo

    BookingKoala

    Signed in as you on bookingkoala.com

You sign in once. We never store your password.

Official API

Does BookingKoala have an official API?

BookingKoala has no public, documented REST API (checked 11 Oct 2026). An API key from Settings > General > Apps & Integrations only connects Zapier and Make. Zapier gets event triggers for bookings, customers, providers, quotes, ratings and invoices plus one action, Create Lead; Make gets the same kind of triggers.

What BookingKoala's own tools do compared with Cotlet
Task BookingKoala official Cotlet
List upcoming and unassigned bookings Partly Only New or Updated Booking triggers, no lookup Yes
Create a booking No Zapier can only create a lead Yes
Reschedule a booking No Yes
Assign a provider or team No In-app auto-assign covers new bookings only; no API Yes
Cancel a booking with or without a fee No Yes
Refund a charge No Yes
Provider amounts due for a pay period No Shown in the Provider Payments screen; Zapier only sends a Provider Payout event Yes
Resend an overdue invoice No Per-invoice reminders in the app; Zapier only has invoice triggers Yes

Sources: BookingKoala on Zapier · BookingKoala Help: Make (Integromat) integration guide · BookingKoala Help: Refund a charge · BookingKoala Help: Resend an invoice · BookingKoala Help: Three types of scheduling · BookingKoala Help: Creating customer invoices (reminders) · BookingKoala Help: Provider payments

Common use cases

What can an AI agent do in BookingKoala?

Cotlet is best for home service owners and office managers on BookingKoala who want their AI agent to assign providers, move bookings, refund charges and report provider pay without running or fixing a server.

  • Assign unassigned bookings to providers Runs: Daily

    Go through the BookingKoala unassigned folder for this week. Give each job to the free provider with the fewest bookings that day, high priority first, and tell me which jobs nobody can take. Your agent calls list_bookings, list_providers, get_booking and assign_provider.

  • Reschedule bookings

    Thursday is a storm day. Move every Thursday booking to Friday or Saturday, same provider and as close to the old time as possible, and tell me who could not be moved. Your agent calls list_customers, list_bookings, get_booking and reschedule_booking.

  • Create bookings from phone and email requests

    Here are this morning's three voicemails. Book each caller in BookingKoala: find existing customers by phone, add new ones with name and email, leave the job unassigned if nobody is free, and save a quote when they only asked for a price. Your agent calls list_customers, list_providers and create_booking.

  • Refund a booking charge

    Refund half of the last charge for booking 48213 and note the reason on the booking. Your agent calls list_charges and refund_charge.

  • Provider pay report for a pay period Runs: Weekly

    How much do I owe each provider for the last two weeks? Your agent calls get_provider_payments.

  • Send reminders for overdue invoices Runs: Weekly

    Send every overdue invoice a reminder. Your agent calls list_invoices and resend_invoice.

Endpoints

What is the BookingKoala API?

Cotlet's BookingKoala API exposes 15 endpoints for your own BookingKoala account: list bookings, get booking, list customers, list providers, list charges, list invoices, get provider payments, create booking, reschedule booking, assign provider, add booking note, cancel booking, send quote, refund charge and resend invoice. The list_bookings endpoint returns bookings with customer, services, date, arrival time, provider and price. Each endpoint takes simple JSON inputs like booking_id, to or from and works both as an MCP tool for agents and as a REST call for scripts.

All endpoints · 15 total

missing one? request an endpoint

  • POST

    list_bookings

    read

    Lists bookings in one folder: upcoming, unassigned, drafts and quotes, or cancelled. Filter by date range, customer or provider. Pages follow the order of the folder; pass next_cursor back as cursor. Quotes in drafts_quotes carry the quote_id that send_quote needs.

    POST /api/v1/bookingkoala/list_bookings

    Input

    Input: list_bookings
    Parameter Type Description
    folder enum upcoming, unassigned, drafts_quotes or cancelled. Default: upcoming.
    from date Only bookings on or after this date.
    to date Only bookings on or before this date.
    customer_id string Only bookings of this customer.
    provider_id string Only bookings of this provider or team.
    cursor string Next page cursor from the previous call.

    Example response

    {
      "bookings": [
        {
          "booking_id": "48213",
          "customer": {
            "customer_id": "1207",
            "name": "Sarah Miller"
          },
          "services": [
            "Deep clean"
          ],
          "arrival": "2026-10-15T09:00:00-05:00",
          "provider": null,
          "folder": "unassigned",
          "price": "180.00"
        }
      ],
      "next_cursor": null
    }
  • POST

    get_booking

    read

    Returns one booking with its services, service address, assigned provider or team, price and job length adjustments, notes and charges. Use it before changing a booking so your agent sees its current state.

    POST /api/v1/bookingkoala/get_booking

    Input

    Input: get_booking
    Parameter Type Description
    booking_id required string Booking ID from list_bookings.

    Example response

    {
      "booking_id": "48213",
      "customer": {
        "customer_id": "1207",
        "name": "Sarah Miller"
      },
      "services": [
        "Deep clean"
      ],
      "address": "14 Maple Street, Austin, TX",
      "arrival": "2026-10-15T09:00:00-05:00",
      "provider": {
        "id": "312",
        "name": "Team Blue"
      },
      "price": "180.00",
      "notes": [
        {
          "type": "private_booking",
          "text": "Gate code 4417"
        }
      ],
      "charges": [
        {
          "charge_id": "90417",
          "amount": "50.00",
          "status": "charged"
        }
      ]
    }
  • POST

    list_customers

    read

    Lists customers, or searches them by name, email or phone. Each customer comes with addresses and a booking count. Use customer_id with list_bookings or create_booking. Pass next_cursor back as cursor for the next page.

    POST /api/v1/bookingkoala/list_customers

    Input

    Input: list_customers
    Parameter Type Description
    query string Search by name, email or phone.
    limit integer Customers per page.
    cursor string Next page cursor from the previous call.

    Example response

    {
      "customers": [
        {
          "customer_id": "1207",
          "name": "Sarah Miller",
          "email": "sarah@example.com",
          "phone": "+1 555 0100",
          "addresses": [
            "14 Maple Street, Austin, TX"
          ],
          "bookings": 6
        }
      ],
      "next_cursor": null
    }
  • POST

    list_providers

    read

    Lists providers and teams, active or not. Pass a date to see each provider's bookings that day, which shows who has room. Use the id as provider_id in list_bookings, create_booking and assign_provider.

    POST /api/v1/bookingkoala/list_providers

    Input

    Input: list_providers
    Parameter Type Description
    date date Show each provider's bookings on this day.

    Example response

    {
      "providers": [
        {
          "id": "312",
          "name": "Team Blue",
          "type": "team",
          "active": true,
          "bookings_on_date": 3
        },
        {
          "id": "318",
          "name": "Marcus Reed",
          "type": "provider",
          "active": true,
          "bookings_on_date": 1
        }
      ]
    }
  • POST

    list_charges

    read

    Lists charges from Booking Charges, newest first, with amount, status, payment method and any refund. Filter by booking or by charge date. The charge_id goes to refund_charge.

    POST /api/v1/bookingkoala/list_charges

    Input

    Input: list_charges
    Parameter Type Description
    booking_id string Only charges of this booking.
    from date Charged on or after this date.
    to date Charged on or before this date.

    Example response

    {
      "charges": [
        {
          "charge_id": "90417",
          "booking_id": "48213",
          "amount": "50.00",
          "status": "charged",
          "method": "card",
          "charged_at": "2026-10-15T12:30:00-05:00",
          "refunded": "0.00"
        }
      ]
    }
  • POST

    list_invoices

    read

    Lists invoices from the Invoice Dashboard, the active ones or the ones on the Overdue tab. Each has customer, amount and due date. The invoice_id goes to resend_invoice.

    POST /api/v1/bookingkoala/list_invoices

    Input

    Input: list_invoices
    Parameter Type Description
    status enum active or overdue. Default: active.

    Example response

    {
      "invoices": [
        {
          "invoice_id": "inv_7710",
          "customer": {
            "customer_id": "1207",
            "name": "Sarah Miller"
          },
          "amount": "240.00",
          "due_date": "2026-10-01",
          "status": "overdue"
        }
      ]
    }
  • POST

    get_provider_payments

    read

    Returns, per provider, the amount due for the pay period you give and the amount owed up to today, the same two figures as Provider Payments in BookingKoala. The amount owed up to today is never lower than the amount due for the period. It is read only: it does not pay anyone.

    POST /api/v1/bookingkoala/get_provider_payments

    Input

    Input: get_provider_payments
    Parameter Type Description
    from required date Start of the pay period.
    to required date End of the pay period.

    Example response

    {
      "from": "2026-09-28",
      "to": "2026-10-11",
      "providers": [
        {
          "id": "312",
          "name": "Team Blue",
          "amount_due": "1240.00",
          "owed_to_date": "1240.00"
        },
        {
          "id": "318",
          "name": "Marcus Reed",
          "amount_due": "610.00",
          "owed_to_date": "730.00"
        }
      ],
      "total_due": "1850.00"
    }
  • POST

    create_booking

    write

    Creates a booking for an existing customer, or for a new one when you pass a name and email. Without provider_id the booking waits in the unassigned folder. save_as can store it as a draft or a quote instead. Returns the booking_id and its folder. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/bookingkoala/create_booking

    Input

    Input: create_booking
    Parameter Type Description
    customer required object customer_id, or first_name, last_name and email for a new customer.
    services required object Industry and the services or extras picked on the booking form.
    arrival required datetime Date and arrival time, ISO 8601 with time zone.
    address string Service address. Default: the customer's existing address.
    provider_id string Provider or team. Omit to leave the booking unassigned.
    payment enum existing_card or cash_check. Default: existing_card.
    save_as enum booking, draft or quote. Default: booking.

    Example response

    {
      "booking_id": "48377",
      "status": "upcoming",
      "folder": "upcoming",
      "arrival": "2026-10-12T09:00:00-05:00",
      "customer": {
        "customer_id": "1207",
        "name": "Sarah Miller"
      },
      "provider": null,
      "payment": "cash_check"
    }
  • POST

    reschedule_booking

    write

    Moves one booking to a new date and arrival time and returns the updated booking. The assigned provider or team stays unless keep_provider is false. Rescheduling fees are set in BookingKoala; check them before moving many jobs. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/bookingkoala/reschedule_booking

    Input

    Input: reschedule_booking
    Parameter Type Description
    booking_id required string Booking ID from list_bookings.
    arrival required datetime New date and arrival time, ISO 8601 with time zone.
    keep_provider boolean Keep the assigned provider or team. Default: true.

    Example response

    {
      "booking_id": "48213",
      "status": "upcoming",
      "arrival": "2026-10-16T10:00:00-05:00",
      "provider": {
        "id": "312",
        "name": "Team Blue"
      }
    }
  • POST

    assign_provider

    write

    Assigns one provider or team to a booking, which takes it out of the unassigned folder. Pass several provider_ids to pair providers on one booking; that needs provider pairing switched on in your BookingKoala scheduling permissions and on each provider. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/bookingkoala/assign_provider

    Input

    Input: assign_provider
    Parameter Type Description
    booking_id required string Booking ID from list_bookings.
    provider_ids required string[] One provider or team, or several providers to pair.

    Example response

    {
      "booking_id": "48213",
      "status": "assigned",
      "folder": "upcoming",
      "providers": [
        {
          "id": "312",
          "name": "Team Blue"
        }
      ]
    }
  • POST

    add_booking_note

    write

    Adds a note to a booking. private_booking and private_customer notes are for your team only; for_provider is shown to the service provider, so it reaches another person. Returns the note_id. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/bookingkoala/add_booking_note

    Input

    Input: add_booking_note
    Parameter Type Description
    booking_id required string Booking ID from list_bookings.
    type required enum private_booking, private_customer or for_provider.
    text required string Note text.

    Example response

    {
      "note_id": "n_5521",
      "booking_id": "48213",
      "type": "for_provider",
      "status": "added"
    }
  • POST

    cancel_booking

    write

    Cancels one booking and moves it to the cancelled folder. charge_fee false cancels without your cancellation fee. pay_provider false skips the provider's share of the fee. reason takes one of the cancellation reasons you set up in BookingKoala. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/bookingkoala/cancel_booking

    Input

    Input: cancel_booking
    Parameter Type Description
    booking_id required string Booking ID from list_bookings.
    charge_fee boolean Charge your cancellation fee. Default: true.
    pay_provider boolean Pay the provider out of the fee. Default: true.
    reason string One of your cancellation reasons, if set up.

    Example response

    {
      "booking_id": "48213",
      "status": "cancelled",
      "folder": "cancelled",
      "fee_charged": false,
      "reason": "Customer request"
    }
  • POST

    send_quote

    write

    Emails a quote saved in the drafts and quotes folder to the customer, with an optional expiry date, reminder and offer. Returns the recipient and expiry. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/bookingkoala/send_quote

    Input

    Input: send_quote
    Parameter Type Description
    quote_id required string Quote ID from list_bookings with folder drafts_quotes.
    to string Recipient email. Default: the customer's email.
    expires_on date Expiry date of the quote link.
    reminder_days integer Send a reminder after this many days.
    offer string Discount, e.g. "10%" or "$20".

    Example response

    {
      "quote_id": "q_3302",
      "status": "sent",
      "to": "sarah@example.com",
      "expires_on": "2026-10-25"
    }
  • POST

    refund_charge

    write

    Refunds a charge in full, or in part when you pass amount; a partial amount includes tax. BookingKoala allows one refund per transaction, so a second refund on the same charge fails. The reason shows on the booking. notify false skips the customer notification. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/bookingkoala/refund_charge

    Input

    Input: refund_charge
    Parameter Type Description
    charge_id required string Charge ID from list_charges.
    amount string Partial refund including tax. Omit for a full refund.
    reason required string Reason shown on the booking.
    notify boolean Notify the customer. Default: true.

    Example response

    {
      "charge_id": "90417",
      "status": "refunded",
      "charge_amount": "50.00",
      "refunded": "25.00",
      "reason": "Kitchen not finished, half refunded"
    }
  • POST

    resend_invoice

    write

    Resends one unpaid invoice to its customer, the same as Resend in the Actions menu of the Invoice Dashboard. Returns the send time. By default you confirm each call; you can switch that off for this tool.

    POST /api/v1/bookingkoala/resend_invoice

    Input

    Input: resend_invoice
    Parameter Type Description
    invoice_id required string Invoice ID from list_invoices.

    Example response

    {
      "invoice_id": "inv_7710",
      "status": "resent",
      "to": "sarah@example.com",
      "sent_at": "2026-10-12T08:00:00-05:00"
    }

Setup

How do I connect BookingKoala to Claude Code, Codex or Cursor?

Connecting BookingKoala takes three steps: request access, sign in to BookingKoala once, then add one MCP server or call the REST API with the same key.

Connect BookingKoala over MCP

  1. 1

    Create an account

    Sign up and add BookingKoala in the console. Your API key is there too.

  2. 2

    Sign in to BookingKoala once

    Open the connect page from the console and sign in to BookingKoala the way you always do. We keep the session, never your password, and you can revoke it anytime.

  3. 3

    Add Cotlet to your agent

    Claude Code
    claude mcp add --transport http cotlet \
      https://cotlet.dev/mcp/v1 \
      --header "Authorization: Bearer $COTLET_API_KEY"
    Cursor
    {
      "mcpServers": {
        "cotlet": {
          "url": "https://cotlet.dev/mcp/v1",
          "headers": {
            "Authorization": "Bearer ${COTLET_API_KEY}"
          }
        }
      }
    }
    Codex
    # ~/.codex/config.toml
    [mcp_servers.cotlet]
    url = "https://cotlet.dev/mcp/v1"
    bearer_token_env_var = "COTLET_API_KEY"

    Paste the snippet for your client. The same server and key serve every app you connect, so you do this once.

  4. 4

    Ask your agent

    Prompt

    Go through the BookingKoala unassigned folder for this week. Give each job to the free provider with the fewest bookings that day, high priority first, and tell me which jobs nobody can take.

    Ask in plain words. Your agent finds the BookingKoala tools on the server and calls them for you; anything that reaches other people waits for your OK unless you switch that off for a tool.

Call BookingKoala over REST

  1. 1

    Export your API key

    Shell

    export COTLET_API_KEY="cotlet_..."

    Your scripts use the same API key as your agent. Keep it in an environment variable, never in your code.

  2. 2

    Call a tool

    curl

    curl https://cotlet.dev/api/v1/bookingkoala/reschedule_booking \
      -H "Authorization: Bearer $COTLET_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"booking_id":"48213","arrival":"2026-10-16T10:00:00-05:00","keep_provider":true}'

    Every tool is a POST endpoint at /api/v1/bookingkoala/{tool}. Send its parameters as JSON, exactly as listed in the endpoints above.

  3. 3

    Read the result

    Example response · reschedule_booking

    {
      "booking_id": "48213",
      "status": "upcoming",
      "arrival": "2026-10-16T10:00:00-05:00",
      "provider": {
        "id": "312",
        "name": "Team Blue"
      }
    }

    You get plain JSON back, ready for your script. A failed call costs nothing.

Why Cotlet

Why use Cotlet for BookingKoala? Hosted, safe and kept working.

  • Built for agents

    • One MCP server for every app you connect.
    • The same tools as a REST API for scripts and cron jobs.
    • Works with Claude Code, Codex and Cursor.
  • Your login stays yours

    • You sign in to BookingKoala yourself. We keep only the session, encrypted with AES-256.
    • The model never sees a login.
    • No stored passwords, no CAPTCHA solving, no MFA bypass.
  • You stay in control

    • Pick read only, or read and write.
    • Anything that reaches other people waits for your OK, unless you switch it off per tool.
    • Revoke access in one click.
  • Kept working for you

    • We test every integration daily.
    • When BookingKoala changes, the tool pauses until we fix it.
    • Failed calls cost nothing.

Alternatives

Is there a BookingKoala MCP server on GitHub?

Zapier and Make connect with a BookingKoala API key and react to events like New Booking or Booking Cancelled, but can only write one thing back: a lead. We found no open-source BookingKoala MCP server.

Cotlet compared with a Zapier or Make
Zapier or Make Cotlet
Setup Generate a key in Apps & Integrations, build a Zap or scenario per event Request access, sign in to BookingKoala once, add one MCP server or API key
Reading data Only events as they happen, no lookup of past bookings Search bookings, customers, charges and provider payments any time
Write actions Create Lead only Book, reschedule, assign, cancel, refund; you confirm each call by default
When the app changes Maintained by BookingKoala, Zapier and Make Our team tests it daily and fixes it for you; failed calls are free
Your session An API key you generate and keep in each tool Encrypted in an EU vault, limited to the actions you allow, revoked in one click
Where it runs Zapier or Make cloud, inside a fixed workflow Hosted: Claude Code, Codex, Cursor, n8n and scripts, also on a schedule
Price Free tier, paid plans for more tasks Free 7-day trial with 5,000 credits, then credits per call

Which one fits you

Pick Cotlet if

  • you are not a developer, or you do not want to maintain a server
  • you need it to keep working when BookingKoala changes, without checking it yourself
  • your agent or a script should run it on a schedule, also while your computer is off

Pick an open-source server if

  • you are comfortable installing, updating and fixing it yourself
  • you want the session to stay on your own computer
  • you only need it now and then, from one MCP client

For AI agents

Cotlet for BookingKoala in plain text The facts on this page in one block: status, endpoints, access, pricing, contact.

Endpoint health

verified 2h ago

  • list_bookings passing
  • get_booking passing
  • list_customers passing
  • list_providers passing
  • list_charges passing

+ 10 more endpoints

15/15 passing latest check self-healing

bookingkoala.txt

BookingKoala has no public, documented REST API (checked 11 Oct 2026). An API key from Settings > General > Apps & Integrations only connects Zapier and Make. Zapier gets event triggers for bookings, customers, providers, quotes, ratings and invoices plus one action, Create Lead; Make gets the same kind of triggers.
Cotlet provides a hosted MCP server and REST API for BookingKoala: 15 tools (7 read, 8 write).
Access       Request access at https://cotlet.dev/app/signup?app=bookingkoala; we email the API key.

MCP server   https://cotlet.dev/mcp/v1
REST base    https://cotlet.dev/api/v1/bookingkoala
Auth         Authorization: Bearer <COTLET_API_KEY>. Listing endpoints and schemas needs no key; calling an endpoint needs one.
Tools        list_bookings, get_booking, list_customers, list_providers, list_charges, list_invoices, get_provider_payments, create_booking, reschedule_booking, assign_provider, add_booking_note, cancel_booking, send_quote, refund_charge, resend_invoice
Confirm      create_booking, reschedule_booking, assign_provider, add_booking_note, cancel_booking, send_quote, refund_charge, resend_invoice (by default the user approves each call; the user can switch this off per tool, e.g. for scheduled automations)
Markdown     https://cotlet.dev/integrations/bookingkoala-api-mcp-server.md

How access works:
1. The user requests access at https://cotlet.dev/app/signup?app=bookingkoala (BookingKoala is pre-selected). Each request is reviewed and the API key is sent by email.
2. The user signs in to BookingKoala once in a browser. An agent cannot do this step.
3. The API key goes into the MCP client or the REST call as a bearer token.

Fits: people who want a hosted BookingKoala server that someone else maintains, including non-developers.

Policy: Cotlet never stores passwords, never solves CAPTCHAs, never bypasses MFA.
Company: legal details in the Terms of service at https://cotlet.dev/terms. Contact contact@cotlet.dev.
Session: the user signs in to BookingKoala in a browser; Cotlet keeps only the session, AES-256 encrypted, revocable in the dashboard at any time.
Terms: the user stays responsible for following BookingKoala's terms; Cotlet is not affiliated with BookingKoala.
Full page as Markdown

Automations

Can BookingKoala automations run on a schedule in n8n, Make or Zapier?

Yes. Cotlet does not replace your automation platform: it gives it a BookingKoala connection it does not have, with the same API key as your agent. Write actions ask for your OK by default; switch that off in your dashboard for the tools you choose, for example to assign unassigned bookings to providers, and the schedule runs on its own. Cotlet runs in the cloud, so it keeps going while your computer is off.

Where to run BookingKoala automations through Cotlet, and how to schedule them
Where How to connect How to schedule
Your AI agent Add https://cotlet.dev/mcp/v1 with your API key. A scheduled agent run, for example a Claude Code routine.
n8n MCP Client node with https://cotlet.dev/mcp/v1, or an HTTP Request node to https://cotlet.dev/api/v1/bookingkoala/{tool}. Schedule Trigger node.
Make HTTP module: POST https://cotlet.dev/api/v1/bookingkoala/{tool} with an Authorization: Bearer header and a JSON body. Scenario schedule.
Zapier Webhooks by Zapier: POST https://cotlet.dev/api/v1/bookingkoala/{tool} with the same header and body. Schedule by Zapier trigger.
Your own script POST https://cotlet.dev/api/v1/bookingkoala/{tool} with your API key. cron or GitHub Actions.

Pricing & limits

How much does the BookingKoala API cost?

Free 7-day trial with 5,000 credits, no card needed. After that, the BookingKoala API comes with the Cotlet plan, from $29 a month for 3,000 credits, with no limit on apps. Each month's credits stay valid for 3 months, so unused credits add up.

Cotlet plan sizes: price, monthly credits and price per credit
Size Price Credits / month Per credit
Solo $29/mo 3,000 about $0.0097
Pro $99/mo 12,000 about $0.0083
Agency $299/mo 40,000 $0.0075

Each successful call uses credits for the work it takes; failed calls and timeouts cost nothing. A hard spend cap is on by default. Authenticate with the Authorization: Bearer header.

About Cotlet

How Cotlet holds your access

Cotlet hosts MCP servers and REST APIs for apps with no usable API. Your agent works in your own BookingKoala account.

Company details
The legal name, address and registration numbers of the company behind Cotlet are in the Terms of service. Terms
Your session
You sign in to BookingKoala yourself, in your browser. We keep only the session, never your password: encrypted with AES-256 in an EU vault, isolated to your account and used only when your agent calls a BookingKoala tool you allowed. When it expires, your agent gives you a link to sign in again. Security
Revoking access
Disconnect BookingKoala in your dashboard: the session is deleted and access ends at once. Actions that reach other people wait for your OK unless you switch that off per tool.
What we never do
Store passwords, solve CAPTCHAs or bypass MFA.
BookingKoala's terms
You use your own BookingKoala account and stay responsible for following BookingKoala's terms. Cotlet is independent and not affiliated with BookingKoala. Terms
Contact
Questions about the company, security or an app: contact@cotlet.dev
About Cotlet

Frequently asked questions

How do I get access?

Request access and pick BookingKoala. Cotlet reviews each request and emails you your API key.

Do I need to be technical?

No. You sign in to BookingKoala once in your browser and paste one command into your agent, or one URL into n8n. Your agent can walk you through it. There is no server to install, update or fix.

Is a hosted server safe? My BookingKoala session would leave my computer.

Cotlet keeps your BookingKoala session encrypted with AES-256 in an EU vault, isolated to your account and used only for the tools you allow: read only, or read and write. The AI model never sees it, and you revoke it in one click. A local server keeps the same session in a file on your computer, readable by any program you run, and needs a fresh sign-in whenever it expires.

Do I need Zapier or an API key from BookingKoala?

No. Cotlet works in your own BookingKoala admin or staff account and does not use the API key from Apps & Integrations, which only connects Zapier and Make (checked 11 Oct 2026).

Can my agent post or send messages in BookingKoala without asking me?

No. Every call to create_booking, reschedule_booking, assign_provider, add_booking_note, cancel_booking, send_quote, refund_charge or resend_invoice waits for your OK by default. For scheduled automations you can switch confirmation off per tool in your dashboard, for example only for approvals.

Can I use the BookingKoala API in n8n?

Yes. Add https://cotlet.dev/mcp/v1 with your API key in n8n's MCP Client node, or call https://cotlet.dev/api/v1/bookingkoala/{tool} from the HTTP Request node.

Give your agent access to BookingKoala.

Request access and pick it. We review each request and email you your API key. Free 7-day trial with 5,000 credits, no card needed.