Answer an invitation
respond_to_eventAccepts, declines or tentatively accepts an invitation someone else sent the user. The organiser is notified — that is the point: removing an invitation from the calendar without answering leaves them expecting the user.
The event_id comes from get_availability, for a calendar the user allowed managing (manageable: true in list_calendars).
Everything needed is in the get_availability or search_events result — pass event_id AND calendar_id straight back, and read is_recurring and is_organizer from the same entry instead of asking the user about them.
When is_recurring is true, set scope: "occurrence" answers only that date, "series" answers all of them. If the user named a date ("on Tuesday"), that IS "occurrence" — do not ask. Ask only when they named none, because declining one date and declining a standing commitment are different messages to the organiser.
Refusals name the way forward; pass them on rather than retrying.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | For a recurring appointment: answer only this date ("occurrence") or every date ("series"). Required as soon as the appointment repeats. | |
| comment | No | Optional note for the organiser, sent with the answer | |
| event_id | Yes | The `event_id` from get_availability or search_events | |
| response | Yes | The answer to send to the organiser | |
| calendar_id | No | The `calendar_id` that came back beside the event. Always pass it — it is in the same result, and leaving it out costs a round trip whenever more than one calendar is available. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| needs | No | ||
| scope | No | ||
| title | No | ||
| event_id | Yes | ||
| question | No | ||
| response | Yes | ||
| warnings | No |