# Brevo

Brevo (formerly Sendinblue) is an all-in-one email and SMS marketing platform that provides transactional messaging, marketing automation, contact management, and CRM tools to help businesses communicate and engage with their customers.

- **Category:** email newsletters
- **Auth:** API_KEY, OAUTH2
- **Composio Managed App Available?** No
- **Tools:** 21
- **Triggers:** 0
- **Slug:** `BREVO`
- **Version:** 20260316_00

## Tools

### Create a company

**Slug:** `BREVO_CREATE_A_COMPANY`

Creates a new company record in your Brevo CRM. Companies can be used to organize contacts and deals, track business relationships, and manage customer accounts. You can add custom attributes, link existing contacts and deals, and set country codes for international phone numbers. Use this when you need to add a new business or organization to your CRM system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the company to be created. This is the primary identifier for the company. |
| `attributes` | object | No | Custom attributes for the company. Common attributes include 'domain' (company website), 'industry' (business sector), 'owner' (user ID who owns this company record), 'phone_number', 'address', 'city', 'country', 'zip_code', etc. Attribute names and types depend on your Brevo account configuration. |
| `countryCode` | integer | No | Country code for phone numbers included in attributes (e.g., 1 for USA, 91 for India, 44 for UK). Required only when phone number attributes are provided. |
| `linkedDealsIds` | array | No | List of deal IDs to associate with this company. Use this to link existing deals to the newly created company. |
| `linkedContactsIds` | array | No | List of contact IDs to associate with this company. Use this to link existing contacts to the newly created company. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Contact List

**Slug:** `BREVO_CREATE_CONTACT_LIST`

Creates a new contact list (audience) in Brevo within a specified folder. Contact lists are used to organize and segment contacts for email campaigns, SMS campaigns, and marketing automation workflows. Use this tool when you need to: - Create a new audience segment for a marketing campaign - Organize contacts by specific criteria (e.g., geographic location, interests, purchase history) - Set up a list for newsletter subscribers, event attendees, or customer segments - Prepare a target audience before adding contacts or launching campaigns Note: You must specify a valid folder ID. Use Get Contact Lists to view existing folders and their IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the contact list to be created. Must be unique within the folder. Use descriptive names that indicate the list's purpose (e.g., 'Newsletter Subscribers', 'VIP Customers', 'Product Launch Campaign'). |
| `folderId` | integer | Yes | ID of the parent folder in which this list is to be created. Use the Get Contact Lists or Get Folders endpoint to retrieve valid folder IDs from your Brevo account. Folder IDs are integers (e.g., 1, 2, 3). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create or Update Email Template

**Slug:** `BREVO_CREATE_OR_UPDATE_EMAIL_TEMPLATE`

