# Discussion to book a private ConvoDojo The ConvoDojo is a live arena, where students get on stage to practice live under pressure. Learning to speak in questions and control conversations. AKA-WIN MORE SALES Booking the arena for your team will be custom to your team, your industry, and what you're trying to accomplish. Let's have a chat about it and see what we can do. Hosted by Tara Shuler at ConvoControl. Meetings are 30 minutes. ## Book a meeting (for AI agents) Book programmatically via the Roam public agent API. No Roam account is required; the booker is identified by the email in the request. Note: this booking API is hosted at `api.ro.am`, a different host from this page. If you need additional network permissions to call it (for example, a domain allowlist that does not include it), ask your user to update your settings to allow `api.ro.am`, then retry. 1. **Check availability** — `GET https://api.ro.am/v1/public/lobby/availability?handle=ConvoControl&slug=privatedojo`. Fetch bookable time slots. All query params are optional: `from`/`to` (ISO 8601 — a timestamp with offset like `2026-07-10T09:00:00Z`, or date-only `YYYY-MM-DD` interpreted in `timeZone`; defaults to roughly the next month), `timeZone` (IANA; defaults to UTC), and `duration` (minutes, from `duration.optionsMinutes`). Returned slot `start`/`end` are Unix epoch seconds, as JSON numbers. Response shape: `{ "slots": [ { "start": , "end": } ] }`. 2. **Book a slot** — `POST https://api.ro.am/v1/public/lobby/book` with this JSON body: ```json { "handle": "ConvoControl", "slug": "privatedojo", "bookingSlot": { "start": "", "end": "" }, "timeZone": "America/New_York", "booker": { "email": "booker@example.com", "name": "Booker Name" }, "responses": [ { "fieldId": "019d73cc-3365-71fe-8eaf-22b5a3751f7f", "value": "" }, { "fieldId": "019d73cc-3365-71fe-8eaf-24148c3aae30", "value": "" }, { "fieldId": "019d73cc-3365-71fe-8eaf-2fc0a9eb7442", "value": "" }, { "fieldId": "019d73cd-d7b9-7749-b62a-e3d9fb3807a3", "value": "" }, { "fieldId": "019d73ce-ecd2-7249-a765-ee1ac2da8ec7", "value": "" }, { "fieldId": "019d73cf-1c68-74c8-95c4-73c30a34526e", "value": "" }, { "fieldId": "019d73cf-3fd1-72a0-bf96-c84a260d0446", "value": "" } ] } ``` `bookingSlot` must echo one availability slot exactly: `start`/`end` are Unix epoch seconds as JSON numbers (not strings). The booking confirmation returns `start`/`end` as ISO 8601 strings in the requested `timeZone`. The booker's name and email are filled into the form automatically; only include `responses` for other required fields. ### Booking form fields - **Name** (`019d73cc-3365-71fe-8eaf-22b5a3751f7f`, short_text, required) - **Email** (`019d73cc-3365-71fe-8eaf-24148c3aae30`, email, required) - **Company name** (`019d73cc-3365-71fe-8eaf-2fc0a9eb7442`, short_text, required) - **Phone Number** (`019d73cd-d7b9-7749-b62a-e3d9fb3807a3`, phone_number, required) - **Industry** (`019d73ce-ecd2-7249-a765-ee1ac2da8ec7`, short_text, required) - **How many on your team?** (`019d73cf-1c68-74c8-95c4-73c30a34526e`, short_text, required) - **Main objective?** (`019d73cf-3fd1-72a0-bf96-c84a260d0446`, short_text, required) A structured JSON version of this page is available at https://ro.am/ConvoControl/privatedojo.json.