Skip to main content
Glama

Create a calendar event

calendar_create_event

Add a new event to a Home Assistant calendar by providing a title, start time, and end time. Use for local or CalDAV calendars that support event creation.

Instructions

Create a new event on a calendar via the calendar.create_event service.

Maps start/end to the service's start_date_time/end_date_time fields. Calling this twice with identical arguments creates two separate events, since HA assigns each a new uid.

Use when: adding a new event to a calendar that supports creation (local or CalDAV calendars). Not for: removing an event — use calendar_delete_event. Returns: {"entity_id", "summary", "start", "end", "result": ...} where result is the service-call response.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endYesEvent end as an ISO 8601 datetime, e.g. '2026-04-28T11:00:00'.
startYesEvent start as an ISO 8601 datetime, e.g. '2026-04-28T10:00:00'.
summaryYesEvent title, e.g. 'Dentist appointment'.
locationNoOptional event location text. Omit for none.
entity_idYesCalendar entity ID to add the event to, e.g. 'calendar.family'.
descriptionNoOptional longer event description/notes. Omit for none.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.25.1
    • addedInput schema / properties / description / description
      Added value: +"Optional longer event description/notes. Omit for none."
    • addedInput schema / properties / end / description
      Added value: +"Event end as an ISO 8601 datetime, e.g. '2026-04-28T11:00:00'."
    • addedInput schema / properties / entity_id / description
      Added value: +"Calendar entity ID to add the event to, e.g. 'calendar.family'."
    • addedInput schema / properties / location / description
      Added value: +"Optional event location text. Omit for none."
    • addedInput schema / properties / start / description
      Added value: +"Event start as an ISO 8601 datetime, e.g. '2026-04-28T10:00:00'."
    • addedInput schema / properties / summary / description
      Added value: +"Event title, e.g. 'Dentist appointment'."
  2. First observedv0.3.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly=false, idempotent=false, destructive=false. The description adds real behavioral context beyond annotations: it explains the non-idempotency mechanism (two identical calls yield two events because HA assigns a new `uid`) and the parameter-to-service field mapping (start/end -> start_date_time/end_date_time).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core verb+resource, then structured into mapping, when/not-for, and returns sections. Slightly verbose, and the Returns section partly duplicates the output schema, but every sentence carries usable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with a full output schema and full annotation coverage, the description supplies the missing behavioral pieces (non-idempotency, service field mapping, sibling routing). The Returns restatement is redundant given the output schema, but nothing needed to call it correctly is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all six parameters are documented in the schema; baseline is 3. The description adds marginal value by clarifying how start/end map to the underlying service fields, but adds no syntax beyond the ISO 8601 examples already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Create) and resource (new event on a calendar), and names the sibling it is not for removal (`calendar_delete_event`). An agent can distinguish it from calendar_list_events and calendar_delete_event without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit `Use when:` clause (adding an event to a calendar that supports creation, local or CalDAV) and an explicit `Not for:` clause routing deletion to `calendar_delete_event`. Both the when and when-not conditions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools