ConvertKit (Kit) Automation via Rube MCP
Automate ConvertKit (now known as Kit) email marketing operations through Composio's Kit toolkit via Rube MCP.
Prerequisites
- •Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- •Active Kit connection via
RUBE_MANAGE_CONNECTIONSwith toolkitkit - •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 toolkitkit - •If connection is not ACTIVE, follow the returned auth link to complete Kit authentication
- •Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. List and Search Subscribers
When to use: User wants to browse, search, or filter email subscribers
Tool sequence:
- •
KIT_LIST_SUBSCRIBERS- List subscribers with filters and pagination [Required]
Key parameters:
- •
status: Filter by status ('active' or 'inactive') - •
email_address: Exact email to search for - •
created_after/created_before: Date range filter (YYYY-MM-DD) - •
updated_after/updated_before: Date range filter (YYYY-MM-DD) - •
sort_field: Sort by 'id', 'cancelled_at', or 'updated_at' - •
sort_order: 'asc' or 'desc' - •
per_page: Results per page (min 1) - •
after/before: Cursor strings for pagination - •
include_total_count: Set to 'true' to get total subscriber count
Pitfalls:
- •If
sort_fieldis 'cancelled_at', thestatusmust be set to 'cancelled' - •Date filters use YYYY-MM-DD format (no time component)
- •
email_addressis an exact match; partial email search is not supported - •Pagination uses cursor-based approach with
after/beforecursor strings - •
include_total_countis a string 'true', not a boolean
2. Manage Subscriber Tags
When to use: User wants to tag subscribers for segmentation
Tool sequence:
- •
KIT_LIST_SUBSCRIBERS- Find subscriber ID by email [Prerequisite] - •
KIT_TAG_SUBSCRIBER- Associate a subscriber with a tag [Required] - •
KIT_LIST_TAG_SUBSCRIBERS- List subscribers for a specific tag [Optional]
Key parameters for tagging:
- •
tag_id: Numeric tag ID (required) - •
subscriber_id: Numeric subscriber ID (required)
Pitfalls:
- •Both
tag_idandsubscriber_idmust be positive integers - •Tag IDs must reference existing tags; tags are created via the Kit web UI
- •Tagging an already-tagged subscriber is idempotent (no error)
- •Subscriber IDs are returned from LIST_SUBSCRIBERS; use
email_addressfilter to find specific subscribers
3. Unsubscribe a Subscriber
When to use: User wants to unsubscribe a subscriber from all communications
Tool sequence:
- •
KIT_LIST_SUBSCRIBERS- Find subscriber ID [Prerequisite] - •
KIT_DELETE_SUBSCRIBER- Unsubscribe the subscriber [Required]
Key parameters:
- •
id: Subscriber ID (required, positive integer)
Pitfalls:
- •This permanently unsubscribes the subscriber from ALL email communications
- •The subscriber's historical data is retained but they will no longer receive emails
- •Operation is idempotent; unsubscribing an already-unsubscribed subscriber succeeds without error
- •Returns empty response (HTTP 204 No Content) on success
- •Subscriber ID must exist; non-existent IDs return 404
4. List and View Broadcasts
When to use: User wants to browse email broadcasts or get details of a specific one
Tool sequence:
- •
KIT_LIST_BROADCASTS- List all broadcasts with pagination [Required] - •
KIT_GET_BROADCAST- Get detailed information for a specific broadcast [Optional] - •
KIT_GET_BROADCAST_STATS- Get performance statistics for a broadcast [Optional]
Key parameters for listing:
- •
per_page: Results per page (1-500) - •
after/before: Cursor strings for pagination - •
include_total_count: Set to 'true' for total count
Key parameters for details:
- •
id: Broadcast ID (required, positive integer)
Pitfalls:
- •
per_pagemax is 500 for broadcasts - •Broadcast stats are only available for sent broadcasts
- •Draft broadcasts will not have stats
- •Broadcast IDs are numeric integers
5. Delete a Broadcast
When to use: User wants to permanently remove a broadcast
Tool sequence:
- •
KIT_LIST_BROADCASTS- Find the broadcast to delete [Prerequisite] - •
KIT_GET_BROADCAST- Verify it is the correct broadcast [Optional] - •
KIT_DELETE_BROADCAST- Permanently delete the broadcast [Required]
Key parameters:
- •
id: Broadcast ID (required)
Pitfalls:
- •Deletion is permanent and cannot be undone
- •Deleting a sent broadcast removes it but does not unsend the emails
- •Confirm the broadcast ID before deleting
Common Patterns
Subscriber Lookup by Email
1. Call KIT_LIST_SUBSCRIBERS with email_address='user@example.com' 2. Extract subscriber ID from the response 3. Use ID for tagging, unsubscribing, or other operations
Pagination
Kit uses cursor-based pagination:
- •Check response for
aftercursor value - •Pass cursor as
afterparameter in next request - •Continue until no more cursor is returned
- •Use
include_total_count: 'true'to track progress
Tag-Based Segmentation
1. Create tags in Kit web UI 2. Use KIT_TAG_SUBSCRIBER to assign tags to subscribers 3. Use KIT_LIST_TAG_SUBSCRIBERS to view subscribers per tag
Known Pitfalls
ID Formats:
- •Subscriber IDs: positive integers (e.g., 3887204736)
- •Tag IDs: positive integers
- •Broadcast IDs: positive integers
- •All IDs are numeric, not strings
Status Values:
- •Subscriber statuses: 'active', 'inactive', 'cancelled'
- •Some operations are restricted by status (e.g., sorting by cancelled_at requires status='cancelled')
String vs Boolean Parameters:
- •
include_total_countis a string 'true', not a boolean true - •
sort_orderis a string enum: 'asc' or 'desc'
Rate Limits:
- •Kit API has per-account rate limits
- •Implement backoff on 429 responses
- •Bulk operations should be paced appropriately
Response Parsing:
- •Response data may be nested under
dataordata.data - •Parse defensively with fallback patterns
- •Cursor values are opaque strings; use exactly as returned
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| List subscribers | KIT_LIST_SUBSCRIBERS | status, email_address, per_page |
| Tag subscriber | KIT_TAG_SUBSCRIBER | tag_id, subscriber_id |
| List tag subscribers | KIT_LIST_TAG_SUBSCRIBERS | tag_id |
| Unsubscribe | KIT_DELETE_SUBSCRIBER | id |
| List broadcasts | KIT_LIST_BROADCASTS | per_page, after |
| Get broadcast | KIT_GET_BROADCAST | id |
| Get broadcast stats | KIT_GET_BROADCAST_STATS | id |
| Delete broadcast | KIT_DELETE_BROADCAST | id |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.