Skip to main content

codebolt.calendar

Calendar event management tools for creating, updating, and tracking events, meetings, reminders, and deadlines.

Available Tools

  • calendar_create_event - Creates a new calendar event with various types and configurations
  • calendar_update_event - Updates an existing calendar event (only provided fields are changed)
  • calendar_delete_event - Permanently deletes a calendar event by its ID
  • calendar_get_event - Retrieves a single calendar event by its ID with full details
  • calendar_list_events - Lists calendar events with optional filters for date range, types, and more
  • calendar_get_upcoming - Retrieves upcoming events within a specified time window
  • calendar_mark_complete - Marks a calendar event as complete with a completion timestamp
  • calendar_get_status - Retrieves the current status of the calendar scheduler

Tool Parameters

calendar_create_event

Creates a new calendar event with the specified parameters. Supports various event types including generic, meeting, reminder, deadline, check, and milestone. Can configure recurring events, reminders, participants, and metadata.

ParameterTypeRequiredDescription
titlestringYesTitle of the event
startTimestringYesStart time of the event in ISO 8601 format
descriptionstringNoDescription of the event
eventTypestringNoType of event: 'generic', 'meeting', 'reminder', 'deadline', 'check', 'milestone'
endTimestringNoEnd time of the event in ISO 8601 format
hasDurationbooleanNoWhether the event has a duration
allDaybooleanNoWhether this is an all-day event
swarmIdstringNoID of the swarm this event belongs to
participantsarrayNoList of participants (objects with id, name, type, status)
isRecurringbooleanNoWhether the event is recurring
cronExpressionstringNoCron expression for recurring events
recurrenceEndTimestringNoEnd time for recurrence in ISO 8601 format
reminderobjectNoReminder settings (enabled: boolean, minutesBefore: number)
agendastringNoAgenda for meetings
checkTypestringNoType of check for check events: 'email', 'website', 'api', 'file'
tagsarrayNoTags for the event
metadataobjectNoAdditional metadata as key-value pairs
createdByIdstringNoID of the creator
createdByNamestringNoName of the creator
createdByTypestringNoType of the creator: 'user', 'agent', 'team', 'swarm'
agentExecutionIdstringNoAgent execution ID
threadIdstringNoThread ID

calendar_update_event

Updates an existing calendar event with new values. Only the fields provided will be updated; other fields remain unchanged. Requires the event ID and at least one field to update.

ParameterTypeRequiredDescription
eventIdstringYesID of the event to update
titlestringNoNew title for the event
descriptionstringNoNew description for the event
eventTypestringNoNew event type: 'generic', 'meeting', 'reminder', 'deadline', 'check', 'milestone'
startTimestringNoNew start time in ISO 8601 format
endTimestringNoNew end time in ISO 8601 format
hasDurationbooleanNoWhether the event has a duration
allDaybooleanNoWhether this is an all-day event
participantsarrayNoUpdated list of participants
isRecurringbooleanNoWhether the event is recurring
cronExpressionstringNoCron expression for recurring events
recurrenceEndTimestringNoEnd time for recurrence in ISO 8601 format
reminderobjectNoReminder settings (enabled: boolean, minutesBefore: number)
agendastringNoAgenda for meetings
checkTypestringNoType of check for check events: 'email', 'website', 'api', 'file'
tagsarrayNoTags for the event
metadataobjectNoAdditional metadata as key-value pairs

calendar_delete_event

Deletes a calendar event by its ID. This action is permanent and cannot be undone.

ParameterTypeRequiredDescription
eventIdstringYesID of the event to delete

calendar_get_event

Retrieves a single calendar event by its ID. Returns the full event details including title, description, times, participants, and all other properties.

ParameterTypeRequiredDescription
eventIdstringYesID of the event to retrieve

calendar_list_events

Lists calendar events with optional filters. Can filter by date range, event types, creator, participant, swarm, tags, search query, and completion status.

ParameterTypeRequiredDescription
startDatestringNoStart date for filtering events in ISO 8601 format
endDatestringNoEnd date for filtering events in ISO 8601 format
eventTypesarrayNoFilter by event types: 'generic', 'meeting', 'reminder', 'deadline', 'check', 'milestone'
creatorIdstringNoFilter by creator ID
participantIdstringNoFilter by participant ID
swarmIdstringNoFilter by swarm ID
includeRecurrencesbooleanNoInclude recurrences in the results
tagsarrayNoFilter by tags
searchstringNoSearch query string to filter events
completedbooleanNoFilter by completion status (true for completed, false for incomplete)
includeCompletedbooleanNoInclude completed events in results (default behavior may exclude them)
onlyTriggeredbooleanNoOnly return triggered events (events whose start time has passed)

