Automate Klaviyo Email and SMS Campaigns
Skill for inspecting Klaviyo email/SMS campaigns via Composio's Rube MCP: listing, details, messages, tags, and send status.
Why it matters
Streamline your email and SMS marketing by automating Klaviyo campaign management. This skill allows for listing, filtering, and inspecting campaign details, enabling efficient oversight of your marketing operations.
Outcomes
What it gets done
List and filter Klaviyo email and SMS campaigns by status, channel, and name.
Retrieve detailed information for specific Klaviyo campaigns, including messages and tags.
Inspect the content of campaign messages (email subject, body, SMS content).
Monitor the send status of Klaviyo campaign jobs.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-klaviyo-automation | bash Overview
Klaviyo Automation via Rube MCP
A skill for inspecting Klaviyo email/SMS campaigns via Composio's Rube MCP - listing, details, message content, tags, and send-job status. Use for Klaviyo campaign browsing/inspection/monitoring via an MCP-connected agent with an active Rube Klaviyo connection.
What it does
Klaviyo Automation via Rube MCP works with Klaviyo email and SMS marketing campaigns through Composio's Klaviyo toolkit. It requires Rube MCP connected (https://rube.app/mcp as an MCP server, no API keys needed) with an active Klaviyo connection via RUBE_MANAGE_CONNECTIONS, and RUBE_SEARCH_TOOLS must be called first for current tool schemas before any workflow runs.
When to use - and when NOT to
Use it across five workflows: listing/filtering campaigns (KLAVIYO_GET_CAMPAIGNS, where channel - 'email' or 'sms' - is required and pagination via page_cursor is mandatory since a single call returns only ~10 results), getting full campaign details (KLAVIYO_GET_CAMPAIGN, with include_messages/include_tags to pull related data), inspecting campaign message content (KLAVIYO_GET_CAMPAIGN_MESSAGE, using dot-notation sparse fieldsets like content.subject/content.from_email for email, content.body for SMS), viewing campaign tags (KLAVIYO_GET_CAMPAIGN_RELATIONSHIPS_TAGS, which returns only tag IDs, not names), and checking send-job status (KLAVIYO_GET_CAMPAIGN_SEND_JOB). Filter syntax follows Klaviyo's own query functions:
- equals(status,"draft") - Campaigns in draft status
- equals(name,"Newsletter") - Campaign named "Newsletter"
- greater-than(created_at,"2024-01-01T00:00:00Z") - Created after date
Inputs and outputs
Server-side status filtering can still return mixed statuses, so every result must be validated client-side against data[].attributes.status - status strings are case-sensitive and can be compound (e.g. "Cancelled: No Recipients"). All Klaviyo responses nest data as response.data.data[].attributes, and mis-parsing that structure silently yields empty or wrong results rather than an error. Campaign and message IDs are separate alphanumeric strings (not numeric) - message IDs must be extracted from the campaign response, not guessed.
Integrations
Rate limits are stricter for tag endpoints (3/s burst, 60/m steady) than general campaign endpoints (10/s burst, 150/m steady), requiring backoff on HTTP 429 and a campaigns:read scope. The Klaviyo API is versioned (e.g. v2024-07-15), and response schemas can shift between versions, so tool responses follow whatever version the Composio integration is configured for. The standard discovery pattern is: list campaigns filtered by channel, paginate through every page_cursor until exhausted, filter by status client-side for accuracy, then extract campaign IDs for detailed inspection.
Who it's for
Marketing operations teams inspecting and monitoring Klaviyo email/SMS campaigns - browsing, reading full details and message content, checking tags, and tracking send status - through an MCP-connected agent, with the pagination, nesting, and status-validation gotchas already documented to avoid silent data errors. A quick-reference table maps each task directly to its tool slug and key parameters, so the right call can be made without re-deriving the workflow sequence each time: KLAVIYO_GET_CAMPAIGNS for listing, KLAVIYO_GET_CAMPAIGN for details, KLAVIYO_GET_CAMPAIGN_MESSAGE for content, KLAVIYO_GET_CAMPAIGN_RELATIONSHIPS_TAGS for tags, and KLAVIYO_GET_CAMPAIGN_SEND_JOB for send status.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.