calendrier
title: Calendar sidebar_label: Calendar (10) sidebar_position: 6 doc_type: reference
Calendar
Overview
Create events, manage calendars, and check availability.
Prerequisites
- API key with the MCP preset and required scopes
- Configured MCP client (see Configuration)
Quick start examples
Create an event
- List your calendars :
{
"name": "calendar_list",
"arguments": {}
}
- Create an event :
{
"name": "calendar_create_event",
"arguments": {
"calendarId": "uuid-du-calendrier",
"title": "Reunion equipe",
"startAt": "2026-03-15T10:00:00Z",
"endAt": "2026-03-15T11:00:00Z"
}
}
calendar_check_overlaps
[READ] Check for scheduling conflicts within a proposed time range.
USE WHEN:
- Before creating or rescheduling an event to avoid double-booking
- Need to find a free time slot across calendars
- Validating availability for a proposed meeting time RETURNS: hasOverlaps flag, list of overlapping events with id/title/start/end, total count. REQUIRES: startAt and endAt (proposed time range) RELATED:
- calendar_create_event: Create event after confirming no overlaps
- calendar_update_event: Reschedule after confirming availability
- calendar_list_events: Browse events in a time range EXAMPLE: "Is 2pm-3pm available?" or "Check for conflicts" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
endAt | string | Yes | Proposed end datetime (ISO 8601) |
startAt | string | Yes | Proposed start datetime (ISO 8601) |
calendarIds | array | No | Calendars to check (default: all) |
excludeEventId | string (uuid) | No | Exclude this event from overlap check (for rescheduling) |
Response
| Field | Type | Description |
|---|---|---|
hasOverlaps | boolean | |
overlappingEvents | array | |
id | string | |
title | string | |
startAt | string | |
endAt | string | |
calendarId | string | |
total | number |
Related tools :
calendar_create_event,calendar_list_events,calendar_update_event
calendar_create_event
[WRITE] Create a new event in a calendar.
USE WHEN:
- Need to schedule a new event, meeting, task, or reminder
- Need to create recurring events (RRULE)
- Need to link an event to an ontology entity (espaceId) RETURNS: Created event with id, calendarId, title, start/end, eventType, createdAt. REQUIRES: calendarId (from calendar_list), title, start/end times NOTE: All-day events use startOn/endOn (dates). Timed events use startAt/endAt (datetimes). RELATED:
- calendar_list: Get calendarId first
- calendar_check_overlaps: Verify no conflicts before creating
- calendar_update_event: Modify the event after creation EXAMPLE: "Schedule a meeting tomorrow at 2pm" → this tool
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
calendarId | string (uuid) | Yes | Calendar to create the event in |
title | string | Yes | Event title |
allDay | boolean | No | Whether this is an all-day event (default : false) |
color | string | No | Event color (#RRGGBB) |
description | string | No | Event description |
endAt | string | No | End datetime (ISO 8601) - for timed events |
endOn | string | No | End date (YYYY-MM-DD) - for all-day events |
espaceId | string (uuid) | No | Link to ontology entity |
eventType | choice (event, meeting, task, reminder, deadline, custom) | No | Event type (default : "event") |
location | string | No | Event location |
metadata | record | No | Custom metadata |
recurrenceRule | string | No | RFC 5545 RRULE (e.g. FREQ=WEEKLY;BYDAY=MO,WE,FR) |
startAt | string | No | Start datetime (ISO 8601) - for timed events |
startOn | string | No | Start date (YYYY-MM-DD) - for all-day events |
timezone | string | No | Timezone (e.g. Europe/Paris) (default : "UTC") |
visibility | choice (private, workspace, public) | No | Event visibility (default : "workspace") |
Response
| Field | Type | Description |
|---|---|---|
id | string | |
calendarId | string | |
title | string | |
startAt | string | |
endAt | string | |
startOn | string | |
endOn | string | |
eventType | string | |
createdAt | string |
Example
{
"name": "calendar_create_event",
"arguments": {
"calendarId": "uuid-du-calendrier",
"title": "Reunion equipe",
"startAt": "2026-03-15T10:00:00Z",
"endAt": "2026-03-15T11:00:00Z"
}
}
Related tools :
calendar_list,calendar_check_overlaps,calendar_update_event
calendar_delete_event
[DESTRUCTIVE] Delete a calendar event permanently.
USE WHEN:
- Need to remove an event from the calendar
- Need to cancel an appointment or meeting RETURNS: Confirmation with deleted flag and eventId. REQUIRES: eventId (UUID from calendar_list_events or calendar_get_event) WARNING: This action is destructive and cannot be undone. RELATED:
- calendar_get_event: Verify event details before deleting
- calendar_list_events: Find the event ID to delete EXAMPLE: "Delete the meeting" or "Cancel tomorrow\
| Scope | mcp.write |
| Read-only | No |
| Destructive | Yes |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
eventId | string (uuid) | Yes | The event ID to delete |
Response
| Field | Type | Description |
|---|---|---|
deleted | boolean | |
eventId | string |
Related tools :
calendar_get_event,calendar_list_events
calendar_entity_events
[READ] Get calendar events linked to a specific ontology entity.
USE WHEN:
- Need to find events related to a business entity (e.g. Client, Project, Deal)
- Need to see the calendar context of an ontology node
- Need to bridge ontology and calendar modules RETURNS: Array of events with id, title, calendarId, calendarName, startAt/startOn, status. REQUIRES: espaceId (UUID of the ontology entity) RELATED:
- calendar_list_events: List events by time range instead
- ontology_get_node: Get the linked ontology node details
- calendar_get_event: Get full event details by ID EXAMPLE: "Show events linked to this client" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
espaceId | string (uuid) | Yes | The ontology entity/espace ID |
Response
| Field | Type | Description |
|---|---|---|
events | array | |
id | string | |
title | string | |
calendarId | string | |
calendarName | string | |
startAt | string | |
startOn | string | |
status | string | |
total | number |
Related tools :
calendar_list_events,ontology_get_node,calendar_get_event
calendar_get_event
[READ] Get full details of a specific calendar event by ID.
USE WHEN:
- Need complete event details (description, metadata, recurrence, location)
- Need the version field for subsequent updates (OCC)
- Need espaceId to see ontology entity link RETURNS: Full event with all fields including metadata, version, visibility, espaceId. REQUIRES: eventId (UUID from calendar_list_events) RELATED:
- calendar_update_event: Modify this event (requires version)
- calendar_list_attendees: See who is invited
- calendar_delete_event: Remove this event EXAMPLE: "Show me the details of this meeting" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
eventId | string (uuid) | Yes | The event ID |
Response
| Field | Type | Description |
|---|---|---|
id | string | |
calendarId | string | |
title | string | |
description | string | |
allDay | boolean | |
startAt | string | |
endAt | string | |
startOn | string | |
endOn | string | |
timezone | string | |
recurrenceRule | string | |
location | string | |
color | string | |
eventType | string | |
status | string | |
visibility | string | |
espaceId | string | |
metadata | record | |
version | number | |
createdAt | string | |
updatedAt | string |
Related tools :
calendar_update_event,calendar_list_attendees,calendar_delete_event
calendar_list
[DISCOVERY] List all calendars in the current workspace.
USE WHEN:
- Need to find a calendar by name or ID
- Need calendar IDs for subsequent calendar tools (create/list events)
- Getting started with calendar features RETURNS: Array of calendars with id, name, timezone, color, visibility, isPrimary, timestamps. RELATED:
- calendar_list_events: List events in a calendar
- calendar_create_event: Create an event in a calendar
- calendar_sync_status: Check external sync connections EXAMPLE: "What calendars do I have?" or "Show my calendars" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Response
| Field | Type | Description |
|---|---|---|
calendars | array | |
id | string | |
name | string | |
description | string | |
timezone | string | |
color | string | |
visibility | string | |
isPrimary | boolean | |
createdAt | string | |
updatedAt | string | |
total | number |
Example
{
"name": "calendar_list",
"arguments": {}
}
Related tools :
calendar_list_events,calendar_create_event,calendar_sync_status
calendar_list_attendees
[READ] List all attendees of a calendar event with RSVP status.
USE WHEN:
- Need to see who is invited to an event
- Need to check RSVP / response status for each attendee
- Need to identify the organizer of an event RETURNS: Array of attendees with id, email, displayName, responseStatus, isOrganizer, isOptional. REQUIRES: eventId (UUID from calendar_list_events) RELATED:
- calendar_get_event: Get full event details
- calendar_list_events: Find the event ID EXAMPLE: "Who is attending the meeting?" or "Check RSVPs" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
eventId | string (uuid) | Yes | The event ID |
Response
| Field | Type | Description |
|---|---|---|
attendees | array | |
id | string | |
eventId | string | |
userId | string | |
email | string | |
displayName | string | |
responseStatus | string | |
isOrganizer | boolean | |
isOptional | boolean | |
total | number |
Related tools :
calendar_get_event,calendar_list_events
calendar_list_events
[DISCOVERY] List events within a time range, optionally filtered by calendar or type.
USE WHEN:
- Need to see upcoming events or browse agenda
- Need to find events by date range, calendar, or event type
- Need event IDs for subsequent operations (get, update, delete) RETURNS: Array of events with id, title, start/end datetimes, type, status, recurrence info. REQUIRES: start and end datetime range (ISO 8601) RELATED:
- calendar_get_event: Get full event details by ID
- calendar_list: Get calendar IDs for filtering
- calendar_check_overlaps: Check for scheduling conflicts EXAMPLE: "Show events this week" or "List meetings for today" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
end | string | Yes | End datetime (ISO 8601 with offset) |
start | string | Yes | Start datetime (ISO 8601 with offset, e.g. 2025-01-01T00:00:00Z) |
calendarIds | array | No | Filter by specific calendar IDs |
espaceId | string (uuid) | No | Filter by ontology entity ID |
eventTypes | array | No | Filter by event types (event, meeting, task, reminder, deadline) |
Response
| Field | Type | Description |
|---|---|---|
events | array | |
id | string | |
calendarId | string | |
title | string | |
description | string | |
allDay | boolean | |
startAt | string | |
endAt | string | |
startOn | string | |
endOn | string | |
timezone | string | |
recurrenceRule | string | |
location | string | |
eventType | string | |
status | string | |
createdAt | string | |
total | number |
Related tools :
calendar_get_event,calendar_list,calendar_check_overlaps
calendar_sync_status
[READ] Check the status of external calendar sync connections (Google, Outlook).
USE WHEN:
- Need to verify external sync is active and healthy
- Need to troubleshoot sync issues (paused, error, revoked)
- Need to see when last sync occurred RETURNS: Array of connections with id, provider, status (active/paused/error/revoked), lastSyncAt, calendarId. RELATED:
- calendar_list: List local calendars EXAMPLE: "Is Google Calendar syncing?" or "Check sync status" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
userId | string (uuid) | No | Filter by user ID (default: all users) |
Response
| Field | Type | Description |
|---|---|---|
connections | array | |
id | string | |
provider | string | |
status | string | |
lastSyncAt | string | |
calendarId | string | |
createdAt | string | |
total | number |
Related tools :
calendar_list
calendar_update_event
[WRITE] Update an existing calendar event (partial update).
USE WHEN:
- Need to reschedule, rename, or modify an event
- Need to change event type, status, visibility, or location
- Need to link/unlink an ontology entity RETURNS: Updated event with id, title, new version, updatedAt. REQUIRES: eventId + version (from calendar_get_event for OCC) NOTE: Throws 409 on version conflict — re-fetch via calendar_get_event and retry. RELATED:
- calendar_get_event: Get current version before updating
- calendar_check_overlaps: Verify no conflicts when rescheduling EXAMPLE: "Reschedule the meeting to 3pm" → this tool
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
eventId | string (uuid) | Yes | The event ID to update |
version | number | Yes | Current version (for optimistic concurrency control) |
allDay | boolean | No | Change to all-day or timed event |
color | string | No | New color |
description | string | No | New description (null to clear) |
endAt | string | No | New end datetime |
endOn | string | No | New end date (all-day) |
espaceId | string (uuid) | No | Link/unlink ontology entity |
eventType | choice (event, meeting, task, reminder, deadline, custom) | No | |
location | string | No | New location |
metadata | record | No | |
recurrenceRule | string | No | New RRULE (null to remove) |
startAt | string | No | New start datetime |
startOn | string | No | New start date (all-day) |
status | choice (confirmed, tentative, cancelled) | No | |
timezone | string | No | New timezone |
title | string | No | New title |
visibility | choice (private, workspace, public) | No |
Response
| Field | Type | Description |
|---|---|---|
id | string | |
title | string | |
version | number | |
updatedAt | string |
Related tools :
calendar_get_event,calendar_check_overlaps
Need help?
Contact us: Support and contact.