Install
openclaw skills install kit-email-operatorAI-powered tool to create, personalize, schedule, send, and track professional email campaigns using Kit (ConvertKit) API integration.
openclaw skills install kit-email-operatorAI-powered email marketing for Kit (ConvertKit)
Version: 1.0.0
Distribution: Private ClawHub (Premium Skool members only)
This skill enables OpenClaw to write, manage, and send professional email campaigns through Kit (ConvertKit). It combines AI-powered content generation with direct API integration to handle the complete email marketing workflow.
Core capabilities:
When a user requests email marketing help for the first time, initiate the setup wizard:
Check for credentials
const credsPath = '/data/.openclaw/workspace/.kit-credentials';
If missing, run setup.
Setup wizard flow
scripts/credentials.jsVoice training (if provided)
/data/.openclaw/workspace/.kit-voice-profile.jsonDatabase integration (if configured)
content/writing-rules/VOICE-GUIDE.md)MEMORY.md)Before writing any email, ask these questions:
Required:
Optional:
Example questioning flow:
I can help you write that email. A few quick questions:
1. What's the goal? (nurture relationship / make a sale / announce something / educate)
2. Who's this going to? (all subscribers / a specific tag / a segment)
3. What's the main message or value you want to communicate?
4. What action should they take after reading?
5. Any links you want me to include?
6. Should I personalize with first names?
Subject Lines (provide 3 options):
references/subject-line-formulas.mdPreview Text:
Email Body:
references/email-best-practices.mdPersonalization Tags:
Reference references/kit-personalization.md for available tags:
{{ subscriber.first_name }} - Subscriber's first name{{ subscriber.email_address }} - Email address{{ subscriber.YOUR_FIELD_NAME }}Example generation output:
## Subject Line Options
1. [Name], here's what 80% of email marketers get wrong
2. The 3-minute email hack that doubled my opens
3. Your subscribers are telling you something (listen closely)
## Preview Text
Most people ignore this signal. Here's how to spot it.
## Email Body
Hey {{ subscriber.first_name }},
Quick question: when was the last time you checked your email open rates?
[rest of email...]
**Call to Action:**
[Read the full guide here →](https://example.com/guide)
Talk soon,
[Your Name]
Present the email to the user and ask:
Make revisions based on feedback.
Once approved, use scripts/kit-api.js to:
Create broadcast:
const { KitAPI } = require('./scripts/kit-api.js');
const kit = new KitAPI();
const broadcast = await kit.createBroadcast({
subject: "Chosen subject line",
content: "Email HTML content",
description: "Internal description",
send_at: "2026-02-17T10:00:00Z", // or null for draft
public: false,
tag_ids: [123, 456] // if targeting specific tags
});
Options:
send_at: null - save for review latersend_at: "ISO timestamp" - schedule for futuresend_at (immediately publishes)Targeting:
tag_ids or segment_idstag_ids: [123, 456]segment_ids: [789]Confirm with user before sending.
After sending, users can request performance data:
const stats = await kit.getBroadcastStats(broadcastId);
Present stats in readable format:
📊 Campaign Performance: "Your Subject Line"
📤 Recipients: 1,234
📬 Opens: 456 (37%)
🖱️ Clicks: 89 (19.5% of opens)
🚪 Unsubscribes: 5 (0.4%)
Provide insights:
references/email-best-practices.md)Users can:
kit.listBroadcasts({ status: 'draft' })kit.updateBroadcast(id, changes)kit.deleteBroadcast(id)kit.updateBroadcast(id, { send_at: timestamp })✅ DO:
❌ DON'T:
✅ DO:
❌ DON'T:
✅ DO:
❌ DON'T:
/data/.openclaw/workspace/.kit-credentials/data/.openclaw/workspace/.kit-voice-profile.jsonskills/kit-email-operator/scripts/kit-api.jsskills/kit-email-operator/scripts/credentials.jsFrom scripts/kit-api.js:
// Broadcasts
kit.createBroadcast(data)
kit.updateBroadcast(id, data)
kit.deleteBroadcast(id)
kit.getBroadcast(id)
kit.listBroadcasts(options)
kit.getBroadcastStats(id)
// Tags
kit.listTags()
kit.tagSubscriber(email, tagId)
// Subscribers
kit.listSubscribers()
kit.getSubscriber(id)
// Custom Fields
kit.listCustomFields()
User: "Write a welcome email for new subscribers"
You:
I can help you write that welcome email. A few quick questions:
1. What should new subscribers know about you/your business?
2. What value will they get from being on your list?
3. Should I include a first resource or action for them?
4. Any specific link to send them to?
After answers, generate:
Then: Create as draft in Kit, ask for review, schedule or send.
User: "I'm launching a new course. Write a sales email."
You:
Got it. Sales email for course launch. Let me ask:
1. What's the course about? (the transformation it provides)
2. Who's it for? (ideal student)
3. Price point?
4. Launch date and any urgency? (early bird, limited spots, etc.)
5. Link to sales page?
6. Should I emphasize social proof, bonuses, or scarcity?
After answers, generate:
Then: Review together, refine, send to specific tag or segment.
User: "I want to re-engage subscribers who haven't opened in 60 days"
You:
Smart move. Re-engagement campaign. Quick questions:
1. What made you valuable to them when they first subscribed?
2. What's changed or improved since then?
3. Should we give them an option to unsubscribe (clean list)?
4. What's the main value proposition to bring them back?
After answers, generate:
Then: Target specific segment in Kit (inactive subscribers), send as test first.
If user provided email samples during setup, reference the voice profile:
Voice Profile Structure:
{
"tone": "casual and direct",
"sentence_length": "short, punchy sentences mixed with longer ones",
"vocabulary": ["honestly", "let's be real", "here's the thing"],
"patterns": [
"Uses questions to engage",
"Includes parenthetical asides",
"Admits limitations honestly"
],
"formatting": [
"Short paragraphs (1-3 sentences)",
"Bold for emphasis",
"Emoji occasionally"
],
"signature": "Ship it,\nKevin"
}
Apply these elements to generated emails.
Problem: User doesn't have Kit credentials
Solution: Guide them to Kit dashboard → Settings → API Keys
Problem: Voice training samples too short
Solution: Ask for longer emails (300+ words each)
Problem: Can't find Kit custom fields
Solution: Verify credentials, check Kit account has custom fields created
Problem: Broadcast fails to create
Solution: Check credentials, verify content format, ensure valid tag_ids
Problem: Email looks broken
Solution: Check HTML formatting, test send to yourself first
Problem: Low open rates
Solution: Review subject lines, check sending time, analyze from name
Problem: Rate limiting
Solution: API client has automatic retry with exponential backoff
Problem: Invalid credentials
Solution: Re-run setup, verify credentials in Kit dashboard
For subject lines:
Read references/subject-line-formulas.md (50+ proven templates)
For email structure:
Read references/email-best-practices.md (comprehensive guide)
For personalization:
Read references/kit-personalization.md (all available Kit tags)
For sequences:
Read references/sequence-templates.md (welcome, nurture, sales, onboarding)
For examples:
Check examples/ folder for complete email templates
This is a premium skill. Every interaction should feel:
Users are paying for this. Make it worth it.
This skill represents the highest quality email marketing automation available for OpenClaw. Maintain that standard.