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 with toolkit
- Always call first to get current tool schemas
Setup
Get Rube MCP: Add
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 responds
- Call with toolkit
- 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:
- : Campaign type ('classic' or 'trigger')
- : Campaign status ('suspended', 'archive', 'sent', 'queued', 'draft', 'inProcess', 'inReview')
- /: Date range filter (YYYY-MM-DDTHH:mm:ss.SSSZ format)
- : Stats type to include ('globalStats', 'linksStats', 'statsByDomain')
- : Results per page (max 100, default 50)
- : Pagination offset
- : Sort order ('asc' or 'desc')
- : Set to reduce response size
Key parameters for update:
- : Numeric campaign ID (required)
- : Campaign name
- : Email subject line
- : HTML email body (mutually exclusive with )
- : URL to HTML content
- : Sender object with , , or
- : Object with and
- : Scheduled send time (YYYY-MM-DDTHH:mm:ss.SSSZ)
Pitfalls:
- and are mutually required; provide both or neither
- Date filters only work when is not passed or set to 'sent'
- and are mutually exclusive
- Campaign email must be a verified sender in Brevo
- A/B testing fields (, , , ) require
- uses 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:
- : Filter active () or inactive () templates
- : Results per page (max 1000, default 50)
- : Pagination offset
- : Sort order ('asc' or 'desc')
Key parameters for create/update:
- : Include to update; omit to create new
- : Template display name (required for creation)
- : Email subject line (required for creation)
- : HTML template body (min 10 characters; use this or )
- : Sender object with and , or (required for creation)
- : Reply-to email address
- : Activate or deactivate the template
- : Category tag for the template
Pitfalls:
- When is provided, the tool updates; when omitted, it creates
- For creation, , , and are required
- must be at least 10 characters
- Template personalization uses syntax
- Only inactive templates can be deleted
- and are mutually exclusive
3. Manage Senders
When to use: User wants to view authorized sender identities
Tool sequence:
- - 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 fields 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 to configure
- : Set to to enable A/B testing
- : Subject line for variant A
- : Subject line for variant B
- : Percentage split for the test (1-99)
- : 'open' or 'click' for determining the winner
- : Hours to wait before selecting winner (1-168)
Pitfalls:
- A/B testing must be enabled () before setting variant fields
- is the percentage of contacts that receive variant A
- defines 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 (page size) and (starting index)
- Default limit is 50; max varies by endpoint (100 for campaigns, 1000 for templates)
- Increment by each page
- Check 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
- and 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 or
- 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) |