New feature · Agent calendar

Your agent gets invited.It answers.

Every agent inbox reads meeting invitations from Gmail, Outlook and Apple Calendar, answers them, and sends its own. No Google account. No OAuth. Only email.

An invitation is an email. Watch where it goes.Nothing to connect. Only email.
  1. Organizer
    Jane Doe
    Gmail, Outlook or Apple
  2. Agent inbox
    scheduler@
    reads the invitation
  3. Inbox calendar
    Onboarding call
    event, guests, answer
  4. Your agent
    API, MCP or SDK
    decides and answers

Jane sends a normal invitation from her own calendar to the agent inbox.

Two readers

What a person clicks, your agent reads as data.

The same invitation reaches both. A person gets a card with Yes and No. Your agent gets the meeting as fields it can act on, with the time already in UTC and its own answer next to it. Switch the view and follow the numbers.

Read this invitation as
InvitationNeeds reply
Onboarding call
  • Thu, Oct 1, 2:00 to 2:30 PM EDT
  • Jane Doe, jane@northwind.example
  • meet.example.com/onb-7
What it does

One inbox, a whole calendar.

Answer invitations

Accept, decline or maybe, with a note if you like. The organizer’s calendar shows the answer, like any other guest’s.

Schedule meetings

Your agent sends the invitation. Guests get Yes and No buttons in the calendar they already use, and every answer comes back to the inbox.

Share a calendar

One private, read-only link. A person can follow the agent’s meetings in Google, Apple or Outlook Calendar.

Where it works

Tested with the calendars people use.

Guests do not install anything. They answer from the app they already have open.

AppYes and No buttonsThe answer reaches your inbox
Gmail and Google CalendarYesUsually within a minute
Outlook, web and desktopYesWithin a minute
Apple Calendar on MacYesWithin a few minutes
iPhone MailOpen it in the Calendar appAfter answering there
From code

One call puts a meeting on every guest’s calendar.

The same in the SDKs, the REST API and the MCP server. Moving or cancelling a meeting updates it everywhere, with no duplicate.

res = inbox.create_calendar_event(
"Intro call", "2026-10-06T14:00:00", timezone="America/New_York",
duration_minutes=30, attendees=["ali@example.com"],
location="https://meet.google.com/abc-defg-hij")
event_id = res["event"]["id"]

No Google account.

Nothing to connect and no consent screen. If the inbox gets mail, it has a calendar.

Only the organizer can change it.

Updates and cancellations count only when they come from the person who sent the invitation.

Nobody answers for someone else.

A guest’s answer counts only when it really comes from their own mail provider.

Give your agent a calendar.

Every agent inbox has one. Free to start.