← Back to all apps

Dunzo - Task Assistant

Productivityby Richard Chang

Dunzo is a conversational task assistant that helps you capture and organize tasks through natural conversation.

What you can do: • Capture quick tasks: "remind me to call mom" or "buy milk" • Manage ongoing lists: groceries, packing lists, movies to watch • Plan projects: break down bigger goals into steps

Just tell ChatGPT what you need to do, and Dunzo tracks it for you. No forms, no apps to switch between – just chat.

Dunzo is an independent product and is not affiliated with any other companies or services.

9ChatGPT Tools
Richard ChangDeveloper
ProductivityCategory

Available Tools

Archive Task

archive_task
Full Description

Archive a task to hide it from default task views.

When to use:

  • User wants to hide a completed project they no longer need to see
  • User wants to archive an old grocery/shopping list
  • User says "archive this", "hide this list", "I don't need this anymore"
  • Cleaning up old tasks without deleting them

Works on ALL task types:

  • FINITE tasks: Archive completed or abandoned tasks
  • PROJECT tasks: Archive completed projects
  • ONGOING_LIST tasks: Archive lists no longer in use (e.g., old "Groceries" list)

Unlike mark_complete:

  • Works on ONGOING_LIST tasks (lists cannot be "completed", only archived)
  • Semantic: "archive" = hide from view, "complete" = finished

Archived tasks can be restored later (unarchive feature coming soon).

This is a GATED action - only call after explicit user confirmation.

IMPORTANT: The result is displayed in a visual widget. Do NOT repeat the task name in your text response - just give a brief acknowledgment like "Archived!" or "Done."

Parameters (1 required, 2 optional)
Required
taskIdstring

ID of the task to archive (required)

Optional
idempotencyKeystring

Unique key to prevent duplicate archiving on retry

reasonstring

Optional reason for archiving (e.g., "No longer needed")

Create Subtasks

create_subtasks
Full Description

Add subtasks to an existing task. Call this AFTER create_task when breaking down work.

Use for:

  • Breaking down a PROJECT into actionable steps ("Plan vacation" → "Book flights", "Reserve hotel", "Make itinerary")
  • Adding items to an ONGOING_LIST ("Groceries" → "Milk", "Eggs", "Bread")

Rules:

  • All subtasks are FINITE type (they can be completed individually)
  • Cannot add subtasks to a subtask (only one level of nesting)
  • Cannot add subtasks to a completed task (except ONGOING_LIST)

IMPORTANT: The added items are displayed in a visual widget above your response. Do NOT list the items in your text response - just confirm briefly like "Added!" or "Got it, I've added those items."

Parameters (2 required, 2 optional)
Required
parentTaskIdstring

ID of the parent task to add subtasks to (required)

subtasksarray

Array of subtasks to create (required, 1-50 items)

Optional
displaystring

How to show the created subtasks. "widget" = show subtask list (default), "text" = describe in response only, "both" = both.

Options:widgettextboth
idempotencyKeystring

Unique key to prevent duplicate subtask creation on retry

Create Task

create_task
Full Description

Create a new task. Use this for any user request to track, remember, or do something.

Task types:

  • FINITE (default): One-time tasks with clear completion ("buy milk", "send email to John")
  • PROJECT: Multi-step tasks needing planning ("plan vacation", "write quarterly report")
  • ONGOING_LIST: Never-ending lists that persist ("groceries", "movies to watch", "gift ideas")

For simple capture ("remind me to X", "add X to my list"), just provide the title. All other fields have sensible defaults.

IMPORTANT: The created task is displayed in a visual widget above your response. Do NOT repeat the task details in your text response - just confirm briefly like "Created!" or "Got it, I've added that."

Parameters (1 required, 6 optional)
Required
titlestring

What the user wants to do or track (required, max 200 chars)

Optional
displaystring

How to show the created task. "widget" = show task card (default), "text" = describe in response only, "both" = both.

Options:widgettextboth
dueAtstring

Due date in ISO 8601 format (e.g., "2024-12-25T10:00:00Z")

idempotencyKeystring

Unique key to prevent duplicate task creation on retry

intentstring

Original user request context. Useful for PROJECT tasks to remember the full scope.

remindAtstring

Reminder time in ISO 8601 format

taskTypestring

Type of task. Default: FINITE. Use PROJECT for complex multi-step work, ONGOING_LIST for recurring collections like groceries.

Options:FINITEPROJECTONGOING_LIST

Get Task

get_task
Full Description

Get a single task by ID with its subtasks and summary.

Use this to:

  • Get full details of a specific task
  • See subtasks of a project or list
  • Check current status before making updates

Returns the task with its subtasks (if any) and summary (if PROJECT).

IMPORTANT: Task details are displayed in a visual widget above your response. Do NOT repeat the task title, subtasks, or details in your text response - the user can already see them. Just acknowledge briefly.

Parameters (1 required, 1 optional)
Required
taskIdstring

ID of the task to retrieve (required)

Optional
displaystring

How to show results. "widget" = visual card only (default for display requests), "text" = your response only (for internal lookups), "both" = both.

Options:widgettextboth

Mark Complete

mark_complete
Full Description

Mark a task as completed (finished/done).

When to use:

  • User says "done", "finished", "completed that", etc.
  • The work is actually finished - semantic meaning is "I accomplished this"
  • For FINITE tasks: can complete directly from PLANNED or IN_PROGRESS
  • For PROJECT tasks: typically complete from IN_PROGRESS or READY_FOR_REVIEW

