Lemlist Automation

Automate Lemlist multichannel outreach -- manage campaigns, enroll leads, add personalization variables, export campaign data, and handle unsubscribes via the Composio MCP integration.

16 stars

Best use case

Lemlist Automation is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Automate Lemlist multichannel outreach -- manage campaigns, enroll leads, add personalization variables, export campaign data, and handle unsubscribes via the Composio MCP integration.

Teams using Lemlist Automation should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/lemlist-automation/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/data-ai/lemlist-automation/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/lemlist-automation/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How Lemlist Automation Compares

Feature / AgentLemlist AutomationStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Automate Lemlist multichannel outreach -- manage campaigns, enroll leads, add personalization variables, export campaign data, and handle unsubscribes via the Composio MCP integration.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Lemlist Automation

Automate your Lemlist multichannel outreach workflows -- manage campaigns, enroll leads at scale, enrich with custom variables, export campaign data, and clean up unsubscribes.

**Toolkit docs:** [composio.dev/toolkits/lemlist](https://composio.dev/toolkits/lemlist)

---

## Setup

1. Add the Composio MCP server to your client: `https://rube.app/mcp`
2. Connect your Lemlist account when prompted (API key authentication)
3. Start using the workflows below

---

## Core Workflows

### 1. List and Discover Campaigns

Use `LEMLIST_GET_LIST_CAMPAIGNS` to enumerate all campaigns by status, with pagination support.

```
Tool: LEMLIST_GET_LIST_CAMPAIGNS
Inputs:
  - status: "running" | "draft" | "archived" | "ended" | "paused" | "errors" (optional)
  - limit: integer (max 100, default 100)
  - offset: integer (pagination offset)
  - sortBy: "createdAt"
  - sortOrder: "asc" | "desc"
```

**Important:** The response may be wrapped as `{campaigns: [...], pagination: {...}}` instead of a flat list. Always extract from the `campaigns` key.

### 2. Get Campaign Details

Use `LEMLIST_GET_CAMPAIGN_BY_ID` to validate campaign configuration before writes.

```
Tool: LEMLIST_GET_CAMPAIGN_BY_ID
Inputs:
  - campaignId: string (required) -- e.g., "cam_A1B2C3D4E5F6G7H8I9"
```

### 3. Enroll Leads into a Campaign

Use `LEMLIST_POST_CREATE_LEAD_IN_CAMPAIGN` to add leads with optional email finding, phone lookup, and LinkedIn enrichment.

```
Tool: LEMLIST_POST_CREATE_LEAD_IN_CAMPAIGN
Inputs:
  - campaignId: string (required)
  - email: string (required)
  - firstName, lastName, companyName, companyDomain: string (optional)
  - jobTitle, phone, linkedinUrl, icebreaker: string (optional)
  - deduplicate: boolean (prevents cross-campaign duplicates)
  - findEmail, findPhone, verifyEmail, linkedinEnrichment: boolean (optional)
  - timezone: string (IANA format, e.g., "America/New_York")
```

**Bulk pattern:** Chunk leads into batches of ~50 and checkpoint progress between batches.

### 4. Add Custom Variables to a Lead

Use `LEMLIST_POST_ADD_VARIABLES_TO_LEAD` to enrich leads with personalization fields after enrollment.

```
Tool: LEMLIST_POST_ADD_VARIABLES_TO_LEAD
Inputs:
  - leadId: string (required) -- internal Lemlist lead ID (NOT email)
  - company: string (required) -- must match your company name in Lemlist
  - variables: object (required) -- key-value pairs, e.g., {"score": "42", "color": "yellow"}
```

**Important:** This is NOT an upsert -- attempting to add variables that already exist will fail. Resolve the internal `leadId` via `LEMLIST_GET_RETRIEVE_LEAD_BY_EMAIL` if you only have the email address.

### 5. Export Campaign Leads

Use `LEMLIST_GET_EXPORT_CAMPAIGN_LEADS` to download leads with state filtering for reporting or QA.

```
Tool: LEMLIST_GET_EXPORT_CAMPAIGN_LEADS
Inputs:
  - campaignId: string (required)
  - (supports state filtering and JSON/CSV output)
```

### 6. Unsubscribe Lead from Campaign

Use `LEMLIST_DELETE_UNSUBSCRIBE_LEAD_FROM_CAMPAIGN` to stop outreach by removing a lead from a campaign.

```
Tool: LEMLIST_DELETE_UNSUBSCRIBE_LEAD_FROM_CAMPAIGN
Inputs:
  - campaignId: string (required)
  - leadId or email: string (required)
```

---

## Known Pitfalls

| Pitfall | Detail |
|---------|--------|
| Wrapped campaign list | `LEMLIST_GET_LIST_CAMPAIGNS` may return `{campaigns: [...], pagination: {...}}` instead of a flat array. Always extract from the `campaigns` key. |
| Cross-campaign deduplication | `LEMLIST_POST_CREATE_LEAD_IN_CAMPAIGN` with deduplication enabled fails with HTTP 500 "Lead already in other campaign" -- disable deduplication for intentional cross-campaign enrollment. |
| Bulk import failures | Chunk bulk imports to ~50 per batch with checkpoints to avoid losing partial progress on intermittent failures. |
| Invalid leadId | `LEMLIST_POST_ADD_VARIABLES_TO_LEAD` returns HTTP 400 "Invalid leadId" when using an email as the leadId -- resolve the internal ID via `LEMLIST_GET_RETRIEVE_LEAD_BY_EMAIL` first. |
| Variable collisions | `LEMLIST_POST_ADD_VARIABLES_TO_LEAD` is not an upsert. Adding keys that already exist returns HTTP 400 "Variables X already exist". |

---

## Quick Reference

| Tool Slug | Description |
|-----------|-------------|
| `LEMLIST_GET_LIST_CAMPAIGNS` | List all campaigns with status filter and pagination |
| `LEMLIST_GET_CAMPAIGN_BY_ID` | Get detailed campaign info by ID |
| `LEMLIST_POST_CREATE_LEAD_IN_CAMPAIGN` | Create and enroll a lead into a campaign |
| `LEMLIST_POST_ADD_VARIABLES_TO_LEAD` | Add custom personalization variables to a lead |
| `LEMLIST_GET_RETRIEVE_LEAD_BY_EMAIL` | Look up a lead by email address |
| `LEMLIST_GET_EXPORT_CAMPAIGN_LEADS` | Export leads from a campaign with state filtering |
| `LEMLIST_DELETE_UNSUBSCRIBE_LEAD_FROM_CAMPAIGN` | Remove a lead from a campaign |

---

*Powered by [Composio](https://composio.dev)*

Related Skills

Mistral AI Automation

16
from diegosouzapw/awesome-omni-skill

Automate Mistral AI tasks via Rube MCP (Composio): completions, embeddings, fine-tuning, and model management. Always search tools first for current schemas.

Microsoft Clarity Automation

16
from diegosouzapw/awesome-omni-skill

Automate user behavior analytics with Microsoft Clarity -- export heatmap data, session metrics, and engagement analytics segmented by browser, device, country, source, and more through the Composio Microsoft Clarity integration.

maintainx-automation

16
from diegosouzapw/awesome-omni-skill

Automate Maintainx tasks via Rube MCP (Composio). Always search tools first for current schemas.

mailsoftly-automation

16
from diegosouzapw/awesome-omni-skill

Automate Mailsoftly tasks via Rube MCP (Composio). Always search tools first for current schemas.

mails-so-automation

16
from diegosouzapw/awesome-omni-skill

Automate Mails So tasks via Rube MCP (Composio). Always search tools first for current schemas.

mailersend-automation

16
from diegosouzapw/awesome-omni-skill

Automate Mailersend tasks via Rube MCP (Composio). Always search tools first for current schemas.

mailcoach-automation

16
from diegosouzapw/awesome-omni-skill

Automate Mailcoach tasks via Rube MCP (Composio). Always search tools first for current schemas.

mailcheck-automation

16
from diegosouzapw/awesome-omni-skill

Automate Mailcheck tasks via Rube MCP (Composio). Always search tools first for current schemas.

mailboxlayer-automation

16
from diegosouzapw/awesome-omni-skill

Automate Mailboxlayer tasks via Rube MCP (Composio). Always search tools first for current schemas.

mailbluster-automation

16
from diegosouzapw/awesome-omni-skill

Automate Mailbluster tasks via Rube MCP (Composio). Always search tools first for current schemas.

kontent-ai-automation

16
from diegosouzapw/awesome-omni-skill

Automate Kontent AI tasks via Rube MCP (Composio). Always search tools first for current schemas.

iqair-airvisual-automation

16
from diegosouzapw/awesome-omni-skill

Automate Iqair Airvisual tasks via Rube MCP (Composio). Always search tools first for current schemas.