calendar_get_upcoming

Retrieves upcoming calendar events within a specified time window. By default, returns events within the next 60 minutes. Use the withinMinutes parameter to adjust the time window.

ParameterTypeRequiredDescription
withinMinutesnumberNoNumber of minutes to look ahead for upcoming events (defaults to 60)

calendar_mark_complete

Marks a calendar event as complete. This updates the event's completed status and records the completion timestamp.

ParameterTypeRequiredDescription
eventIdstringYesID of the event to mark as complete

calendar_get_status

Retrieves the current status of the calendar scheduler. Returns information about whether the scheduler is running, the last and next check times, and the number of scheduled events.

ParameterTypeRequiredDescription
(none)--This tool takes no parameters

Sample Usage

// Create a meeting event
const meetingResult = await codebolt.tools.executeTool(
"codebolt.calendar",
"calendar_create_event",
{
title: "Sprint Planning Meeting",
startTime: "2024-12-15T10:00:00Z",
endTime: "2024-12-15T11:00:00Z",
eventType: "meeting",
description: "Weekly sprint planning session",
hasDuration: true,
participants: [
{ id: "user-1", name: "John Doe", type: "user", status: "pending" },
{ id: "agent-1", name: "Code Assistant", type: "agent", status: "accepted" }
],
agenda: "1. Review completed tasks\n2. Plan next sprint\n3. Assign priorities",
reminder: { enabled: true, minutesBefore: 15 },
tags: ["sprint", "planning"]
}
);

// Create a deadline event
const deadlineResult = await codebolt.tools.executeTool(
"codebolt.calendar",
"calendar_create_event",
{
title: "Project Milestone: Beta Release",
startTime: "2024-12-31T23:59:00Z",
eventType: "deadline",
description: "Beta version must be ready for testing",
reminder: { enabled: true, minutesBefore: 1440 },
tags: ["milestone", "beta"]
}
);

// Create a recurring reminder
const reminderResult = await codebolt.tools.executeTool(
"codebolt.calendar",
"calendar_create_event",
{
title: "Daily Standup",
startTime: "2024-12-01T09:00:00Z",
eventType: "reminder",
isRecurring: true,
cronExpression: "0 9 * * 1-5",
recurrenceEndTime: "2025-03-31T09:00:00Z",
reminder: { enabled: true, minutesBefore: 5 }
}
);

// Create a check event
const checkResult = await codebolt.tools.executeTool(
"codebolt.calendar",
"calendar_create_event",
{
title: "API Health Check",
startTime: "2024-12-15T00:00:00Z",
eventType: "check",
checkType: "api",
isRecurring: true,
cronExpression: "0 */6 * * *",
metadata: { endpoint: "https://api.example.com/health" }
}
);

// Get event details
const eventDetail = await codebolt.tools.executeTool(
"codebolt.calendar",
"calendar_get_event",
{ eventId: "event-123" }
);

// Update an event
const updateResult = await codebolt.tools.executeTool(
"codebolt.calendar",
"calendar_update_event",
{
eventId: "event-123",
title: "Updated Meeting Title",
startTime: "2024-12-15T14:00:00Z",
endTime: "2024-12-15T15:00:00Z",
description: "Rescheduled to afternoon"
}
);

// List events with filters
const events = await codebolt.tools.executeTool(
"codebolt.calendar",
"calendar_list_events",
{
startDate: "2024-12-01T00:00:00Z",
endDate: "2024-12-31T23:59:59Z",
eventTypes: ["meeting", "deadline"],
includeRecurrences: true,
tags: ["sprint"],
includeCompleted: false
}
);

// Get upcoming events
const upcoming = await codebolt.tools.executeTool(
"codebolt.calendar",
"calendar_get_upcoming",
{ withinMinutes: 120 }
);

// Mark event as complete
const completeResult = await codebolt.tools.executeTool(
"codebolt.calendar",
"calendar_mark_complete",
{ eventId: "event-123" }
);

// Get calendar scheduler status
const status = await codebolt.tools.executeTool(
"codebolt.calendar",
"calendar_get_status",
{}
);

// Delete an event
const deleteResult = await codebolt.tools.executeTool(
"codebolt.calendar",
"calendar_delete_event",
{ eventId: "event-456" }
);
info

Calendar tools support multiple event types (generic, meeting, reminder, deadline, check, milestone), recurring events with cron expressions, participant management with statuses (pending, accepted, declined), and check types for automated monitoring (email, website, api, file). All timestamps should be in ISO 8601 format.