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

# Update contact attribute

> Update contact attribute through the Brevo API.

`brevo.updateContactAttribute` update contact attribute through the Brevo API.

## Example

```ts theme={null}
import { automation, onDashboardRun } from "automate.ax"
import { brevo } from "automate.ax/brevo"

export default automation("Update contact attribute", () => {
  onDashboardRun({ title: "Update contact attribute" })

  brevo.updateContactAttribute({
    category: "category",
    name: "TIER",
    enumeration: [{ label: "Pro", value: 1 }],
  })
})
```

## Inputs and output

Inputs:

```ts theme={null}
{
  category: "normal" | "category" | "calculated" | "global"
  name: string
  enumeration?: Array<{ label: string; value: number }>
  multiCategoryOptions?: string[]
  value?: string
}
```

`name` must be non-empty. Provide at least one of `enumeration`, `multiCategoryOptions`, or `value`. Enumeration labels and multi-category options are limited to 200 characters. Optional fields have no implicit default.

Completes without a value. Transactional attributes cannot be updated through this endpoint. Pass `{ account }` as the second argument to select a named Brevo account binding.
