> ## 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 contacts batch

> Update contacts batch through the Brevo API.

`brevo.updateContactsBatch` update contacts batch through the Brevo API.

## Example

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

export default automation("Update contacts batch", () => {
  onDashboardRun({ title: "Update contacts batch" })

  brevo.updateContactsBatch({
    contacts: [{ email: "person@example.com", attributes: { TIER: "Pro" } }],
  })
})
```

## Inputs and output

Inputs:

```ts theme={null}
{
  contacts: Array<{
    email?: string
    id?: number
    sms?: string
    extId?: string
    attributes?: Record<string, string | number | boolean | string[]>
    emailBlacklisted?: boolean
    smsBlacklisted?: boolean
    smtpBlacklistSender?: string[]
    listIds?: number[]
    unlinkListIds?: number[]
  }>
}
```

`contacts` can't be empty. Each contact needs exactly one of `email`, positive numeric `id`, or non-empty `sms`. Attribute names and `extId` must be non-empty, sender entries must be email addresses, and list IDs must be positive integers. Optional fields have no implicit default.

Completes without a value. Each contact must use exactly one identifier: `email`, numeric `id`, or `sms`. Pass `{ account }` as the second argument to select a named Brevo account binding.
