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

> Create an Airtable base with its initial tables and fields.

`airtable.createBase` creates a base in a workspace. Use it when an automation owns the initial structure.

```ts automations/create-client-base.automation.ts theme={null}
import { automation } from "automate.ax"
import { airtable } from "automate.ax/airtable"

export default automation("Create client base", () => {
  airtable.createBase({
    name: "Client CRM",
    workspaceId: "wsp123",
    tables: [
      { name: "Contacts", fields: [{ name: "Name", type: "singleLineText" }] },
    ],
  })
})
```

Inputs: `name`, `workspaceId`, and a non-empty `tables` array are required. Every table needs a name and at least one field; its first field becomes the primary field. Field `description` and provider-documented `options` are optional. The account needs `schema.bases:write` and workspace creator access.

Returns `{ id, tables }` with stable table, field, and default-view IDs. Airtable rejects unsupported primary-field types and duplicate field names.