Complete vs Archive (important distinction):

  • mark_complete: The task is DONE, work is finished (e.g., "I finished the report")
  • archive_task: Hide from view, may not be done (e.g., "I don't need this list anymore")
  • ONGOING_LIST tasks can ONLY be archived (they're never "done" - use archive_task instead)

Preconditions:

  • Task must be FINITE or PROJECT (not ONGOING_LIST)
  • Task must be in a status that allows completion

This is a GATED action - only call after explicit user confirmation for important tasks.

IMPORTANT: The completion result is displayed in a visual widget. Do NOT repeat the task name or details in your text response - just give a brief acknowledgment like "Done!" or "Marked as complete."

Parameters (1 required, 3 optional)
Required
taskIdstring

ID of the task to complete (required)

Optional
displaystring

How to show completion. "widget" = show completion card (default), "text" = describe in response only, "both" = both.

Options:widgettextboth
idempotencyKeystring

Unique key to prevent duplicate completion on retry

reasonstring

Optional completion note (e.g., "User confirmed delivery received")

Reopen Task

reopen_task
Full Description

Reopen a completed task, setting its status back to IN_PROGRESS.

When to use:

  • User wants to undo a completion ("actually, that's not done yet")
  • User clicked on a completed checkbox to uncomplete it
  • The work was marked done prematurely

This reverses a mark_complete action.

IMPORTANT: The reopened task is displayed in a visual widget. Do NOT repeat the task name in your text response - just give a brief acknowledgment like "Reopened!" or "Got it, marked as in progress again."

Parameters (1 required, 1 optional)
Required
taskIdstring

ID of the task to reopen (required)

Optional
idempotencyKeystring

Unique key to prevent duplicate reopen on retry

Show Tasks

show_tasks
Full Description

Show the user's tasks. This is the ONLY tool for viewing tasks.

REQUIRED: If the user mentions a specific list/project name, you MUST pass query with that name:

  • "show my grocery list" → show_tasks({ query: "grocery" })
  • "what's on my doco project" → show_tasks({ query: "doco" })
  • "my movies to watch" → show_tasks({ query: "movies" })

Only omit query when showing ALL tasks:

  • "show my tasks" → show_tasks({})
  • "all my projects" → show_tasks({ taskType: "PROJECT" })

Other filters:

  • "tasks due today" → show_tasks({ dueBefore: "2024-01-15T23:59:59Z" })
  • "completed tasks" → show_tasks({ includeCompleted: true })
  • "overdue tasks" → show_tasks({ overdue: true })

The query parameter enables instant subtask display. Results appear in a visual widget - just acknowledge briefly like "Here's your grocery list".

Parameters (0 required, 8 optional)
Optional
dueAfterstring

Only tasks due after this date (ISO 8601). Use for date range queries.

dueBeforestring

Only tasks due before this date (ISO 8601). Use for "due this week", "due tomorrow".

includeCompletedboolean

Include completed tasks. Default: false

limitnumber

Maximum number of tasks to return. Default: 50, max: 100

overdueboolean

Only tasks past their due date. Default: false

querystring

The name of the specific list/project. ALWAYS pass this when user mentions a list/project by name (e.g., "grocery list" → query: "grocery", "doco project" → query: "doco"). This enables instant subtask display.

statusstring

Filter by status. If not specified, returns all non-completed tasks.

Options:PLANNEDIN_PROGRESSWAITING_ON_YOUREADY_FOR_REVIEWCOMPLETEDONGOING
taskTypestring

Filter by task type

Options:FINITEPROJECTONGOING_LIST

Smart Reorder Tasks

smart_reorder_tasks
Full Description

Intelligently reorder tasks based on natural language instructions.

When to use:

  • User says "reorder my groceries by store section"
  • User says "prioritize urgent items first"
  • User says "sort my tasks by importance"
  • User says "group similar items together"

How it works:

  • Finds tasks by query (list/project name) OR parentTaskId OR uses provided taskIds
  • Uses AI to determine the optimal order based on the instruction
  • Updates the sort order so the new arrangement persists

REQUIRED: You must provide ONE of these to identify which tasks to reorder:

  • query: The name of a list/project (e.g., "groceries", "shopping list")
  • parentTaskId: ID of a parent task whose subtasks should be reordered
  • taskIds: Direct list of task IDs to reorder

IMPORTANT: Confirm the reorder briefly like "Reordered your list!" - don't list all the items.

Parameters (1 required, 3 optional)
Required
instructionstring

Natural language instruction for how to reorder (required). Examples: "group by store section", "prioritize urgent items", "alphabetical order".

Optional
parentTaskIdstring

ID of a parent task. All subtasks of this task will be reordered.

querystring

Name of the list/project to reorder (e.g., "groceries", "shopping list"). The tool will find matching tasks.

taskIdsarray

Direct list of task IDs to reorder. Use this if you already have the IDs.

Update Task Fields

update_task_fields
Full Description

Update basic fields on a task like title or due date.

Use for:

  • Changing a task title ("rename it to X")
  • Setting or clearing due dates ("make it due Friday", "remove the deadline")

Cannot change: status (use mark_complete), task type.

Parameters (1 required, 6 optional)
Required
taskIdstring

ID of the task to update (required)

Optional
dueAtstring/null

New due date (ISO 8601) or null to clear

expectedVersionnumber

For optimistic concurrency - fails if task version differs

idempotencyKeystring

Unique key to prevent duplicate updates on retry

intentstring

Updated intent/context

remindAtstring/null

New reminder time (ISO 8601) or null to clear

titlestring

New title (max 200 chars)