lemlist

Official Lemlist API integration for sales automation and multichannel outreach. Use this skill when users want to: - Manage campaigns (create, list, pause, start, get stats) - Add, update, or remove leads from campaigns - Send messages via email, LinkedIn, WhatsApp, or SMS through inbox - Set up and manage webhooks for campaign events - Configure schedules for campaign sending - Manage unsubscribes (emails and domains) - Export campaign data (leads, activities, contacts) - Enrich leads with additional data - Control Lemwarm email warming - Work with sequences and steps - Manage inbox labels and conversations Examples: "list my lemlist campaigns", "add a lead to my campaign", "pause my campaign", "show campaign stats", "set up a webhook for email opens", "export my leads"

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "lemlist" with this command: npx skills add micktaiwan/lemlist-official

Lemlist

Interact with the Lemlist API to manage campaigns, leads, sequences, schedules, activities, inbox, webhooks, unsubscribes, exports, and enrichment.

Full endpoint reference: references/api-endpoints.md Official API docs: https://developer.lemlist.com/api-reference

Setup

1. Get API key

  1. Log in to Lemlist
  2. Go to Settings > Integrations > API Keys
  3. Create a new key — copy immediately, shown only once

2. Configure in OpenClaw

Add to ~/.openclaw/openclaw.json:

{
  "skills": {
    "entries": {
      "lemlist": {
        "apiKey": "your-lemlist-api-key"
      }
    }
  }
}

Alternative explicit format:

{
  "skills": {
    "entries": {
      "lemlist": {
        "env": {
          "LEMLIST_API_KEY": "your-lemlist-api-key"
        }
      }
    }
  }
}

3. Verify

Run: Get my Lemlist team info

Docker sandbox

Forward the key explicitly:

{
  "agents": {
    "defaults": {
      "sandbox": {
        "docker": {
          "env": ["LEMLIST_API_KEY"]
        }
      }
    }
  }
}

Authentication

Base URL: https://api.lemlist.com/api

Basic Auth with empty username (colon before key is mandatory):

Authorization: Basic base64(:LEMLIST_API_KEY)

Python Helper

Use this pattern for all API calls:

import urllib.request, os, json, base64

API_KEY = os.environ["LEMLIST_API_KEY"]
AUTH = base64.b64encode(f":{API_KEY}".encode()).decode()
BASE = "https://api.lemlist.com/api"

def api(path, method="GET", data=None):
    body = json.dumps(data).encode() if data else None
    req = urllib.request.Request(f"{BASE}{path}", data=body, method=method)
    req.add_header("Authorization", f"Basic {AUTH}")
    req.add_header("User-Agent", "OpenClaw/1.0")
    if data:
        req.add_header("Content-Type", "application/json")
    return json.load(urllib.request.urlopen(req))

Endpoint Summary

DomainKey endpoints
TeamGET /team, /team/members, /team/credits, /team/senders
CampaignsGET/POST /campaigns, PATCH /campaigns/:id, POST pause/start
SequencesGET /campaigns/:id/sequences, POST/PATCH/DELETE steps
Leads (campaign)GET/POST/PATCH/DELETE /campaigns/:id/leads/:idOrEmail
Leads (global)GET /leads, POST pause/start/interested/notinterested
Lead variablesPOST/PATCH/DELETE /leads/:id/variables
ActivitiesGET /activities (filter: campaignId, type)
SchedulesCRUD /schedules, POST /campaigns/:id/schedules
UnsubscribesGET /unsubscribes, POST/DELETE /unsubscribes/:value
WebhooksGET/POST/DELETE /hooks (max 200/team)
InboxGET /inbox, POST email/linkedin/whatsapp/sms
Inbox labelsCRUD /inbox/labels, assign via /conversations/labels/:contactId
CompaniesGET /companies, /companies/:id/notes
ContactsGET /contacts, /contacts/:idOrEmail
ExportsGET /campaigns/:id/export (sync), /export/start (async)
EnrichmentPOST /leads/:id/enrich, GET /enrich/:id, POST /enrich (batch)
TasksGET/POST/PATCH /tasks, POST /tasks/ignore
LemwarmPOST start/pause, GET/PATCH settings via /lemwarm/:mailboxId

For request/response details, read references/api-endpoints.md.

Pagination

Params: offset (default 0), limit (max 100), page (1-based, overrides offset).

Paginated responses include pagination: { totalRecords, currentPage, nextPage, totalPage }. Some older endpoints return a plain array.

ID Prefixes

cam_ campaign, lea_ lead, skd_ schedule, seq_ sequence, tea_ team, usr_ user.

Gotchas

  • User-Agent required — set User-Agent: OpenClaw/1.0, Python's default UA is blocked by Cloudflare (403)
  • Basic Auth format — empty username mandatory: base64(":key"), not base64("key")
  • No campaign deletion — only pause via API
  • Email encoding@%40 in URL path params
  • Webhook auto-deletion — 404/410 response silently removes the webhook
  • No rate limiting — the public API does not throttle
  • Variable deletionDELETE /leads/:id/variables deletes vars, not the lead
  • Sync vs async export/export returns CSV directly, /export/start + poll for large volumes
  • Limits — 100 items/page, 200 webhooks/team, 100 API keys/team

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

Evolver Local

A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution.

Registry SourceRecently Updated
Automation

Entrepreneur PM Framework

企业家 PM 思维框架 Skill — 面向 Leevar 团队管理层。激活场景:(1) 分配 Agent 处理复杂多步骤任务,(2) 确保 Agent 精准理解并达成用户目标,(3) 让 Agent 100% 按任务需求调用已掌握的 Skill,(4) 促进管理层持续学习和经验积累,(5) 任何涉及"如何更好地...

Registry SourceRecently Updated
Automation

Nervix Onboarding

Use this skill when onboarding a new agent or operator into Nervix, verifying live federation prerequisites, enrolling through the Nervix flow, and preparing...

Registry SourceRecently Updated
Automation

moltbook

The social network for AI agents. Post, comment, upvote, and create communities.

Registry SourceRecently Updated