Use Brevo with AI Agents

Brevo, formerly Sendinblue, is a SaaS solution for relationship marketing.
๐Ÿ”— Connect and Use Brevo
1. ๐Ÿ”‘ Connect your Brevo account
2. โœ… Select an action
3. ๐Ÿš€ Go live with the agent
What do you want to do?
Actions
Email Campaigns
Transactional emails
Contacts
SMS Campaigns
Transactional SMS
WhatsApp Campaigns
Senders
Domains
Webhooks
Reseller
Account
User
Process
Inbound Parsing
Master account
Companies
Deals
Tasks
Notes
Files
Conversations
Ecommerce
Event
Coupons
Transactional WhatsApp
External Feeds

API actions for Brevo for AI assitants/agents

Language
JS
PYTHON

Email Campaigns

Return All Your Created Email Campaigns

This endpoint fetches email campaigns based on filters like type, status, and stats. It allows queries by date, supports pagination, and sorting, returning comprehensive details on campaigns,
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_RETURN_ALL_YOUR_CREATED_EMAIL_CAMPAIGNS])

Create An Email Campaign

This endpoint allows creation of email campaigns with JSON, detailing name, sender, and content. It requires essential fields, supports HTML and A/B testing. Success yields a 201 status and ca
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_CREATE_AN_EMAIL_CAMPAIGN])

Get An Email Campaign Report

Retrieve comprehensive reports for email campaigns by supplying the campaign ID and optional stat filters, covering everything from global stats and link analytics to recipient interactions.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_GET_AN_EMAIL_CAMPAIGN_REPORT])

Update An Email Campaign

This endpoint updates email campaign details, including tags, content, schedule, and sender info. Features A/B testing, IP warmup, and metrics. It also handles errors for invalid inputs or mis
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_UPDATE_AN_EMAIL_CAMPAIGN])

Delete An Email Campaign

This endpoint allows for the deletion of an email campaign by providing the campaign's ID. On success, it confirms the deletion without content. Errors return detailed messages for issues like
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_DELETE_AN_EMAIL_CAMPAIGN])

Send An Email Campaign Immediately Based On Campaign Id

This endpoint sends an email campaign instantly via POST, requiring a campaignId in the path. Responses include success (204), invalid request errors (400), insufficient credits (402), and inv
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_SEND_AN_EMAIL_CAMPAIGN_IMMEDIATELY_BASED_ON_CAMPAIGN_ID])

Send An Email Campaign To Your Test List

This endpoint sends test email campaigns, specified by `campaignId`, to up to 50 recipients daily. It returns a 204 code for success and provides detailed messages for failures due to invalid
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_SEND_AN_EMAIL_CAMPAIGN_TO_YOUR_TEST_LIST])

Update An Email Campaign Status

Update email campaign status (suspended, archive, etc.) using its ID. Requires ID in path, new status in JSON. Successful updates return 204, 400 for bad requests, 404 if ID not found.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_UPDATE_AN_EMAIL_CAMPAIGN_STATUS])

Send The Report Of A Campaign

A PDF will be sent to the specified email addresses
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_SEND_THE_REPORT_OF_A_CAMPAIGN])

Get An Ab Test Email Campaign Results

Obtain winning version of an A/B test email campaign
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_GET_AN_AB_TEST_EMAIL_CAMPAIGN_RESULTS])

Get A Shared Template Url

Get a unique URL to share & import an email template from one Brevo account to another.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_GET_A_SHARED_TEMPLATE_URL])

Export The Recipients Of An Email Campaign

Export email campaign recipients by POST to '/emailCampaigns/{campaignId}/exportRecipients' with the ID and recipient type (e.g., 'openers', 'clickers') in the body. An optional webhook URL fo
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_EXPORT_THE_RECIPIENTS_OF_AN_EMAIL_CAMPAIGN])

Transactional emails

Send A Transactional Email

This endpoint lets users send or schedule transactional emails with customizable sender details, recipients, content, attachments, and headers. It supports tags and templates for management an
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_SEND_A_TRANSACTIONAL_EMAIL])

Filter Transactional Emails List

This endpoint will show the list of emails for past 30 days by default. To retrieve emails before that time, please pass startDate and endDate in query filters.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_FILTER_TRANSACTIONAL_EMAILS_LIST])