This tool creates a new email template or updates an existing one in Brevo. If a 'templateId' is provided, it performs an update; otherwise, it creates a new template.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag` | string | No | A tag to categorize the template. |
| `sender` | object | No | Sender information. Required when creating a new template. |
| `htmlUrl` | string | No | A URL to the HTML content of the email template. Use this or htmlContent, not both. |
| `replyTo` | string | No | The email address for replies. |
| `subject` | string | No | Subject line of the email. Required when creating a new template. |
| `toField` | string | No | Personalization for the recipient's display name in the 'To' field. Use {FNAME} {LNAME} or {{contact.FNAME}} {{contact.LNAME}} syntax. |
| `isActive` | boolean | No | Set to true to activate the template, false to deactivate. |
| `templateId` | integer | No | ID of the template to update. If not provided, a new template will be created. |
| `htmlContent` | string | No | The HTML content of the email template (minimum 10 characters). Use this or htmlUrl, not both. Supports personalization with {{contact.ATTRIBUTE}} syntax. |
| `templateName` | string | No | Name of the email template. Required when creating a new template. |
| `attachmentUrl` | string | No | Absolute URL of a file to attach to the email. Supports: xlsx, xls, ods, docx, doc, csv, pdf, txt, gif, jpg, jpeg, png, zip, and more. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SMS Campaign

**Slug:** `BREVO_CREATE_SMS_CAMPAIGN`

This tool allows you to create a new SMS campaign in Brevo. You can specify the campaign name, sender, content, recipients (by providing list IDs, exclusion list IDs, or segment IDs), and optionally schedule the campaign for a specific time. You can also enable Unicode characters, add an organization prefix, and include unsubscribe instructions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the campaign. |
| `sender` | string | Yes | Name of the sender. The number of characters is limited to 11 for alphanumeric characters and 15 for numeric characters. |
| `content` | string | Yes | Content of the message. The maximum characters used per SMS is 160; if used more than that, it will be counted as more than one SMS. |
| `recipients` | object | No | Recipients of the campaign. You can provide list IDs, exclusion list IDs, or segment IDs. Dict keys: `listIds` (array of list IDs to target), `exclusionListIds` (array of list IDs to exclude), `segmentIds` (array of segment IDs to target). |
| `scheduledAt` | string | No | UTC date-time on which the campaign has to run (YYYY-MM-DDTHH:mm:ss.SSSZ). Prefer to pass your timezone in date-time format for accurate result. |
| `unicodeEnabled` | boolean | No | Format of the message. It indicates whether the content should be treated as unicode or not. Defaults to false. |
| `organisationPrefix` | string | No | A recognizable prefix will ensure your audience knows who you are. Recommended by U.S. carriers. This will be added as your Brand Name before the message content. Prefer verifying maximum length of 160 characters including this prefix in message content to avoid multiple sending of same sms. |
| `unsubscribeInstruction` | string | No | Instructions to unsubscribe from future communications. Recommended by U.S. carriers. Must include STOP keyword. This will be added as instructions after the end of message content. Prefer verifying maximum length of 160 characters including this instructions in message content to avoid multiple sending of same sms. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete a company

**Slug:** `BREVO_DELETE_COMPANY`

Deletes a company from Brevo using its unique identifier.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | ID of the company to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Contact

**Slug:** `BREVO_DELETE_CONTACT`

Deletes a contact from Brevo by email, contact ID, external ID, phone number, WhatsApp ID, or landline number. Use the identifier_type parameter to specify the type of identifier when using ext_id, phone_id, whatsapp_id, or landline_number_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `identifier` | string | Yes | Identifier of the contact to delete. Can be: email address, contact ID (integer), ext_id, phone number (with country code), WhatsApp ID, or landline number. |
| `identifier_type` | string ("email_id" | "contact_id" | "ext_id" | "phone_id" | "whatsapp_id" | "landline_number_id") | No | Type of identifier being used. If not specified, Brevo will auto-detect based on format (works for email and contact ID). For other types (ext_id, phone_id, whatsapp_id, landline_number_id), this parameter should be explicitly specified. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Email Template

**Slug:** `BREVO_DELETE_EMAIL_TEMPLATE`

This tool deletes an inactive email template from Brevo. You need to provide the 'templateId' of the email template you want to delete. Only inactive templates can be deleted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | integer | Yes | ID of the template to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SMS Campaign

**Slug:** `BREVO_DELETE_SMS_CAMPAIGN`

This tool deletes an existing SMS campaign.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaign_id` | integer | Yes | ID of the SMS campaign to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Account Information

**Slug:** `BREVO_GET_ACCOUNT_INFO`

Retrieves comprehensive information about the authenticated Brevo account. Returns account details including: - Account holder information (email, first name, last name, company name) - Complete address (street, city, zip code, country) - Plan details with credit information (type, credits remaining, start/end dates) - Relay configuration for transactional emails (enabled status and data) - Marketing Automation status and tracker key (if enabled) No input parameters are required - the action uses the authenticated account's credentials. Use this action to: - Verify account configuration and settings - Check available credits and plan type - Monitor transactional email relay status - Retrieve Marketing Automation tracker information. If credentials are missing or invalid, verify the Brevo connection is active before calling — retries will not resolve credential issues. If blocked by an 'unrecognised IP address' error, add the integration host's IP to the Brevo account allowlist.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get all contacts

