Module
Integrations
The connective layer — a native MCP endpoint with per-scope tools, a playground running real calls, scoped API keys, webhooks with replay, and an embeddable booking widget.
Integrations is where the claim the rest of this site makes becomes a screen. There is an MCP endpoint an agent connects to with a bearer token; the tool list it receives is filtered to that key's permissions, and tools marked sensitive require an explicit confirmation. Around it sit the ordinary things a platform needs — scoped keys, webhooks with delivery history and replay, a playground, and a no-code booking widget.
A native MCP endpoint, filtered to the key
An agent connects with an endpoint and a bearer token. Every tool is listed with what it does and the exact scope it needs — list reservations, list guests, list bookings, read KPIs, create a guest — and the ones that change something are flagged sensitive and require confirmation. The tool list an agent receives is the tool list its key permits, so scoping is not advisory.

Every call, its channel, and its outcome
One log covers app, API and MCP. A row names when the call happened, which key made it, what it tried to do, and whether it was allowed. A key reaching past its scopes shows “denied” against the exact tool it tried — which makes a misconfigured agent a five-second diagnosis instead of an afternoon.

Real requests, real responses, including the refusal
The playground issues a short-lived scratch key, shows the scopes it carries and a countdown to expiry, and runs the calls in the browser. One endpoint returns 200 with the raw JSON; another returns 403 because the scratch key does not hold its scope. Both are worth seeing before you build.

Keys scoped to operations, webhooks with replay
A key is created against an explicit permission grid — individually selectable scopes named for the operation they allow — and its scopes are visible in the list without opening it. Webhooks subscribe to named events, keep a full delivery history including the verbatim transport error, and any single delivery can be replayed.


The no-code path onto the same availability
An embeddable widget takes dates and a promo code and searches the same availability the API serves, so a property with no developer still gets commission-free direct bookings. Direct and channel bookings then sit in one list, distinguished by how the money is collected.

This is the module an agent is a first-class user of rather than an operator of. It discovers what it may call from the tool list, gets a 403 naming the scope when it reaches past that, and leaves a row in the activity log either way. Nothing here is a separate integration surface: the tools are the operations the other nine modules already expose.
Go deeper
Every screen above is documented, operation by operation, against the shipped product.
Wondering whether this is for a property your size?
← All features