> ## 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.

# Create task

> Create an Asana task with project placement, schedule, assignment, and followers.

`createTask` creates a task in a workspace, project, or parent-task context.

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

export default automation("Create Asana launch task", () => {
  onHttpRequest({ scope: "automation" })
  createTask({
    name: "Publish release",
    projectIds: ["project-gid"],
    assignee: "me",
    dueOn: "2026-09-01",
    notes: "Complete the release checklist.",
  })
})
```

`name` is required, plus at least one of `workspaceId`, non-empty `projectIds`, or `parentId`. Optional fields are `assignee` (GID, email, `"me"`, or `null`), `assigneeStatus`, `completed`, `customFields`, `dueAt`, `dueOn`, `followerIds`, `htmlNotes`, `notes`, `startAt`, `startOn`, `subtype`, and `account`.

Use only one description format, one due format, and one start format. Timestamp fields accept `Date` or an ISO timestamp with offset; date fields use `YYYY-MM-DD`. `startAt` requires `dueAt`; `startOn` requires a due date or time. Returns the created `AsanaTask`.
