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

> Create a Slack List on a paid workspace.

`slack.createList` creates a standalone List. Slack Lists require a paid workspace.

```ts automations/create-release-list.automation.ts theme={null}
import { automation, onDashboardRun } from "automate.ax"
import { slack } from "automate.ax/slack"

export default automation("Create release List", () => {
  onDashboardRun({ title: "Create release List" })

  slack.createList({
    name: "Releases",
    schema: [
      { key: "name", name: "Name", type: "text", isPrimaryColumn: true },
      { key: "due", name: "Due", type: "date" },
    ],
    todoMode: true,
  })
})
```

## Inputs

| Input                      | Type                   | Required | Description                                                     |
| -------------------------- | ---------------------- | -------- | --------------------------------------------------------------- |
| `name`                     | `string`               | Yes      | List name.                                                      |
| `descriptionBlocks`        | Slack rich-text blocks | No       | Rich-text List description.                                     |
| `schema`                   | `SlackListColumn[]`    | No       | Column definitions. Slack creates one text column when omitted. |
| `todoMode`                 | `boolean`              | No       | Adds Slack's completed, assignee, and due-date task fields.     |
| `copyFromListId`           | `string`               | No       | Existing List whose structure is copied.                        |
| `includeCopiedListRecords` | `boolean`              | No       | Also copies records; requires `copyFromListId`.                 |

Column types are `text`, `message`, `number`, `select`, `date`, `user`, `attachment`, `checkbox`, `email`, `phone`, `channel`, `rating`, `created_by`, `last_edited_by`, `created_time`, `last_edited_time`, `vote`, `canvas`, `reference`, and `link`. A List can have at most one primary column, and it must be `text`.

## Output

Returns `listId` and optional `metadata` with Slack's generated column IDs, subtask columns, integrations, and views. Preserve generated column IDs when creating or updating items.
