Calendar write control for AI agents

Stop AI agents from double-booking your calendar.

Openavail makes every agent ask first, follow your rules, and leave a readable decision record.

Decision workbench

Tue 09:00, [email protected]

live

sales-agent

Customer demo

accepted

recruiting-agent

Candidate screen

countered

focus-agent

Deep work block

preempted

Receipt

One event written. Every other agent gets an answer.

Rule
meeting class priority
Audit
dec_8XnPq7r3

Calendar providers store events. They do not arbitrate agents.

Direct calendar access breaks when sales, recruiting, personal assistants, and internal workflows all act on the same owner.

Agents race each other

Two assistants can see the same open slot before either one writes the event.

Calendars lack priority

A focus block and a customer call look similar to the provider, even when they should not.

Humans lose the reason

When the calendar changes, teams still need to know which agent asked and which rule answered.

The narrow path before any calendar write.

Openavail turns agent scheduling into a predictable sequence a human can review.

Check

Openavail reads live availability, active holds, owner rules, meeting class priority, and agent permissions.

Allowed slots

Hold

The selected slot gets a short reservation inside Openavail, so another agent cannot promise the same time.

5 minute hold

Commit

Approved requests become calendar events. Rejected requests receive a structured reason or alternatives.

Calendar event

Explain

Every decision records the agent, owner, rule set, meeting class, side effects, and audit trail.

Decision log

Controls for agents. Receipts for humans.

The dashboard keeps calendar owners in charge of rules, keys, permissions, and decision history.

Google calendar connection
Agent API keys
Meeting classes
Working hours
Preemption policy
Audit log
Drift cases
Simulator

Built for REST, SDK, and MCP workflows.

Agents can check availability, create holds, confirm bookings, simulate decisions, and read pending notifications.

REST APITypeScript SDKMCP server
sdk exampleRead docs
const openavail = new OpenavailClient({
  apiKey: process.env.OPENAVAIL_API_KEY
});

const slots = await openavail.checkAvailability({
  ownerEmail: "[email protected]",
  durationMinutes: 30,
  meetingClass: "customer_demo",
  windowStart: "2026-06-25T09:00:00Z",
  windowEnd: "2026-06-25T17:00:00Z"
});

await openavail.confirmHold({
  holdId: slots.holdId,
  title: "Customer demo",
  attendees: ["[email protected]"]
});

Pricing you can understand before you click.

Start free with one calendar. Upgrade when you need more agents, more calendars, or longer audit history.

Compare details

Free

$0forever free

1 agent, 1 calendar, 50 bookings each month.

Start free
Recommended

Pro

$20per month

5 agents, 5 calendars, simulator, drift detection.

Get Pro

Team

$70per month

Unlimited agents, 10 owners, 365 day audit retention.

Get Team

Questions before you connect.

A few answers about providers, holds, preemption, and what Openavail is not.

Is Openavail a scheduling link?

No. It is the API agents call before writing to a calendar. Humans still control calendars, rules, agents, and keys.

Which calendar provider works today?

The current product supports Google sign-in and Google calendar connection. Microsoft 365 is roadmap.

What is a hold?

A hold is a temporary reservation inside Openavail. It keeps draft scheduling work out of the visible calendar.

Can agents preempt meetings?

Only when policy allows it. Higher-priority requests can displace lower-priority bookings and record the decision.

Give every calendar write a reason.

Connect Google Calendar, register an agent, and make the next booking go through Openavail first.