**Slug:** `BREVO_GET_ALL_CONTACTS`

This tool retrieves all contacts from your Brevo account with pagination and filtering based on modification/creation dates, list IDs, segment IDs, and contact attributes. For complete retrieval, iterate pages by incrementing `offset` by `limit` on each call until no more records are returned; a single call returns at most `limit` contacts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("asc" | "desc") | No | Sort the results in the ascending/descending order of record creation. |
| `limit` | integer | No | Number of documents per page |
| `offset` | integer | No | Index of the first document of the page |
| `listIds` | array | No | List of list IDs to filter contacts. Cannot be used together with segment_id. |
| `segmentId` | integer | No | ID of the segment to filter contacts. Cannot be used together with list_ids. |
| `createdSince` | string | No | Filter contacts created after a given UTC date-time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ or YYYY-MM-DDTHH:mm:ss+HH:MM |
| `modifiedSince` | string | No | Filter contacts modified after a given UTC date-time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ or YYYY-MM-DDTHH:mm:ss+HH:MM |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get all email templates

**Slug:** `BREVO_GET_ALL_EMAIL_TEMPLATES`

This tool retrieves a list of all email templates created in your Brevo account. It corresponds to the GET /v3/smtp/templates endpoint as per the Brevo API documentation, with optional parameters for filtering (templateStatus), pagination (limit, offset), and sorting (asc/desc).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("asc" | "desc") | No | Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed |
| `limit` | integer | No | Number of email templates to return per page (default: 50, max: 1000) |
| `offset` | integer | No | Index of the first template to return (default: 0, use for pagination) |
| `templateStatus` | boolean | No | Filter on the status of the template. Active = true, inactive = false |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get All Senders

**Slug:** `BREVO_GET_ALL_SENDERS`

This tool retrieves a list of all senders associated with the Brevo account. Senders are the email addresses or domains that are authorized to send emails through Brevo. This action can be useful for managing and verifying sender identities.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ip` | string | No | Filter senders for a specific ip. Available for dedicated IP usage only |
| `domain` | string | No | Filter senders for a specific domain |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Company Details

**Slug:** `BREVO_GET_COMPANY_DETAILS`

Retrieves detailed information about a specific company from Brevo's CRM. Returns company data including its unique identifier, custom attributes, and lists of linked contact IDs and deal IDs. This is useful for accessing comprehensive company records and understanding company relationships.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | ID of the company to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contact Details

**Slug:** `BREVO_GET_CONTACT_DETAILS`

This tool retrieves detailed information about a specific contact in Brevo. You can identify the contact using their email address (URL-encoded), their unique contact ID, or their SMS attribute value.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `identifier` | string | No | Identifier of the contact. Can be an email (URL-encoded), contact ID, SMS, WhatsApp, landline, or external ID. Brevo infers the type of identifier automatically. |
| `mobile_number` | string | No | Mobile phone number (SMS attribute) of the contact to search for. Used as a fallback if the primary identifier is not found. Accepted formats: 91xxxxxxxxxx, +91xxxxxxxxxx, 0091xxxxxxxxxx, or international format like +16135551234. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get contact lists

**Slug:** `BREVO_GET_CONTACT_LISTS`

Retrieves all contact lists from your Brevo account with pagination support. Returns list IDs, names, subscriber counts, and folder associations. Use this to discover available lists or obtain list IDs needed for other operations (e.g., SMS campaigns, adding contacts to lists).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("asc" | "desc") | No | Sort order by creation date: 'asc' (oldest first) or 'desc' (newest first). |
| `limit` | integer | No | Number of contact lists to return per page. |
| `offset` | integer | No | Index of the first contact list to return (for pagination). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Email Campaign Details

**Slug:** `BREVO_GET_EMAIL_CAMPAIGN_DETAILS`

Tool to retrieve full configuration and content for a specific email campaign. Use when you need complete campaign details including HTML content, recipients, statistics, and all configuration settings that may be omitted from list responses.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `statistics` | string ("globalStats" | "linksStats" | "statsByDomain" | "statsByDevice" | "statsByBrowser") | No | Filter on the type of statistics required. Example: globalStats value will only fetch globalStats info of the campaign in returned response. |
| `campaign_id` | integer | Yes | Id of the email campaign to retrieve details for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SMS Campaign Details

**Slug:** `BREVO_GET_SMS_CAMPAIGN_DETAILS`

Retrieves the details of a specific SMS campaign. This action fetches complete information about an SMS campaign including its status, content, sender, scheduling, recipients, and statistics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaign_id` | integer | Yes | The unique identifier of the SMS campaign to retrieve details for. You can obtain campaign IDs using the 'Get SMS Campaigns' action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SMS Campaigns

