complete_task
ChatGPTMark a task as completed. Works on regular tasks, calendar-synced tasks, and recurring task instances (pass recurring_id + day). Idempotent — succeeds if already completed.
complete_task
ChatGPTMark an existing Structured task as completed after first identifying it with list_tasks/get_today/get_tasks_for_day/get_inbox. Pass exactly one identifier: id for regular/calendar tasks, or recurring_id + day for recurring instances. Idempotent — succeeds if already completed.
create_recurring_task
ChatGPTCreate a recurring task in Structured (Pro only). Use this instead of create_task when the task repeats on a schedule.
create_recurring_task
ChatGPTCreate a recurring task in Structured (Pro only). Use this instead of create_task when the task repeats on a schedule.
create_task
ChatGPTCreate a new task in Structured. Three task types: (1) Inbox - an unscheduled to-do with no date (omit 'day'); (2) All-day - tied to a date but no specific time ('day' + 'is_all_day'); (3) Timed - scheduled at a specific date and time ('day' + 'start_time'). When the user does not specify a date, always create an inbox task.
create_task
ChatGPTCreate a new task in Structured. Three task types: (1) Inbox - an unscheduled to-do with no date (omit 'day'); (2) All-day - tied to a date but no specific time ('day' + 'is_all_day'); (3) Timed - scheduled at a specific date and time ('day' + 'start_time'). When the user does not specify a date, always create an inbox task.
delete_task
ChatGPTDelete a task or recurring series. For regular tasks: pass id. For recurring tasks: pass recurring_id + delete_scope (this/future/all). Calendar-synced tasks are hidden instead of deleted.
delete_task
ChatGPTDelete an existing Structured task after first identifying it with list_tasks/get_today/get_tasks_for_day/get_inbox. For regular tasks: pass id. For recurring tasks: pass recurring_id + delete_scope (this/future/all). Calendar-synced/imported tasks are hidden locally in Structured instead of deleted from the external calendar. Use confirmation_title only as display text for confirmation prompts; it is never used to select the task.
get_inbox
ChatGPTList all tasks in the inbox (unscheduled tasks).
get_inbox
ChatGPTList all tasks in the Structured inbox (unscheduled Structured tasks). Only use for the user's Structured planner data, not for external services or external calendar or email/gmail accounts.
get_supported_symbols
ChatGPTList task icon symbol codes the user can assign in Structured for one category. Choose the closest category for the task first, then pick the best symbol from this tool's response. Free accounts receive only assignable Free symbols in that category; Pro accounts receive the full category.
get_supported_symbols
ChatGPTList task icon symbol codes the user can assign in Structured for one category. Choose the closest category for the task first, then pick the best symbol from this tool's response. Free accounts receive only assignable Free symbols in that category; Pro accounts receive the full category.
get_tasks_for_day
ChatGPTList all tasks scheduled for a specific day. Use this when the user asks for one explicit date other than today and you want the same daily planner view as get_today.
get_tasks_for_day
ChatGPTList Structured tasks scheduled for a specific day. Only use for the user's Structured planner data. Do not use for Google Calendar, Apple Calendar, Outlook, or other external calendar account questions unless the user explicitly asks about tasks already available in Structured. Use this when the user asks for one explicit Structured date other than today and you want the same daily planner view as get_today.
get_today
ChatGPTList all tasks scheduled for today. This is the main tool - Structured is a daily planner focused on today's schedule. Use get_tasks_for_day for a specific other day and list_tasks for ranges or additional filters.
get_today
ChatGPTList Structured tasks scheduled for today. Only use for the user's Structured planner data. Do not use for Google Calendar, Apple Calendar, Outlook, or other external calendar account questions unless the user explicitly asks about tasks already available in Structured. This is the main tool - Structured is a daily planner focused on today's schedule. Use get_tasks_for_day for a specific other Structured day and list_tasks for Structured ranges or additional filters.
list_tasks
ChatGPTList tasks with optional filters across one or more days. Use get_today for today and get_tasks_for_day for a single specific day when you want the daily planner view.
list_tasks
ChatGPTList Structured tasks with optional filters across one or more days. If no day_from/day_to is provided, defaults to scheduled tasks from today onward. Only use for the user's Structured planner data. Do not use for Google Calendar, Apple Calendar, Outlook, or other external calendar account questions unless the user explicitly asks about tasks already available in Structured. Use title_contains + is_imported:true to find imported/calendar-synced Structured tasks, then use update_task on each listed task id only. Use get_today for today and get_tasks_for_day for a single specific Structured day when you want the daily planner view.
update_task
ChatGPTUpdate an existing task. Only provided fields are changed. Calendar-synced tasks only support is_completed. Regular tasks can be converted to recurring by providing recurring_type (Pro only). Recurring: always pass recurring_id + day (YYYY-MM-DD). Use is_completed or completion-only subtask changes without update_action (free), or use update_action (only_this/all_future/all/stop_repeating) for recurring edits (Pro only).
update_task
ChatGPTUpdate an existing Structured task after first identifying it with list_tasks/get_today/get_tasks_for_day/get_inbox. Only provided fields are changed. Pass exactly one identifier: id for regular/calendar tasks, or recurring_id + day (YYYY-MM-DD) for recurring instances. Calendar-synced tasks only support local overrides: is_completed, symbol, color, subtasks, and energy_level; use delete_task to hide them locally. Regular tasks can be converted to recurring by providing recurring_type (Pro only). Use is_completed or completion-only subtask changes without update_action (free), or use update_action (only_this/all_future/all/stop_repeating) for recurring edits (Pro only).