> ## Documentation Index
> Fetch the complete documentation index at: https://docs.automate.ax/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# Update task

> Update selected fields on an Asana task.

`updateTask` changes task content, assignment, schedule, subtype, custom fields, or completion state. Use placement and follower actions for those relationships.

```ts automations/update-asana-task.automation.ts theme={null}
import { automation, onHttpRequest } from "automate.ax"
import { updateTask } from "automate.ax/asana"

export default automation("Reschedule Asana task", () => {
  onHttpRequest({ scope: "automation" })
  updateTask({ taskId: "task-gid", dueOn: "2026-09-15", assignee: "me" })
})
```

`taskId` is required. Optional fields are `name`, `assignee` (including `null` to unassign), `assigneeStatus`, `completed`, `customFields`, `dueAt`, `dueOn`, `htmlNotes`, `notes`, `startAt`, `startOn`, `subtype`, and `account`. Omitted fields remain unchanged; nullable due fields clear schedules.

Description, due, and start formats are mutually exclusive as on `createTask`; start fields require a compatible due field in the same input. Returns the updated `AsanaTask`.
