Kit
Run email marketing campaigns via Kit. Manage subscribers and tags, create broadcasts and email sequences, track email performance stats, and automate workflows with webhooks.
This skill uses ClawLink for hosted connection flows and credentials so you do not need to configure Kit API access yourself.
Setup in 3 Steps
| Step 1: Install | Step 2: Pair Account | Step 3: Connect Kit |
|:---:|:---:|:---:|
|
|
| App-specific connection GIF coming soon |
How It Works
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ OpenClaw │────▶│ ClawLink │────▶│ Kit API │
│ (User Chat) │ │ (OAuth) │ │ (v2) │
└─────────────────┘ └──────────────┘ └──────────────────┘
│ │ │
│ 1. Install Plugin │ │
│ 2. Pair Device │ │
│ 3. Connect Kit │ │
│ │ 4. Secure Token │
│ │ 5. Proxy Requests │
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ SKILL │ │ Dashboard│ │ Kit │
│ File │ │ Auth │ │Emails │
└──────────┘ └──────────┘ └──────────┘
Install
Install the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.
openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
Then tell the user: "OpenClaw has been restarted. Send /new as a standalone message to start a fresh chat, then ask for Kit again."
Quick Start
# List all subscribers
clawlink_call_tool --tool "kit_list_subscribers" --params '{}'
# List all broadcasts
clawlink_call_tool --tool "kit_list_broadcasts" --params '{}'
# Get account info
clawlink_call_tool --tool "kit_get_account" --params '{}'
Authentication
All Kit tool calls are authenticated automatically by ClawLink using the user's connected Kit account.
No API key is required in chat. ClawLink stores the OAuth token securely and injects it into every Kit API request on the user's behalf.
Getting Connected
- Install the ClawLink plugin (see Install above).
- Pair the plugin with
clawlink_begin_pairingif it is not configured yet. - Open https://claw-link.dev/dashboard?add=kit and connect Kit (requires an active Kit account).
- Call
clawlink_list_integrationsto verify the connection is active.
Connection Management
List Connections
clawlink_list_integrations
Response: Returns all connected integrations. Look for kit in the list.
Verify Connection
clawlink_list_tools --integration kit
Response: Returns the live tool catalog for Kit.
Reconnect
If Kit tools are missing or the connection shows an error:
- Direct the user to https://claw-link.dev/dashboard?add=kit
- After they confirm, call
clawlink_list_integrationsto verify - Then call
clawlink_list_tools --integration kit
Security & Permissions
- Access is scoped to the connected Kit account only.
- All write operations require explicit user confirmation. Before executing any subscriber, broadcast, or tag action, confirm the target resource and intended effect with the user.
- Destructive actions (delete subscriber, delete tag, delete broadcast) are marked as high-impact and must be confirmed.
- Subscriber deletion unsubscribes from all email communications — this cannot be undone.
- Broadcast creation can immediately send or schedule emails — confirm before executing.
Tool Reference
Account & Profile
| Tool | Description | Mode |
|------|-------------|------|
| kit_get_account | Get current account info including ID, plan, email, timezone | Read |
| kit_get_creator_profile | Get creator profile metadata (name, bio, avatar, profile URL) | Read |
| kit_get_account_colors | Get colors associated with the account | Read |
| kit_update_account_colors | Update account color palette (max 5 hex colors) | Write |
Subscribers
| Tool | Description | Mode |
|------|-------------|------|
| kit_list_subscribers | List subscribers with optional filtering, sorting, and pagination | Read |
| kit_get_subscriber | Get subscriber details by ID | Read |
| kit_filter_subscribers | Filter subscribers by engagement (email opens, clicks, delivery) | Read |
| kit_create_subscriber | Create new subscriber or update existing (upsert by email) | Write |
| kit_update_subscriber | Update subscriber info (first name, email, custom fields) | Write |
| kit_delete_subscriber | Unsubscribe a subscriber from all communications | Write |
| kit_tag_subscriber | Add a tag to a subscriber by ID | Write |
| kit_tag_subscriber_by_email | Add a tag to a subscriber using their email address | Write |
| kit_remove_tag_from_subscriber | Remove a tag from a subscriber by ID | Write |
| kit_untag_subscriber_by_email | Remove a tag from a subscriber using their email | Write |
| kit_get_subscriber_stats | Get subscriber email stats (opens, clicks, bounces) | Read |
| kit_list_subscribers_for_form | Get subscribers for a specific form with filtering | Read |
Tags
| Tool | Description | Mode |
|------|-------------|------|
| kit_list_tags | List all tags with pagination | Read |
| kit_list_tag_subscribers | Get subscribers for a specific tag | Read |
| kit_create_tag | Create a new tag for segmenting subscribers | Write |
| kit_update_tag | Update a tag's name by ID | Write |
| kit_delete_tag | Permanently delete a tag by ID | Write |
Broadcasts
| Tool | Description | Mode |
|------|-------------|------|
| kit_list_broadcasts | List all broadcasts with cursor-based pagination | Read |
| kit_get_broadcast | Get broadcast details by ID | Read |
| kit_get_broadcast_stats | Get statistics for a specific broadcast | Read |
| kit_get_broadcast_clicks | Get link click data for a specific broadcast | Read |
| kit_create_broadcast | Create a new email broadcast (draft, scheduled, or immediate) | Write |
| kit_delete_broadcast | Permanently delete a broadcast by ID | Write |
Sequences
| Tool | Description | Mode |
|------|-------------|------|
| kit_list_sequences | List all sequences with pagination | Read |
Segments
| Tool | Description | Mode |
|------|-------------|------|
| kit_list_segments | List all segments with pagination | Read |
Forms
| Tool | Description | Mode |
|------|-------------|------|
| kit_list_forms | List all forms (landing pages and embedded) with filtering | Read |
| kit_add_subscriber_to_form | Add an existing subscriber to a form by IDs | Write |
| kit_add_subscriber_to_form_by_email | Add a subscriber to a form using their email | Write |
| kit_list_subscribers_for_form | Get subscribers who joined a specific form | Read |
Custom Fields
| Tool | Description | Mode |
|------|-------------|------|
| kit_list_custom_fields | List all custom fields with pagination | Read |
| kit_create_custom_field | Create a new custom field for subscriber data | Write |
| kit_update_custom_field | Update a custom field's label by ID | Write |
| kit_delete_custom_field | Permanently delete a custom field by ID | Write |
Email Templates
| Tool | Description | Mode |
|------|-------------|------|
| kit_list_email_templates | List all email templates with pagination | Read |
Analytics
| Tool | Description | Mode |
|------|-------------|------|
| kit_get_email_stats | Get account email stats (sent, opened, clicked) for last 90 days | Read |
| kit_get_growth_stats | Get growth statistics over a date range | Read |
Webhooks
| Tool | Description | Mode |
|------|-------------|------|
| kit_list_webhooks | List all configured webhooks with pagination | Read |
| kit_create_webhook | Create a webhook subscription for event notifications | Write |
| kit_delete_webhook | Permanently delete a webhook by ID | Write |
Code Examples
List subscribers
clawlink_call_tool --tool "kit_list_subscribers" \
--params '{}'
Create a subscriber
clawlink_call_tool --tool "kit_create_subscriber" \
--params '{"email": "newsubscriber@example.com", "first_name": "John"}'
Create a broadcast
clawlink_call_tool --tool "kit_create_broadcast" \
--params '{"content": "<p>Hello! This is our newsletter.</p>", "public": true}'
Tag a subscriber
clawlink_call_tool --tool "kit_tag_subscriber" \
--params '{"subscriber_id": "SUBSCRIBER_ID", "tag_id": "TAG_ID"}'
Get broadcast stats
clawlink_call_tool --tool "kit_get_broadcast_stats" \
--params '{"broadcast_id": "BROADCAST_ID"}'
Discovery Workflow
- Call
clawlink_list_integrationsto confirm Kit is connected. - Call
clawlink_list_tools --integration kitto see the live catalog. - Treat the returned list as the source of truth. Do not guess or assume what tools exist.
- If the user describes a capability but the exact tool is unclear, call
clawlink_search_toolswith a short query and integrationkit. - If no Kit tools appear, direct the user to https://claw-link.dev/dashboard?add=kit.
Execution Workflow
┌─────────────────────────────────────────────────────────────┐
│ READ OPERATIONS (Safe) │
│ list → get → search → describe → call │
│ │
│ Example: List subscribers → Get stats → Show results │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ WRITE OPERATIONS (Require Confirmation) │
│ list → get → describe → preview → confirm → call │
│ │
│ Example: Preview broadcast create → User approves → Send │
└─────────────────────────────────────────────────────────────┘
- For unfamiliar tools, ambiguous requests, or any write action, call
clawlink_describe_toolfirst. - Use the returned guidance, schema,
whenToUse,askBefore,safeDefaults,examples, andfollowupsto shape the call. - Prefer read, list, search, and get operations before writes when that reduces ambiguity.
- For writes or anything marked as requiring confirmation, call
clawlink_preview_toolfirst. - Execute with
clawlink_call_tool. Pass confirmation only after the preview matches the user's intent. - If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.
Notes
- Kit uses cursor-based pagination for all list endpoints.
- Broadcast
send_atparameter: set to null for draft, future timestamp for scheduled, omit for immediate publish. - Setting
publicto true publishes the broadcast to the web. - Subscriber upsert: if email exists, updates first name only; all other fields preserved.
- Subscriber stats data is only available for events from June 2025 onwards.
- Email stats cover the last 90 days in the account's sending timezone (not UTC).
- Account colors maximum is 5 hex color codes.
- Deleting a subscriber unsubscribes them from all sequences and forms; historical data is retained.
Error Handling
| Status / Error | Meaning |
|----------------|---------|
| Tool not found | The tool name does not exist in the current catalog. Verify with clawlink_list_tools --integration kit. |
| Missing connection | Kit is not connected. Direct the user to https://claw-link.dev/dashboard?add=kit. |
| Permission error | The connected account lacks permission for this operation. |
| Subscriber not found | The subscriber ID or email does not exist. Verify with kit_list_subscribers. |
| Write rejected | User did not confirm a write action. Always confirm before executing writes. |
Troubleshooting: Tools Not Visible
- Check that the ClawLink plugin is installed:
openclaw plugins list - If the plugin is installed but tools are missing, tell the user to send
/newas a standalone message to reload the catalog. - If a fresh chat does not help, run:
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json openclaw gateway restart - After restart, tell the user to send
/newagain and retry.
Resources
- Kit API Documentation
- Kit Broadcasts Guide
- Kit Sequences Guide
- ClawLink: https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=kit-email-marketing
- ClawLink Docs: https://docs.claw-link.dev/openclaw
- ClawLink Verification: https://claw-link.dev/verify
Related Skills
- Mailchimp Marketing — For Mailchimp email campaigns
- MailerLite Email Marketing — For MailerLite campaigns and automation
- Instantly Campaigns — For cold email outreach with Instantly
Powered by ClawLink — an integration hub for OpenClaw

微信扫一扫