Brevo Automation via Rube MCP
Automate Brevo (formerly Sendinblue) email marketing operations through Composio's Brevo toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/brevo
Prerequisites
-
Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
-
Active Brevo connection via RUBE_MANAGE_CONNECTIONS with toolkit brevo
-
Always call RUBE_SEARCH_TOOLS first to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
-
Verify Rube MCP is available by confirming RUBE_SEARCH_TOOLS responds
-
Call RUBE_MANAGE_CONNECTIONS with toolkit brevo
-
If connection is not ACTIVE, follow the returned auth link to complete Brevo authentication
-
Confirm connection status shows ACTIVE before running any workflows
Core Workflows
- Manage Email Campaigns
When to use: User wants to list, review, or update email campaigns
Tool sequence:
-
BREVO_LIST_EMAIL_CAMPAIGNS
-
List all campaigns with filters [Required]
-
BREVO_UPDATE_EMAIL_CAMPAIGN
-
Update campaign content or settings [Optional]
Key parameters for listing:
-
type : Campaign type ('classic' or 'trigger')
-
status : Campaign status ('suspended', 'archive', 'sent', 'queued', 'draft', 'inProcess', 'inReview')
-
startDate /endDate : Date range filter (YYYY-MM-DDTHH:mm:ss.SSSZ format)
-
statistics : Stats type to include ('globalStats', 'linksStats', 'statsByDomain')
-
limit : Results per page (max 100, default 50)
-
offset : Pagination offset
-
sort : Sort order ('asc' or 'desc')
-
excludeHtmlContent : Set true to reduce response size
Key parameters for update:
-
campaign_id : Numeric campaign ID (required)
-
name : Campaign name
-
subject : Email subject line
-
htmlContent : HTML email body (mutually exclusive with htmlUrl )
-
htmlUrl : URL to HTML content
-
sender : Sender object with name , email , or id
-
recipients : Object with listIds and exclusionListIds
-
scheduledAt : Scheduled send time (YYYY-MM-DDTHH:mm:ss.SSSZ)
Pitfalls:
-
startDate and endDate are mutually required; provide both or neither
-
Date filters only work when status is not passed or set to 'sent'
-
htmlContent and htmlUrl are mutually exclusive
-
Campaign sender email must be a verified sender in Brevo
-
A/B testing fields (subjectA , subjectB , splitRule , winnerCriteria ) require abTesting: true
-
scheduledAt uses full ISO 8601 format with timezone
- Create and Manage Email Templates
When to use: User wants to create, edit, list, or delete email templates
Tool sequence:
-
BREVO_GET_ALL_EMAIL_TEMPLATES
-
List all templates [Required]
-
BREVO_CREATE_OR_UPDATE_EMAIL_TEMPLATE
-
Create a new template or update existing [Required]
-
BREVO_DELETE_EMAIL_TEMPLATE
-
Delete an inactive template [Optional]
Key parameters for listing:
-
templateStatus : Filter active (true ) or inactive (false ) templates
-
limit : Results per page (max 1000, default 50)
-
offset : Pagination offset
-
sort : Sort order ('asc' or 'desc')
Key parameters for create/update:
-
templateId : Include to update; omit to create new
-
templateName : Template display name (required for creation)
-
subject : Email subject line (required for creation)
-
htmlContent : HTML template body (min 10 characters; use this or htmlUrl )
-
sender : Sender object with name and email , or id (required for creation)
-
replyTo : Reply-to email address
-
isActive : Activate or deactivate the template
-
tag : Category tag for the template
Pitfalls:
-
When templateId is provided, the tool updates; when omitted, it creates
-
For creation, templateName , subject , and sender are required
-
htmlContent must be at least 10 characters
-
Template personalization uses {{contact.ATTRIBUTE}} syntax
-
Only inactive templates can be deleted
-
htmlContent and htmlUrl are mutually exclusive
- Manage Senders
When to use: User wants to view authorized sender identities
Tool sequence:
- BREVO_GET_ALL_SENDERS
- List all verified senders [Required]
Key parameters: (none required)
Pitfalls:
-
Senders must be verified before they can be used in campaigns or templates
-
Sender verification is done through the Brevo web interface, not via API
-
Sender IDs can be used in sender.id fields for campaigns and templates
- Configure A/B Testing Campaigns
When to use: User wants to set up or modify A/B test settings on a campaign
Tool sequence:
-
BREVO_LIST_EMAIL_CAMPAIGNS
-
Find the target campaign [Prerequisite]
-
BREVO_UPDATE_EMAIL_CAMPAIGN
-
Configure A/B test settings [Required]
Key parameters:
-
campaign_id : Campaign to configure
-
abTesting : Set to true to enable A/B testing
-
subjectA : Subject line for variant A
-
subjectB : Subject line for variant B
-
splitRule : Percentage split for the test (1-99)
-
winnerCriteria : 'open' or 'click' for determining the winner
-
winnerDelay : Hours to wait before selecting winner (1-168)
Pitfalls:
-
A/B testing must be enabled (abTesting: true ) before setting variant fields
-
splitRule is the percentage of contacts that receive variant A
-
winnerDelay defines how long to test before sending the winner to remaining contacts
-
Only works with 'classic' campaign type
Common Patterns
Campaign Lifecycle
- Create campaign (status: draft)
- Set recipients (listIds)
- Configure content (htmlContent or htmlUrl)
- Optionally schedule (scheduledAt)
- Send or schedule via Brevo UI (API update can set scheduledAt)
Pagination
-
Use limit (page size) and offset (starting index)
-
Default limit is 50; max varies by endpoint (100 for campaigns, 1000 for templates)
-
Increment offset by limit each page
-
Check count in response to determine total available
Template Personalization
- First name: {{contact.FIRSTNAME}}
- Last name: {{contact.LASTNAME}}
- Custom attribute: {{contact.CUSTOM_ATTRIBUTE}}
- Mirror link: {{mirror}}
- Unsubscribe link: {{unsubscribe}}
Known Pitfalls
Date Formats:
-
All dates use ISO 8601 with milliseconds: YYYY-MM-DDTHH:mm:ss.SSSZ
-
Pass timezone in the date-time format for accurate results
-
startDate and endDate must be used together
Sender Verification:
-
All sender emails must be verified in Brevo before use
-
Unverified senders cause campaign creation/update failures
-
Use GET_ALL_SENDERS to check available verified senders
Rate Limits:
-
Brevo API has rate limits per account plan
-
Implement backoff on 429 responses
-
Template operations have lower limits than read operations
Response Parsing:
-
Response data may be nested under data or data.data
-
Parse defensively with fallback patterns
-
Campaign and template IDs are numeric integers
Quick Reference
Task Tool Slug Key Params
List campaigns BREVO_LIST_EMAIL_CAMPAIGNS type, status, limit, offset
Update campaign BREVO_UPDATE_EMAIL_CAMPAIGN campaign_id, subject, htmlContent
List templates BREVO_GET_ALL_EMAIL_TEMPLATES templateStatus, limit, offset
Create template BREVO_CREATE_OR_UPDATE_EMAIL_TEMPLATE templateName, subject, htmlContent, sender
Update template BREVO_CREATE_OR_UPDATE_EMAIL_TEMPLATE templateId, htmlContent
Delete template BREVO_DELETE_EMAIL_TEMPLATE templateId
List senders BREVO_GET_ALL_SENDERS (none)
Powered by Composio