---
{
  "id": "platform.calendar.timezones-allday-and-reminders",
  "topic": "calendar",
  "title": "Calendar timezones, all-day events, and reminders",
  "locale": "en",
  "version": "2026-08-25",
  "summary": "Calendar uses IANA timezones and ISO datetimes, converts all-day local dates to UTC intervals, and sends bounded event notifications.",
  "content": "Use a valid IANA timezone such as `Asia/Taipei`. Timed `startAt` and `endAt` values are ISO datetimes in UTC or with an explicit offset, and `endAt` must be later than `startAt`. The timezone controls recurring wall-clock expansion and all-day conversion; do not replace it with a guessed fixed offset.\n\n`allDay` defaults to false. For `allDay: true`, provide `date` as YYYY-MM-DD plus `timezone`; runtime stores the interval from local 00:00 through the following local 00:00 converted to UTC. Switching a timed event to all-day requires `date` and `timezone`. Switching an all-day event to timed requires `startAt` and `endAt`. A list range must move forward and cannot exceed 180 days; split a larger request.\n\nReminder values are exactly 0, 5, 15, 30, 60, or 1440 minutes; 0 means at event time. All-day events retain only 1440, meaning one day before. Notifications go to the calendar owner and members. They are event notifications, not Agent automation: if the user wants work to execute or the Agent to wake at a time, use Cron. Recurring reminders are pre-generated by runtime; do not promise an exact generation or delivery latency.\n",
  "aliases": [
    "calendar timezone",
    "all-day event",
    "event reminder",
    "IANA timezone",
    "reminder minutes",
    "date conversion",
    "180 day range"
  ],
  "tags": [
    "calendar",
    "timezone",
    "reminders"
  ],
  "relatedActions": [
    "arinova.calendar.list_events",
    "arinova.calendar.create_event",
    "arinova.calendar.update_event"
  ],
  "relatedActionPrefixes": [],
  "url": "https://docs.arinova.ai/en/kb/calendar/timezones-allday-and-reminders/"
}
---

Use a valid IANA timezone such as `Asia/Taipei`. Timed `startAt` and `endAt` values are ISO datetimes in UTC or with an explicit offset, and `endAt` must be later than `startAt`. The timezone controls recurring wall-clock expansion and all-day conversion; do not replace it with a guessed fixed offset.

`allDay` defaults to false. For `allDay: true`, provide `date` as YYYY-MM-DD plus `timezone`; runtime stores the interval from local 00:00 through the following local 00:00 converted to UTC. Switching a timed event to all-day requires `date` and `timezone`. Switching an all-day event to timed requires `startAt` and `endAt`. A list range must move forward and cannot exceed 180 days; split a larger request.

Reminder values are exactly 0, 5, 15, 30, 60, or 1440 minutes; 0 means at event time. All-day events retain only 1440, meaning one day before. Notifications go to the calendar owner and members. They are event notifications, not Agent automation: if the user wants work to execute or the Agent to wake at a time, use Cron. Recurring reminders are pre-generated by runtime; do not promise an exact generation or delivery latency.
