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

# On Linear project event

> Start an automation when a Linear project is created, updated, or removed.

`onLinearProjectEvent` watches all project lifecycle events in the workspace.

```ts automations/watch-linear-projects.automation.ts theme={null}
import { automation } from "automate.ax"
import { onLinearProjectEvent } from "automate.ax/linear"

export default automation("Watch Linear projects", () => {
  onLinearProjectEvent()
})
```

Optional static `account` defaults to the project binding.

## Trigger data

Returns a `Signal<LinearProjectEvent>`:

```ts theme={null}
type LinearProjectEvent = LinearProject & {
  event: LinearWebhookEvent<LinearProject, "Project">
}

interface LinearProject {
  archivedAt?: string | null
  canceledAt?: string | null
  color: string
  completedAt?: string | null
  content?: string | null
  createdAt: string
  creatorId?: string | null
  description: string
  health?: string | null
  icon?: string | null
  id: string
  identifier?: string | null
  lead?: LinearUser | null
  leadId?: string | null
  memberIds: string[]
  name: string
  priority: number
  slugId: string
  startDate?: string | null
  startedAt?: string | null
  status?: LinearProjectStatus | null
  statusId: string
  targetDate?: string | null
  teamIds: string[]
  trashed?: boolean | null
  updatedAt: string
  url: string
}

interface LinearProjectStatus {
  color: string
  id: string
  name: string
  type: string
}
```

`LinearWebhookEvent` has the [shared webhook envelope shape](/reference/integrations/linear/triggers/on-issue-event#trigger-data). The project is exposed directly; inspect `event.action` to distinguish lifecycle actions or `event.updatedFrom` for previous values. Call `getLinearProject` when you need the latest normalized project.
