> ## 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 form changed

> Start an automation when Google Form content or settings change.

`onFormChanged` watches schema-level changes and emits the current complete form
along with the provider notification metadata.

## Example

```ts theme={null}
import { automation } from "automate.ax"
import { onFormChanged } from "automate.ax/google-forms"

export default automation("Audit form changes", () => {
  const change = onFormChanged({ form: "form-id" })

  change.form.revisionId
})
```

## Options

`form: string` is required and accepts a static ID or standard Forms URL.
`account` is an optional static Google account binding.

## Trigger data

```ts theme={null}
interface FormChangedEvent {
  form: Form
  notification: {
    eventType: "SCHEMA" | "RESPONSES"
    formId: string
    messageId: string
    publishTime: string
    watchId: string
  }
}
```

See [Get form](/reference/integrations/google-forms/actions/get-form#output) for
`form`. This trigger subscribes to `SCHEMA` notifications, so its `eventType` is
normally `"SCHEMA"`. Notifications signal that something changed; compare the
current form or its `revisionId` with stored state when you need a field-level
diff.
