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

# Form event

> Starts from any supported webhook event for one Tally form.

`tally.onFormEvent` is the broad Tally trigger. It currently receives `FORM_RESPONSE` events and remains the stable choice when Tally adds supported form webhook event types.

## Example

```ts automations/tally-on-form-event.automation.ts theme={null}
import { automation } from "automate.ax"
import { tally } from "automate.ax/tally"

export default automation("Inspect Tally form events", () => {
  const event = tally.onFormEvent({ formId: "form-id" })

  tally.getFormSubmission({
    formId: event.data.formId,
    submissionId: event.data.submissionId,
  })
})
```

## Inputs

`formId` is required and limits the managed webhook to one Tally form. Pass `account` to select a named Tally connection.

## Delivery behavior

Automate.ax creates a signed `FORM_RESPONSE` webhook, verifies `Tally-Signature` against the exact request body, and deduplicates retries by Tally event ID. Tally retries failed deliveries after 5 minutes, 30 minutes, 1 hour, 6 hours, and 1 day. Each authenticated delivery starts an ordinary root context.

## Output

Returns the same signed payload as `onFormResponse`: `eventId`, `eventType`, `createdAt`, and form-response `data` with submission fields and typed values.
