> ## Documentation Index
> Fetch the complete documentation index at: https://learn.workflow.dog/llms.txt
> Use this file to discover all available pages before exploring further.

# Upsert Contact

> Create or update a Brevo contact by email.

**Upsert Contact** creates a contact or updates the existing contact with the
same email address. It can set account-defined attributes, add the contact to
lists, and change email or SMS blocklist status.

## Inputs

| Input                   | Type            | Required | Description                                                   |
| ----------------------- | --------------- | -------- | ------------------------------------------------------------- |
| **Third-party account** | Brevo account   | Yes      | The Brevo account that owns the contact.                      |
| **Email**               | Email           | Yes      | The address that identifies the contact.                      |
| **Attributes**          | Object          | No       | Account-defined contact attributes and their values.          |
| **Contact List IDs**    | List of numbers | No       | Lists to add the contact to.                                  |
| **Email Blocklisted**   | Boolean         | No       | Block or allow marketing email for the contact when provided. |
| **SMS Blocklisted**     | Boolean         | No       | Block or allow SMS messages for the contact when provided.    |

## Output

| Output         | Type   | Description                                            |
| -------------- | ------ | ------------------------------------------------------ |
| **Contact ID** | Number | Brevo's identifier for the created or updated contact. |

<Note>
  Attribute names must already exist in the connected Brevo account. Workflow
  Dog converts them to uppercase before sending them, so `firstname` becomes
  `FIRSTNAME`. Brevo may ignore values that do not match the configured
  attribute type.
</Note>