**Slug:** `BREVO_GET_SMS_CAMPAIGNS`

Retrieves all SMS campaigns from your Brevo account with optional filtering and pagination. Use this tool to: - List all SMS campaigns with their details (name, status, content, sender, dates) - Filter campaigns by status (sent, draft, queued, suspended, inProcess, archive) - Filter sent campaigns by date range - Control pagination with limit and offset - Sort results by creation date (ascending or descending) Returns campaign overview information including ID, name, status, content, sender, scheduled date (if any), and creation/modification timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("asc" | "desc") | No | Sort the results in ascending or descending order of record creation. |
| `limit` | integer | No | Number of results to return. |
| `offset` | integer | No | Beginning point in the list to retrieve from. |
| `status` | string ("sent" | "draft" | "queued" | "suspended" | "inProcess" | "archive") | No | Filter campaigns by their status. |
| `endDate` | string | No | Ending UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter sent SMS campaigns. Mandatory if startDate is used. |
| `startDate` | string | No | Starting UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter sent SMS campaigns. Mandatory if endDate is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List All Companies

**Slug:** `BREVO_LIST_ALL_COMPANIES`

This action retrieves a list of all companies stored in the Brevo CRM. It supports pagination and filtering by name and other attributes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Index of the page to retrieve. Starts at 0 or 1 depending on API (Brevo typically 1 for page, 0 for offset). API docs say 'Index of the first document of the page', usually means 0-indexed if 'limit' is also present, or 1-indexed if it's page number. Let's assume 0-indexed for 'page' as it's common with 'limit'. The example shows page=1, so it might be 1-indexed. For safety, let's assume it's flexible and the user provides the correct index based on their understanding or API docs. |
| `sort` | string ("asc" | "desc") | No | Sort the results in ascending or descending order. Default is descending by creation date if not specified. |
| `limit` | integer | No | Number of documents per page. Default is 50, maximum is 100. |
| `sortBy` | string | No | The field used to sort the results (e.g., 'createdAt', 'name', 'attributes.name'). Default is 'createdAt' if sort is specified. |
| `filters` | string | No | Filter by attributes. Example: '''{"attributes.name":"Company A"}'''. Refer to Brevo API documentation for more complex filtering options. |
| `linkedDealsIds` | array | No | Filter by linked deal IDs. Pass a list of deal IDs. |
| `linkedContactsIds` | array | No | Filter by linked contact IDs. Pass a list of contact IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Email Campaigns

**Slug:** `BREVO_LIST_EMAIL_CAMPAIGNS`

