Brevo Automation via Rube MCP
Automate Brevo (formerly Sendinblue) email marketing operations through Composio's Brevo toolkit via Rube MCP.
Prerequisites
- •Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- •Active Brevo connection via
RUBE_MANAGE_CONNECTIONSwith toolkitbrevo - •Always call
RUBE_SEARCH_TOOLSfirst 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_TOOLSresponds - •Call
RUBE_MANAGE_CONNECTIONSwith toolkitbrevo - •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
1. 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: Settrueto 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 withhtmlUrl) - •
htmlUrl: URL to HTML content - •
sender: Sender object withname,email, orid - •
recipients: Object withlistIdsandexclusionListIds - •
scheduledAt: Scheduled send time (YYYY-MM-DDTHH:mm:ss.SSSZ)
Pitfalls:
- •
startDateandendDateare mutually required; provide both or neither - •Date filters only work when
statusis not passed or set to 'sent' - •
htmlContentandhtmlUrlare mutually exclusive - •Campaign
senderemail must be a verified sender in Brevo - •A/B testing fields (
subjectA,subjectB,splitRule,winnerCriteria) requireabTesting: true - •
scheduledAtuses full ISO 8601 format with timezone
2. 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 orhtmlUrl) - •
sender: Sender object withnameandemail, orid(required for creation) - •
replyTo: Reply-to email address - •
isActive: Activate or deactivate the template - •
tag: Category tag for the template
Pitfalls:
- •When
templateIdis provided, the tool updates; when omitted, it creates - •For creation,
templateName,subject, andsenderare required - •
htmlContentmust be at least 10 characters - •Template personalization uses
{{contact.ATTRIBUTE}}syntax - •Only inactive templates can be deleted
- •
htmlContentandhtmlUrlare mutually exclusive
3. 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.idfields for campaigns and templates
4. 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 totrueto 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 - •
splitRuleis the percentage of contacts that receive variant A - •
winnerDelaydefines how long to test before sending the winner to remaining contacts - •Only works with 'classic' campaign type
Common Patterns
Campaign Lifecycle
1. Create campaign (status: draft) 2. Set recipients (listIds) 3. Configure content (htmlContent or htmlUrl) 4. Optionally schedule (scheduledAt) 5. Send or schedule via Brevo UI (API update can set scheduledAt)
Pagination
- •Use
limit(page size) andoffset(starting index) - •Default limit is 50; max varies by endpoint (100 for campaigns, 1000 for templates)
- •Increment
offsetbylimiteach page - •Check
countin 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
- •
startDateandendDatemust 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
dataordata.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) |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.