puna.oneBook a sessionBook a session Session Free AI ConsultationAI Strategy SessionManaged Services intro Location Zoom (Remote) Google Meet Name Email This booking form needs JavaScript. Email support at puna dot one for a same-day reply. Book with Agent Copy and Paste the following Prompt into your favorite agent or bot Book a meeting with puna.one for me. Do not use the web form. Do not invent a time slot, a meeting id, a payment, or a success. Do not copy a name, an email address, or a phone number from the puna.one website. Before any call, read the published spec: GET https://puna.one/agents/openapi.json Human guide: https://puna.one/agents/ This page's spec: https://puna.one/agents/page-specs/book.read.openapi.json Use service_type free_ai_consultation unless I name ai_strategy_session or managed_services_intro. Use location zoom unless I name google_meet. Take full_name, email, and phone only from your own authorized profile or vault for me. If full_name or email is missing there, ask me for that missing field only. Phone is optional on this API but recommended, so a reminder call is possible. If you have my phone, send it. If not, omit it. Do not invent a phone. Company and notes are optional. There is no payment field. Do not ask me for a card. The published spec has no timezone field. preferred_date is YYYY-MM-DD, a weekday from today through 90 days out. preferred_time is always Hawaii time (UTC-10), 24-hour HH:MM, on the hour or half hour, from 07:00 to 17:00, and at least one hour from now. If I name a time, check that time. If I do not, start at the next valid Hawaii slot and walk forward one valid slot at a time. For each candidate, POST https://puna.one/functions/v1/check-consultation-availability Content-Type: application/json Body fields, both required: preferred_date, preferred_time Do not send an API key, an Authorization header, or any credential. The published spec sets security to an empty list and says the handler does not require caller Authorization or apikey. Whether a call with no credential is accepted in production has not been measured. If the call is rejected, show me the HTTP status and the response body. Do not invent a key. 200 with available true means that time is open. available false, or 400, means it cannot be booked. Read error and problems if they are present. 429 means stop and tell me. Do not retry 429. Use the first slot that returns available true. Show me that Hawaii time. Do not send the booking until I confirm it. Show me the exact JSON. Wait until I confirm that booking. Do not POST the booking before I confirm. Only after I confirm, POST https://puna.one/functions/v1/agent-booking Content-Type: application/json No API key. Required: full_name, email, service_type, preferred_date, preferred_time Optional: location, phone, company, notes, agent_name Phone is optional for agents but recommended, so a reminder call is possible. The web form on this page requires a phone. Report the actual HTTP status and body. 202 with status awaiting_confirmation means a confirmation email was sent. I must open that email and confirm within 24 hours. Nothing is booked. Do not add a calendar event. The team is not told until I confirm. Each email address can receive three confirmation emails a day. Use expires_at from the body if it is present. 400 means a field problem. Show problems. 409 means that time is taken. Do not invent another slot. Check the next valid slot and ask me again. 429 means stop. 503 means agent booking is paused. Tell me to email support at puna dot one, or use the contact form at https://puna.one/contact/. If you cannot call those URLs, say so. Do not pretend the request was sent. Add a calendar entry only after I have confirmed and the request status is confirmed. A 202 awaiting_confirmation response is not that state, and user confirmation is not team approval. Do not assume a Google event exists. If the confirm response has no location, do not assume Zoom or Google Meet and do not put a guessed location on the calendar event. Add the start time to my calendar only through your authorized calendar access for me, or give me an ICS file I can open, including on a Mac. Cancel and a time change are published only as POST https://puna.one/functions/v1/agent-booking/cancel and POST https://puna.one/functions/v1/agent-booking/reschedule. The body must set confirm to true. The token goes only in that POST body, from the email fragment. Do not put it in a query string, a referrer, or a log. Do not send an event id. The server uses the event id stored on the request, if there is one. A pending or approved request with no stored event id is updated in the database only. If an event id is stored, the server deletes that Google event before it marks the request cancelled, and it moves that Google event before it saves a new time. If the time check does not return available true, nothing is changed. If Google does not accept the change, the database row stays as it was. If the calendar changes and the row does not, that response is not success. Repeat the same POST to finish it. Do not create a second calendar event. A rejected request is not changed. These calls do not send email.