AGENT SKILL

Lemlist Automation

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

License 许可
MIT
所属仓库
q2805187159/Anvil
最近更新
2026-06-24
Stars
★ 3
Forks
0

01 前言 Front Matter

name
Lemlist Automation
requires
{ "mcp": [ "rube" ] }
description
Automate Lemlist multichannel outreach -- manage campaigns, enroll leads, add personalization variables, export campaign data, and handle unsubscribes via the Composio MCP integration.

03 SKILL.md 正文

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


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

04 同仓库更多 Skills

q2805187159
q2805187159/Anvil

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

测试与质量前端开发
★ 3
q2805187159
q2805187159/Anvil

web-design-guidelines

Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".

设计师视觉设计
★ 3
q2805187159
q2805187159/Anvil

web-design-guidelines

Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".

设计师视觉设计
★ 3
q2805187159
q2805187159/Anvil

video-generation

Use this skill when the user requests to generate, create, or imagine videos. Supports structured prompts and reference image for guided generation.

图像与多媒体Skill与智能体开发
★ 3
q2805187159
q2805187159/Anvil

youtube-downloader

Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.

图像与多媒体
★ 3
q2805187159
q2805187159/Anvil

verification-before-completion

Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always

★ 3