INBOUND · TUE 09:00 · 5 PENDING

The API your
agents call
before writing
to a calendar.

When sales-bot, cal.ai, recruiting-bot, and your focus-time agent all want the same Tuesday 9 AM — Openavail picks one (by your rules, not last-write-wins) and writes the receipt.

Latency
< 200ms
Auth
OAuth + key
Transport
REST · MCP
Audit
Indexed ∞
[LIVE]--:--:--.---
▼ INBOUND · 5 PENDING
$ openavail tail --slot tue@09:00
09:03:14.211[REJ]sales-botsacred meeting · ceo-1on1 in flight
09:03:14.218[REJ]recruiting-botlower priority class
09:03:14.224[PMT]focus-botdisplaced by personal-asst
09:03:14.231[ACC]personal-asstpri 100 · written 188ms · dec_8XnPq7r3
09:03:14.244[CTR]cal.aioffered tue 09:30 · 14:00 · 16:00
━━━ 5 DECISIONS · 1 ACC · arbiter p99 188ms★ WINNER · personal-asst
· LOG dec_8XnPq7r3 · signed

◇ one slot · five agents · one winner · five audit rows

▸ RUNS WITHClaude Desktop · Cal.ai · Lindy · Reclaim · Custom MCP · REST agents
CH-02THE SHAPE

One POST.
One decision.
One audit row.

No client SDK required. If your agent speaks HTTP, it speaks Openavail. MCP server lands in v1.5.

▸ REQUEST

curl -X POST https://api.openavail.com/v1/availability \
  -H "Authorization: Bearer ak_01HXYZ..." \
  -H "Idempotency-Key: lead-12345-attempt-1" \
  -d '{
    "agent_id":      "sales-bot",
    "meeting_class": "external_customer_call",
    "owner":         "[email protected]",
    "slot": {
      "start": "2026-06-04T09:00:00Z",
      "end":   "2026-06-04T09:30:00Z"
    }
  }'

◂ RESPONSE

{
  "decision": "reject",
  "reason":   "sacred_meeting_conflict",
  "conflicts": [
    {
      "booking_id": "bk_ceo_1on1_q2",
      "class":      "internal_1_on_1",
      "priority":   100
    }
  ],
  "audit_id": "dec_8XnPq7r3",
  "arbiter_p99_ms": 188
}
CH-03THE PRIMITIVES

Three primitives.
That's the whole product.

§01PRIMITIVE

Ask before you book

Every agent points at one URL — Openavail. Before it writes to Google or Outlook, it asks us: "is this slot really free?" We answer yes, no, or try-this-instead — against rules you set.

§02PRIMITIVE

Priority, not chaos

When two agents want the same slot in the same millisecond, Openavail picks one — by the rules you wrote, not by whoever was faster to commit. Deterministic. Same inputs always produce the same winner.

§03PRIMITIVE

A receipt for every decision

Every accept, reject, preempt, and counter-propose is an audit row. Which agent. Which key. Which rule fired. Queryable forever, exportable as JSONL.

CH-04WHERE IT SITS

Many agents in.
One decision out.

Your agents stop talking to Google directly. They talk to Openavail. We hold the only real token — and own the only writes to the calendar.

sales-bot
recruiting-bot
focus-bot
↓ ↓ ↓
openavail · arbitrate
one decision · one audit row · one calendar write
CH-05POST-FLIGHT LOG

"Which agent
booked over my
CEO 1:1?"

Five-second answer. By agent identity, by API key, by rule fired, by calendar owner. Exportable as JSONL. Indexed forever. The artifact your security team asks for in week one of any procurement review.

Arbiter P99
< 200ms
Audit retention
indefinite
Auth
OAuth + key
Tokens at rest
KMS-wrapped

AUDIT_ROW · SAMPLE

AUDIT · DEC_8XNPQ7R314:02:11.090Z
action          = preempt
actor.agent_id  = recruiting-bot
actor.api_key   = ak_01HX7QQM…
owner           = [email protected]
requested.slot  = Thu 14:00–14:45
requested.class = recruiting_interview · pri 80
conflicts       = 1 (focus-bot · focus_block · pri 50)
rule_fired      = composite/may_recruiting (+20)
displaced       = [focus-bot] needs_reschedule
side_effects    = google.cancel, google.create, email.undo
─── SIGNED · K=ACME-ED25519 · 188MS P99
CH-06ENTER THE CONSOLE
LANE A · BUILDERS

Running your own stack of agents?

Free tier covers personal calendars and indie projects. Sign in with Google, connect your calendar, point your agents at us. Five minutes.

LANE B · TEAMS

Five agents booking across 200 calendars?

Org-wide rules, multi-user permissions, exportable audit log, SLA. We'll walk your team through it and help you cut over from direct calendar API access.


GOOGLE WORKSPACE REQUIRED · MICROSOFT 365 WHEN A CUSTOMER ASKS · PRICING SUBJECT TO CHANGE DURING PUBLIC BETA