Run a Whole Roster of Bookable Hosts From One Account
Vennio multi-host accounts let agencies, L&D teams, and coaching networks book hundreds of independent hosts through one API integration — each with their own calendar and attribution.
Most scheduling tools assume one calendar per account. That breaks the moment you run people on a platform: a coaching network with 200 coaches, an agency booking on behalf of its clients, an L&D team where every facilitator takes their own sessions.
Until now, Vennio assumed it too. One account, one bookable identity. Connect a calendar and everything funneled into a single principal. If you wanted ten coaches, you wired up ten accounts and ten keys.
That’s fixed. Multi-host accounts let one account manage many independently-bookable hosts — each with their own calendar, availability, and bookings — through one integration and a few keys.
How it works
A host is a full principal with its own principal_id. You provision one, hand the host a link to connect their own calendar, then query and book against them directly. The booking is attributed to that host and lands on their calendar.
# 1. Provision a host
curl -X POST https://api.vennio.app/v1/hosts \
-H "Authorization: Bearer $VENNIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "display_name": "Coach Alice" }'
# 2. Get a connect link to send the coach (they connect their own calendar)
curl -X POST https://api.vennio.app/v1/hosts/$HOST_ID/connect-link \
-H "Authorization: Bearer $VENNIO_API_KEY"
# 3. Book against that specific host
curl -X POST https://api.vennio.app/v1/bookings \
-H "Authorization: Bearer $VENNIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "principal_id": "'$HOST_ID'", "customer_email": "jane@example.com",
"customer_name": "Jane Doe", "start_time": "2026-07-01T13:00:00Z",
"end_time": "2026-07-01T13:30:00Z" }'
Or with the SDK:
const host = await vennio.hosts.create({ display_name: 'Coach Alice' });
const link = await vennio.hosts.createConnectLink(host.principal_id);
// email link.connect_url to the coach
await vennio.bookings.create({
principal_id: host.principal_id,
customer_email: 'jane@example.com',
customer_name: 'Jane Doe',
start_time: '2026-07-01T13:00:00Z',
end_time: '2026-07-01T13:30:00Z',
});
AI agents get the same surface over MCP — provision_host, list_hosts, create_host_connect_link, and create_booking with a principal_id.
What you don’t have to build
- No per-host accounts or key sprawl. A few keys carry delegated authority over every host you manage. Booking against a host you don’t manage returns a clean
403— delegation is scoped, not open. - No credential handling. Hosts connect their own Google or Microsoft calendars through a hosted link. You never touch their tokens.
- No merged free/busy. Each host returns their own availability. Two hosts, two independent calendars — never one blob.
Who it’s for
Agencies booking for clients. L&D and coaching networks. Marketplaces of practitioners. Any B2B2C product where the people being booked aren’t you.
Multi-host is available on the Scale tier, with per-key rate limits sized to your roster. Read the Multi-Host Accounts guide, or get in touch to set up a pilot.