{
  "schemaVersion": "1.0",
  "item": {
    "slug": "brevo-automation",
    "name": "Brevo Automation",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/sohamganatra/brevo-automation",
    "canonicalUrl": "https://clawhub.ai/sohamganatra/brevo-automation",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/brevo-automation",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=brevo-automation",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/brevo-automation"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/brevo-automation",
    "agentPageUrl": "https://openagent3.xyz/skills/brevo-automation/agent",
    "manifestUrl": "https://openagent3.xyz/skills/brevo-automation/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/brevo-automation/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Brevo Automation via Rube MCP",
        "body": "Automate Brevo (formerly Sendinblue) email marketing operations through Composio's Brevo toolkit via Rube MCP."
      },
      {
        "title": "Prerequisites",
        "body": "Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\nActive Brevo connection via RUBE_MANAGE_CONNECTIONS with toolkit brevo\nAlways call RUBE_SEARCH_TOOLS first to get current tool schemas"
      },
      {
        "title": "Setup",
        "body": "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.\n\nVerify Rube MCP is available by confirming RUBE_SEARCH_TOOLS responds\nCall RUBE_MANAGE_CONNECTIONS with toolkit brevo\nIf connection is not ACTIVE, follow the returned auth link to complete Brevo authentication\nConfirm connection status shows ACTIVE before running any workflows"
      },
      {
        "title": "1. Manage Email Campaigns",
        "body": "When to use: User wants to list, review, or update email campaigns\n\nTool sequence:\n\nBREVO_LIST_EMAIL_CAMPAIGNS - List all campaigns with filters [Required]\nBREVO_UPDATE_EMAIL_CAMPAIGN - Update campaign content or settings [Optional]\n\nKey parameters for listing:\n\ntype: Campaign type ('classic' or 'trigger')\nstatus: Campaign status ('suspended', 'archive', 'sent', 'queued', 'draft', 'inProcess', 'inReview')\nstartDate/endDate: Date range filter (YYYY-MM-DDTHH:mm:ss.SSSZ format)\nstatistics: Stats type to include ('globalStats', 'linksStats', 'statsByDomain')\nlimit: Results per page (max 100, default 50)\noffset: Pagination offset\nsort: Sort order ('asc' or 'desc')\nexcludeHtmlContent: Set true to reduce response size\n\nKey parameters for update:\n\ncampaign_id: Numeric campaign ID (required)\nname: Campaign name\nsubject: Email subject line\nhtmlContent: HTML email body (mutually exclusive with htmlUrl)\nhtmlUrl: URL to HTML content\nsender: Sender object with name, email, or id\nrecipients: Object with listIds and exclusionListIds\nscheduledAt: Scheduled send time (YYYY-MM-DDTHH:mm:ss.SSSZ)\n\nPitfalls:\n\nstartDate and endDate are mutually required; provide both or neither\nDate filters only work when status is not passed or set to 'sent'\nhtmlContent and htmlUrl are mutually exclusive\nCampaign sender email must be a verified sender in Brevo\nA/B testing fields (subjectA, subjectB, splitRule, winnerCriteria) require abTesting: true\nscheduledAt uses full ISO 8601 format with timezone"
      },
      {
        "title": "2. Create and Manage Email Templates",
        "body": "When to use: User wants to create, edit, list, or delete email templates\n\nTool sequence:\n\nBREVO_GET_ALL_EMAIL_TEMPLATES - List all templates [Required]\nBREVO_CREATE_OR_UPDATE_EMAIL_TEMPLATE - Create a new template or update existing [Required]\nBREVO_DELETE_EMAIL_TEMPLATE - Delete an inactive template [Optional]\n\nKey parameters for listing:\n\ntemplateStatus: Filter active (true) or inactive (false) templates\nlimit: Results per page (max 1000, default 50)\noffset: Pagination offset\nsort: Sort order ('asc' or 'desc')\n\nKey parameters for create/update:\n\ntemplateId: Include to update; omit to create new\ntemplateName: Template display name (required for creation)\nsubject: Email subject line (required for creation)\nhtmlContent: HTML template body (min 10 characters; use this or htmlUrl)\nsender: Sender object with name and email, or id (required for creation)\nreplyTo: Reply-to email address\nisActive: Activate or deactivate the template\ntag: Category tag for the template\n\nPitfalls:\n\nWhen templateId is provided, the tool updates; when omitted, it creates\nFor creation, templateName, subject, and sender are required\nhtmlContent must be at least 10 characters\nTemplate personalization uses {{contact.ATTRIBUTE}} syntax\nOnly inactive templates can be deleted\nhtmlContent and htmlUrl are mutually exclusive"
      },
      {
        "title": "3. Manage Senders",
        "body": "When to use: User wants to view authorized sender identities\n\nTool sequence:\n\nBREVO_GET_ALL_SENDERS - List all verified senders [Required]\n\nKey parameters: (none required)\n\nPitfalls:\n\nSenders must be verified before they can be used in campaigns or templates\nSender verification is done through the Brevo web interface, not via API\nSender IDs can be used in sender.id fields for campaigns and templates"
      },
      {
        "title": "4. Configure A/B Testing Campaigns",
        "body": "When to use: User wants to set up or modify A/B test settings on a campaign\n\nTool sequence:\n\nBREVO_LIST_EMAIL_CAMPAIGNS - Find the target campaign [Prerequisite]\nBREVO_UPDATE_EMAIL_CAMPAIGN - Configure A/B test settings [Required]\n\nKey parameters:\n\ncampaign_id: Campaign to configure\nabTesting: Set to true to enable A/B testing\nsubjectA: Subject line for variant A\nsubjectB: Subject line for variant B\nsplitRule: Percentage split for the test (1-99)\nwinnerCriteria: 'open' or 'click' for determining the winner\nwinnerDelay: Hours to wait before selecting winner (1-168)\n\nPitfalls:\n\nA/B testing must be enabled (abTesting: true) before setting variant fields\nsplitRule is the percentage of contacts that receive variant A\nwinnerDelay defines how long to test before sending the winner to remaining contacts\nOnly works with 'classic' campaign type"
      },
      {
        "title": "Campaign Lifecycle",
        "body": "1. Create campaign (status: draft)\n2. Set recipients (listIds)\n3. Configure content (htmlContent or htmlUrl)\n4. Optionally schedule (scheduledAt)\n5. Send or schedule via Brevo UI (API update can set scheduledAt)"
      },
      {
        "title": "Pagination",
        "body": "Use limit (page size) and offset (starting index)\nDefault limit is 50; max varies by endpoint (100 for campaigns, 1000 for templates)\nIncrement offset by limit each page\nCheck count in response to determine total available"
      },
      {
        "title": "Template Personalization",
        "body": "- First name: {{contact.FIRSTNAME}}\n- Last name: {{contact.LASTNAME}}\n- Custom attribute: {{contact.CUSTOM_ATTRIBUTE}}\n- Mirror link: {{mirror}}\n- Unsubscribe link: {{unsubscribe}}"
      },
      {
        "title": "Known Pitfalls",
        "body": "Date Formats:\n\nAll dates use ISO 8601 with milliseconds: YYYY-MM-DDTHH:mm:ss.SSSZ\nPass timezone in the date-time format for accurate results\nstartDate and endDate must be used together\n\nSender Verification:\n\nAll sender emails must be verified in Brevo before use\nUnverified senders cause campaign creation/update failures\nUse GET_ALL_SENDERS to check available verified senders\n\nRate Limits:\n\nBrevo API has rate limits per account plan\nImplement backoff on 429 responses\nTemplate operations have lower limits than read operations\n\nResponse Parsing:\n\nResponse data may be nested under data or data.data\nParse defensively with fallback patterns\nCampaign and template IDs are numeric integers"
      },
      {
        "title": "Quick Reference",
        "body": "TaskTool SlugKey ParamsList campaignsBREVO_LIST_EMAIL_CAMPAIGNStype, status, limit, offsetUpdate campaignBREVO_UPDATE_EMAIL_CAMPAIGNcampaign_id, subject, htmlContentList templatesBREVO_GET_ALL_EMAIL_TEMPLATEStemplateStatus, limit, offsetCreate templateBREVO_CREATE_OR_UPDATE_EMAIL_TEMPLATEtemplateName, subject, htmlContent, senderUpdate templateBREVO_CREATE_OR_UPDATE_EMAIL_TEMPLATEtemplateId, htmlContentDelete templateBREVO_DELETE_EMAIL_TEMPLATEtemplateIdList sendersBREVO_GET_ALL_SENDERS(none)"
      }
    ],
    "body": "Brevo Automation via Rube MCP\n\nAutomate Brevo (formerly Sendinblue) email marketing operations through Composio's Brevo toolkit via Rube MCP.\n\nPrerequisites\nRube MCP must be connected (RUBE_SEARCH_TOOLS available)\nActive Brevo connection via RUBE_MANAGE_CONNECTIONS with toolkit brevo\nAlways call RUBE_SEARCH_TOOLS first to get current tool schemas\nSetup\n\nGet 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.\n\nVerify Rube MCP is available by confirming RUBE_SEARCH_TOOLS responds\nCall RUBE_MANAGE_CONNECTIONS with toolkit brevo\nIf connection is not ACTIVE, follow the returned auth link to complete Brevo authentication\nConfirm connection status shows ACTIVE before running any workflows\nCore Workflows\n1. Manage Email Campaigns\n\nWhen to use: User wants to list, review, or update email campaigns\n\nTool sequence:\n\nBREVO_LIST_EMAIL_CAMPAIGNS - List all campaigns with filters [Required]\nBREVO_UPDATE_EMAIL_CAMPAIGN - Update campaign content or settings [Optional]\n\nKey parameters for listing:\n\ntype: Campaign type ('classic' or 'trigger')\nstatus: Campaign status ('suspended', 'archive', 'sent', 'queued', 'draft', 'inProcess', 'inReview')\nstartDate/endDate: Date range filter (YYYY-MM-DDTHH:mm:ss.SSSZ format)\nstatistics: Stats type to include ('globalStats', 'linksStats', 'statsByDomain')\nlimit: Results per page (max 100, default 50)\noffset: Pagination offset\nsort: Sort order ('asc' or 'desc')\nexcludeHtmlContent: Set true to reduce response size\n\nKey parameters for update:\n\ncampaign_id: Numeric campaign ID (required)\nname: Campaign name\nsubject: Email subject line\nhtmlContent: HTML email body (mutually exclusive with htmlUrl)\nhtmlUrl: URL to HTML content\nsender: Sender object with name, email, or id\nrecipients: Object with listIds and exclusionListIds\nscheduledAt: Scheduled send time (YYYY-MM-DDTHH:mm:ss.SSSZ)\n\nPitfalls:\n\nstartDate and endDate are mutually required; provide both or neither\nDate filters only work when status is not passed or set to 'sent'\nhtmlContent and htmlUrl are mutually exclusive\nCampaign sender email must be a verified sender in Brevo\nA/B testing fields (subjectA, subjectB, splitRule, winnerCriteria) require abTesting: true\nscheduledAt uses full ISO 8601 format with timezone\n2. Create and Manage Email Templates\n\nWhen to use: User wants to create, edit, list, or delete email templates\n\nTool sequence:\n\nBREVO_GET_ALL_EMAIL_TEMPLATES - List all templates [Required]\nBREVO_CREATE_OR_UPDATE_EMAIL_TEMPLATE - Create a new template or update existing [Required]\nBREVO_DELETE_EMAIL_TEMPLATE - Delete an inactive template [Optional]\n\nKey parameters for listing:\n\ntemplateStatus: Filter active (true) or inactive (false) templates\nlimit: Results per page (max 1000, default 50)\noffset: Pagination offset\nsort: Sort order ('asc' or 'desc')\n\nKey parameters for create/update:\n\ntemplateId: Include to update; omit to create new\ntemplateName: Template display name (required for creation)\nsubject: Email subject line (required for creation)\nhtmlContent: HTML template body (min 10 characters; use this or htmlUrl)\nsender: Sender object with name and email, or id (required for creation)\nreplyTo: Reply-to email address\nisActive: Activate or deactivate the template\ntag: Category tag for the template\n\nPitfalls:\n\nWhen templateId is provided, the tool updates; when omitted, it creates\nFor creation, templateName, subject, and sender are required\nhtmlContent must be at least 10 characters\nTemplate personalization uses {{contact.ATTRIBUTE}} syntax\nOnly inactive templates can be deleted\nhtmlContent and htmlUrl are mutually exclusive\n3. Manage Senders\n\nWhen to use: User wants to view authorized sender identities\n\nTool sequence:\n\nBREVO_GET_ALL_SENDERS - List all verified senders [Required]\n\nKey parameters: (none required)\n\nPitfalls:\n\nSenders must be verified before they can be used in campaigns or templates\nSender verification is done through the Brevo web interface, not via API\nSender IDs can be used in sender.id fields for campaigns and templates\n4. Configure A/B Testing Campaigns\n\nWhen to use: User wants to set up or modify A/B test settings on a campaign\n\nTool sequence:\n\nBREVO_LIST_EMAIL_CAMPAIGNS - Find the target campaign [Prerequisite]\nBREVO_UPDATE_EMAIL_CAMPAIGN - Configure A/B test settings [Required]\n\nKey parameters:\n\ncampaign_id: Campaign to configure\nabTesting: Set to true to enable A/B testing\nsubjectA: Subject line for variant A\nsubjectB: Subject line for variant B\nsplitRule: Percentage split for the test (1-99)\nwinnerCriteria: 'open' or 'click' for determining the winner\nwinnerDelay: Hours to wait before selecting winner (1-168)\n\nPitfalls:\n\nA/B testing must be enabled (abTesting: true) before setting variant fields\nsplitRule is the percentage of contacts that receive variant A\nwinnerDelay defines how long to test before sending the winner to remaining contacts\nOnly works with 'classic' campaign type\nCommon Patterns\nCampaign Lifecycle\n1. Create campaign (status: draft)\n2. Set recipients (listIds)\n3. Configure content (htmlContent or htmlUrl)\n4. Optionally schedule (scheduledAt)\n5. Send or schedule via Brevo UI (API update can set scheduledAt)\n\nPagination\nUse limit (page size) and offset (starting index)\nDefault limit is 50; max varies by endpoint (100 for campaigns, 1000 for templates)\nIncrement offset by limit each page\nCheck count in response to determine total available\nTemplate Personalization\n- First name: {{contact.FIRSTNAME}}\n- Last name: {{contact.LASTNAME}}\n- Custom attribute: {{contact.CUSTOM_ATTRIBUTE}}\n- Mirror link: {{mirror}}\n- Unsubscribe link: {{unsubscribe}}\n\nKnown Pitfalls\n\nDate Formats:\n\nAll dates use ISO 8601 with milliseconds: YYYY-MM-DDTHH:mm:ss.SSSZ\nPass timezone in the date-time format for accurate results\nstartDate and endDate must be used together\n\nSender Verification:\n\nAll sender emails must be verified in Brevo before use\nUnverified senders cause campaign creation/update failures\nUse GET_ALL_SENDERS to check available verified senders\n\nRate Limits:\n\nBrevo API has rate limits per account plan\nImplement backoff on 429 responses\nTemplate operations have lower limits than read operations\n\nResponse Parsing:\n\nResponse data may be nested under data or data.data\nParse defensively with fallback patterns\nCampaign and template IDs are numeric integers\nQuick Reference\nTask\tTool Slug\tKey Params\nList campaigns\tBREVO_LIST_EMAIL_CAMPAIGNS\ttype, status, limit, offset\nUpdate campaign\tBREVO_UPDATE_EMAIL_CAMPAIGN\tcampaign_id, subject, htmlContent\nList templates\tBREVO_GET_ALL_EMAIL_TEMPLATES\ttemplateStatus, limit, offset\nCreate template\tBREVO_CREATE_OR_UPDATE_EMAIL_TEMPLATE\ttemplateName, subject, htmlContent, sender\nUpdate template\tBREVO_CREATE_OR_UPDATE_EMAIL_TEMPLATE\ttemplateId, htmlContent\nDelete template\tBREVO_DELETE_EMAIL_TEMPLATE\ttemplateId\nList senders\tBREVO_GET_ALL_SENDERS\t(none)"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/sohamganatra/brevo-automation",
    "publisherUrl": "https://clawhub.ai/sohamganatra/brevo-automation",
    "owner": "sohamganatra",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/brevo-automation",
    "downloadUrl": "https://openagent3.xyz/downloads/brevo-automation",
    "agentUrl": "https://openagent3.xyz/skills/brevo-automation/agent",
    "manifestUrl": "https://openagent3.xyz/skills/brevo-automation/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/brevo-automation/agent.md"
  }
}