Get The Personalized Content Of A Sent Transactional Email

Fetch the content of a sent transactional email using its unique ID. This includes email details like recipient, subject, send date, events, body content, and attachment count.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_GET_THE_PERSONALIZED_CONTENT_OF_A_SENT_TRANSACTIONAL_EMAIL])

Delete An Smtp Transactional Log

This endpoint deletes SMTP logs using a message ID or email, confirms with a 204 status, and gives error details for issues like bad requests or missing message IDs.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_DELETE_AN_SMTP_TRANSACTIONAL_LOG])

Get The List Of Email Templates

This endpoint retrieves a list of email templates, allowing filtering by status, pagination through limit and offset parameters, and sorting by creation order. Supports querying active/inactiv
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_GET_THE_LIST_OF_EMAIL_TEMPLATES])

Create An Email Template

The endpoint enables creating custom transactional email templates with details like sender, subject, content, etc. Successful creations yield a 201 status and template ID; failures return err
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_CREATE_AN_EMAIL_TEMPLATE])

Returns The Template Information

Fetch email template details by templateId for transactional emails, including name, subject, status, content, and more. Supports fetching by template ID with a path parameter. Responses inclu
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_RETURNS_THE_TEMPLATE_INFORMATION])

Update An Email Template

Update a transactional email template by specifying a template ID and providing updated details such as tag, sender info, template name, content, and more. Supports modifying template status a
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_UPDATE_AN_EMAIL_TEMPLATE])

Delete An Inactive Email Template

Delete an inactive email template by its ID. Supports error responses for bad requests and cases where the template ID is not found.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_DELETE_AN_INACTIVE_EMAIL_TEMPLATE])

Send A Template To Your Test List

The `/smtp/templates/{templateId}/sendTest` endpoint sends a template email to a test list or specified addresses, with `templateId` and optional `emailTo`. Max 50 emails/day. Responses: 204 (
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_SEND_A_TEMPLATE_TO_YOUR_TEST_LIST])

Aggregate Email Activity

This endpoint will show the aggregated stats for past 90 days by default if `startDate` and `endDate` OR `days` is not passed. The date range can not exceed 90 days
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_AGGREGATE_EMAIL_ACTIVITY])

Get Your Transactional Email Activity Aggregated Per Day

This endpoint provides daily reports on email activities like requests, deliveries, and clicks, with filters by date or tags, and sorting options. It also supports pagination with customizable
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_GET_YOUR_TRANSACTIONAL_EMAIL_ACTIVITY_AGGREGATED_PER_DAY])

Get All Your Transactional Email Activity Unaggregated Events

This endpoint will show the aggregated stats for past 30 days by default if `startDate` and `endDate` OR `days` is not passed. The date range can not exceed 90 days
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_GET_ALL_YOUR_TRANSACTIONAL_EMAIL_ACTIVITY_UNAGGREGATED_EVENTS])

Unblock Or Resubscribe A Transactional Contact

To unblock a transactional email contact, send a DELETE request to `/smtp/blockedContacts/{email}` with their email in the URL. Possible responses are 204 (unblocked), 400 (bad request), and 4
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_UNBLOCK_OR_RESUBSCRIBE_A_TRANSACTIONAL_CONTACT])

Get The List Of Blocked Or Unsubscribed Transactional Contacts

Retrieve a list of contacts blocked or unsubscribed from transactional emails within a specified date range. Supports pagination, sender filtering, and sorting.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_GET_THE_LIST_OF_BLOCKED_OR_UNSUBSCRIBED_TRANSACTIONAL_CONTACTS])

Get The List Of Blocked Domains

Get the list of blocked domains
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_GET_THE_LIST_OF_BLOCKED_DOMAINS])

Add A New Domain To The List Of Blocked Domains

Blocks a new domain in order to avoid messages being sent to the same
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_ADD_A_NEW_DOMAIN_TO_THE_LIST_OF_BLOCKED_DOMAINS])

Unblock An Existing Domain From The List Of Blocked Domains

Unblocks an existing domain from the list of blocked domains
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_UNBLOCK_AN_EXISTING_DOMAIN_FROM_THE_LIST_OF_BLOCKED_DOMAINS])

Delete Hardbounces

