# Private Tabs - Product Overview This session will provide an overview of how Private Tabs work, explore their key features, and demonstrate practical use cases. Perfect for beginners and experienced users alike, this training will cover everything you need to know to maximize your experience with Private Tabs. Hosted by Fresh Paraguso at Private Tabs HQ. Meetings are 60 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=fresh-privatetabs&slug=`. 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": "fresh-privatetabs", "slug": "", "bookingSlot": { "start": "", "end": "" }, "timeZone": "America/New_York", "booker": { "email": "booker@example.com", "name": "Booker Name" }, "responses": [ { "fieldId": "01952033-7f14-7046-9c5e-f15422fe797d", "value": "" }, { "fieldId": "01952033-7f14-7046-9c5e-f4300d0aa6be", "value": "" }, { "fieldId": "01952037-2f4d-75cc-b015-3acde654d6c4", "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** (`01952033-7f14-7046-9c5e-f15422fe797d`, short_text, required) - **Email** (`01952033-7f14-7046-9c5e-f4300d0aa6be`, email, required) - **Phone Number** (`01952037-2f4d-75cc-b015-3acde654d6c4`, phone_number, required) - **Meeting Topic** (`01952033-7f14-7046-9c5e-f90fde7167a1`, text) ## Drop in now Drop in immediately (no booking): https://ro.am/r/#/n/AZUgM38UcEacXuapPxX2jA/5N3xfpphHLWIfBa_wtk9wA A structured JSON version of this page is available at https://ro.am/fresh-privatetabs.json.