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

# Export contacts

> Export contacts through the Brevo API.

`brevo.exportContacts` export contacts through the Brevo API.

## Example

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

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

  brevo.exportContacts({
    customContactFilter: { actionForContacts: "allContacts", listId: 12 },
    exportAttributes: ["EMAIL", "FIRSTNAME"],
  })
})
```

## Inputs and output

Inputs:

```ts theme={null}
{
  customContactFilter: {
    actionForContacts?: "allContacts" | "subscribed" | "unsubscribed" | "unsubscribedPerList"
    actionForEmailCampaigns?: "openers" | "nonOpeners" | "clickers" | "nonClickers" | "unsubscribed" | "hardBounces" | "softBounces"
    actionForSmsCampaigns?: "hardBounces" | "softBounces" | "unsubscribed"
    emailCampaignId?: number
    listId?: number
    segmentId?: number
    smsCampaignId?: number
  }
  disableNotification?: boolean // default: false
  exportAttributes?: string[]
  exportDateInUtc?: boolean // default: false
  exportMandatoryAttributes?: boolean // default: true
  exportMetadata?: string[]
  exportSubscriptionStatus?: Array<"email_marketing" | "sms_marketing">
  notifyUrl?: string
}
```

IDs must be positive integers, array values must be non-empty strings, and `notifyUrl` must be an absolute URL.

`{ processId }` for the asynchronous CSV export. Choose exactly one contact, email-campaign, or SMS-campaign action. Contact actions require `listId` or `segmentId`. Engagement email actions require `emailCampaignId`; bounce-only email actions and SMS actions can span campaigns when their ID is omitted. Pass `{ account }` as the second argument to select a named Brevo account binding.
