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

> Create a project in an Asana workspace or organization.

`createProject` creates a project with optional schedule, description, visibility, and team placement.

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

export default automation("Create Asana launch project", () => {
  onHttpRequest({ scope: "automation" })
  createProject({
    workspaceId: "workspace-gid",
    teamId: "team-gid",
    name: "Launch",
    dueOn: "2026-09-30",
  })
})
```

`workspaceId` and non-empty `name` are required. `teamId` is required by Asana when the workspace is an organization. Optional fields are `archived`, `color`, `dueOn`, `startOn`, `htmlNotes`, `notes`, `public`, and `account`. Dates use `YYYY-MM-DD` or `null`; `htmlNotes` and `notes` are alternative description formats and should not be combined.

Returns the created `AsanaProject`.
