Scheduling
Apple Calendar
Connect Apple Calendar once and hand every teammate a governed MCP endpoint with 13 tools ready to call from Claude, ChatGPT, Cursor, or any MCP client, inside the same permissions they already have, with every call checked and logged.
Automations & dashboards
From answering questions to doing the work
A person no longer has to ask. A trigger starts the work, inside the same permissions and the same audit log as everything else. Automations and live dashboards ship on the Black plan.
Automations
Put Apple Calendar work on a schedule.
A trigger starts a sequence of steps: call a Apple Calendar tool, transform the result, branch, wait, and ask a person when it matters.
Apple Calendar digest
Run 418 · started 2 minutes ago · on behalf of Emma Laurent
-
✓
Schedule
Every weekday at 08:00
0.2s -
✓
Fetch events
Apple Calendar
1.4s -
✓
Group by owner
Transform
0.1s -
✓
Draft the digest
Agent step
Ran with 4 tools, returned a structured summary
6.2s -
Approve the digest
Needs approval
Assigned to Michael Brennan
Approve Deny -
Post the digest
Apple Calendar
Queued
Collections and dashboards
Report on Apple Calendar without asking.
Collections hold your own data, written by an automation and read by a dashboard that refreshes on a schedule.
Apple Calendar health
Refreshed 4 minutes ago · every 15 minutes · from the events collection
Events
1,284 ↓ 12%
Principals
96 ↓ 8%
Needs attention
3 ↑ 2
Updated this week
412 ↑ 9%
Events created
Last 14 days
By workspace
Share of activity
Engineering 34%
Product 27%
Support 21%
Sales 18%
AI tools
Apple Calendar tools for your AI agents
13 tools are ready to call through Elaichi's MCP endpoint the moment you connect Apple Calendar, governed by the same roles, restrictions, and audit log as everything else in Elaichi.
get_single_apple_calendar_principal_by_id
Discover the current-user-principal for the authenticated Apple Calendar user via CalDAV PROPFIND on the root resource. Returns a CalDAV 207 Multi-Status XML document containing the user's principal path (e.g., /200385701/principal/). Use the principal path with calendar_home.get to discover the partition host and calendar home URL.
get_single_apple_calendar_calendar_home_by_id
Discover the calendar-home-set URL for a principal via CalDAV PROPFIND. Returns a CalDAV 207 Multi-Status XML document containing the calendar home URL on the account's partition host (e.g., https://p34-caldav.icloud.com:443/200385701/calendars/). All subsequent calendar and event requests must use that partition host as base_url. Required: principal_path (from principals.get). Send XML body:
list_all_apple_calendar_calendars
List all Apple Calendar calendars for a user via CalDAV PROPFIND. Returns: displayname, calendar_color, resourcetype, supported_calendar_component_set, current_user_privilege_set, getctag, sync_token. Required: user_id.
get_single_apple_calendar_calendar_by_id
Get a single Apple Calendar calendar by id via CalDAV PROPFIND. Returns: displayname, calendar_color, resourcetype, supported_calendar_component_set, current_user_privilege_set, getctag, sync_token. Required: user_id, id.
create_a_apple_calendar_calendar
Create a new Apple Calendar calendar via CalDAV MKCALENDAR. The calendar_id should be a newly generated UUID. Returns an empty 201 response on success. Required: user_id, calendar_id.
update_a_apple_calendar_calendar_by_id
Update Apple Calendar calendar properties such as displayname, calendar_color, description, or timezone via CalDAV PROPPATCH. Returns: displayname, calendar_color, resourcetype, supported_calendar_component_set, current_user_privilege_set, getctag, sync_token. Required: user_id, id.
delete_a_apple_calendar_calendar_by_id
Delete an Apple Calendar calendar and all its events. Returns an empty 204 response on success. Required: user_id, id. This operation is irreversible.
apple_calendar_calendars_search
Run a CalDAV REPORT against a calendar collection on Apple Calendar / iCloud. The XML request body selects the report type: calendar-query (RFC 4791) to filter/list VEVENTs, calendar-multiget to fetch specific event hrefs, sync-collection (RFC 6578) for incremental sync (iCloud has no webhooks — poll this report), or free-busy-query (RFC 6638) for VFREEBUSY data. All report types use HTTP REPORT on the same calendar collection URL; only the XML body differs. Returns 207 Multi-Status XML. Required: user_id, id (calendar collection id).
create_a_apple_calendar_event
Create a new Apple Calendar event by uploading a full iCalendar VCALENDAR via HTTP PUT. event_id must be a new UUID without the .ics suffix (the .ics extension is appended to the URL automatically). Request body is raw text/calendar content. If-None-Match: * is sent automatically. Required: user_id, calendar_id, event_id.
get_single_apple_calendar_event_by_id
Fetch a single Apple Calendar event as an iCalendar (.ics) resource via HTTP GET. The id is the event resource filename including the .ics suffix (e.g., 603275E4-6A47-4EFA-BAEF-CCD33A314C30.ics). Returns text/calendar with an ETag header for conditional updates. Required: user_id, calendar_id, id.
update_a_apple_calendar_event_by_id
Update an existing Apple Calendar event by replacing the entire iCalendar VCALENDAR via HTTP PUT. iCloud does not support PATCH — GET the event first, modify VEVENT properties, then PUT the complete VCALENDAR back as raw text/calendar. Use If-Match with the event ETag for safe conditional updates. Required: user_id, calendar_id, id (filename including .ics suffix).
delete_a_apple_calendar_event_by_id
Delete an Apple Calendar event via HTTP DELETE on its .ics resource URL. Use If-Match with the event ETag for safe conditional deletion. Required: user_id, calendar_id, id (filename including .ics suffix).
get_single_apple_calendar_server_by_id
Probe Apple Calendar (iCloud) CalDAV server capabilities via HTTP OPTIONS on the root URL. Returns response headers such as DAV, Allow, and supported feature classes (calendar-access, calendar-schedule, sync-collection). Use during discovery before PROPFIND; does not return user or calendar data.
No tools match your search.
How it works
From Apple Calendar account to governed MCP endpoint
Connect
Link a Apple Calendar account through Elaichi's hosted connect flow. Credentials are vaulted, so nobody, including the AI, ever sees them.
Compose
The connection becomes a toolbox instantly. Curate which Apple Calendar tools are exposed, rename them, or freeze arguments.
Authorize
Point Claude, ChatGPT, Cursor, or any MCP client at the one Elaichi endpoint and sign in with OAuth, governed by roles, restrictions, and audit logs.
Put your agents to work in the tools you already use
Start a 14-day Gold trial. Connect a product, curate a toolbox, and paste a governed MCP endpoint into Claude, ChatGPT, or Cursor in minutes.