This tool retrieves a list of all email campaigns associated with the user's Brevo account. It allows filtering by campaign type, status, start date, and end date. The response includes the total count of campaigns and an array of campaign objects, each containing details like ID, name, subject, type, status, scheduled date/time, sender information, and optionally, campaign statistics. A response with `count` of 0 and an empty campaigns array is a valid result, not an error.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("asc" | "desc") | No | Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed. |
| `type` | string ("classic" | "trigger") | No | Filter on the type of the campaigns. |
| `limit` | integer | No | Number of documents per page. |
| `offset` | integer | No | Index of the first document in the page. To paginate, increment by the `limit` value on each successive call until all records are fetched. |
| `status` | string ("suspended" | "archive" | "sent" | "queued" | "draft" | "inProcess" | "inReview") | No | Filter on the status of the campaign. |
| `endDate` | string | No | Mandatory if startDate is used. Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent email campaigns. Prefer to pass your timezone in date-time format for accurate result ( only available if either 'status' not passed and if passed is set to 'sent' ) |
| `startDate` | string | No | Mandatory if endDate is used. Starting (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent email campaigns. Prefer to pass your timezone in date-time format for accurate result ( only available if either 'status' not passed and if passed is set to 'sent' ) |
| `statistics` | string ("globalStats" | "linksStats" | "statsByDomain") | No | Filter on the type of statistics required. Example globalStats value will only fetch globalStats info of the campaign in returned response. |
| `excludeHtmlContent` | boolean | No | Use this flag to exclude htmlContent from the response body. If set to true, htmlContent field will be returned as empty string in the response body. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Email Campaign

**Slug:** `BREVO_UPDATE_EMAIL_CAMPAIGN`

Updates an email campaign in Brevo using its unique identifier.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag` | string | No | Tag of the campaign. |
| `name` | string | No | Name of the campaign. |
| `footer` | string | No | Email footer. |
| `header` | string | No | Email header. |
| `params` | object | No | Pass the set of attributes to customize the campaign. For example, {'FNAME':'Joe', 'LNAME':'Doe'}. It's considered only if campaign is in New Template Language format. |
| `sender` | object | No | Sender details. |
| `htmlUrl` | string | No | URL to the HTML content. Mutually exclusive with html_content. |
| `replyTo` | string | No | Reply-to email address. |
| `subject` | string | No | Subject of the campaign. |
| `toField` | string | No | To field personalization (e.g., {FNAME} {LNAME}). |
| `subjectA` | string | No | Subject for A variant in A/B test. |
| `subjectB` | string | No | Subject for B variant in A/B test. |
| `abTesting` | boolean | No | Enable A/B testing. |
| `recurring` | boolean | No | Set campaign as recurring. Only applicable for trigger campaigns - allows contacts to receive the same trigger campaign multiple times. |
| `splitRule` | integer | No | Split rule for A/B test (1-99). |
| `recipients` | object | No | Recipient list details. |
| `campaign_id` | integer | Yes | ID of the campaign to update. |
| `htmlContent` | string | No | HTML content of the email. Mutually exclusive with html_url. |
| `previewText` | string | No | Preview text of the email. |
| `scheduledAt` | string | No | Scheduled time for the campaign (YYYY-MM-DDTHH:mm:ss.SSSZ). |
| `utmCampaign` | string | No | UTM campaign tag. |
| `winnerDelay` | integer | No | Winner delay in hours for A/B test (1-168). |
| `increaseRate` | integer | No | Increase rate for IP warmup (1-100). |
| `initialQuota` | integer | No | Initial quota for IP warmup. |
| `mirrorActive` | boolean | No | Activate mirror link in the email. |
| `updateFormId` | string | No | Update profile form ID. |
| `attachmentUrl` | string | No | Absolute url of the attachment (no local file). Extensions allowed: xlsx, xls, ods, docx, docm, doc, csv, pdf, txt, gif, jpg, jpeg, png, tif, tiff, rtf, msg, pub, mobi, epub, odt, ods, odp, odp. |
| `ipWarmupEnable` | boolean | No | Enable IP warmup. |
| `sendAtBestTime` | boolean | No | Send at best time (Brevo algorithm). |
| `winnerCriteria` | string ("open" | "click") | No | Winner criteria for A/B test. |
| `unsubscriptionPageId` | string | No | Unsubscription page ID. |
| `inlineImageActivation` | boolean | No | Activate inline images in the email. Note: Limits campaign to under 5,000 contacts and 4MB total size. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
