# Meet with Catherine McMillan, Founding Director at The AI Collective Thank you for scheduling some time! To help make the most of our time together, please be sure to fill out the questions on the invitation :) Hosted by Catherine McMillan at The AI Collective. 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=catherinem&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": "catherinem", "slug": "", "bookingSlot": { "start": "", "end": "" }, "timeZone": "America/New_York", "booker": { "email": "booker@example.com", "name": "Booker Name" }, "responses": [ { "fieldId": "0196a29d-4685-711d-b18d-e709ace606d7", "value": "" }, { "fieldId": "0196a29d-4685-711d-b18d-e83ddc36b86e", "value": "" }, { "fieldId": "0196c56f-bf86-74c0-ae33-2de50a287725", "value": "" }, { "fieldId": "0196c56f-dc3d-71db-8b46-37cc9e61adcc", "value": "" }, { "fieldId": "019afb94-5fc6-73ec-91ab-1c2eea64c539", "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** (`0196a29d-4685-711d-b18d-e709ace606d7`, short_text, required) - **Email** (`0196a29d-4685-711d-b18d-e83ddc36b86e`, email, required) - **Notes** (`0196a29d-4685-711d-b18d-ef3121e47602`, short_text) - **Phone Number** (`0196c56f-bf86-74c0-ae33-2de50a287725`, phone_number, required) - **Phone Number** (`0196c56f-dc3d-71db-8b46-37cc9e61adcc`, phone_number, required) - **What does "winning" look like for you after this call?** (`019afb94-5fc6-73ec-91ab-1c2eea64c539`, text, required) - **One thing you are grateful for today** (`019afb94-ad77-75b9-960c-0048f2a7f7ab`, short_text) A structured JSON version of this page is available at https://ro.am/catherinem.json.