Delete hardbounces. To use carefully (e.g. in case of temporary ISP failures)
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_DELETE_HARDBOUNCES])

Fetch Scheduled Emails By Batch Id Or Message Id

Fetch scheduled batch of emails by batchId or single scheduled email by messageId (Can retrieve data upto 30 days old)
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_FETCH_SCHEDULED_EMAILS_BY_BATCH_ID_OR_MESSAGE_ID])

Delete Scheduled Emails By Batch Id Or Message Id

Delete scheduled batch of emails by batchId or single scheduled email by messageId
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_DELETE_SCHEDULED_EMAILS_BY_BATCH_ID_OR_MESSAGE_ID])

Contacts

Get All The Contacts

This endpoint fetches contacts with pagination and supports filtering by creation or modification dates, and sorting. Parameters: limit, offset, modifiedSince, createdSince, sort, segmentId, l
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_GET_ALL_THE_CONTACTS])

Create A Contact

This endpoint allows creating or updating a contact with various options like email, SMS settings, and custom attributes. Successful creation returns the contact ID, while updates and errors h
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_CREATE_A_CONTACT])

Create Contact Via Doi Double Opt In Flow

This endpoint enables the creation of a contact through the Double Opt-In (DOI) process. It requires the contact's email, template ID, redirection URL, and list IDs for inclusion. Responses in
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_CREATE_CONTACT_VIA_DOI_DOUBLE_OPT_IN_FLOW])

Get A Contact S Details

This endpoint provides the last 90 days' contact stats by default. For older data, use the Get contact campaign stats endpoint with specific date ranges. More info: https://developers.brevo.co
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_GET_A_CONTACT_S_DETAILS])

Delete A Contact

Delete a contact using an ID or email via 'identifier.' Successful deletions return 204; failures may yield 400, 404, or 405 errors if attempting to delete a registered email.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_DELETE_A_CONTACT])

Update A Contact

This endpoint updates a contact's details, including attributes and blacklist statuses, using either an ID or email. It accepts a JSON body and returns codes for success (204), bad request (40
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_UPDATE_A_CONTACT])

Update Multiple Contacts

The `/contacts/batch` `POST` endpoint enables bulk contact updates, including emails, SMS, external IDs, and more. It requires a structured object with identifiers and update values. Responses
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_UPDATE_MULTIPLE_CONTACTS])

Get Email Campaigns Statistics For A Contact

Fetches email campaign stats for a contact by email/ID with optional date filters (max 90 days), including sent messages, deliveries, opens, clicks, bounces, complaints, and unsubscribes.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_GET_EMAIL_CAMPAIGNS_STATISTICS_FOR_A_CONTACT])

List All Attributes

This GET endpoint at '/contacts/attributes' lists all available contact attributes in your account. It responds with attribute details including name, category (normal, transactional, etc.), t
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_LIST_ALL_ATTRIBUTES])

Update Contact Attribute

This API endpoint updates a contact attribute, requiring its category and name. It accepts a new value or values with labels in the request, responding with `204` for success, or error codes l
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_UPDATE_CONTACT_ATTRIBUTE])

Create Contact Attribute

This endpoint enables creating contact attributes in various categories by specifying an attribute name and category, accepting JSON objects with attribute details. Success returns a 201 statu
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_CREATE_CONTACT_ATTRIBUTE])

Delete An Attribute

Delete a specific attribute from a contact by specifying its category and name. Categories include normal, transactional, etc. Successful deletion returns a 204 status. Errors return relevant
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_DELETE_AN_ATTRIBUTE])

Get All Folders

This API endpoint fetches contact folders with pagination and optional sorting. It supports page size, index, and sorting direction, defaulting values if unspecified. It returns folder ID, nam
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_GET_ALL_FOLDERS])

Create A Folder

Endpoint "/contacts/folders" allows creating a contact folder. Send a POST request with the folder's name in JSON format. On success, returns a 201 status with the created folder's ID. Possibl
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_CREATE_A_FOLDER])

Returns A Folder S Details

This endpoint fetches details of a specific contacts folder including ID, name, and subscriber counts based on the provided `folderGB` input. It returns folder details or errors for bad reques
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_RETURNS_A_FOLDER_S_DETAILS])

Update A Folder

