Core integration

The time recordLive

An agent that says “booked” is telling the truth.

A calendar written for agents. Availability comes back as an answer rather than a raw diary, a booking is checked under a lock at the moment it is written, and a slot can be held while a caller makes up their mind.

The contract The agent that books through it

On your own organisation it is at /o/<slug>/calendar.

  • Availability is an answer

    Ask for a date, get only the times that may be offered — each with its spoken form, so an agent can read it out.

  • Checked under a lock

    Two agents cannot take the same slot. The one that loses is told, and handed the nearest free times in the same breath.

  • Safe to retry

    Writes are idempotent. A repeated call returns the booking it already made instead of making a second one.

Why it exists

Most calendars answer the question “what is in the diary?”. An agent needs the answer to a harder one: “what may I offer this person, right now, without lying?” That means the opening hours, what is already booked, the clear time the business wants between jobs, how many jobs can run at once, the notice it needs and how far ahead it will book — all folded in before a single time is spoken aloud.

How it works

  1. The rules are set once

    Hours per day in spans, slot length, how long a booking lasts, clear time between, how many at once — or named resources, like chairs, tables or vans, each taking one job at a time.

  2. An agent asks for a date

    Back come the times that fit, with their spoken forms: “Wednesday 23 September at 2pm”. Nothing the business cannot take is ever in that list.

  3. A slot can be held

    For a few minutes, while a caller checks with someone. The hold becomes the booking or expires on its own.

  4. The booking is written

    Under a lock per organisation, checked again at the moment of writing. A refusal carries alternatives, not just an error.

  5. It mirrors out

    Both ways into Google Calendar on two narrow permissions, and out as a subscription feed any calendar can read. When the owner’s own diary is busy, no agent offers that time.

An evening, from a call after hours

  1. 19:41
    A call the office was never going to take

    Ivy checks availability for tomorrow before she offers anything. Two slots survive the rules: 11am and 3pm.

  2. 19:42
    Held

    The caller wants to check with her husband. The 11am is held for five minutes rather than promised.

  3. 19:44
    Confirmed

    The hold becomes a booking. It carries who made it, from where, and the call it came from.

  4. 19:44
    In Google

    It appears in the owner’s AI3 calendar inside Google, and on the customer’s timeline as an open item due at 11.

  5. Next day 09:05
    Another agent tries the same slot

    It is refused, and offered 3pm instead. Nobody is double-booked and nobody has to notice.

What an agent calls

Over the AI3 MCP server from Claude or ChatGPT, and over HTTP with a personal token. Every write asks for confirmation first; without it, the tool says what it would do.

  • get_availabilityThe times that may be offered for a date, each with its spoken form.
  • list_eventsWhat is in the diary, by date, by number or by name.
  • book_eventWrite a booking, checked under a lock. A refusal carries the nearest free times.
  • hold_slotKeep a slot for a few minutes while a caller decides.
  • reschedule_eventMove one, with the same check and the same alternatives.
  • close_eventCancelled, done, or a no-show, with a reason.

What it will not do

  • An agent can never offer a time the business cannot take.
  • An agent cannot force a booking through the rules. The owner can put anything in; an agent may not.
  • Two agents never take the same slot, however close together they ask.

What it connects to

The systems this record mirrors to or draws on. Each row says whether it is switched on for this server, because a wall of logos that all look connected is the one thing these pages must not be.

  • Google Calendar
    Google Calendar

    Connected once per organisation, for every agent it has: bookings any agent makes appear in an AI3 calendar inside Google, and when the owner’s own Google calendar is busy no agent offers that time. Two narrow permissions, no access to the owner’s own events.

    Calendar → Google Calendar
    Each organisation connects its own
  • Google Calendar
    Apple Calendar, Outlook (subscription)

    A read-only subscription to the AI3 calendar, refreshed on their schedule.

    Calendar → Subscribe from any calendar
    Each organisation connects its own
  • ElevenLabs

    The receptionist’s voice, hearing and telephony bridge.

    Hire → Receptionist
    Connected on this server

Calendar is one of 5.

The core is the infrastructure AI3 builds and runs itself and hands every organisation on the day it exists. Read the rest, or see what your own systems plug into.

The contract The agent that books through it All integrations