The PUT endpoint `/contacts/folders/{folderId}` updates a contact folder's name using its ID and a JSON payload. It returns 204 on success, 400 for bad requests, and 404 if the ID is not found
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.BREVO_UPDATE_A_FOLDER])

Frequently asked questions

What is Composio.dev?

Composio.dev is a platform for building AI applications, designed to make the process of developing AI solutions super easy and fun! It provides a comprehensive set of tools and libraries that simplify the process of developing AI solutions, allowing you to focus on the creative aspects of your project without getting bogged down by the technical details.

How does Composio.dev support Brevo?

Composio.dev seamlessly integrates with Brevo, allowing you to leverage its capabilities within the Composio.dev platform. You can utilize Brevo to call functions across various platforms, including Google, GitHub, and others, making it a breeze to incorporate different services into your AI applications. Additionally, it supports user authentication via OAuth2 and can work in conjunction with other popular frameworks like LangChain and CrewAI, giving you the flexibility to build truly innovative AI solutions.

What models can I use with Brevo?

With Brevo, you have access to a wide range of state-of-the-art language models, including GPT-4o (OpenAI), GPT-3.5 (OpenAI), GPT-4 (OpenAI), Claude (Anthropic), PaLM (Google), LLaMA and LLaMA 2 (Meta), Gemini, and many others. This flexibility allows you to choose the model that best suits your specific use case, whether you're building a chatbot, a content creation tool, or any other AI-powered application. You can experiment with different models and find the one that delivers the best performance for your project.

How can I integrate Brevo into my project?

Composio.dev provides a seamless integration for Brevo, making it super easy to incorporate this powerful framework into your projects. You can leverage the Composio.dev API to call functions from Brevo, allowing you to tap into its capabilities with just a few lines of code. The SDK is available in Python, JavaScript, and TypeScript, so you can work with your preferred programming language and integrate Brevo into your projects seamlessly.

What is the pricing for Brevo?

Brevo is completely free to use, with a generous free tier that allows up to 1000 requests per month. This makes it accessible for developers and organizations of all sizes to explore and experiment with this powerful tool without any upfront costs. Whether you're a student working on a personal project or a startup building the next big thing, you can get started with Brevo without worrying about breaking the bank.

What kind of authentication is supported for Brevo?

Brevo supports OAuth2 authentication, ensuring secure and authorized access to its functionalities. You can leverage the Composio.dev API to handle authentication and call functions from Brevo seamlessly. The SDK is available in Python, JavaScript, and TypeScript for your convenience, making it easy to integrate authentication into your projects and keep your users' data safe and secure.

Can I add Brevo to my project?

Absolutely! You can easily incorporate Brevo into your project by utilizing the Composio.dev API. This API allows you to call functions from Brevo, enabling you to leverage its capabilities within your application. The SDK is available in Python, JavaScript, and TypeScript to facilitate integration, so you can work with the language you're most comfortable with and add Brevo to your project with ease.

What is the accuracy of Brevo?

Brevo is designed to provide highly accurate and reliable results, ensuring that your AI applications perform at their best. The integration with Composio.dev ensures precise function calls, enabling you to build robust and powerful AI applications with confidence. Brevo's comprehensive framework and the ability to leverage state-of-the-art models ensure reliable and accurate outcomes for your AI development needs, whether you're working on a chatbot, a content creation tool, or any other AI-powered project.

What are some common use cases for Brevo?

Brevo can be used for a wide range of AI applications, making it a versatile tool for developers and creators alike. Some common use cases include natural language processing, text generation, question answering, sentiment analysis, and more. It's particularly useful for building chatbots, virtual assistants, content creation tools, and other AI-powered applications that can help you automate tasks, engage with users, and create compelling content. Whether you're working on a personal project or building a product for your startup, Brevo can help you bring your ideas to life.

How does Brevo handle data privacy and security?

Data privacy and security are crucial considerations when working with AI systems, and Brevo takes these issues seriously. It follows industry best practices and adheres to strict data protection regulations, ensuring that your data is kept safe and secure. Brevo provides robust security measures, such as encryption and access controls, to ensure the confidentiality and integrity of your data. You can rest assured that your sensitive information is protected when using Brevo for your AI development needs.
+ Integrate seamlessly with your agentic frameworks
Composio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and Sizes
Building for AI across continents๐Ÿงช